关于Motorola格式的问题,就更新一期关于Motorola格式与Intel格式的区别。
首先,Motorola格式与Intel格式是两种在计算机系统中常见的编码格式,而在汽车电子通信领域,特别是在CAN(Controller Area Network)通信中,这两种格式被广泛用于CAN报文的编码。
1、大端模式(Big-Endian):高字节存低地址,低字节存高地址。在这种模式下,最高有效位(MSB)被视为起始地址,而最低有效位(LSB)则被放置在更低的地址。Motorola格式正是遵循的这种大端格式,高字节在前。
2、小端模式(Little-Endian):高字节存高地址,低字节存低地址。在这种模式下,最低有效位(LSB)被视为起始地址,而最高有效位(MSB)则被放置在更高的地址。而Intel格式遵循是这种小端格式,低字节在前。 在CAN通信报文中,数据的传输是从Byte0开始,依次往后传输,直至Byte7;而每个字节Byte对应着八个Bit位,从Bit7到Bit0。
因此,Motorola格式与Intel格式在对不同长度的信号编码时候,Motorola格式高字节在前,而Intel格式是低字节在前,就有如下的区别
在DBC中,关于Motorola格式与Intel格式的区别,对于跨字节信号的编码方式的区别是非常明晰的。 首先,当信号长度小于8的时候,Motorola格式与Intel格式的分布是基本一致。(MSB:Most Significant Bit;LSB:Low Significant Bit)
而当信号出现跨字节分布的时候,即信号长度大于8时,Motorola格式与Intel格式的编码则有不同。Motorola格式高字节在前,开始排列,而Intel格式是低字节在前,开始排列,具体编码分布形式如下