DBC数据库中定义信号时采用的两种字节顺序:Intel、Motorola(深度好文)

我之前写过好几篇文章介绍大端小端的存储、显示和读取。在介绍DBC的文章中,也有信号在CAN消息数据中如何定义的顺序,它和大端小端采用的原理相同,但是不能带入数据大端小端存储的方法。这里千万要注意!

DBC数据库中定义信号时采用的字节顺序,如果想讲明白,很简单。但是如何讲明白的同时,还能通俗易懂,让人容易记住,这是我一直思考的问题!

这篇文章,我打算通过:画图、举例与分析相结合的方式,让读者全方位地了解CAN消息数据、信号、字节顺序之间的关系

对于CAN报文来说,最多有8个字节,32个bit位:

DBC数据库中定义信号时采用的两种字节顺序:Intel、Motorola(深度好文)_第1张图片

上图就是CAN报文数据的布局,注意里面的两个箭头:

  • byte0到byte7表示CAN报文在发送和接收时的顺序,不管信号怎么定义。CAN消息的数据在发送时必定是从byte0开始发送
  • bit0到bit7表示一个字节的数据,低bit位在右侧,高bit位在左侧,这决定了一个字节数据的大小

信号是什么?

用户在应用层设置某个功能,想要通知其他ECU节点,就可以用某条CAN消息携带这个功能值,发送到CAN总线上。比如设置空调温度值,同步显示在Radio界面,需要在空调ECU节点中用某条CAN消息,把这个温度值放入can消息的数据段,然后发送到总线上。Radio节点在总线上收到这条can消息后,解析得到这个温度值

你可能感兴趣的:(【付费专栏】汽车通信协议,DBC)