使用CANOE进行CAN总线的DBC文件制作使用CANOE进行CAN总线的设计信号定义与分配DBC文件制作我们在进行CAN总线的通讯设计过程中,对于通讯矩阵的建立,我们常常会选择一种编码方式,最常见的编码格式是Intel格式和Motorola格式
但是往往人们都是以一种习惯去选择,究竟两种格式具体的区别在哪里呢
我们需要明白两种格式对信号是如何排布的,又是按照什么顺序进行正确解析的
本篇文章就是作者根据在整理通讯矩阵和dbc文件中遇到的一些问题,提出的自己的一些体会和见解,希望大家通过此篇文章对两种格式有更加深刻的理解
我们在设计初期,都会首先选择一种编码格式,这种选择大多都是根据设计者自己的习惯,具体Intel格式和Motorola格式哪个更有优势的问题,在这里没有区别
但是就使用者而言,需要对接收到数据帧进行正确的解析,否则就无法得到想要的信号
下面我们就来说一下两种格式的区别
首先我们需要明确一点,无论是Intel格式还是Motorola格式,在每个字节中,数据传输顺序都是从高位(msb)传向低位(lsb)
bytexbit(8*x)bit(8*x+7)msblsb注:x=0,1,2,3⋯⋯7图1一般主机厂设计人员在设计初期都会定义好字节的发送顺序,定义Byte0为LSB,Byte7为MSB
第一种情况:先发送Byte0,然后Byte1到Byte7;第二种情况:先发送Byte7,然后Byte6到Byte0
根据我了解到的大部分主机厂都会采取第一种发送方法,很少会采取后者
我们在用CANoe中的CANdb++编辑数据库时,肯定会用到如下图所示的编辑界面
图2结合工作中的出现的问题,有的网络设计者会在排布信号的时候出现误区
上图中用的是比较常规的排布方式,即位在字节中的索引是从右至左,还有一种是颠倒过来的,即从左至右
图3我们现在以第一种矩阵模式进