autosar简介

AUTOSAR 在 CAN 上的处理与我们传统的使用还是有比较大的差异,过去我们写 CAN的代码,也就是写了 CAN 基本的 Tx 和 Rx 驱动,收到原始 8 个 bytes 的数据后,进行什么处理或者在哪一层处理都由自己随意来定,有的甚至 8bytes 数直接在 APP 层用建模进行解析处理,这种情况也不少见,也没有不对。而 AUTOSAR 出于解耦,隔离及统一接口的因素考虑,将 CAN 做了多个层次的处理,不再只是一个底层驱动+应用层(或增加一个中间层)。
下面是 AUTOSAR 常见的介绍:
红框部分是和通讯相关的内容,包含 LIN,CAN,Eth 等,我们重点介绍 CAN。和汽车领域中大家熟知的,和 CAN 相关最重要的三部分就是诊断、标定及 COM。
我们来看 AUTOSAR 中的分层和数据走向:
CAN 在不同的层次的数据包分为了

  • 数据链路层:L-PDU,link pdu
  • 网络层(通常用的是 TP 层):N-PDU,network pdu
  • 交互层:I-PDU,interaction pdu
    可以看到 CAN Driver 和 CAN Interface 部分 COM,XCP,UDS 仍然是共用的,再往上
    就有不同的分支:
  • UDS 需要通过 TP 层,再进入 PDUR 进行分配进入 DCM
  • XCP 相对独立直接由 CAN interface 进入后独立处理,不经过 PDUR
  • COM 则从 CAN Interface 进入 PDUR 然后分配至 COM
    是否已经被各种 PDU 弄蒙圈了,下面是 PDU 和 PDUR 的官方解释,一起来理解一下:
    简单的说,PDU 中包含地址信息(当前层和目标层的地址信息)和数据信息,PDUR通过地址信息分配到不同的目标地。
    包含 PCI 和 SDU,PCI 包含源地址和目标地址信息,SDU 是数据信息。
    在我们关注的CAN传输中最关键的信息I-PDU,I-PDU并不是某一层单独所有的信息,
    也不是 CAN 单独所有的内容,可以看出 I-PDU 是进出 PDUR 的信息。而 I-PDU是包含地址信息和数据信息的。
    最后拿大家最关注的 COM 来说明各层的数据走向,以收取报文来举例:由 CAN Driver收取报文生成 L-PDU,而后进入 CAN Interface 进行抽象隔离处理,生成 I-PDU,进入 PDUR
    进行分配,根据地址信息(PCI)将进入 COM 模块的 I-PDU 传入 COM,COM 对 I-PDU 的数据信息 SDU 进行解析,生成 signals,signals 通过 RTE 传输给 APP 层,发送则正好相反。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值