基于dsPIC30F6011的CAN总线扩展技术

时间:2013-02-01来源:网络

3 网关的软件设计

CAN网关作为消息的转发器,要准确、实时地接收两个CAN发送的信息,并且要实时发出去。对于不断发出信息的问题节点要及时屏蔽,避免错误信息蔓延到另 一个CAN网络。如果CAN网关被设置成透明网关则直接把一个CAN网络的信息转发到另外一个网络中即可,如果CAN网关被设置成和某个区间ID相关,则 要做一些信息过滤和屏蔽处理。当CAN网关检测到总线有错误时,要通过备用的UART口将错误信息上发到上位机或其他信息处理主机。

CAN网关的信息接收通过硬件中断来完成。当总线上有消息时,引起硬件中断,进入中断程序后根据中断标志位的区别把接收到的信息存放到相应的缓冲区中。缓 冲区是一个FIFO的存储区。而主程序则一直检测两个CAN控制器对应的两个接收缓冲区,当检测到缓冲区不为空时则把缓冲区内的信息顺序发送到另一个网络 中。从而形成一个具有一定的错误检测能力的双向通道,完成了两个CAN网络的信息转发。CAN网关的主程序框图如图4所示,中断程序框图如图5所示。

4 结 语

详细介绍了CAN总线扩展技术的网络拓扑结构和系统构成,给出了CAN网关的硬件设计原理及软件设计框图。这样的CAN总线扩展网络,因为引入CAN网关 而增加了消息的传递时间,但是这个增加的时间很小,是微秒级的,可以忽略不计。而带来的优势明显,因为把CAN网络在物理层上划分为几个网络,彼此之间不 相互影响,因而增加了CAN网络的抗干扰性,同时,扩展灵活,只需要增加一个CAN网关来增加子网即可;通信速率可通过增加网关来提高,通信距离可以扩展 到很远。通过CAN网关增加了CAN总线的容量、提高了CAN总线的通信速率、扩展了CAN总线的传输距离。

1 2

关键词: 扩展 技术 总线 CAN dsPIC30F6011 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版