CAN 总线隔离扩展管理论文 摘要:介绍了利用 SPI 口实现 CAN 总线隔离扩展的一种通信控制系统,详细叙述了此通信控制系统中主从通信模块的硬件设计控制,软件设计流程及实现方法
关键词:CAN 总线 SPI 口 XINT1 中断 一、引言 CAN 总线是一种有效支持分布式控制和实时控制的串行数据通信协议,它是一种多主总线,网络上任意一个节点均可以在任意时刻主动地向网络上的其它节点发送信息,而不分主从,节点之间有优先级之分,因而通信方式灵活;CAN 可以点对点、一点对多点(成组)及全局广播等几种方式传送和接收数据;CAN 采纳非破坏性位仲裁技术,优先级发送,可以大大节约总线冲突仲裁时间,在重负荷下表现出良好的性能
CAN 上的节点数实际可达 110 个,通信介质可以是双绞线、同轴电缆或光导纤维,直接通信距离最远可达 10km(传输速率为5kbps);最高通信速率可达 1Mbps(传输距离为 40m)
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码,CAN 数据链路层采纳短帧结构,每一帧为 8 个字节,易于纠错
可满足通常工业领域中控制命令,工作状态及测试数据的一般要求
同时,8 个字节不会占用总线时间过长,从而保证了通信的实时性
CAN 总线具有较强的纠错能力,每帧信息都有 CRC 校验及其它检错措施,有效地降低了数据的错误率
CAN 节点在错误严重的情况下,具有自动关闭的功能,使总线上其它节点不受影响
支持差分收发,因而适合高干扰环境
我们设计的一种 CAN 总线主从通信控制系统如图 1 所示,该控制系统采纳内外两层隔离控制形式,主控台向主 CAN 网络发送指令和数据,通过主从通信模块与从 CAN 网络中的节点通信,对分系统控制单位进行数据采集和控制
此系统使 CAN 总线的节点数增加了 n 倍;CAN 总线的传输速率和通信距离大