我的实验板是自制的,它接收到CAN总线上的数据后通过串口转发至上位机,在上位机一侧用一个串口调试助手之类的程序显示,这个串口显示程序不是我编制的,串口通信速率为9600Baud/s,单片机时钟为16MHz。将实验板接入到实车CAN总线网络中。
另外,将CANoe接入到实车CAN总线网络中。
利用实验板向处于睡眠状态的汽车总线发送一相关数据,汽车CAN总线被唤醒,然后又重新进入睡眠状态。CAN总线速率100KBaud/s..
在这一过程中,我的实验板接收到的数据比CANoe接收到的数据少。背景是:我用的单片机的CAN模块有5个FIFO,每次做这个实验,对于前5个信息,我的实验板和CANoe接收的一样;那以后,实验板接收的数据相对于CANoe接收到的就少了,不是连续少好多,而每隔几个(不超过5个)少若干。
我将串口的通信速率提高到57600Baud/s,丢失信息的状况有所好转,但是我的单片机的串口的最高速率就是这样了。
所以想请大家给分析一下原因出在哪里,是单片机的CAN模块处理速率不够,还是通过串口监控CAN总线不完善?
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |