大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是Autosar系列之ECUC模块介绍,希望能对你有所帮助
一、ECUC模块简介
ECUC用于辅助配置工具完成配置的模块。主要提供 Pdu 的定义,其它模块通过关联 EcuC 中 Pdu,相互关联起来。
数据在CAN通信协议栈各层间都是以PDU(Protocol Data Unit) 形式传输的, 为了将各层PDU关联起来, 则需要定义全局PDU(Global PDU) 。
由于全局PDU不属于任何一个标准BSW模块, 所以AUTOSAR提出了一个EcuC模块来收集一些配置信息。
二、ECUC模块配置介绍
主要配置的是EcucConfigSet中的EcucPduCollection:
所有的PDU都是在这里定义,导入DBC的时候,这里会自动生成应用报文的PDU,其他的需要自己手动添加,如CANTP、CANIF、DCM、CANNM等的PDU
在EcuC模块中定义全局PDU时不需要关心其数据类型, 只需要定义PDU长度即可,根据项目的实际需求填写其长度即可
需要注意的是,在Pdus中并不是一个报文对应1个Pdu,得从接收报文的链路来看:
应用报文:
CAN------>CANIF------>PDUR------>COM
诊断报文接收的流程:
CAN------>CANIF------>CANTTP------>PDUR------>DCM
网络管理报文:
CAN------>CANIF------>CANNM
所以一个诊断报文对应有3个Pdu,应用报文有2个,网络管理报文1个。
三、使用场景
以诊断报文为例:
诊断报文接收的流程:CAN------>CANIF------>CANTTP------>PDUR------>DCM
在每个子模块中都有一个对应的PduRef,先看CanIf模块中
CANTP模块中
PDUR模块中
DCM模块中
最后,如果觉得有帮助,希望你能一键三连(分享,点赞,在看),你们的认可是我持续输出的动力,感激不尽
欢迎大家骚扰,请备注“公众号”