背景
网络管理能对汽车上的各个节点能统一管理,进行休眠唤醒的控制,从而达到节省能耗的目的,满足整车低功耗的要求。
AUTOSAR CAN NM 网络管理
相关autosar标准原文
《Specification of CAN Network Management》
链接:
autosar.org/fileadmin/standards/R21-11/CP/AUTOSAR_SWS_CANNetworkManagement.pdf
以下是这些文档可能包含的内容的概述:
-
AUTOSAR_SRS_BSWGeneral.pdf
- General Requirements on Basic Software Modules: 这份文档可能描述了AUTOSAR基础软件模块(BSW)的一般要求,包括功能、性能、接口等方面的规定。
-
AUTOSAR_SRS_NetworkManagement.pdf
- Requirements on Network Management: 此文档详细说明了网络管理的需求,可能包括网络初始化、监控、故障检测等方面的规定。
-
AUTOSAR_SWS_CANInterface.pdf
- Specification of CAN Interface: 这份文档描述了CAN(Controller Area Network)接口的规范,包括其接口定义、通信协议、错误处理等方面的内容。
-
AUTOSAR_SWS_CommunicationStackTypes.pdf
- Specification of Communication Stack Types: 这份文档可能定义了AUTOSAR中使用的不同通信栈的类型和特性。
-
AUTOSAR_TPS_ECUConfiguration.pdf
- Specification of ECU Configuration: 这份文档可能描述了ECU(Electronic Control Unit)的配置规范,包括硬件配置、软件配置以及它们之间的交互。
-
AUTOSAR_SWS_NetworkManagementInterface.pdf
- Specification of Generic Network Management Interface: 这份文档定义了通用的网络管理接口规范,可能包括接口定义、调用方法、参数等方面的内容。
-
AUTOSAR_SWS_ComManager.pdf
- Specification of Communication Manager: 这份文档描述了通信管理器的规范,可能涉及通信任务的调度、资源管理、错误处理等方面。
-
AUTOSAR_SWS_StandardTypes.pdf
- Specification of Standard Types: 这份文档定义了AUTOSAR中使用的标准数据类型和它们的属性,这有助于确保不同组件之间数据的一致性和互操作性。
-
AUTOSAR_SWS_BSWGeneral.pdf
- General Specification of Basic Software Modules: 这份文档可能提供了基础软件模块(BSW)的总体规范,包括其功能、结构、接口以及与其他模块之间的交互方式。
三个模式:Network Mode、Prepare Bus-Sleep Mode和Bus-Sleep Mode。
Network Mode是节点正常工作所处的模式,包括三个子状态:Repeat Message State、Normal Operation State和Ready Sleep State。
Repeat Message状态表现:节点会周期性发送NM报文,该状态的持续时长可配置。
Repeat Message State的进入条件:
在Bus-Sleep Mode或Prepare Bus-Sleep Mode下收到CanNm_NetworkRequest()本地唤醒请求;
在Bus-Sleep Mode或Prepare Bus-Sleep Mode下收到CanNm_PassiveStartUp()被动唤醒请求;
在Prepare Bus-Sleep Mode下收到NM报文;
在Normal Operation State或Ready Sleep State下 Repeat request message request or Request Msg Bit indication。
Repeat Message State的离开条件有:
有本地唤醒请求时进入Normal Operation State;
否则进入Ready Sleep State。
Normal Operation状态,在该状态下会周期性的发送NM报文,
Normal Operation State的进入条件:
Repeat Message State 持续[CANNM_REPEAT_MESSAGE_TIME ]后,仍有本地请求;
Ready Sleep State下有通信需求(Network requested)。
Normal Operation State的离开条件:
不再有本地通信需求(Network released)时跳转到Ready Sleep State;
有Repeat request message request or Request Msg Bit indication请求时跳转到Repeat Message State。
Prepare Bus-Sleep模式表现:停发应用报文,但已经装填到底层寄存器/buffer等待发送的报文仍然会继续发完。
Prepare Bus-Sleep Mode进入条件:
Ready Sleep State下不再收到NM报文,NM Timeout Timer超时的条件满足。
Prepare Bus-Sleep Mode的离开条件 :
Wait Bus Sleep Timer 超时,进入Bus-Sleep Mode;
接收到NM报文,跳转到Repeat Message State;
有本地唤醒请求,跳转到Repeat Message State;
有被动唤醒请求,跳转到Repeat Message State。
当所有节点都不再发送NM报文, 且也没有节点有唤醒请求,最终这些节点会进入Bus-Sleep模式。Bus-Sleep Mode的进入条件 :
在Prepare Bus-Sleep Mode下发生 Wait Bus Sleep Timer 超时。
Bus-Sleep Mode的离开条件 :
有本地唤醒请求,跳转到Repeat Message State;
有被动唤醒请求,跳转到Repeat Message State。
网络管理相关配置参数
参数 | 描述 | 参考数值 |
CANNM_TIMEOUT_TIME | 只要节点进入网络模式,就启动此计时 器。当计时器超时 | 2500 ms |
CANNM_WAIT_BUS_SLEEP_TIME | 在转到睡眠模式之前,NM 应在预睡眠 模式中停留的时间 | 1500ms |
CANNM_REPEAT_MESSAGE_TIME | NM 保持在重复报文状态的时间 | 3000ms |
CANNM_MSG_CYCLE_TIME | NM PDU 的正常发送周期 | 1000ms |
CANNM_MSG_OFFSET_TIME | 周期传输节点中的时间偏移,决定了传 输的开始延迟 | *ms |
T_NM_ImmediateCycleTime | NM PDU 的快速发送周期时间 | *ms |
网络管理实际开发
网络管理实际开发过程,一般用autosar相关的基础软件工具链配置即可,不需要按照标准来进行从头开始编程。一般的服务商有普华ORIENTAIS、东软、经纬恒润等。