AUTOSAR COM Introduction -- Part 2

Reception Process

Reception of a Signal

Application 通过Com_ReceiveSignal 请求获取接收到的Signal Value, 需要注意的是一定要先收到RX Indication, 在去请求Com_ReceiveSignal 才能获取到接收到的Signal Value,

AUTOSAR COM Introduction -- Part 2

CAN Read Process

AUTOSAR COM Introduction -- Part 2

Reception of a Signal Group

对于RX 也和TX类似存在SIGNAL GROUP的概念, 对于SIGNAL GROUP 需要先调用Com_ReceiveSignalGroup, 数据才会从RX Buffer拷贝到Shadow Buffer,然后通过Com_ReceiveSignal才能获取最新的数据

Com_ReceiveSignalGroup(SignalGroupA);

Com_ReceiveSignal (GroupSignal1, &SigBuffer1);

Com_ReceiveSignal (GroupSignal2, &SigBuffer2);

Notification of Reception

AUTOSAR COM Introduction -- Part 2

IMMEDIATE

对于Immediate类型的, RX Notification 将被Can_MainFunction_Read调用,

Rx Process: Can_MainFunction_Read -->Com_RxIndication -->RX NotificationàComReceiveSignal

DEFERRED

对于Deferred类型的, RX Notification 将被Com_MainFunctionRx调用,

Rx Process: Com_MainFunctionRx -->Com_RxIndicationàRX Notificatio-->ComReceiveSignal

因此 IMMEDIATE和DEFERRED的主要区别在于触发 RX Indication的 函数不同,周期不同, 如果2者周期相同则不会有区别

Signal Reception Filtering

A filter algorithm can be configured for Rx signals and group signals to filter out specific signal values. If the filter algorithm is evaluated to FALSE, the complete signal processing is inhibited. Thus the signal data is not stored in the internal COM buffer and a configured notification function is not called.

For signal groups the signal processing is performed, if at least one configured filter algorithm of any of the contained group signals is evaluated to TRUE. The signal group is only filtered out, if all filter algorithms are evaluated to FALSE.

AUTOSAR COM Introduction -- Part 2

Reception Deadline Monitoring

Reception Timeout 检测机制分为2种

  1. Update bit
  2. I–PDU Timeout 检测机制

这里先介绍I–PDU Timeout 检测机制,Update bit 后面单独章节介绍

可以在Signal/Signal Group Level配置timeout, 当timeout 发生时,COM 有以下2种处理方式

Replace: 可以指定个替换值,当timeout发送时采用替换值

Action: 当timeout 发生时对应的Callback被触发

AUTOSAR COM Introduction -- Part 2

Invalidation Mechanism

Sender Side

通过ComSignalDataInvalidValue 可以针对Signal设置Invalid Value, 当Application通过Com_SendSignal trigger Signal 发送时,COM Layer会和预定义好的Invalid Value 进行比较,如果一致,对于

Event :不会触发报文发送

Cycle: 依然使用上次Valid Value

对于包含在signal Group中的signal 只要有一个出现上面描述的情况,则整个Signal Group都会失效

Event :不会触发报文发送

Cycle: 依然使用上次Valid Value

Receive Side

在接收端也存在类似的Invalid Value 处理策略, 当收到一个Signal.Com Layer 会和预定义好的 Invalid Value比较,如果一致,则有2种处理方式

Notify: 执行预定义好的InvalidNotificationCallback,当不会更新到COM LAYER, 也就是通过Com_ReceiveSignal 获取的是 Last Valid value

Replace : 使用Init value 替换收到的Invalid value 同时更新到COM Layer, 也就是通过Com_ReceiveSignal 获取的是 Init value

对于包含在signal Group中的signal 只要有一个出现上面描述的情况,则整个Signal Group都会失效,因次Signal Group中的所有Signal都要采用这种处理方式

Notify: 执行预定义好的InvalidNotificationCallback,当不会更新到COM LAYER, 也就是通过Com_ReceiveSignal 获取的是 Last Valid value

Replace : 使用Init value 替换收到的Invalid value 同时更新到COM Layer, 也就是通过Com_ReceiveSignal 获取的是 Init value

AUTOSAR COM Introduction -- Part 2

Update Bit

此功能很像ARC功能,是用来保证SWC是否alive的, SWC通过调用of Com_SendSignal or Com_SendSignalGroup 设置Update Bit,进而证明自己“活着” 当message 发送到BUS 之后,Update Bit又会被清除掉,进而保证SWC需要持续更新Update Bit 来证明自己“活着”

Setting

启用Update Bit 之后,当Com_SendSignal 或者Com_SendSignalGroup 被触发时,Update Bit被设置上

Clear

在Sender 端可以选择如下Clear Update Bit的时机,以防止对下一帧报文产生影响

AUTOSAR COM Introduction -- Part 2

Getting

当Receiver端接收到数据之后,会去check Update bit,如果没有被设置上,不会

将数据提供给Application

Signal Gateway

Signal Level 的网关, 顾名思义,网关起到的作用是数据透传。其并不会改变signal value. 因此Signal Gateway的功能也大致如此,将RX messages 中某个signal 或signal Group 映射到 一条TX Message, 进而trigger 这个TX message 发送。实现数据重组和透传。

AUTOSAR COM Introduction -- Part 2

Large I-PDUs

对于Standard CAN, 单条报文最多可包含8 Bytes,  CANFD可包含64 bytes, 如果APP想传输多余8 Bytes(FD 64Bytes)  就需要使用这个功能了

Note: 简单来说就是APP level像DCM一样通过TP layer发送数据

Sender

The call-sequence is:

PduR_ComTransmit: for initiating the send request

One or more callbacks to Com_CopyTxData: for copying the data

Callback to Com_TpTxConfirmation: for confirming the transmission

Receiver

The call-sequence is:

Call to Com_StartOfReception: for initiating the RX request

One or more callbacks to Com_CopyRxData: copying the receive data to the AUTOSAR COM module’s internal receive buffer

Call to Com_TpRxIndication: indicating the correct, or incorrect, end of the reception process

上一篇:centos7中 yum的安装


下一篇:RedHat yum源配置