欢迎光临
我们一直在努力

一文搞清楚AUTOSAR Com模块的各种模式

一、传输模式(何时发送)

传输模式表示何时发送一个I-PDU(报文),这是最核心的模式,定义了I-PDU的发送触发机制。每个I-PDU必须配置一种传输模式。

传输模式

触发条件

典型应用

关键配置参数

DIRECT (直接)

上层调用Com_SendSignal()后,在下一个Com_MainFunctionTx()中立即发送。

事件型信号,如车门开关、按钮按下。

ComTxModeTimePeriod (通常设为0,表示无周期)

PERIODIC (周期)

在Com_MainFunctionTx()中,按照固定周期定时发送。

心跳报文、周期状态报文。

ComTxModeTimePeriod (周期时间)

MIXED (混合)

结合了DIRECT和PERIODIC。既有周期发送的基准,又允许事件触发额外发送。

周期发送,但信号变化时需立即通知。如车速信号。

ComTxModeTimePeriod (周期), ComIPduMinDelayTime (事件触发后的最小间隔)

NONE (无)

COM永远不会主动发送。通常用于由下层调度表(如LIN Schedule Table)触发的发送。

LIN从节点报文、由其他模块(如XCP)直接控制发送的报文。

以下为周期和直接传输模式示意图:

二、信号处理模式(在何处处理)

这个模式决定了当收到或发送一个I-PDU时,其包含的信号更新和相关的通知函数(如Com_RxIndication)在何时被调用。每个I-PDU独立配置。

处理模式

处理上下文

特点

适用场景

IMMEDIATE (立即)

在中断/回调上下文中处理。例如,在Com_RxIndication()或Com_TxConfirmation()函数内部立刻调用通知。

延迟极低,实时性强。但不能在中断中执行复杂操作。

对实时性要求极高的信号,如安全相关的信号。

DEFERRED (延迟)

在任务级上下文中处理。例如,在下一个Com_MainFunctionRx()或Com_MainFunctionTx()循环中才调用通知。

延迟较高,但执行时间可控,适合复杂处理。

大多数普通信号,处理逻辑可能较复杂或需要访问共享资源。

三、传输模式选择器(Transmission Mode Selector)(用哪套参数发)

这是COM的一个高级功能,允许一个I-PDU拥有两套完整的传输模式配置(例如,一套ComTxModeTrue,一套ComTxModeFalse),并通过信号过滤器在运行时动态切换。

  • 原理:为I-PDU中的信号配置过滤器。当任何一个信号的过滤器评估为TRUE时,I-PDU使用ComTxModeTrue(例如,周期100ms)发送;当所有信号的过滤器都为FALSE时,使用ComTxModeFalse(例如,周期1000ms)发送。
  • 切换触发:调用Com_SendSignal()更新信号值时,会触发过滤器重评估,可能导致传输模式切换。
  • 手动切换:也可以通过Com_SwitchIpduTxMode() API强制切换。
  • 应用:实现多速率发送。例如,正常情况下慢速发送,当某个条件满足(如故障发生)时,切换到快速发送。

支持的信号过滤器如下:

四、传输截止时间监控模式

传输截止时间监控 是一种故障检测机制,用于监控从COM发出发送请求到收到底层发送确认之间的时间。如果这个时间超过了配置的超时时间(ComTimeout),COM会认为底层通信链路或模块(如PduR, CanIf, Can Driver)出现故障,并触发超时处理(如调用超时通知函数)。

传输截止时间监控有两种模式:Normal Mode 和 None Mode。模式的选择不是由配置开关决定,而是由I-PDU的传输模式配置隐式决定的。

以下为两种模式的对比:

特性

Normal Mode

None Mode

触发条件

I-PDU传输模式为 DIRECT/PERIODIC/MIXED

I-PDU两个传输模式均为 NONE

监控起点

COM发起发送请求时

I-PDU Group启动时,或收到Com_TriggerIPduSend()时

监控终点

收到对应 Com_TxConfirmation()

收到对应 Com_TxConfirmation()

监控内容

请求->确认的耗时

确认->确认的间隔

计时器行为

请求时启动,确认时停止

Group启动时启动,确认时重置,Group停止时停止

典型应用

ECU主动发送的报文(CAN, FlexRay)

由调度触发的报文(LIN从节点)

故障指向

本ECU的发送路径故障(Driver, 控制器硬件)

总线通信中断或主节点故障(对于LIN从节点)

赞(0)
未经允许不得转载:171主机测评 » 一文搞清楚AUTOSAR Com模块的各种模式
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址