其他分享
首页 > 其他分享> > autosar—com模块

autosar—com模块

作者:互联网

目录

定义

signal信号

3种信号值

发送信号属性—Triggered属性+Pending属性

信号的初始化

信号的对齐方式(大小端)

信号的收发

a.发送(上层—下层)

b.接收(下层—上层)

字节序转换和符号扩展

信号的过滤机制

上下层

com层与下层PDUR层的相互通信

com层有上层RTE层通信

信号传输模式

数据传输

接收

发送

数据发送后的确认


定义

对不同速率的总线网络提供数据交换;为汽车控制单元应用软件提供了统一的通信环境,为内部和外部通信定义了公共的软件通信接口和行为;

AUTOSAR COM模块进行发送和接收信号,为RTE提供面向信号的接收与发送函数。

signal信号

3种信号值

发送信号属性—Triggered属性+Pending属性

信号的初始化

AUTOSAR COM在Com_Init()执行时,将初始化所有I-PDU内容,首先用默认值(ComTxIPduUnusedAreasDefault)表示字节,然后根据所包含信号的初始值(ComSignalInitValue)和更新位来表示位。初始化过程中无法使能ECU内部的通信功能。

信号的对齐方式(大小端)

(小端):信号的高位(MSB)放在高字节的高位,信号的低位(LSB)放在低字节的低位;

(大端):信号的高位(MSB)放在低字节的高位,信号的低位(LSB)放在高字节的低位。

信号的收发

a.发送(上层—下层)

发送过程中,应用层调用COM层提供的信号或信号簇发送函数,根据配置,信号或信号簇的数据经过字节序转换后被更新到I-PDU中相应的位置。AUTOSAR COM规范中同一I-PDU可以设置两种发送模式,对其中各信号的传输模式条件进行计算,I-PDU选择其中一种发送模式进行发送。然后启动发送死限监控,调用PduR_ComTransmit()函数将I-PDU发送到下层。

根据该信号的配置判定是内部信号还是外部信号。

b.接收(下层—上层)

接收过程中,当下层接收到I-PDU时,下层将调用COM层提供的指示函数Com_RxIndication(),取消并重启接收死限监控,将I-PDU的数据从底层拷贝到COM中。调用信号或信号簇的接收函数后,该I-PDU中的信号或信号簇将经过字节顺序转换、符号扩展和接收过滤后,数据被拷贝到应用层。

接收过程要判断是内部信号还是外部信号。

字节序转换和符号扩展

一个10位有符号信号被接收并被Com_ReceiveSignal复制到一个16位有符号整型变量。 如果接收到signal值为(-3)10进制,类型为sint16,则接收到的10位信号有取值为1111111101b。 当将其复制到16位整型变量时,值将扩展到11111111111101b  。

除了字节顺序转换外,AUTOSAR COM模块不支持ComSignalType FLOAT32或FLOAT64的信号的进一步转换。 也就是说,支持字节顺序转换,但不支持复杂转换或分数、指数、符号或偏差值的标准化。 

信号的过滤机制

AUTOSAR COM模块会评估每次过滤的条件为真或假;

AUTOSAR COM模块会在接收端滤出想要过滤的信号;

AUTOSAR COM模块应在发送端对传输模式条件(TMC)使用过滤机制,但不应过滤发送端信号;

AUTOSAR COM模块提供的过滤算法:

注:对于ComSignalType FLOAT32、FLOAT64、UINT8_N或UINT8_DYN的信号,AUTOSAR COM模块应只支持配置为ALWAYS、NEVER或ONE_EVERY_N的ComFilterAlgorithm  ;对于ComSignalType配置为BOOLEAN的信号,AUTOSAR COM模块应只支持ComFilterAlgorithm配置为

ALWAYS;NEVER;MASKED_NEW_EQUALS_X;MASKED_NEW_DIFFERS_X;MASKED_NEW_DIFFERS_MASKED_OLD; ONE_EVERY_N;

过滤处理:

上下层

AUTOSAR COM提供了基本的通信服务,它有明确的上层模块RTE(Runtime Environment)和下层模块PDU Router。

com层与下层PDUR层的相互通信

AUTOSAR COM模块使用了两套PDU路由器的上位机的并集层模块api。 这是用于使用TP和的上层模块的api和不使用TP的上层模块的api。AUTOSAR COM模块传输i- pdu的通过完整的i-pdu传输或是分裂后通过TP层传输。

下层PDU Router对AUTOSAR COM模块的功能需求包括:

com层有上层RTE层通信

com模块为RTE提供面向信号的数据接口:

信号传输模式

在AUTOSAR COM规范中允许为每个I-PDU静态配置两种不同的传输模式,ComTxModeTrue和ComTxModeFalse。在AUTOSAR COM规范中通过传输模式切换,来选择I-PDU中的其中一种传输模式进行传输。

发送模式条件TMC+发送模式选择TMS

每个I-PDU配置两种发送模式,在程序运行过程中,某I-PDU的发送模式是由TMS来决定,若一个I-PDU的TMS根据上述的算法计算为True,那么该I-PDU将以配置的True状态下的发送模式进行发送。当一个I-PDU下属的某个信号的过滤算法配置为ALWAYS,那么这个I-PDU将一直以用户配置的TM为True状态下发送模式进行发送。

AUTOSAR COM模块中的逻辑信号流显示为映射到一个I-PDU (IPDUk)的两个信号(Signal1和Signal2)  :

信号网关

集成的信号网关充当接收器,用于所有被配置为网关信号源的信号或信号簇。

信号网关在接收到用于路由的信号或信号簇后,立即充当这些信号或信号簇的发送器。

AUTOSAR COM模块的接收交互模型

AUTOSAR COM模块的发送交互模型

数据传输

接收

发送

数据发送后的确认

标签:autosar,模块,COM,PDU,AUTOSAR,发送,信号,com
来源: https://blog.csdn.net/m0_52992429/article/details/122499414