• 176查看
  • 0回复

[Autosar] AUTOSAR - Communication Stack简述

[复制链接]


该用户从未签到

发表于 26-4-2024 22:24:45 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


Communication Stack部分在AUTOSAR架构中BSW层主要承载了ECU的通信功能,例CAN, LIN,以太网。所以不难想象Communication Stack必须要针对这些总线实现它们的驱动以及相关常见协议栈,比如说CAN的UDS,以太网的TCP/IP等。

AUTOSAR -  Communication Stack简述w1.jpg

Communication Stack所提供的服务,主要有两类:


    一类主要负责通信数据的传输,主要有Com模块和Dcm模块,这两者主要负责ECU大量系统数据的传输

      Com服务主要负责传递来自APP层的消息,说简单点它就是把系统中的一些系统变量参数根据一定数据组合规则打包(或者解包),然后根据一定的时间/事件规则发送出去(或者接收进来)

      Dcm服务主要实现了UDS诊断协议,接收来自外部的请求,并作出响应

    一类负责通信模式的管理,包括有SM模块和NM模块,这两者主要负责状态管理和网络管理。

      SM模块则是负责总线的状态管理,主要负责总线通信开启和关闭,另外还负责总线错误的检测和恢复。

      NM模块则负责总线的网络管理,基于总线报文协议控制ECU的睡眠和唤醒。


    接着,以CAN总线为例,简单的例举一下其消息在整个Communication Stack的流动规则

      Com服务


    AUTOSAR -  Communication Stack简述w2.jpg

       

        对于接收而言,MCAL层中的CanDrv接收到最原始的CAN报文后传输到CanIf模块,CanIf模块相当于是一个报文分类模块,它会根据CAN ID将CAN报文分类,然后传递到服务层的不同模块,比如图中的PduR模块。经过了CanIf模块后,这个时候原始CAN报文变换为服务层PDU。PduR功能为PDU路由,它会对PDU再次进行分类,随后将其传递到更上层的软件模块,比如Com模块。

      Dcm服务


       

    AUTOSAR -  Communication Stack简述w3.jpg

       

        在Dcm服务中,对比Com服务,发现有两个不同,第一个不同为Dcm服务与APP没有交集,因为Dcm就是UDS。第二个不同为在CanIf模块和PduR模块中多了一层CanTP模块,这个模块其实就是实现了《ISO15765-2》中描述的UDS on CAN的网络层,可参考《 UDS  传输层CANTP》

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 27-12-2024 11:37 , Processed in 0.184528 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.