专业财税服务推荐

精选优质财税服务,为企业提供专业、可靠的财税解决方案,助力企业健康发展

零报税代理记账
零申报代理记账
报税做账算帐财务报表老会计做账
代理记账
咨询微信:lhy_happyday
工商营业执照年度年报年检公示
全国个体、企业、公司、合作社工商年审年报服务!
个体/10元/次 企业/20元/次
咨询微信:lhy_happyday
财税咨询服务
一对一专业财税咨询,解决企业财税难题,提供定制方案
咨询微信:lhy_happyday
财务分析服务
小规模个体报税0申报税务年报工商年报月报季报报税代理记账
咨询微信:lhy_happyday
立即咨询专业财税顾问
微信号: lhy_happyday
会计从业9年,管理多家个体工商、小规模、一般纳税人等企业的财务、税务等相关工作!。
扫码或搜索添加微信,备注"财税咨询"获取专属优惠
知方号 知方号

AUTOSAR COM模块框架梳理 signal的

框架:

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里面用户自己配置的

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。