扩展UART的设计过程、原理及实例
扫描二维码
随时随地手机看文章
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。具体实物表现为独立的模块化芯片,或作为集成于微处理器中的周边设备。一般是RS-232C规格的,与类似Maxim的MAX232之类的标准信号幅度变换芯片进行搭配,作为连接外部设备的接口。
目前,UART(UniversalAsynchronousReceiverTransmitter,通用异步收发器)接口的使用越来越广泛,许多设备上都提供了UART接口。工业使用的微处理器一般都只包括2个UART口。在实际工业数据发送和采集应用系统中,为了节省资源,微处理器直接通过UART口与设备进行数据交互。
这样势必会导致微处理器的UART口不够,为了方便设备的接入,因此扩展UART口是一种理想的解决方案。同时,考虑到微处理器的SPI/I2C总线上可以连接多个总线器件,为了充分利用资源,在实际应用中可以通过SPI/I2C实施对UART接口的扩展。
本文提出了一种SPI扩展UART的方法,主要采用SC16IS752芯片进行UART接口扩展。SC16IS752提供了标准SPI总线接口,只需要微处理器能提供标准的SPI或模拟SPI总线接口。整个设计简捷、经济,具有通用性。
最后介绍了扩展接口在无线数据采集集中器中的应用,可方便地使用扩展出的UART口连接相应的无线通信模块,实现数据的采集和通信。
SPI总线串行外围设备接口(SerialPeripheralInterface,SPI)是Motorola公司推出的一种同步串行接口,其硬件功能强大,因此与SPI有关的软件比较简单[2]。一般情况下,实现SPI通信需要3~4根线:同步时钟(SCK)线,用于实现主器件和从器件在MISO和MOSI线上串行数据传输的同步;主输出/从输入(MOSI)线,用于主器件的输出或从器件的输入;主输入/从输出(MISO)线,用于主器件的输入或从器件的输出;片选控制(CS)线,用于从设备的选择。SPI的工作模式有4种,本文采用了其中的一种主模式。
SC16IS752扩展芯片SC16IS752是NXP公司推出的一款通过SPI/I2C总线扩展为UART接口的芯片[3]。扩展出双通道高性能的UART,并且能到达5Mbps的数据率;提供8个额外的可编程的I/O脚;还可以提供数据速率高达115.2kbps的IrDA。另外,SC16IS752还具有其他高级的特性,例如自动硬件和软件流控制、自动的RS485支持和软件复位作为UART扩展接口芯片,SC16IS752的引脚定义并不复杂,如图1所示。
XTAL1、XTAL2引脚用来连接晶振电路,CS/A0用作SPI片选或者I2C总线器件地址选择A0;I2C/SPI为I2C总线或SPI总线接口选择;IRQ中断引脚。其他引脚就主要包括扩展后的2个UART及I/O。带有SPI接口的微处理器与SC16IS752的连接十分方便;如果不带SPI接口,则可以通过I/O口来实现模拟SPI口的功能。