本文设计的4路CAN网桥可以延长CAN传输距离,扩展CAN通信网络;同时具有路由功能,可实现不同CAN网络之间的不同路由、不同通信速率的转换,能够在大型CAN网络中起到关键作用。
1 4路CAN网桥的设计方案
1.1 CAN网桥的优点
使用4路CAN网桥对网络性能的改善有着很大的帮助,在大型网络的组网中有以下优点:
①可以延长网络的传输距离,特别是经过几个CAN网桥的中继之后,可以极大地延长传输距离,能够达到几千米甚至几十千米。
②可以增大CAN网络的规模,4路CAN网桥有4个CAN支路,每条支路又可以增加新的CAN网桥,因此可以组成大规模的CAN网络。
③可以实现不同网络之间不同路由的选择,增强了CAN网络的可靠性。
1.2 设计方案
CAN网桥的设计方案一般分为单MCU和多MCU两种。单MCU速度较慢,不适用于高速网络;多MCU方案结构复杂,稳定性较差。针对以上情况,本设计采用了自带4路CAN控制器的ARM微控制器LPC2194,同时避免了MCU速度慢和多MCU网络复杂的情况。
LPC2194的特点如下:
①具有32位的ARM7微控制器,带有256 KB的嵌入式高速Flash存储器。32位代码能够在最高时钟频率下运行,且功耗极低,处理速度极快。
②自带4路互联的CAN控制器,完全支持CAN2.0B和ISO1198-1的标准,每个CAN控制器均可以实现1Mbps的速率。其全局验收滤波器可识别所有总线的11位和29位Rx标识符,相对于SJA1000的CAN控制器有着明显的优势。
2 4路CAN网桥的硬件设计
2.1 总体设计
由于LPC2194集成4路CAN控制器,因此能够方便地实现4路CAN总线接口,既减小了系统的规模,又提高了系统的稳定性。本设计采用LPC2194作为主控芯片,具有隔离和保护的CTM8251T作为CAN收发器。系统的整体结构如图1所示。
2.2 微控制器与CTM8251T的接口设计
CTM8251T是一款带隔离的通用CAN收发器模块。该模块内部集成了所有必需的CAN隔离及CAN收发器件,具有2 500 V的隔离功能和CAN-bus总线过压保护作用。该模块符合ISO11898标准,因此可以与其他遵从ISO11898标准的CAN收发器相互操作。由于微控制器LPC2194集成的4路CAN控制器完全相同,因此本设计中只给出1路CAN控制器与CTM8251T的连接图,如图2所示。
3 4路CAN网桥的软件设计
4路CAN网桥不同于一般的CAN中继器,可以选择不同的路由和不同的通信速率。本设计中,4路CAN接口均可以实现与其他3路之间不同路由的选择和不同通信速率之间的转换,极大地增强了网络的可扩展性。4路CAN网桥的工作模式分为两种:配置模式,可以选择路由和不同支路的CAN通信速率;正常工作模式,根据所配置的状态来进行工作。
3.1 配置模式
配置模式的主要工作是将配置信息写入EEPROM中,在正常工作时可以读取配置的信息。配置模式的程序流程如图3所示。
3.2 正常工作模式