微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Autosar 中的 IPDUM 是什么?多个IPDU如何复用?

如何解决Autosar 中的 IPDUM 是什么?多个IPDU如何复用?

在 autosar 中阅读 ComStack 时,我开始了解 IPDUM 模块。我阅读了技术参考,但仍然不清楚 IPDUM 的功能以及如何使用不同的 IPDU 进行多路复用。我知道多路复用/解复用或选择器字段,但这里是如何链接的?

解决方法

AUTOSAR_SWS_IpduM(第 7 章)和 AUTOSAR_TPS_SystemTemplate(第 6.5 章)在我看来很好地解释了这一点。

IpduM 下层连接到 PduR。所以接收/发送 MultiplexedIPdu。

IpduM 更高层连接到 Com:

  • 直接(IpduM 中的优化选项)
  • 通过 PduR

静态部分会有一个ISignalIPdu,Com中MultiplexedIPdu的每个动态部分会有一个ISignalIPdu。选择器甚至被添加到每个 ISignalIpdu-ID。 对于传输,Com 中动态 ISignalIpdu 之一的触发将转发到 IpduM,IpduM 也会将静态部分的 ISignalIPdu 添加到 MultiplexedIpdu。

对于接收,Com中会有动态ISignalIpdu和静态ISignalIpdu的RxIndication。

因此,在 Com 中,您只需像处理其他 ISignalIPdu 一样处理 ISignalIPdu,而不必担心它们是否被复用。您甚至可以在 Com 中单独监控每个动态部分的超时时间。

因此,您只需通过应用程序更新 ISignals/ISignalGroups,这将更新 Com-Buffers,而 Com/IpduM 将根据配置决定何时发送和发送什么内容。

虽然,我在这个领域的经验是,很多开发人员无法真正抽象应用程序及其端口/接口以及到 RTE 中的 Signals 和 SignalGroups、信号/signalgroups 和 Com 中的接收/传输模型的映射,来自较低层的帧/PDU(或以前的消息)。在以前使用(或不使用 IL)的项目中看到这一点,例如Vector CANbedded,或现在使用 AUTOSAR Com。

这就是应用程序组件必须一直被触摸和重写的原因,因为它们非常依赖于车辆通信描述的信号。我什至看到“应用程序组件”实际上通过重新实现传输请求或对自身进行超时监控来解决 Com(或 IL)中的传输/接收模型。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。