数值表和字节顺序
玫瑰柒
|
2019.12.31
|
0
+关注

Value Table(数值表)和Byte Order(字节顺序)是数据库的两项重要内容,下面分别介绍给大家。

1. Value Table

Value Table(数值表) 用来文字化地指定信号和环境变量的值所代表的含义。例如,1代表On状态,0代表Off状态。
打开CANdb++编辑器,在工具栏上,单击Value Table 图标进入 Value Tables界面,在空白处右击,选择New,创建一个名为Vtsin_MCU_Status的Value Table,在Value Descriptions选项卡中,单击ADD按钮,增加两个数值,如图1所示。

图1 Value Table设定

Value Table(数值表)创建完毕后,可以将对应的信号或环境变量关联到数值表。根据前面的内容创建一个节点MCU,创建报文MCUState,并创建一个OnOff信号之关联。双击信号OnOff,在Descriptions选项卡中,将Value Table选择为刚才创建的数值表。如图2所示

图2 设置信号OnOff的数值表

2. Byte Order

数据中信号的Byte Order(字节顺序)分为Motorola和Intel两种格式(也称大端模式和小端模式),两种格式的字节顺序如下:

MSB:最高有效字节;LSB:最低有效字节。

位排列顺序在两种形式下是一致的,如下:

msb:最高有效位;lsb:最低有效位。

一个车辆的马达速度信号为例,来看两者的区别:

(1)Intel格式如图Layout图如图3所示:

图3 Intel格式下马达速度信号的Layout图

此时的设置数据长度和起始位及数据格式如图4、图5所示:

图4 Intel格式下的格式及数据长度设置

图5 Intel格式下的数据起始位设置

(2)若使用Motorola格式,上面的速度数据仍占用相同的字节,则设置如下图6更改:

图6 Motorola格式设置

起始位设置如图7

图7Motorola格式起始位设置

再来看这时的Layout图,如图8所示。

图8 Motorola格式下马达速度信号的Layout图

对比图3图7可以看到,虽然种格式存储空间一样,但低字节的起始位,两者却是不一样的。从而导致设置时,数据的起始位是不同的。

本部分主要给大家讲了Value Table(数值表)和Byte Order(字节顺序),其中数据顺序中需要重点掌握Motorola格式和Intel格式的区别,不知通过上面的讲解,您弄明白了没有?

精选留言
延伸阅读
2020.11.20
2916阅读
更多报告干货
写留言
2889
阅读
收藏
回到顶部