在某些产品中,有时可能需要多个串口,控制多个设备。矛盾的是,CPU通常不会有那么多串口,所以这个时候就需要通过合适的方式进行串口扩展,或者通过Local Bus,或者SPI,或者USB接口。在本文中我想为读者介绍两款比较实用的串口(UART)扩展芯片,一种是SPI转UART,一种是USB转UART,都是一分四的。
SPI转串口(UART)一分四
MAX14830是Maxim公司的一款四通道通用异步收发器(UART),每路UART带有128字先入/先出(FIFO)接收和发送缓存器,以及高速串行外设接口(SPI?)或I?C控制器接口。PLL和分数波特率发生器为波特率编程和参考时钟选择提供了极大灵活性。
4路UART中的每一路均可通过带内SPI/I?C寻址选择。收发器和控制器接口的逻辑电平转换能够方便地连接微控制器、FPGA以及不同供电电压的收发器。
丰富的功能设计简化了半双工通信应用的收发器控制。MAX14830可通过SPI触发同步启动独立的UART传输。板载定时器允许设置发送器之间的延迟以及GPIO产生的时钟。
128字FIFO具有高级FIFO控制功能,可减少主处理器的数据流管理。
MAX14830采用48引脚TQFN (7mm x 7mm)封装,工作在-40°C至+85°C扩展级温度范围。
MAX14830关键特性
- SPI时钟速率高达26MHz
- 增强快速模式(Fm+) I?C接口,数据速率高达1MHz
- 每路UART提供128字接收和发送FIFO
- 16倍速采样模式下,数据速率高达6MBd (最大值)
- 2倍速/4倍速模式下,数据速率高达12/24MBd (最大值)
- 外部晶体或时钟功能
- 分数波特率发生器、预分频器和锁相环(PLL)
- 发送器通过SPI命令同步
- 4个定时器连接至GPIO
- 通过/RTS_和/CTS_输出、输入实现自动硬件流控制
- 自动软件流控制(XON/XOFF)
- 收发器自动方向控制
- 可编程建立和保持时间,用于收发器控制
- 自动发送器禁止
- 半双工回波抑制
- 特殊字符检测
- 9位多点模式地址检测和过滤
- SIR和MIR兼容IrDA?编码器/解码器
- 16个灵活的GPIO,具有20mA电流驱动能力
- +2.35V至+3.6V供电范围
- 控制器和收发器接口逻辑电平转换可低至1.61V
- 小尺寸TQFN (7mm x 7mm)封装
USB转串口(UART)一分四
接下来即将请出的这颗芯片来自大名鼎鼎的FTDI Chip。可能读者会问,为什么说FTDI Chip大名鼎鼎?因为几乎市面上所有的USB转串口芯片都来自FTDI Chip,如果你没用过USB转串口,那就当我没说。
FT4232H是FTDI的第五代USB设备,采用USB2.0接口,可以实现四个串口(UART)。相比于SPI接口,USB转串口的驱动程序开发工作量应该更小一些,所以如果系统允许的话,最好采用这颗芯片。
- 单芯片实现USB协议,不需要额外的固件
- USB2.0接口,向下兼容USB1.0
- 独立的波特率发生器
- RS232/RS422/RS485UART数据传输速率可达12Mbaud
- 配合74HC595,可以增加TX/RX状态指示灯
- 接收缓冲超时可设置
- 内部集成1.8V LDO
- 支持X-On/X-Off
- 支持7/8位数据模式,1/2停止位模式与Odd/Even/Mark/Space/No Parity
- 可外置EEPROM
- IO驱动能力可编程(4,8,12或16mA)