车载总线的诊断报文格式
1. Flexray中的诊断报文格式
1.1 Flexray中的诊断报文类型
Flexray中的诊断报文帧共共分为以下几种类型:
1. 起始帧(STF):单帧信号或者多帧报文中的第一帧。
2. 连续帧(CF) :多帧报文中除了起始帧和末尾帧之外的报文均为连续帧。
3. 流控帧(FC): 接收方当在收到起始帧之后发送的响应,定义了后续连续帧的传输参数。
4. 末尾帧(LF):多帧报文中的最后一帧。
1.2 Flexray中的诊断报文解析
如下表,无论哪种类型的诊断报文,诊断报文中负载区域均由以下几个部分构成:
1. 接受方ECU地址(C_TA: communication target address )
2. 发送方ECU地址(C_SA: communication source address)
3. 协议控制信息(C_PCI:communication protocol control information )
4. 诊断数据D1-Dm

1.2.1 协议控制信息内容
不同类型诊断报文数据帧前两个Byte均分别为接受方ECU地址和发送方ECU地址。而协议控制信息是区别最大的部分,不同类型的诊断报文的协议控制信息所包含内容如下表所示:
C_PCI中第一个Byte表明了此帧的类型,如起始帧报文为0x40,多帧报文为0x80。第2个Byte为本帧所包含的负载长度(FPL,Frame Payload Length)即D1-Dm的长度。第3和第4个Byte为诊断数据总长度(ML,Message Length),在单帧报文中与FPL相等,在多帧报文中为多个帧的FPL之和。

1.3 示例
在CANoe中打开Trace界面,筛选出我们需要的诊断报文,Data部分便是我们需要分析的部分。如下图第一帧报文,C_TA目标ECU地址为1A **,C_SA发送方ECU地址为0E **,40代表此帧为起始帧报文,FPL为05代表此帧的数据长度为5个Byte,ML为00 05诊断数据的总数据长度为5个Byte,后面的数据为31 ** ** ** 01共5个Byte。

2. CAN中的报文格式
2.1 CAN中的诊断报文类型
Can中的诊断报文类型与Flexray中的报文格式类似,共有以下几个类型:
1. 单帧报文(SF):包含所有诊断数据的报文。
2. 首帧(FF):多帧报文中的第一帧。
3. 连续帧(CF) ::多帧报文中除了起始帧和末尾帧之外的报文均为连续帧。
4. 流控帧(FC): 接收方当在收到起始帧之后发送的响应,定义了后续连续帧的传输参数。
2.2 CAN中的诊断报文格式
//TO BE WRITTEN
参考资料
1. ISO 10681-2-2010 Communication On FlexRay Part2: Communication layer services
2.

浙公网安备 33010602011771号