新闻中心

EEPW首页>嵌入式系统>设计应用> AVR单片机的CAN总线分析仪设计

AVR单片机的CAN总线分析仪设计

作者: 时间:2013-11-12 来源:网络 收藏

AVR单片机的CAN总线分析仪设计

图6 自适应波特率流程

3.3 报文接收

  CAN报文的接收有2种方式,分别为查询的方式和中断的方式。

  查询的方式是MCU以一定周期读取CAN控制器的状态寄存器,检查接收缓冲区状态标志是否至少接收到1个报文。接收缓冲区状态指示为“空”,表示没有接收到报文,MCU继续当前的任务。当接收缓冲区状态标志指示为“满”,表示已接收至少1个报文,MCU从控制器取出报文,并写命令释放接收缓冲区标志。查询方式的不足是: 查询周期如果过短,就会使MCU大部分时间运行在报文的接收查询上,使其效率降低;若查询周期过长,由于接收缓冲区的长度有限会造成数据溢出,导致系统不能正常工作。

  中断的方式是主程序在中断控制的报文接收之前使能接收中断和MCU的全局中断。当控制器已接收1个报文,该报文通过验收滤波器并放入接收缓冲区,则产生接收中断。这样MCU能够立即响应,处理这个接收到的报文,然后释放接收缓冲区。整个接收的过程可在中断服务程序中完成,不需要与主程序发生交互作用。中断方式可以避免查询方式的不足,增强系统的可靠性。所以在设计报文接收时选择中断方式进行报文的接收。图7为报文接收流程。

AVR单片机的CAN总线分析仪设计

图7 报文接收流程

3.4 总线状态计算

  CAN分析仪主要的功能就是分析CAN总线上的各种总线参数,从而给使用者提供一个透明的窗口来观测总线的运行状况。CAN 总线协议属于较为高级的现场总线协议, 工作过程较为复杂。从工程实用的角度看,以下性能参数具有较高的参考价值:

  ◆ 总线波特率,也叫做总线位速率,表示每秒钟传送信息位的数量,只有网络中各节点的波特率相一致时才能够进行正常的报文收发。

  ◆ 总线吞吐量,总线单位时间内传送的报文总数。

  ◆ 总线出错率,总线单位时间的错误报文数。

  ◆ 总线负载,每秒钟节点发送的位数与总线波特率之比。

除此之外,为了更方便地检查总线状态,又增添了显示功能,可以显示接收报文、状态寄存器、报文总数、报文计数器、错误代码等。总线分析软件程序中所采用的算法简述如下。

  (1) 总线吞吐量的测试

  首先设定计数器i=0,定时器时间t=0,测量值数组count[5]={0}。当接收到总线上的1个报文并释放接收缓冲区时启动定时器,设定定时时间t=5 s,等待定时中断发生。计数器放在接收中断函数中,当成功接收1帧报文时,i=i+1。定时器中断发生时,将计数器的值i存入count[5]数组中。之后启动下一次定时,当数组满时,结束测试,对count数组进行排序,并去除最大和最小值。总线吞吐量V为:

AVR单片机的CAN总线分析仪设计

(2) 总线负载的测试

  通过之前的自适应波特率程序已经检测到总线上的波特率为bote,设定计数器j=1,定时器t=0,报文位数设为c1=0,报文位数数组bit_count[20]={0}。当接收到总线上的1个报文并释放接收缓冲区时启动定时器,设定定时时间t=1 s,等待定时中断发生。报文位数、报文位数数组和计数器放在接收中断函数中。当成功接收1帧数据时,j=j+1,通过读取接收帧信息SFF可以判定该帧数据有多少位,将位数写入c1,并存入bit_count[20]数组中。定时时间到时,拷贝计数器值,结束测试。总线负载U为:

AVR单片机的CAN总线分析仪设计

3.5 实验结果

  为了便于测试分析仪的有效性和准确性,取单节点进行实验,即总线上只有1个节点在进行报文发送。分别取波特率5 kbps、10 kbps、50 kbps、100 kbps,发送报文时间间隔100 ms、150 ms、200 ms、250 ms、400 ms、450 ms、500 ms、800 ms,每帧报文有8字节数据域。实验得到的结果如表1所列。

表1 实验结果

AVR单片机的CAN总线分析仪设计

从实验结果可以看出,当每100 ms发送1帧报文时,检测到的总线吞吐量为10帧/s,即总线每秒传送的报文总数为10帧,与实际相符。在不同的报文发送间隔和不同的总线波特率下,所测得的总线吞吐量和总线负载与实际相吻合。

4 结论

  本文设计的在实验室和工业现场上进行了调试,主要调试的项目包括自适应波特率、液晶显示和CAN总线通信监测等。实践证明该设计实现了对CAN2.0B标准节点(并兼容CAN2.0A节点)监测分析的功能,指标达到预期的效果。为CAN总线的工程开发应用和教学提供了一种简洁、高效的调试和监测手段。


上一页 1 2 3 下一页

关键词:AVR单片机CAN总线分析仪ATmega64L SJA1000T

评论


相关推荐

技术专区

关闭