多路 UART 总线与 CAN 总线通讯系统设计
摘要:主要利用 TI 公司的多路异步收发器 TL16C554 和 PHILIPS 公司的 SJA1000 设计一个多路总线协议转换通讯系统。为了实现 4 路 UART 总线与 CAN 总线之间的相互转换过程,采用微控制器 AT89S51 来控制通讯数据转换, 通过硬件电路实验和软件调试算法,得到了 4 路串行总线与 CAN 总线之间的 相互透明转换过程。该电路系统大大方便了具有 UART 接口的设备进行远距离、 多节点传输,增强了系统的通讯可靠性。关键词:UART;CAN;总线协议; 协议转换
由于在消费类电子产品、计算机外设、汽车和工业应用中增加了嵌
入式功能,对低成本、高速和高可靠通信介质的要求也不断增长,以满足这些 应用,其结果是越来越多的处理器和控制器用不同类型的总线集成在一起,实 现与 PC 软件、开发系统或网络中其他设备的通信。微处理器中常用的集成串 行总线是通用异步接收器传输总线、串行通信接口以及车用串行总线,包括控 制器局域网(CAN)。这些总线在速度、物理接口要求和通信方法学上都有所不 同。本文主要利用 TI 公司的多路异步收发器 TL16C554 和 PHILIPS 公司的 SJA1000 实现一个 4 路 UART 总线与 CAN 总线之间的相互通讯过程。1 UART 与 CAN 介绍 UART 模块采用 TI 公司的 TL16C554,它是含有 4 路 16C550 的 增强型异步通讯电路,每路通道能从外围设备或 MODEM 接收数据,实现串并 转换;同时,也可以从 CPU 端接收数据,实现并串转换。TL16C554 内部具有 16 B 的接收和发送 FIFO,在 FIFO 模式下,通过使用 RTS 和 CTS 输入信号可 以自动控制串行数据流,可选的自动流控制特性大大降低了软件规模,提高了 系统效率。TL16C554 也可以通过 FIFO 触发点与 TXRDY 或 RXRDY 信号实现 DMA 模式的数据传输,片内的状态寄存器为用户提供错误指示、器件的工作 状态和调制解调器接口控制。可通过调整系统中断来满足用户的要求,内部的