bxCAN-测试模式

发布时间:2024年01月24日

测试模式

可以通过位时序寄存器<CAN_BTR---CAN bit timing register> 中的静默模式(调试)位<SILM---Silent mode (debug)> 和 环回模式(调试)位<LBKM---Loop back mode (debug)> 来选择测试模式。这些位必须在 bxCAN 处于初始化模式时进行配置。选择测试模式后,必须复位主控制寄存器(CAN_MCR---CAN master control register)中的 初始化请求位 (INRQ---Initialization request)才能进入正常模式。

静默模式

可以通过将位时序寄存器<CAN_BTR---CAN bit timing register> 中的静默模式(调试)位<SILM---Silent mode (debug)> 置 1,将 bxCAN 置于静默模式。
在静默模式下,bxCAN 可以接收有效数据帧和有效遥控帧,但仅在 CAN 总线上发送隐性位,并且无法启动发送。如果 bxCAN 必须发送一个显性位(ACK 位、溢出标志、活动错误标志),该位将在内部被改道发送,以便 CAN 内核可以监视该显性位,但 CAN 总线可以保持隐性状态。静默模式可用于分析 CAN 总线上的流量,同时又不会因发送显性位(确认位、错误帧)对总线电平造成影响。


环回模式


可以通过将位时序寄存器<CAN_BTR---CAN bit timing register> 中的环回模式位(调试)<LBKM---Loop back mode (debug)>置 1,将 bxCAN 置于环回模式。在环回模式下,bxCAN 将其自身发送的消息作为接收的消息来处理并存储(如果这些消息通过了验收筛选)在接收邮箱中。
该模式为自检功能提供。为了不受外部事件的影响,CAN 内核在环回模式下将忽略确认错误(在数据/远程帧的确认时隙不对显性位采样)。在此模式下,bxCAN 将执行从发送输出到接收输入的内部反馈。bxCAN 将忽略 CANRX 输入引脚的实际值。从 CANRX 引脚可以监视发送的消息。


环回与静默组合模式

可以通过将位时序寄存器<CAN_BTR---CAN bit timing register> 中的环回模式位(调试)<LBKM---Loop back mode (debug)> 和静默模式(调试)位<SILM---Silent mode (debug)> 置 1,将环回模式和静默模式组合起来。该模式可用于“热自检”,也就是说,bxCAN 可以像在环回模式下一样进行检测,同时又不会影响与 CANTX 和 CANRX 引脚相连接的运行中的 CAN 系统。在此模式下,CANRX 引脚与 bxCAN 断开连接,CANTX 引脚则保持隐性。

?

文章来源:https://blog.csdn.net/weixin_43420126/article/details/135778154
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。