在配置模式下配置好各信息后,系统重新上电可以进入正常工作模式。根据配置模式配置的状态,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总线的数据传输。通过具体实验证明,该网桥工作稳定、可靠、使用方便,完全满足现场的需求。