AUTOSAR COM模块框架梳理

您所在的位置:网站首页 什么叫XSIGNAL AUTOSAR COM模块框架梳理

AUTOSAR COM模块框架梳理

2024-07-16 01:52| 来源: 网络整理| 查看: 265

框架:

COM的功能主要就是两个:

把IPDU内的signal提取出来提供给SWC使用,把SWC发送的signal拷贝到IPDU buffer内

所以,COM的关键字是 signal, signal group, IPDU, IPDU group

Signal group 是为了保证 Complex Data Types 的数据一致性IPDU group 是为了实现partial networking

发送数据:

发送流程是, SWC更新IPDU buffer内部的signal数据,然后com把IPDU发送出去

这里有两大块可以配置的地方:

1. PDU内signal的更新:

如果是普通的signal,SWC调用Com_SendSignal函数会直接改变IPDU buffer内相应signal的值如果是属于signal group下的signal,SWC调用Com_SendSignal函数则只会改变shadow buffer里面的值,SWC调用Com_SendSignalGroup函数时,才会把shadow buffer 复制过去改变IPDU buffer内相应signal的值

signal group的好处是,在对Complex Data Types操作时可以保证IPDU buffer内数据的一致性。也就是说SWC可以先调用Com_SendSignal, 对signal group下的signal一一赋值,然后再调用Com_SendSignalGroup统一发送出去

2. PDU的发送:pdu ComTxModeMode + signal ComTransferPropety

PDU【direct】+ Signal 【triggered】: PDU内的signal一被更新就发送PDU【periodic】+ Signal 【pending】: PDU被自动定期发送出去

具体函数

Com_SendSignal(signal ID, *SignalDataPtr)Com_SendSignalGroup(signalgroup ID)

SWC调用这两个函数去把signal的信息更新到IPDU里面,根据PDU的ComTxModeMode 和 signal/signal group 的ComTransferPropety 属性 共同确定PDU什么时候被发送出去

PDU: 【ComTxModeMode】

periodic: Com_Mainfunction will trigger the IPDU transmitdirect: IPDU transmit will be triggered immediately by triggered signalmixed: direct + periodic 的完全融合,即direct 又 periodic

signal:  【ComTransferPropety】

pending: A write access to this signal never triggers the transmission of the corresponding I-PDUtriggered: a write access to this signal can trigger the transmission of the corresponding IPDU(Depending on the IPDU transmission mode)

接收数据:

Com_RxIndication更新IPDU buffer内的signal数据,然后SWC去接收signal

IPDU buffer 内 signal 的读取:

如果是普通的signal,SWC直接调用Com_ReceiveSignal函数即可完成signal读取如果是signal group下的signal,SWC需要先调用Com_ReceiveSignalGroup函数,实现把signal从IPDU buffer 复制到 shadow buffer, 然后再调用Com_ReceiveSignal函数即可完成signal读取

杂:

ComSignal里面可以配置signal的endianness

Ipdu group:

BswM的action 里面可以去触发 Ipdu group 的 发送,感觉是跟PN有关 【在某些特定的情况下,让BswM去关闭特定的Ipdu group 的 发送 和接收】

I-PDU group 在BswM里面 enable,只有被enable的才能被发送/接收

I-PDU group 是PN的一种表现方式

发送/接收 数据完成后的 通知:

pdu:

deferred: Com_RxIndication/ Com_TxConfirmation will set a flag, Com_Mainfunction will check the flag and notifies RTE via configured ComNotifications function immediate: Com_RxIndication/ Com_TxConfirmation immediately notifies RTE via configured ComNotifications function for the signals and signal groups

ComNotifications function 是在ComIPDU里面用户自己配置的



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3