详解Autosar Arxml中的CANFD报文及格式

引言
在讨论Autosar中的Arxml文件和CANFD报文之前,我们需要先理解CANFD的两个核心概念:可变波特率和扩展数据位。然而,实际上在Arxml中,CANFD的实现远比这两个点要复杂。它引入了Container-PDU和I-signal-PDU的概念,使得一个CANFD帧可以包含多个PDU。
Arxml中的PDU定义
标准CAN通信常使用ISignal-I-Pdu和Container-I-Pdu,但在CANFD中,情况有所不同。Autosar为CANFD定义了特定的PDU结构,允许一个message对应多个PDU。这样做的目的是提高数据的灵活性和降低总线负载。
动态布局的概念
详解Autosar Arxml中的CANFD报文及格式-有驾
在Autosar中,PDU的位置不是固定的,而是可以根据需要进行动态布局。这意味着PDU Header和I-PDU可以被打包并放置在Container PDU的不同位置。这种设计类似于传统CAN报文中的ID和DLC字段。
解析CANFD ContainerPDU
ContainerPDU虽然不等同于frame,但它可以包含frame的所有数据。对于CANFD帧的定义如下:
详解Autosar Arxml中的CANFD报文及格式-有驾
需要注意的是,如果CANFD报文的实际大小只有8字节,那么它的处理方式与普通CAN报文相同,不需要引入容器PDU。但对于超过8字节的CANFD报文,Container-I-PDU的作用就变得至关重要。
Container-I-PDU的详细定义
详解Autosar Arxml中的CANFD报文及格式-有驾
在Autosar中,IpduM支持两种不同的动态Container Pdu头大小,分别是ShortHeader和LongHeader。选择哪种头部取决于具体的应用需求。ShortHeader使用24位ID和8位长度,而LongHeader使用32位ID和32位长度。这些设置允许在Container-PDU定义页面中灵活配置包含的PDU及其对应的ID。
理解CANFD Signal-I-PDU
详解Autosar Arxml中的CANFD报文及格式-有驾
Signal-I-PDU类似于传统的CAN报文,在其中定义了具体的信号信息和布局。这使得CANFD报文能够携带更加详细和灵活的信息。
实际CANFD数据的解析
详解Autosar Arxml中的CANFD报文及格式-有驾
对于包含Container的CANFD报文,其实际数据长度可能超过普通CAN报文。例如,一个包含两个Signal-I-PDU的CANFD报文,每个PDU占用12个字节,那么整个报文的长度就是24个字节。这些Signal-I-PDU可以进一步解析为具体的信号信息。
总结与思考
如果CANFD报文使用了contained I-PDU和Container PDU的结构,那么传统的DBC文件就不再适合管理通信矩阵。相反,需要使用Arxml文件来进行管理。然而,如果没有使用复杂的头部结构和DLC字段,DBC文件仍然可以继续使用。总的来说,Autosar通过引入I-Signal-PDU等概念,使得CANFD报文在处理上更加灵活和高效。
详解Autosar Arxml中的CANFD报文及格式-有驾
0

全部评论 (0)

暂无评论