【AutoSAR实战订阅系列】Handle-ID分配和 PDU之间的链接关系

简介: 【AutoSAR实战订阅系列】Handle-ID分配和 PDU之间的链接关系

1、 COM-Stack API中的两类参数

有粉丝@leilei,问我PDUID怎么这么绕?这就帮你分析一波,嘿嘿。。

我们在「Autosar通信协议栈-AutoSAR通信模块的架构AutosarComStack001 」可以知道,COM-Stack  数据传输和数据接收中的 API 定义的函数参数主要是两类参数:如下述API所示:

//一般通信发送
Std_ReturnType PduR_ComTransmit(PduIdType ComTxPduId, const PduInfoType* PduInfoPtr);
Std_ReturnType CanIf_Transmit(PduIdType CanTxPduId,const PduInfoType *PduInfoPtr)
//  诊断发送
Std_ReturnType PduR_DcmTransmit(PduIdType DcmTxPduId, const PduInfoType* PduInfoPtr);
Std_ReturnType CanTp_Transmit( PduIdType CanTpTxSduId, const PduInfoType * CanTpTxInfoPtr );
  • 一类是指向 PDU 数据缓冲区的指针,其中数据缓冲区包含要传输的信息(也就是当前层的SDU)
  • 用于识别 PDU的句柄 ID(也称为 PDU-ID)

2、 局部PDU和全局PDU的定义及联系

为了使通信堆栈正常运行,相邻模块(例如Com和PduR )必须就在这些模块之间交换的 PDU-ID 约定一套规则,以确保这些相邻模块之间交换的 PDU-ID是同一个东西。有如下三个规则:

1. 每个模块都有自己的 PDU-ID ,独立于其他模块,可自由选择。

如有一个PDU,不妨叫他为【韭菜PDU】;【韭菜PDU】在Com模块的PDU-ID = 3;PduR 将【韭菜PDU】 传输到CanIf,而此时【韭菜PDU】在CanIf模块的PDU-ID = 6;但是请注意:韭菜PDU在Com模块/CanIf模块的句柄PDU-ID 是唯一的,否则用Davinci/EB工具配置的时候就会报错。但是有一种情况就是:两个不同的 API:PduR_ComTransmit()和PduR_- DcmTransmit()。即使它们在PduR模块中具有相同的句柄 PDU-ID,PduR 模块能够区分两个 PDU,因为可以根据其 API不同来区分,具有唯一的句柄 ID这一限制只在同一个 API 的范围适用。

2. 句柄 ID 由提供 API 的模块定义,并由调用 API 的模块使用。在PduR模块和Com模块交互的情况下,。。。。

3. 全局PDU的定义怎么样实现两个相邻模块使用的 PDU 的绑定呢?也就是【韭菜PDU】的两个影分身如何确保是同一个本体分解出来的呢?。。。。

3 、PDU之间的链接关系的传输接收配置的实例

3.1 Tx from Com to CanIf

。。。。。。。。

bbfd573514812f7578a4786dc2b2a4f8_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

3.2 Rx from CanIf to Com

。。。。。。

c209e1f99eddb843e90495a28d5df355_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

相关文章
|
11月前
|
数据库
主题域、概念、逻辑、物理四种模型有什么区别与联系?
主题域、概念、逻辑、物理四种模型有什么区别与联系?
|
2月前
|
Linux 调度 数据库
|
2月前
LabVIEW使用多个事件结构来处理同一个事件
LabVIEW使用多个事件结构来处理同一个事件
27 0
|
9月前
|
物联网 网络性能优化
一文解释 MQTT 数据包的结构
一文解释 MQTT 数据包的结构
175 0
|
9月前
|
消息中间件 定位技术 调度
《移动互联网技术》第八章 消息与服务:掌握不同类型广播监听方式,以及创建通知的方法
《移动互联网技术》第八章 消息与服务:掌握不同类型广播监听方式,以及创建通知的方法
24 0
|
10月前
|
安全
RxSwift特征序列Driver的使用,以及共享附加作用与非共享附加作用的区别?
RxSwift特征序列Driver的使用,以及共享附加作用与非共享附加作用的区别?
143 0
|
12月前
[ROS通信机制] ---话题通信之自定义msg类型
[ROS通信机制] ---话题通信之自定义msg类型
103 0
SAP WM 使用Storage Location Reference实现IM层面的存储地点和WM层面的存储类型之间的软关联(2)
SAP WM 使用Storage Location Reference实现IM层面的存储地点和WM层面的存储类型之间的软关联(2)
SAP WM 使用Storage Location Reference实现IM层面的存储地点和WM层面的存储类型之间的软关联(2)
SAP WM 使用Storage Location Reference实现IM层面的存储地点和WM层面的存储类型之间的软关联(1)
SAP WM 使用Storage Location Reference实现IM层面的存储地点和WM层面的存储类型之间的软关联(1)
SAP WM 使用Storage Location Reference实现IM层面的存储地点和WM层面的存储类型之间的软关联(1)