淄博网站建设hiddd,如何不花钱做网站,ui设计网站,哪个网站可以做效果图赚钱目录 1、概述
2、CanSM主要做什么
2.1、CAN控制器状态管理
2.2、CAN收发器状态管理
2.3、Busoff检测 1、概述 CANSM#xff08;Controller Area Network State Manager#xff09;是AUTOSAR#xff08;Automotive Open System Architecture#xff09;标准中的一个模块…目录 1、概述
2、CanSM主要做什么
2.1、CAN控制器状态管理
2.2、CAN收发器状态管理
2.3、Busoff检测 1、概述 CANSMController Area Network State Manager是AUTOSARAutomotive Open System Architecture标准中的一个模块用于管理车辆控制系统中的CAN总线通信。它提供了一种标准化的方式来配置、启动、停止和监视CAN总线通信并确保不同ECUElectronic Control Unit之间的通信协调和一致性。CANSM还提供了故障检测和恢复机制以确保CAN总线通信的可靠性和稳定性。 CanSMCan通信总线包含CAN控制器和CAN收发器的状态管理支持CAN在FULLCAN NOCOM SILIENTCOM等状态之间切换并负责CAN busoff恢复管理。 CanSM处理CAN网络的启动和停止CanSM将CanSM状态映射到ComM的状态并将CanSM状态更改为ComM所请求的状态。 它与通信硬件抽象层和系统服务层交互。 CanSM主要负责维护两个状态机
1、网络通讯模式状态机负责维护网络通信模式setmode
2、总线离线恢复状态机负责把总线从离线事件中恢复(busoff)
局限性只能用于CAN假设LIN是有LINSM的 COMM通信管理系统服务模块通过与各通信总线的状态管理模块如 CANSM LINSM和网络管理模块NM交互为用户提供统一、抽象、简洁的通信模式管理服务。负责简化用户对网络管理和总线通信状态的控制
个人感觉CANSM就是调用CANIf的接口来实现状态管理。
系统框图描述 从上述框图也能感受到CANSM主要做ComMode的处理
2、CanSM主要做什么
2.1、CAN控制器状态管理 当CanSM接收到ComM的CAN状态切换请求或者检测到busoff后需要切换CAN控制器的状态调用CanIf的CanIf_SetControllerMode()请求CAN控制器在 CANIF_CS_STOPPED,CANIF_CS_STARTED,CANIF_CS_SLEEP之间切换CanIf模块再调用Can驱动接口Can_SetControllerMode()执行具体CAN控制器的状态切换CAN_T_START, CAN_T_STOP, CAN_T_SLEEP, CAN_T_WAKEUP。 由于延时等原因网络的通信模式可能会和ComM请求的不一致这就需要CanSM通过以下方式来提供接口向ComM反馈当前的通信模式 CanSM提供API。ComM可以通过这个API调用来得到CAN网络当前的通信模式。 CanSM使用ComM提供的回调函数来通知通信模式的改变。
2.2、CAN收发器状态管理 当CanSM接收到ComM的CAN状态切换请求如果对应的CAN通道包含transceiverCanSM需要切换对应CAN收发器的状态调用CanIf的CanIf_SetTrcvMode()请求CAN收发器在CANTRCV_TRCVMODE_NORMAL, CANTRCV_TRCVMODE_SLEEP, CANTRCV_TRCVMODE_STANDBY之间切换CanIf模块再调用Can收发器驱动接口CanTrcv_SetOpMode()执行具体CAN收发器的状态切换。
2.3、Busoff检测 当CAN控制器检测到BusoffBusoff中断或者调用Can_MainFunction_BusOff()进行polling调用CanIf_ControllerBusOff()通知busoff事件到CanIfCanIf再调用CanSM_ControllerBusOff()通知busoff事件到CanSM。CanSM在检测到有Can通道busoff事件发生后将尝试进行busoff恢复。