CAN总线物理值与原始值
在车载CAN通信中,总线上通信节点之间采用基于信号的通信,信号的定义一般都使用整形数据,对于浮点数的传递都是标定为整形数据进行传递。
比如,在节点A和节点B之间需要传递车速信息VehSpdAvgDrvn,会规定节点间数据转换关系即下图的Internal-To-Phys。
一般我们将总线上打包的值称为原始值,而将打包前的值称为物理值。
其转换关系为
raw_value = (physical_value - Offset) / Factor
假设节点A发送VehSpdAvgDrvn 信号值为95.7969km/h,节点B接收。那么:
节点A发送的原始值为:
raw_value = (95.7969 - 0) / 0.015625 = 6131(dec) = 17F3(hex)
节点B收到节点A发来的原始值后转换为物理值:
physical_value = 17F3(hex) * 0.015625(dec) = 95.796875(dec)
图示过程如下