Universal Asynchronous Receiver/Transmitter (UART)
7 Jun 2024
Read time: 1 minute(s)
UART 是一种与外围设备、数据载体设备或者数据集等进行串行通信的接口。主处理器 (CPU) 通过 APB 总线将数据写到 UART,数据转换成串行形式后传输到目标设备。UART
也可以接收串行数据和存储,以供主处理器 (CPU) 读取。
- UART 包含了控制以下功能的寄存器:
- 字符长度
- 波特率
- 奇偶校验
- 中断控制
尽管 UART 只有一个中断输出信号,但有几种优先级的中断类型可响应,每种中断类型都可以通过控制寄存器单独使能或未使能。
- 中断可在发送缓冲/ FIFO、接收缓冲/ FIFO、调制解调器状态以及线路状态范围内生成。
- UART 具有以下两种工作模式,可与一系列标准软件驱动程序兼容。
- 16550 模式:数据的发送与接收都由 FIFO 缓存。
- 16450 模式:禁用 FIFO。
- UART 支持 5-8 位的字长,一个可选的奇偶校验位,1/ 1.5/ 2 个停止位,可通过 CPU APB 接口编程,包含 16 位可编程波特率发生器和 8 位暂存器,以及独立的发送和接收 FIFO。提供八条调制解调器控制线和调试回环模式。
特性说明
- 兼容工业标准 16550 UART
- 256 x 8bit 发送与接收 FIFO
- 传输速度可达 3 Mbps
- 支持 5-8 数据位以及 1/ 1.5/ 2 停止位
- 支持奇校验,偶校验或者无奇偶校验
- 支持 DMA 控制器接口
- 支持软件/硬件流控
- 支持 9-bit RS-485 模式
- 支持 RS-485 硬件自动控制收发方向