【AUTOSAR】 项目和代码详解(四)----AUTOSAR COM

这篇具有很好参考价值的文章主要介绍了【AUTOSAR】 项目和代码详解(四)----AUTOSAR COM。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AUTOSAR COM

概要

在AUTOSAR分层架构中,AUTOSAR COM模块位于RTE和PDUR之间,提供面向信号的数据接口的RTE包装AUTOSAR信号I-PDUs拆包的传输收到I-PDUs和提供收到收到I-PDUs信号。RTE路由的信号分成I-PDUs成为传播信号路由组从收到I-PDUs,I-PDUs成为传播通信传输控制(启动/停止I-PDU组)复制发送请求之间最小距离的保证传输I-PDUs监测接收信号(信号超时)过滤传入的信号机制。不同的通知机制提供初始值和更新显示字节顺序转换符号扩展支持两种不同的传输模式。/I-PDU信号基于网关支持大型和动态长度的数据类型支持I-PDU计数器和I-PDU复制。

模块配置

【AUTOSAR】 项目和代码详解(四)----AUTOSAR COM,网络,linux,汽车,嵌入式硬件

 

ETAS ISOLAR中主要配置或修改内容如下。

特别地,ISOLAR工具会自动导出COM有关的配置生成独立的ARXML文件,因此在配置界面中会有两个相同的COM配置内容,一般修改非EXPORT的配置内容。

【AUTOSAR】 项目和代码详解(四)----AUTOSAR COM,网络,linux,汽车,嵌入式硬件

 

ComGeneral

【AUTOSAR】 项目和代码详解(四)----AUTOSAR COM,网络,linux,汽车,嵌入式硬件

 

ComCancellationSupport

此参数启用/禁用通信取消功能

ComConfigurationUseDet

是否使用DET

ComEnableMDTForCyclicTransmission

对整个Com模块全局启用循环和重复传输的最小延迟时间监控(ComTxModeMode=PERIODIC 或ComTxModeMode=MIXED,ComTxModeMode= >0 重复传输)。

ComEnableSignalGroupArrayApi

激活/停用信号组数组访问api (Com_SendSignalGroupArray, Com_ReceiveSignalGroupArray)。

ComMetaDataSupport

此参数启用/禁用元数据特性的支持,包括API com_triggeripdusendwith元数据。

ComRetryFailedTransmitRequests

如果此参数设置为true,则启用失败传输请求的重试。如果不存在此参数,则假定为默认值。

ComSupportedIPduGroups

定义支持的I-PDU组的最大数目。

ComUserCbkHeaderFile

定义回调函数的头文件,这些头文件应该包含在COM模块中。

ComVersionInfoApi

激活/停用版本信息API (Com_GetVersionInfo)。

ComConfig

【AUTOSAR】 项目和代码详解(四)----AUTOSAR COM,网络,linux,汽车,嵌入式硬件

 

ComDataMemSize

以字节为单位的内部Com数据的大小(静态内存分配)——构建后配置所需的内存必须小于此常量。仅在使用静态内存分配进行构建后可加载实现时才需要此参数。

ComMaxIPduCnt

最大IPdus数。仅在使用静态内存分配进行构建后可加载实现时才需要此参数。

ComConfig/ ComTimeBase

ComGwTimeBase

连续调用Com_MainFunctionRouteSignals之间的周期(以秒为单位)。COM生成器可使用此参数将与信号网关相关的COM模块定时配置参数的值转换为内部实现的特定计数器或滴答值。COM模块的内部定时处理是特定于实现的。COM模块可能依赖于根据这里配置的值调度Com_MainFunctionRouteSignals。

ComRxTimeBase

连续调用Com_MainFunctionRx之间的时间段(以秒为单位)。COM生成器可以使用此参数将与接收相关的COM模块定时配置参数的值转换为内部实现的特定计数器或刻度值。COM模块的内部定时处理是特定于实现的。COM模块可能依赖此参数配置Com_MainFunctionRx调度。

