1.引言随着工业控制系统的逐步自动化和现代化,现场总线控制系统受到越来越多的关注和应用。

CAN总线当前是一种具有简单开发和高性价比的现场总线。

与其他现场总线相比,CAN通信控制器具有最多的制造商,最完整的品种和最广泛的应用。

基于现场总线控制系统的智能性和复杂性,作为现场总线微处理器的核心组件,传统的51芯片,甚至ARM7逐渐无法满足需求,ARM9已成为合适的选择。

但是,许多ARM9并未集成CAN接口,并且扩展CAN接口已成为当务之急。

并且ARM9分离数据地址总线,而CAN控制器对数据地址总线进行多路复用,因此CAN的扩展不能盲目复制51处理器的方式。

在CAN模块驱动程序的开发中,现有的材料通常仅介绍Linux系统上的驱动程序开发,而现场总线控制系统的实时性要求使Linux系统被更多的实时操作系统所取代。

本文介绍了一种基于ARM920T现场总线的控制系统,详细介绍了扩展CAN总线的两种方法,并给出了在实时操作系统eCos上特定的CAN模块驱动程序开发步骤,最后给出了这两种扩展。

比较。

2.现场总线控制系统简介:现场总线控制系统使用EP9315作为核心处理器。

EP9315是由Cirrus Logic开发的基于ARM920T的工业级处理器。

除了扩展的CAN总线接口外,该现场总线控制系统还扩展了64Mb SDRAM和32MB FLASH,并配备了PCMCIA接口,E PROM接口,512kb SRAM,IDE接口,实时时钟,视频显示,彩色VGA TFT LCD触摸屏,支持模拟VGA连接,视频解码支持压缩视频输出和S-VIDEO输出,PS / 2键盘,三个USB端口,三个串行端口,音频端口,1/10 / 100Mbps以太网端口,红外接收端口;实现可以实现控制系统的数字化和智能化;可以实现多种功能,可以对系统的控制功能进行局部化,提高了系统的可靠性和实时性,简化了系统的结构。

多接口系统结构使系统的扩展,修改,拆卸和组装更加灵活方便。

3,硬件系统扩展3.1 CAN总线模块的结构本文使用SJA1000T作为CAN控制器来扩展CAN模块。

SJA1000T是用于汽车和一般工业环境的独立CAN总线控制器。

它具有完成CAN高性能通信协议所需的所有必要功能;通过简单的总线连接的SJA1000T可以完成物理层和数据链路层的所有功能。

支持CAN2.0协议CAN总线收发器TJA1040T是CAN控制器与物理总线之间的接口芯片,可增强总线的驱动能力,从而增加CAN总线的通信距离,并允许将更多节点挂在总线上。

为了增强CAN总线节点的抗干扰能力,SJA1000T的TXO和RXO不直接连接到TJA1040的TXD和RXD,而是通过两个光耦合器隔离芯片6N137连接到TJA1040T。

收发器与控制器之间实现了良好的电气隔离,保护了智能节点的核心电路安全工作;并实现了总线上CAN节点之间的电气隔离。

需要强调的是:为了实现这种电气隔离,光耦合器设备两侧的直流电源必须是两个没有直接电连接的独立直流电源。

因此,使用了两个DC-DC隔离电源。

为了进一步增强安全性和抗干扰能力,可以在总线收发器TJA1040T和CAN总线之间串联一个限流电阻,以防止TJA1040T受到过电流的影响。

同时,CANH和CANL与地面之间并联连接一个滤波电容器,可以滤除总线上的高频干扰,并具有一定的防止电磁辐射的能力。

另外,当通信信号在电线上传输时,该信号在传输到电线末端时将被反射,并且反射的信号将干扰正常信号的传输。

为了消除这种影响,可以在CAN总线的两端并联连接匹配电阻,以匹配总线阻抗并消除反射。

如果采取这些措施