报文 Intel 格式与Motorola 格式的区别

Intel和Motorola格式在CAN总线数据传输中主要区别在于字节顺序,通常CAN先传高位字节,但字节内部顺序因主机厂定义而异。超过1字节时,Intel格式高位在高字节高位,低位在低字节低位,而Motorola格式相反。信号起始位通常为低字节低位,符合多数定义习惯。

Intel与motorola格式没有什么优劣之分,只是设计者习惯不同。
CAN总线数据传输首先传送字节的高位(msb),最后传输字节的低位(Lsb),但是对于字节的传送顺序则根据主机厂定义为准,但是大部分还是先发送低字节再发送高字节。
当一个信号的数据长度不超过 1 个字节(8 位)时,Intel 与 Motorola 两种格式的编码结果没有什么不同,完全一样。当信号的数据长度超过 1 个字节(8 位)时,两者的编码结果出现 了明显的不同。

  1. 信号的高位,即最能表达信号特性的因子,比如:车速信号 500km/h 按照给定的公 式,转换成十六进制数为 0x6A5,因为 6 代表的数量级最大(162),那么其中 6 就 是其信号的高位。
  2. 信号的低位,即最不能表达信号特性的因子,比如:车速信号 500km/h 按照给定的公式,转换成十六进制数为 0x6A5,因为 5 代表的数量级最小(160),那么其中 5 就是其信号的低位。
  3. 信号的起始位,一般来讲,主机厂在定义整车 CAN 总线通信矩阵时,其每一个信 号都从其最低位开始填写,这样也符合使用习惯。所以信号的起始位就是信号的最低位。这也与 CANoe 中 CANdb++的定义 Startbit 含义一致。

Intel 格式

当一个信号的数据长度超过1 个字节(8 位)或者数据长度不超过一个字节但是采用跨字节方式实现时,该信号的高位(S_msb)将被放在高字节(MSB)的高位,信号的低位(S_lsb)将被放在低字节(LSB)的低位。这样,信号的起始位就是低字节的低位。

在这里插入图片描述
Motorola 格式

当一个信号的数据长度超过 1 个字节(8 位)或者数据长度不超过一个字节但是采用跨字节方式实现时,该信号的高位(S_msb)将被放在低字节(MSB)的高位,信号的低位(S_lsb)将被放在高字节(LSB)的低位。这样,信号的起始位就是高字节的低位.
<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值