ComTxTimeBase

连续调用Com_MainFunctionTx之间的时间段(以秒为单位)。COM生成器可以使用此参数将与传输相关的COM模块定时配置参数的值转换为内部实现特定的计数器或滴答值。COM模块的内部定时处理是特定于实现的。COM模块依赖此配置进行Com_MainFunctionTx的调度。

ComConfigSet/ ComFilter

ISOLAR中无配置

ComConfigSet/ ComIPdu

ComIPduCallout

此参数定义对应I-PDU的callout函数的存在性和名称。如果省略此参数,则不会对相应的I-PDU进行I-PDU标注。

ComIPduCancellationSupport

使用ComIPduType NORMAL为I-PDUs定义:如果底层的If -modul支持取消传输请求。

用ComIPduType TP定义I-PDUs:如果底层TP模块支持RX和TX取消正在进行的请求。

ComIPduDirection

描述I-PDU接收或发送,以及相应的信号和信号组。

ComIPduHandleId

用作I-PDU的ID的数值。API调用com_rxIndication 、com_tprxIndication 、Com_StartOfReception和Com_CopyRxData需要ComIPduHandleId从PduR (ComIP-duDirection: receive)接收I-PDUs,以及传递给Rx-I-PDU-callout的PduId。Tx-I-PDUs (ComIPduDirection:发送),这个处理Id用于api调用Com_TxConfirmation, Com_TriggerTransmit, Com_TriggerIPDUSend或Com_TriggerIPDUSendWithMetaData Com_CopyTxData I-PDUs Com_TpTxConfirmation传输分别确认传输。

ComIPduSignalProcessing

ComIPduSignalProcessing

两种模式的定义:直接模式和递延模式。

ComIPduTriggerTransmitCallout

如果为这个I-PDU定义了一个触发器传输callout,那么这个参数包含callout函数的名称。

ComIPduType

定义该I-PDU是可以不间断发送的普通I-PDU,还是应该通过底层总线的传输协议发送的大型I-PDU。

ComIPduGroupRef

引用这个I-PDU所属的I-PDU组。

ComIPduSignalGroupRef

引用这个I-Pdu中包含的所有信号组。

ComIPduSignalRef

引用这个I-PDU中包含的所有信号。

ComPduIdRef

引用“全局”Pdu结构,以便协调com堆栈中的句柄id。

ComIPduCounter

Nan

ComIPduReplication

Nan

ComTxIPdu

Nan

ComConfigSet/ ComIPduGroup

ComIPduGroupHandleId

用作I-PDU组的ID的数值。API调用需要ComIPduGroupHandleId来启动和停止I-PDU组。

ComIPduGroupGroupRef

引用包括这个I-PDU组的所有I-PDU组。如果省略了这个引用,则这个I-PDU组不属于另一个I-PDU组。

ComConfigSet/ ComSignal

ComBitPosition

在I-PDU中的起始位置。这个参数指的是I-PDU中的位置,而不是影子缓冲区中的位置。如果将endianness转换配置为不透明,则参数ComBitPosition应定义第一个字节的bit0,类似于小endian字节顺序。

ComBitSize

位大小,用于整数信号类型。对于ComSignalType UINT8_N和UINT8_DYN,大小应由ComSignalLength配置。对于ComSignalTypes FLOAT32和FLOAT64,大小已经由信号类型定义,因此可以省略。

ComDataInvalidAction

此参数定义在接收到无效信号时执行的操作。如果所包含的信号之一是无效信号,则与信号组相关的动作。如果使用Replace,则使用ComSignalInitValue进行替换。

ComErrorNotification

仅在发送方有效:调用的Com_CbkTxErr回调函数的名称。如果省略此参数,则不会发生错误通知。

ComFirstTimeout

定义第一个截止日期监视超时周期的长度(以秒为单位)。此超时将在启动(或重新启动)deadline监控服务后立即使用。连续时间段的超时时间由ECUC_Com_00263配置。

ComHandleId

用作ID的数值。这个ID分别使用Com_SignalIdType或Com_SignalGroupIdType参数来标识COM api中的信号和信号组。

ComInitialValueOnly

这个参数定义了各自的信号的初始值应该被放入各自的PDU中,但是不会通过RTE对该值进行任何更新。因此,Com实现不需要为这个信号(组)期望任何API调用。

ComInvalidNotification

仅在接收端有效:调用的Com_CbkInv回调函数的名称。通知RTE接收无效信号/信号组的函数名。仅当ComDataInvalidAction被配置为通知时才适用。

ComNotification

发送端:要调用的Com_CbkTxAck回调函数的名称。

在接收端:要调用的Com_CbkRxAck回调函数的名称。

如果省略此参数,则不应进行任何通知。

ComRxDataTimeoutAction

此参数定义接收截止日期监视计时器过期时执行的操作。

ComSignalDataInvalidValue

定义信号的数据无效值。

ComSignalEndianness

定义信号网络表示的endianness。

ComSignalInitValue

信号的初始值。

ComSignalLength

信号长度

ComSignalType

信号的AUTOSAR类型。通过检查这个属性的值可以发现信号是否有符号。

这种类型也可以用于在AUTOSAR COM中保留适当的存储。

ComTimeout

定义最后期限监视超时时间的长度(以秒为单位)。

ComTimeoutNotification

发送端:要调用的Com_CbkTxTOut回调函数的名称。

在接收端:调用的Com_CbkRxTOut回调函数的名称。

ComTimeoutSubstitutionValue

当出现超时时,将使用该信号代换值,并将xdatatimeoutaction设置为替换。

ComTransferProperty

定义对该信号的写访问是否可以触发相应I-PDU的传输。如果I-PDU被触发,也取决于相应的I-PDU的传输模式。

ComUpdateBitPosition

更新位在I-PDU中的位位置。

如果省略此属性,则不存在更新位。发送方和接收方的此设置必须一致。

ComSystemTemplateSystemSignalRef

对包含对ISignal(系统模板)的引用的ISignalToIPduMapping,这个ISignal(系统模板)由这个ComSignal(或ComGroupSignal)表示。

ComConfig/ComSignalGroup

ComDataInvalidAction

此参数定义在接收到无效信号时执行的操作。

如果所包含的信号之一是无效信号,则与信号组相关的动作。如果使用Replace,则使用ComSignalInitValue进行替换。

ComErrorNotification

仅在发送方有效:调用的Com_CbkTxErr回调函数的名称。

如果省略此参数,则不会发生错误通知。

ComFirstTimeout

定义第一个截止日期监视超时周期的长度(以秒为单位)。此超时将在启动(或重新启动)deadline监控服务后立即使用。

ComHandleId

用作ID的数值。

这个ID分别使用Com_SignalIdType或Com_SignalGroupIdType参数来标识COM api中的信号和信号组。

ComInitialValueOnly

这个参数定义了各自的信号的初始值应该被放入各自的PDU中,但是不会通过RTE对该值进行任何更新。因此,Com实现不需要为这个信号(组)期望任何API调用。

ComInvalidNotification

仅在接收端有效:调用的Com_CbkInv回调函数的名称。通知RTE接收无效信号/信号组的函数名。仅当ComDataInvalidAction被配置为通知时才适用。

ComNotification

发送端:要调用的Com_CbkTxAck回调函数的名称。

在接收端:要调用的Com_CbkRxAck回调函数的名称。

如果省略此参数,则不应进行任何通知。

ComRxDataTimeoutAction

此参数定义接收截止日期监视计时器过期时执行的操作。

ComSignalGroupArrayAccess

定义基于uint8数组的对这个ComSignalGroup的访问是否为应使用。

ComTimeout

定义最后期限监视超时时间的长度(以秒为单位)。

ComTimeoutNotification

发送端:要调用的Com_CbkTxTOut回调函数的名称。

在接收端:调用的Com_CbkRxTOut回调函数的名称。

ComTransferProperty

定义对该信号的写访问是否可以触发相应I-PDU的传输。如果I-PDU被触发,也取决于相应的I-PDU的传输模式。

ComUpdateBitPosition

更新位在I-PDU中的位位置。

如果省略此属性,则不存在更新位。发送方和接收方的此设置必须一致。

ComSystemTemplateSignalGroupRef

对ISignalToIPduMapping的引用,该引用包含对ISignalGroup (SystemTemplate)的引用,而这个ComSignalGroup表示ISignalToIPduMapping。

ComConfig/ComSGwMapping/source-destination

ComGwSourceDescription

网关源的描述。此容器允许定义网关源,而无需配置完整的COM信号。这允许在构建后添加/更改网关关系,而无需配置新的信号。

ComBitPosition

在I-PDU中的起始位置。这个参数指的是I-PDU中的位置,而不是影子缓冲区中的位置。如果将endianness转换配置为不透明,则参数ComBitPosition应定义第一个字节的bit0,类似于小endian字节顺序

ComBitSize

位大小,用于整数信号类型。对于ComSignalType UINT8_N和UINT8_DYN,大小应由ComSignalLength配置。对于ComSignalTypes FLOAT32和FLOAT64,大小已经由信号类型定义,因此可以省略。

ComSignalEndianness

定义信号网络表示的endianness。

ComSignalLength

对于ComSignalType UINT8_N,此参数指定长度n(以字节为单位)。对于ComSignalType UINT8_DYN,它指定最大长度(以字节为单位)。对于所有其他类型,应忽略此参数。支撑的最大长度受所用运输系统的限制。对于非TP-PDUs, PDU的最大大小(因此也包括任何包含的信号)受到具体总线特性的限制。例如,CAN和LIN的限制是8字节,CAN FD是64字节,FlexRay是254字节。

ComSignalType

信号的AUTOSAR类型。通过检查这个属性的值可以发现信号是否有符号。这种类型也可以用于在AUTOSAR COM中保留适当的存储。

ComUpdateBitPosition

更新位在I-PDU中的位位置。

如果省略此属性,则不存在更新位。发送方和接收方的此设置必须一致。

ComGwIPduRef

对信号网关源或目标描述的I-PDU的引用。

自动配置生成

ISOLAR软件可以通过导入DBC、ODX等文件,创建系统配置,进而通过系统配置生成部分底层软件配置。

以CAN模块为例,通过ConfGen【AUTOSAR】 项目和代码详解(四)----AUTOSAR COM,网络,linux,汽车,嵌入式硬件工具,可以自动生成CAN节点、CANObject配置,其他配置一般以默认值填充。

 

Step1

DBC文件检查

删除属性: BA_ "GenSigStartValue" SG_ xxx SigName;

补充节点信息: BU_: VCU ABS …

补充每帧报文的接收发送节点: BO_ CanID MsGName: DLC ABS

                               SG_ SigName : 0|2@1+ (1,0) [0|3] "" VCU

Step2

导入DBC文件

【AUTOSAR】 项目和代码详解(四)----AUTOSAR COM,网络,linux,汽车,嵌入式硬件

 

Step3

生成配置

【AUTOSAR】 项目和代码详解(四)----AUTOSAR COM,网络,linux,汽车,嵌入式硬件

 

Step4

参考<模块配置>对生成的CAN模块配置进行修改、适配。

参考文档

[1] AUTOSAR_SRS_COM.pdf

[2] AUTOSAR_SWS_COMpdf

[3] RTA-BSWReferenceGuide.pdf文章来源地址https://www.toymoban.com/news/detail-707754.html

到了这里,关于【AUTOSAR】 项目和代码详解(四)----AUTOSAR COM的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【AUTOSAR】 项目和代码详解(二)----RTA-OS配置

    RTA-OS是一个静态可配置的、先发制人的实时操作系统用于高性能、资源受限的应用程序。RTAOS是开放标准AUTOSAR R3的完整实现。AUTOSARR4.0(含多核)、AUTOSAR R4.1、AUTOSAR R4.2、AUTOSAR R4.3操作系统规范,也完全符合版本2.2.3的OSEK/VDX操作系统的标准。OSEK现已在ISO 17356中标准化。 rtaoscfg是

    2024年02月07日
    浏览(104)
  • autosar com模块详解

    AUTOSAR(Automotive Open System Architecture)是一种用于汽车电子系统的开放式软件体系结构标准。COM(Communication Stack)是AUTOSAR体系结构中的一种通信协议,用于在不同的软件组件之间进行通信,COM是一种通信堆栈,用于在不同的ECU之间传输数据和信息。它提供了一种标准化的通信

    2024年02月09日
    浏览(31)
  • AUTOSAR从入门到精通-【应用篇】基于嵌入式实时Linux及AUTOSAR的跨平台技术研究与实现(续)

    目录  RTAR_PLAT平台及跨平台应用的实现 4.1应用接口层的实现 4.2系统匹配层和系统库层实现

    2024年02月10日
    浏览(40)
  • Autosar模式管理实战系列07-BswM与COM模块的交互详解

    在Autosar模式管理系列介绍01-BswM文章中,我们对BswM基本内容进行了介绍,我们知道了BswM是根据既定的仲裁规则对来自应用层SWCs或其他底层BSW模块,同时也对BswM作用的过程及其状态机进行了介绍,本篇开始我们继续 BswM与通信相关

    2024年02月15日
    浏览(22)
  • 汽车电子Autosar之DTC

    目录 一、DTC基本介绍 1、DTC基本组成 2、DTC故障类型 3、DTC与event区别与联系

    2024年02月08日
    浏览(36)
  • AUTOSAR汽车电子系统架构标准

    目录 AUTOSAR RTE SWC和BSW SWC访问代码实现 ARXML(AUTOSAR XML) Interface Client-Server接口代码实现 AutoSAR OS Application AUTOSAR(Automotive Open System Architecture)正式发布日期是2003年,是一种开放的汽车电子系统架构标准,旨在提供汽车电子系统的 标准化和模块化 解决方案。它由一系列的 规

    2024年02月11日
    浏览(37)
  • 技术科普:汽车开放系统架构AUTOSAR

    汽车是现代人类实现“千里江陵一日还”的交通工具,而计算机则是使人脱离繁杂重复脑力劳动的生产技术,两者的结合催生了汽车电子产业的蓬勃发展。 21世纪初,随着汽车电子应用需求的不断增多与硬件资源不断丰富,软件系统也随之变得日趋复杂。汽车电子的主要任务

    2024年02月10日
    浏览(29)
  • 汽车电子AUTOSAR之EcuM模块

    目录 前言 正文 EcuM模块总体介绍 主要功能 总状态机(Flexible 与 Fixed)

    2024年02月08日
    浏览(32)
  • 汽车安全硬件扩展 AUTOSAR SHE SecureHardwareExtensions

    SHE(Secure Hardware Extension)在车联网中,被应用在车端ECU中负责安全存储与安全计算。是由HIS(由Audi、BMW、Porsche、Volkswagen组成)制定的标准,中文意思“安全硬件扩展”,是对任何给定微控制器的片上扩展。它旨在将对加密密钥的控制从软件域移到硬件域,从而保护这些密钥

    2024年02月04日
    浏览(29)
  • 汽车电子行业的“AUTOSAR”到底是什么?

    AUTOSAR (AUTomotive Open System ARchitecture) 是一种开放的软件架构标准,用于汽车电子系统的开发和管理。该标准旨在通过统一的硬件和软件接口,实现汽车电子系统的互操作性和可重用性,并促进不同的汽车制造商和零部件供应商之间的合作和交流。本文将介绍AUTOSAR标准的起源、

    2024年01月23日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包