之前自己做了一套完整的CAN CCP(标定)方案,上位机软件,USB转CAN设备软件,下位机App软件(电机控制,通过标定进行参数优化)以及下位机的Bootloader。
1.JPG (240.96 KB, 下载次数: 0)
下载附件
系统结构
2018-12-11 23:05 上传
在整个开发过程中,标定时不时出现USB转CAN设备软件报出CAN通信响应超时的错误,导致上位机丢失下位机实时数据,很影响标定工作,并且每次需要更新软件的时候,通过Bootloader走CAN总线更新软件时,总会遇到程序下载了一部分就丢失CAN通信。
起初以为是上位机和USB转CAN设备的驱动程序不稳定导致,连续修改了很多次USB通信协议及数据处理方式,到最后已经能够达到非常稳定的USB通信。可后来发现上述问题依然存在。
后来通过CAN总线检测设备,分析USB转CAN设备软件在整个过程中数据通信,终于找到USB转CAN设备会时不时丢帧,上位机已经下达发送CAN帧指令而USB转CAN设备并没有真正发出CAN帧,从而误以为下位机不响应。
继续排查,无意中发现通过USB转CAN设备的输入电源只有4.4V,而我所使用的CAN收发器为TJA 1050,按照其DataSheet说明最低电压也需要4.75V。通过直接测量电脑USB口输出电压为5.02V,于是猛然发现是因为USB转CAN的设备所使用的的USB线线损过大,虽然从前面的电压来看,只是相差了0.35V,但就是这么一个小小的电压差距,导致前面出现的各种丢帧异常。
后面我将USB转CAN设备上的CAN 收发机TJA 1050电源单独供电,保证5V±0.1V的电源供给。经过长时间的标定测试,发现CAN数据通信非常稳定,标定工作也得以顺利进行。
从我的教训看来,光是软件稳定还不够,硬件的电源供给也是非常重要的基础。
话说 你改头像后 就不认识了 难道不能改回去么
一周热门 更多>