新闻中心

EEPW首页>嵌入式系统>设计应用> 基于CAN总线技术在车站信号系统中的应用

基于CAN总线技术在车站信号系统中的应用

作者: 时间:2013-09-06 来源:网络 收藏

  信息从CAN总线到CAN接收缓冲区是由CAN控制器自动完成的。接收程序只需从接收缓冲区读取要接收的信息即可。需要注意的是,读取接收缓存器(RBF0或 RBF1)的内容后,CPU必须通过置位释放接收缓存位来释放缓存器,使得另一个报文立即变得有效。数据发送和接收中断流程图如图5所示。


  4.3 总线出错和异常处理

  CAN总线作为一种优良的串行通信局域网络,它自身的查错和排错能力相当强大,因此在设计时必须充分利用这一点,提高通信系统的可靠性。CAN协议规定网络上的任何一个节点,根据其错误计数器中的数值,可能处于下列3种状态之一:“错误—激活”状态、“错误—认可”状态、“总线脱离”状态。处于前两种状态时节点都可以参与总线通信,而当处于“总线脱离”状态时节点既不发送,也不接收任何数据帧。同时CAN协议还对脱离总线节点重新参与总线通信有严格规定。

  由于节点自身的原因或是其它原因,节点脱离总线,不参与通信,出现这种情况程序要做到及时发现,并且迅速做出有效处理,使之恢复参与总线通信。判断节点是否脱离总线同样既可通过查询方式,又可通过中断方式。而处于“总线脱离”状态的节点通信功能的恢复,必须严格依照CAN协议规定的流程做,否则节点将一直处于“总线脱离”状态。

  5、总结

  在中,用CAN总线代替RS-485总线,其数据通信具有突出的可靠性、实时性和灵活性,而且通信距离也有了很大的提高,这些都在现场运行中得到了证实,具有较强的实用价值。

  本文作者创新点:用CAN总线代替所使用的RS-485总线,在软/硬件设计中均采用了模块化的方案,具有更高的灵活性和广泛的适用性;同时,单片机代替中所使用的Atmel8535单片机,使运行的速度也得到了提高。

参考文献:

[1].RS-485datasheethttp://www.dzsc.com/datasheet/RS-485_584821.html.
[2].2.0datasheethttp://www.dzsc.com/datasheet/2.0_1758666.html.
[3].SJA1000datasheethttp://www.dzsc.com/datasheet/SJA1000_609075.html.
[4].PCA82C200datasheethttp://www.dzsc.com/datasheet/PCA82C200_.html.
[5].Atmega128datasheethttp://www.dzsc.com/datasheet/Atmega128_.
[6].TJA1050datasheethttp://www.dzsc.com/datasheet/TJA1050_649182.html.


上一页 1 2 3 下一页

评论


技术专区

关闭