绪论
在网上浏览了很多关于CAN通信传输原理的文章,对CAN通信原理的讲述已非常清楚了。但如何使用DBC对应协议进行程序底层的开发,还需要更清楚的解释,以此加深对数据传输中大端、小端的理解。本篇文章就针对这点问题进行总结和归纳,有错误的地方欢迎大家评论区指出,不胜感激。
一、bit位物理层传输顺序
DBC layout可理解为一个存储单元(地址方向如下图箭头方向),bit位数据发送的顺序按DBC layout中箭头方向由低到高发送。
二、位序和字节序的理解
本篇文章不涉及CAN的基本原理,如果不了解CAN的基本原理,请移步至如下链接:
1、CAN总线位序与字节序_can通信是大端传输还小端-CSDN博客
2、CAN总线字节序与位序-Motorola & Intel格式_can怎么操作字节-CSDN博客
三、数据存储方式 - 发送时序
下面以流程图的方式,解释程序设计时,数据通过DBC在整个CAN通信过程的转换关系。
前提条件:CAN标准规定:位序为大端(默认,不能更改)
自定义字节序:大端
数据从协议——存储——发送——接收——解析的过程
图1 协议->DBC
图2 DBC->发送
图3 接收->存储
图4 存储->解析
数据传递时序总图: