0. Bit Numbering
Bit numbering是汽车网络数据库用以辅助描述信号的专用术语,具体含义是位的编号顺序。
在通信数据库中,有两种Bit numbering,分别是msb0和lsb0。如字面意思,在一个字节内,如果msb的位置是0号bit,那么就被称为msb0,如果lsb的位置是0,bit numbering就是lsb0。
lsb0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
msb0
bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7
最常见的Can通信数据库是Can DBC和Autosar ARXML,它们都采用的是lsb0的bit numbering,不论是字节序是大端还是小端,还有一些其他的数据库采用的是大端采用msb0,小端采用lsb0的策略。
它并不会改变signal在数据库中的实际位置,但是会影响人们如何阅读signal,这点在解析通信数据库时非常重要。例如:在msb0下的bit3,在lsb0下就是bit4。
1.Byte Order
Byte order是另一个用来描述通信数据库中signal的属性,它是指将byte数组中的signal解析成数字的一种规则。给定不跨字节的数据0x1234,要将它作为一个signal发送到总线上,就必须考虑打包和解包的规则,由此引出了两种字节序:大端和小端(motorola order和intel order)。
如果将0x12先发送到总线上,这种字节序就被称为大端或motorola字节序,反之,如果0x34先发送到总线上,就称为小端或intel字节序。<