CAN State Manager(CanSm)协调 CAN 网络的状态机。包含 BusOff 恢复、睡眠/唤醒转换、唤醒验证、PN 协调等。R4.4 起增强与 NM 状态机同步。
CanSm / CAN / BusOff / ComM / Nm / BswM / Wakeup / Sleep / FullCom / SilentCom / NoCom
[1] AUTOSAR SWS ComM
[2] AUTOSAR SWS CAN Interface
[3] AUTOSAR SWS CanNm
[4] AUTOSAR SRS CAN
CanSm 应:
CanSm 依赖:ComM(模式请求)/ CanIf(接口模式)/ CanNm(NM 协调)/ BswM(模式仲裁)/ Dem(错误上报)。
CanSm 状态机:
void CanSm_Init(const CanSm_ConfigType* ConfigPtr):初始化。
void CanSm_DeInit(void):去初始化。
Std_ReturnType CanSm_RequestComMode(NetworkHandleType NetworkHandle, ComM_ModeType ComMode):请求通信模式。
Std_ReturnType CanSm_GetCurrentComMode(NetworkHandleType NetworkHandle, ComM_ModeType* ComModePtr):获取当前模式。
void CanSm_CurrentNetworkModeIndication(NetworkHandleType NetworkHandle, CanNm_NetworkModeType CurrentState):当前网络模式指示。
void CanSm_StartWakeupSourceIndication(NetworkHandleType NetworkHandle, CanSm_StartWakeupSourceType* WakeupSourcePtr):开始唤醒源指示。
void CanSm_ControllerBusOff(uint8 Controller):BusOff 指示。
void CanSm_ControllerWakeupIndication(uint8 Controller):唤醒指示。
void CanSm_MainFunction(void):周期性主函数。
CanSm 配置类:
CANSM_E_UNINIT:模块未初始化。
CANSM_E_PARAM_POINTER:参数指针为空。
CANSM_E_PARAM:参数无效。
CANSM_E_BUSY:模块忙。
CANSM_E_INVALID_STATE:无效状态转换。
校对轮次:L1 自动校对(2026-06-13)