SecOC工作流程剖析(发送)

本文详细剖析了SecOC的工作流程,从Com触发PduR到SecOC组件,再到内存申请和拷贝,以及消息授信和安全PDU的生成。过程中涉及SecOCReceptionOverflowStrategy配置参数,影响新消息处理策略。在周期函数中,若CSM忙可能导致发送失败。最后,通过CanIf将消息发送至目标,并通过一系列确认机制确保所有模块得知发送状态。

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

SecOC的Direct Transmission流程剖析

返回总目录


先上图,消息经过SecOC发送
在这里插入图片描述
Step1,发送时由Com触发PduR,再由PduR找到SecOC组件。这里存留一个疑问,两个函数PduR_ComTransmit以及SecOC_IfTransmit均有参数PduIdType,那么这两个参数是不是同一个东西?我们后续撰文解答,继续往下看;

Step2, SecOC内部在prepare和copy,这里是在做内存申请和拷贝。prepare在预先配置的时候已完成组件配置所需要的资源,copy需要注意一个配置参数SecOCReceptionOverflowStrategy。它决定SecOC接收消息时,如果此时PduId还有未处理的消息的时候,新消息是直接丢弃、队列形式排队、还是替换未处理消息;

Step3 消息在周期函数里面执行,需要进行消息授信,变为安全PDU后,把结果通知给PduR;这里也有可能失败,主要原因是CSM忙导致。关于S

### AUTOSAR架构中的通信机制 #### 1. 层间交互概述 AUTOSAR(汽车开放系统架构)定义了一个分层式的软件架构,其中每一层负责特定的功能。为了实现不同组件间的高效协作,这些层次之间通过标准化接口进行数据交换[^2]。 #### 2. 通信管理器(ComM)的角色 作为AUTOSAR的一个重要模块,通信管理器主要职责在于管理和协调网络上的消息传输过程。具体来说: - 支持不具备唤醒功能的从属设备参与的数据通道操作; - 能够区分主动发起还是被动响应类型的请求,并据此向较低级别的协议栈传递相应信息; - 实现同步PNC关闭流程的支持; 上述特性确保了即使在网络条件变化的情况下也能维持稳定可靠的通讯连接[^1]。 #### 3. 安全通信对象(SecOC)初始化 安全通信对象用于保护车辆内部CAN总线上传输的信息免受篡改攻击。SecOC模块可通过调用`SecOC_Init()`函数完成初始化工作,在必要时还可以利用`SecOC_DeInit()`来重置整个模块状态,从而保障每次启动都能处于最佳性能水平下运行[^3]。 ```c // 初始化SecOC模块 void SecOC_Init(void); // 反初始化SecOC模块 void SecOC_DeInit(void); ``` #### 4. 数据发送模式分析 对于周期性和事件触发两种不同的报文传送方式而言,混合传输策略允许两者共存于同一物理介质之上。值得注意的是,尽管最小发送间隔可能会造成循环帧延迟现象的发生,但这并不会影响到基础周期设定值本身。即时性的直接传输则通常采用实心红线箭头表示其路径走向[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值