Edit online

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 硬件自动控制收发方向

原理框图


../images/uart_overview_block2.png

1. UART 原理框图