3. 车身控制模块CAN2.0B通讯报文约定
按车身控制模块的节点要求,通讯的信息帧分为表1所列的6种,表1中的优先级按序号从高到低排列。其目的地址和源地址的分配见表2所列。
表1 车身控制模块帧模型

表2 车身控制模块各节点地址分配

其工作方式如下:
(1)开机后或唤醒时,从节点向主节点发送状态信息,主节点发送广播信息远程帧(两次),广播信息为共用信息,包括车速信号,档位信号,点火开关位置信号等。
(2)正常情况下,从节点内部巡查各端口状态,如有故障则向主节点发送故障代码3次,主节点收到三次故障报警后开始响应,从节点停止发送,一旦故障消失,再向主节点发送正常信息。在主节点中应有一故障表,以用于已诊断模块的通讯。
(3)主结点分别发送自检信息后,如各从节点正常,则发送正常信息,状态和数据帧。如有故障,则通过分段数据帧发送故障报警帧。
(4)从节点监测到正常输入信号的变化(包括开关量和模拟量采样级数的变化)后,便通过报告帧发送信息给主节点,主节点则发送命令帧以示响应。
4. 通讯报文定义
表3所列是中央控制模块与诊断模块的通讯报文定义。表中,aaaa为分段号,可在故障代码多于8个时设置,最多可达传送16×8个字节代码;bbbbbb为各传感器代号,其响应帧采用不分段的数据帧,cccccccc为执行相应动作的代码,如车窗上升为00000001,下降为00000010,该响应最多可以执行256个动作。响应帧采用远程帧,请求帧为远程帧。
表3 中央控制模块与诊断模块通讯

表4 正常工作时各节点通讯协议约定

在系统正常工作时,各节点的通讯协议约定如表4所列。表中的dddd为分段起始命令中包含的总段数;eeee为广播信息的某一段号,控制场中的数据长度为该段内的数据长度,数据场中的数据广播的某段实际数据,按顺序定义数据有:
数据寄存器1=车速信息高8位;
数据寄存器2=车速信号低8位;
数据寄存器3=发动机转速信号高8位;
数据寄存器4=发动机转速信号低8位;
数据寄存器5=点火开关位置,其中,0表示钥匙拔出;1表示钥匙位于OFF;2表示钥匙位于ACC;3表示钥匙位于RUN;4表示钥匙位于START;