AUTOSAR COM模块框架梳理 |
您所在的位置:网站首页 › 什么叫XSIGNAL › AUTOSAR COM模块框架梳理 |
框架:
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 又 periodicsignal: 【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 groupsComNotifications function 是在ComIPDU里面用户自己配置的 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |