【AUTOSAR COM 4.Com服务层模块的介绍】

本文介绍了AUTOSAR COM模块在汽车控制单元中的通信功能,详细讲解了信号的定义、属性、初始化、传输模式以及过滤机制。通过Com_SendSignal和Com_ReceiveSignal服务,阐述了信号的收发过程,包括内部和外部信号的处理。此外,还讨论了I-PDU的传输模式选择与TMS计算,以及Com网关的角色和交互模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有关Com通信协议栈的介绍到本篇就介绍完了,其实这块内容牵扯的知识是很多很多的 ,我这里只是抛砖,至于具体的细节必须通过自己亲手配置摸索,感受这个过程,一旦你明白了会有豁然开朗的感觉。

Com概念与定义

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

AUTOSAR COM模块进行发送和接收信号,为RTE提供面向信号的接收与发送函数。
在这里插入图片描述
在这里插入图片描述

Signal的介绍

三种信号值

  1. 初始值:AUTOSAR COM模块使用配置参数ComSignalInitValue的低N位初始化发送方和接收方的每个N位的信号类型,
    配置的ComSignalInitValues也用于I-PDU的初始化信号。一个信号的ComSignalInitValue可以与ComSignalDataInvalidValue值相同。初始化阶段会清空所有update-bits值。默认情况下,所有I-PDU组应在停止状态,不得由Com_Init()调用启动。
  2. 数据无效值:通过调用Com_InvalidateSignal, AUTOSAR
    COM模块将在内部执行带有配置ComSignalDataInvalidValue的Com_SendSignal。ComTransferProperty和传输模式决定了ComSignalDataInvalidValue在总线上的传输。内部执行的带有数据无效值的Com_SendSignal,会决定被用作过滤器的数据无效值和TMS当前值。VFB仅为复杂数据类型定义一个属性。因此,一个失效的复杂数据类型到一个失效的信号簇的最佳映射是使一个信号簇的所有信号失效。因此,RTE还可以通过调用
  3. Com_InvalidateSignalGroup来请求使整个信号簇无效。 正常值:初始化阶段之后的有效值,包括COM部分收发的信号值

信号属性(Transfor property)

  • Triggered属性-触发:调用Com_SendSignal(
    )服务请求具备Triggered属性的信号发送,可以触发相关I-PDU的发送,但是如果该I-PDU的发送模式被配置为Peiodic时,只更新信号的值,不会触发相关I-PDU的立即发送,而是在下一周期到来时触发发送。
  • Pending属性-延迟:Com_SendSignal( )服务请求调用具备Pending属性的信号发送,不会触发相关I-PDU的发送。

信号的初始化与对齐方式(大小端)

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

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

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

在这里插入图片描述

信号的收发

send

发送过程中,应用层调用COM层提供的信号或信号簇发送函数,根据配置,信号或信号簇的数据经过字节序转换后被更新到I-PDU中相应的位置。AUTOSAR COM规范中同一I-PDU可以设置两种发送模式ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值