AUTOSAR CAN 通讯栈

                                       AUTOSAR 发展历史

                                                 AUTOSAR CP

                                        AUTOSAR   AP

AUTOSAR通信栈位于运行时环境(RTE)与微控制器抽象层(MCAL)之间,其可以简化ECU间的通信服务

实现不同类型或速率总线间的数据交互。在AUTOSAR通信栈中,位于服务层的有通信模块(Communication

Com)诊断通信管理模块(Diagnositic Communication ManagerDem协议数据单元路由(Protocol Data Unit RouterPduR),协议数据单元复用模块(I-PDU MultiplexerIpduM)、总线相关的传输模块(如CanTpLinTp等)以及通信与网络管理相关的模块;位于ECU抽象层的是与总线相关的接口模块(如CanIfLinIf等);位于微控制器抽象层的是与总线相关的驱动模块(如CanLin等)

AUTOSAR通讯栈对应用层隐藏了与总线相关的协议和报文的属性,以基本的CAN为例:发送数据机制为

RTE->COM->PduR->Canif->CANDriver ,过程如下:

Com模块获取应用层的信号,经过封装为I-PDU Interaction Layer Protocol Data Unit)发送到PduR模块

PduR模块路由协议中所指定的I-PDU目标接收模块,将接收的I-PDU经过处理发送给Canif

Canif将信号以L-PDUData Link layer Protocol Data Unit)的形式发送给CAN驱动模块

                                 AUTOSAR  CAN 通讯模型

COM模块

Com模块位于RTEPduR之间,其主要功能有:

将信号装载到 I-PDU 中发送,从接收到的 I-PDU 中解析出信号
提供信号路由功能,将接收到的 I-PDU 中的信号打包到发送 I-PDU
通讯发送控制(自动 / 停止 I-PDU 组)
发送请求的应答

每个Com I-PDU 需要设定I-PDU的传输方向(ComIPduDirection)、信号处理方式 ComIPduSignalProcessing、类型 ComIPduSignalRef

PDUR

PduR模块是主要为通讯接口模块,传输协议模块、诊断通讯服务管理模块以及通讯模块提供I-PDU的路由服务,它在通讯协议中起着承上启下的作用,为上层服务基础软件和应用层屏蔽网络细节,使得上层基础软件模块和应用层不用关心运行于那种总线网络之上。同时,PduR模块提供了基于I-PDU的网关功能,使得不同总线之间的通信成为可能

I-PDU  交互层对应的PDU CANTP层往上的都采用的I-PDU

N-PDU 网络层对应的PDU  canifTP层依赖关系 采用N-PDU

L-PDU 数据链路层对应的PDU Driver canif之间的依赖关系为L-PDU

                  CAN  通讯从硬件到软件的全过程

CAN 发送数据时数据流向

CAN接收数据时数据流向

AUTOSAR CP文档  地址 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值