Autosar PDU Router

2020年10月22日 评论 319 1299字

Autosar PDU Router

Communication Structure

Autosar的通讯相比于传统的通讯架构发生了根本性的变化。其核心模块就是多出了PDU Router。PDU Router在ECU通讯中的作用和网络里的路由器的功能很类似,就是对一个又一个I-PDUs(Interaction Layer Protocol Data Units,可以理解数据包,由数据、长度和I-PDU ID组成。)进行转发,连接通信服务层与ECU抽象层。

Autosar PDU Router

关键缩写

  • 数据链路层:L-PDU
  • 网络层(通常用的是TP层):N-PDU
  • 交互层:I-PDU

PDU

Autosar PDU Router

PDU结构

PDU

要了解Autosar中的通讯栈,就必须了解 PDU(Protocol Data Unit)。PDU是Autosar通讯中重要的概念,每个PDU包含着SDU和PCI,每个PDU拥有独自的ID用于互相区分。非TP层的I-PDU数据不应超过8字节的长度。这确保了可以在单个CAN消息中发送I-PDU。

SDU

SDU(Service Data Unit)是PDU中的一部分,SDU是上层在传输数据的请求中传递给下层的数据,同样也是下层模块收到数据经“分离”后传递给上层的数据。

PCI

PCI(Protocol Control Imformation)也是PDU中的一部分,PCI信息在SDU从一个协议层的实体传递到另一个协议层时,是非常必须的。因为PCI中包含着源地址与目标地址信息。

PDU Router

PDU Router(PduR) 模块主要由以下两部分组成:

(1)PDU Router routing paths:这里描述了每个I-PDU 的路由路径。
(2)PDU Router Engine:这部分代码用于执行路由命令,包括:

  • 把每个I-PDU从来源送到目的地。
  • 翻译I-PDU ID来选择相应的Action(比如由 PduR_Transmit 到CanIf_Transmit , PduR_CanIfTxConfirmation 到 Com_TxConfirmation )。

Autosar PDU Router

PDU Router Structure showing FlexRAy, CAN and LIN< 说的直白一点,就是由于COM模块调用的 Com_SendSignal 函数,只有一个有意义的Signal Id 信息。PduR需要根据这个Signal Id找到该信号所在的PDU Id,执行正确的命令。同理,信号接收也就是其逆操作。 Autosar PDU Router

CAN收发流程

接收与发送差不多,这边以普通的CAN信号发送为例(不需要经过CAN TP层),描述了从应用层 -> COM -> CANIF的流程图。

Autosar PDU Router

AUTOSAR COM

Autosar PDU Router

PDU Router

Autosar 通讯栈

Autosar PDU Router

参考资料

  • AUTOSAR中的CAN信息是如何转换的(曹文锋)
  • AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf
  • CommunicationStack_gosda.pdf
  • AUTOSAR_SWS_COM.pdf
  • AUTOSAR_SWS_CANInterface.pdf
  • AUTOSAR_SWS_PDURouter.pdf

推荐阅读:

基于CAN-FD的诊断通信传输层

车载以太网技术优势与挑战

软件定义汽车时代电子电气架构的思考

继续阅读
weinxin
立即关注公众号:
1、免费领取线束设计资料包(资源); 2、进入线束技术交流专家群(进群);3、免费获取发布求职招聘信息。
小孙
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: