《AUTOSAR谱系分解(ETAS工具链)》之Com

《AUTOSAR谱系分解(ETAS工具链)》之Com

Com

在这里插入图片描述

ComConfig

  • ComDataMemSize

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

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

    • ComIPduGroup_Rx

      • ComIPduGroupHandleId

        • EXP:用作此IPDU组ID的数值。API调用需要它来启动和停止IPDU组。(多重性:1)
      • ComIPduGroupGroupRef

        • EXP:它提供对包括该IPDU组的所有IPDU组的引用。(多重性:0 … *)
    • ComIPduGroup_Tx

      • ComIPduGroupHandleId

        • EXP:用作此IPDU组ID的数值。API调用需要它来启动和停止IPDU组。(多重性:1)
      • ComIPduGroupGroupRef

        • EXP:它提供对包括该IPDU组的所有IPDU组的引用。(多重性:0 … *)
    • 。。。。。。

  • ComIPdus

    • EXP:该容器用于为不同的IPDU参数提供定义,如果没有该参数,则无法通过COM模块进行通信。
      ComIPdu也通过ComPduIdRef链接到PDU。I-PDU包含一个或多个信号和/或信号组。

    • ComIPdu

      • ComIPduCallout

        • EXP:此参数可定义相应I-PDU的callout函数的名称,该函数在接收IPDU时或在发送PDU之前调用。
          ComIPduCallout函数需返回true,如果返回false则丢弃该帧。
          ComIPduCallout先于ComIpduNotificationCallback调用。
        • EXP:
          我们的checksum和rolling counter代码写在了这里。
    • ComIPduCancellationSupport

      • EXP:使用ComIPduType NORMAL为I-PDUs定义:如果底层的If -modul支持取消传输请求。用ComIPduType TP定义I-PDUs:如果底层TP模块支持RX和TX取消正在进行的请求。
    • ComIPduDirection(传输方向)

      • EXP:定义I-PDU是为发送(SEND)PDU还是为接收(RECEIVE)PDU。(多重性:1)。

如果将ComIPduDirection设置为SEND,则需要设置其他参数,例如传输是周期的还是混合型的等等。这是通过添加ComTxIPdu对象来添加的。
- SEND
- RECEIVE

- ComIPduSignalProcessing

	- EXP:用于配置信号是立即处理还是周期性处理,分别对应immediate或DEFERRED模式。(多重性:1)。
	- IMMEDIATE
	- DEFERRED
- ComFirstTimeout

	- EXP:该配置项的作用为首次超时监测前置条件成立时开始计时的超时时间,若某报文的该配置项配置为ComFirstTimeout = 0ms,则对应报文会从超时监测前置条件成立后到接收到首帧该报文开始监测超时。
- ComTimeout

	- EXP:该配置项为首次超时后使用,即触发首次超时后的超时时间为该时间。
- **ComIPduErrorNotification**

	- EXP:配合ComTimeout完成timeout设置

ComIPduCallout先于ComIpduNotificationCallback调用。

- ComIPduType(类型)

	- NORMAL
	- TP

- ComCalibrationNameForIpduControl

	- EXP:

- ComCalibrationNameForTxModeCyclePeriod

	- EXP:

- ComCalibrationNameForRxIpduTimeout

	- EXP:

- ComCalibrationNameForTxPduTimeOffset

	- EXP:

- ComCalibrationNameForNumberOfRepetitionOfTxPdu

	- EXP:

- ComIPduIdRef

(EcucPdu引用)

	- EXP:它提供对COM栈的全局PDU结构的引用。(多重性:1)。

- ComIPduGroupRef

	- ComIPduGroup_Rx
	- ComIPduGroup_Tx
	- EXP:它是指IPDU所属的IPDU组。(多重性:0 ... *)。

- ComIPduSignalRef

(COM信号引用)

	- EXP:提供对该IPDU中包含的所有信号的引用。一个IPDU可以包含一个或多个单独的信号。(多重性:0 ... *)。

- ComIPduSignalGroupRef

	- EXP:提供对此IPDU中包含的所有信号组的引用(多重性:0 ...*)

- ComlPduSignalRef
  • ComSignals

    • ComSignal
      (关联BSW层和APP层)

      • ShortName

      • ComBitPosition(信号位置)

        • EXP:指出信号在IPDU中的开始位置,(多重性:1)。
      • ComBitSize

        • EXP:它定义信号的大小(以位为单位)。(多重性:0 … 1)
      • ComSignalDataInvalidValue

        • EXP:定义信号的数据无效值。
      • ComSignalInitValue(初始值)

        • EXP:用于设置信号的初始值。(多重性:0 … 1)
      • ComSignalLength(长度)

        • EXP:它指定UINT8 [n]类型的n(以字节为单位:1 … 8)。对于其他类型,它将被忽略。(多重性:0 … 1)
      • ComSignalEndianness(大小端)

        • EXP:定义信号网络表示的字节排序。可以是BIG_ENDIAN,LITTLE_ENDIAN,OPAQUE。(多重性:0 … 1)
      • ComSignalType(数据类型)

        • EXP:信号的AUTOSAR类型。通过检查这个属性的值可以发现信号是否有符号。这种类型也可以用于在AUTOSAR COM中保留适当的存储。
          它指定符合BOOTEAN,SINT8,UINT8等。(多重性:1)
      • ComNotification

        • EXP:
          发送端:要调用的Com_CbkTxAck回调函数的名称。
          在接收端:要调用的Com_CbkRxAck回调函数的名称。
          如果省略此参数,则不应进行任何通知。
      • ComRxDataTimeoutAction

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

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

        • EXP:定义发生超时时在发送方或接收方要调用的函数的名称(多重性:0 … 1)
          发送端:要调用的Com_CbkTxTOut回调函数的名称。
          在接收端:调用的Com_CbkRxTOut回调函数的名称。
      • ComTimeoutSubstitutionValue

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

        • EXP:定义发生超时时在发送方或接收方要调用的函数的名称(多重性:0 … 1)
      • ComTransferProperty
        (发送属性)

        • PENDING
        • TRIGGERED
        • TRIGGERED_ON_CHANGE
        • TRIGGERED_WITHOUT_REPETITION
        • TRIGGERED_ON_CHANGE_WITHOUT_REPETITION
        • EXP:以下选项定义此信号是否可以触发相应IPDU的传输;(多重性:0 … 1)
          配置为Triggered时,可以触发相关I-PDU的立即发送。
          配置为Peiodic时,只更新信号的值,不会触发相关I-PDU的立即发送,而是在下一周期到来时触发发送。
      • ComUpdateBitPosition

        • EXP:-1
          更新位在I-PDU中的位位置。
          如果省略此属性,则不存在更新位。发送方和接收方的此设置必须一致。
      • ComSystemTemplateSystemSignalRef
        (SystemPdu引用)

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

    • ComHandleId

      • EXP:用作ID的数值。

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

  • ComTimeout

    • EXP:

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

发送端:要调用的Com_CbkTxTOut回调函数的名称。
在接收端:调用的Com_CbkRxTOut回调函数的名称。

  • ComFirstTimeout

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

  • ComInvalidNotification

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

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

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

  • ComDataInvalidAction

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

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

  • ComInitialValueOnly

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

发送端:要调用的Com_CbkTxAck回调函数的名称。
在接收端:要调用的Com_CbkRxAck回调函数的名称。
如果省略此参数,则不应进行任何通知。

  • ComRxDataTimeoutAction

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

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

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

    • EXP:更新位在I-PDU中的位位置。

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

  • ComSystemTemplateSignalGroupRef

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

    • ComGwTimeBase

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

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

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

    • ComGwSourceDescription

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

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

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

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

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

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

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

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

ComGeneral

  • ComCancellationSupport

    • EXP:这是一个布尔参数,用于启用/禁用用于取消PDU传输请求的取消功能。(多重性:0.1)。
  • ComConfigurationUseDet

    • EXP:如果此布尔参数设置为ON,则任何当COM模块出现错误时,会调用Det_ReportError函数,记录在DET模块中(多重性:0.1)。
  • ComEnableSignalGroupArrayApi

    • EXP:这是一个布尔参数,用于激活/禁用信号组阵列访问API。(多重性:1)。
  • ComSupportedIPduGroups

    • EXP:它是一个整数参数,用于说明所支持的IPDU组的最大数量。(多重性:1)。
  • ComVersionInfoApi

    • EXP:布尔参数,用于激活/禁用版本信息API Com_GetVersionInfo。(多重性:1)。
  • ComRetryFailedTransmitRequests

    • EXP:如果此参数设置为true,则启用重试失败的传输请求。(多重性:0.1)。
  • ComEnableMDTForCyclicTransmission

    • EXP:如果启用此选项,则它将在I-PDU的循环传输和重复传输之间提供最小延迟时间监视。(多重性:0.1)。
  • ComEnableSignalGroupArrayApi

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

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

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

    • EXP:定义支持的I-PDU组的最大数目。
  • ComUserCbkHeaderFile

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

    • EXP:激活/停用版本信息API (Com_GetVersionInfo)。
  • ComConfigurationUseDet

    • EXP:如果此布尔参数设置为ON,则任何当COM模块出现错误时,会调用Det_ReportError函数,记录在DET模块中(多重性:0.1)。

EXP:

  • EXP:AUTOSAR COM是位于RTE和PduR之间的服务层模块,主要用于与RTE之间的信号交互,对信号进行打包和解包。另外在该模块中还可以配置IPDU的通信周期、通信周期偏移量、IPDUGroup等。

标准接口函数

.\src\BSW\src\BSW\Gen\Com\api\Com.h

  • Com_SendSignal()发送信号

    .\src\BSW\src\BSW\Gen\Com\src\Com_SendSignal.c

    • Com_Prv_ProceedToSendIpdu

      • Com_Prv_SendIpdu
  • Com_ReceiveSignal()接收信号

    .\src\BSW\src\BSW\Gen\Com\src\Com_ReceiveSignal.c

《AUTOSAR谱系分解(ETAS工具链)》之总目录

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值