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 正常工作模式 在配置模式下配置好各信息后,系统重新上电可以进入正常工作模式。根据配置模式配置的状态,4路网桥对网络中的信息进行 存储 转发。在LPC2194中,4路CAN控制器是同时工作的,因此能够提高系统的速度和实时性。每一路的结构和程序是相同的,因此本设计仅给出1路CAN控制器正常工作的程序设计。 为了提高系统的转换速度和稳定性,本设计采用了中断接收和查询发送的方式。系统中断接收CAN总线上的数据,并根据路由选择和标识符的分配选择发送到其他3路,从而完成网桥的工作。系统主程序和中断程序流程分别如图4和图5所示。
4 实验结果 为了验证系统的可靠性,设计了一个通信收包率的实验。通过PC机间隔一定的时间,向CAN网桥一条支路发送8字节的数据,网桥的另一条支路向PC机回复接收到的8字节数据。通过对比发送和接收的字节数来验证收包率。分别以100 ms、10 ms、5 ms、1 ms的间隔来发送8字节的数据,发送和接收到的字节数为: ①间隔100 ms时,发送1 336个字节,接收1 336个字节,收包率为100%; ②间隔10 ms时,发送3 376个字节,接收3 376个字节,收包率为100%; ③间隔5 ms时,发送4 056个字节,接收4 056个字节,收包率为100%; ④间隔1 ms时,发送5 336个字节,接收5 336个字节,收包率为100%。 其中,间隔1 ms时的发送和接收图如图6所示。
实验结果表明,在以不同间隔发送数据时,网桥都能很好地完成工作,可满足实际应用的需要。 结 语 本文设计的4路CAN网桥采用功能强大的 arm 芯片LPC2194作为主控芯片,因此能够及时地处理4路CAN总线的数据传输。通过具体实验证明,该网桥工作稳定、可靠、使用方便,完全满足现场的需求。
| 欢迎光临 美丽的网站-英华家电维修论坛 (http://www.bsss.info/) | Powered by Discuz! X3.2 |