本帖最后由 小叶三千 于 2022-12-26 09:34 编辑
一、评测说明
使用AT32F403AVGT7开发板进行Can外设的评测。具体使用AT32的Can周期发送报文,再使用外部设备进行干扰Can报文,使其进入Bus-Off(Can总线关闭)错误;停止外部干扰后,单片机可以正常的恢复Can报文的发送。
二、使用硬件
AT32F403A开发板
VH6501 干扰仪
TJA1050Can收发模块
三、使用软件
Keil5
Canoe 12.0
Canoe 插件脚本(CAPL)
四、单片机软件编写
1、Can1的IO初始化,Can配置初始化(PB8、PB9)
2、Can报文发送
3、定时器50ms周期发送
4、 Main函数监控Busoff错误
根据寄存器描述,有Busoff错误出现时,该位会置1,所以监控这个state,为1的时候u8_Busoff_Flag++;在调试界面观测。
五、Canoe软件操作
1、CAPL脚本编写VH6501干扰序列
干扰Can报文的CRC位,隐形位干扰。
2、Canoe软件运行进行干扰
干扰32帧0x400的Can报文。
3、Keil仿真界面观测
可以看到u8_Busoff_Flag有变化,说明CAN_BOF_FLAG位置1了一段时间,则是被干扰产生的Busoff故障。
六、实物连接
Keil工程在附件
|