USER GUIDE / PERIPHERALS / UART / OVERVIEW
概述
本章介绍通用异步接收器/发送器(UART)串行端口。通用异步接收器/发送器(UART)与 16550 行业标准兼容,可用作符合红外数据协会(IrDA)串行红外规范 1.1 的慢速红外异步接口。
功能
- 全双工操作
- 5、6、7 或 8 位宽,可选无校验、奇校验或偶校验,以及 1、1.5 或 2 个停止位
- 64x8 位发送 FIFO 和 64x11 位接收 FIFO
- 独立发送、接收和线路状态
- 内置诊断功能,提供环回控制和断连、奇偶校验、溢出和帧错误检测功能
- 在 FIFO 模式下,发送和接收数据服务的 DMA 请求相互独立
- 支持通过软件或硬件实现调制解调器流控制
- 符合 IrDA 规范的低速红外异步接口
框图

如 UART DATA 控制器框图所示,UART 包括接收数据和发送数据两部分;从 PIN 接收数据处理并将其放到 APB 总线上。在发送方向上,UART 从 APB 总线获取数据并发送至 PIN。
功能说明
全双工操作
UART 双向通信可实现全双工发送和接收。
数据格式说明

图中显示的是 RXD 或 TXD 中的 UART 帧结构,由空闲位、开始位、数据位、奇偶校验位和停止位组成;
- 起始位:首先发送一个逻辑为 “0” 的信号,表示发送或接收字符的开始。
- 数据位:在起始位之后。数据位可以是 5、6、7、8 等,构成一个字符。从最低位开始传输。
- 奇偶校验位:可选,用于检查数据传输和接收的准确性。
- 停止位:标志着一个字符数据的结束。可以是高电平 1、1.5、2 位。停止位不仅表示传输的结束,而且提供了计算机校正时钟同步的机会。
- 空闲位:处于逻辑 “1” 状态,表示当前线路无数据传输。
RFIFO 和 TFIFO
TFIFO 是 64*8 位的传输 FIFO;RFIFO 是 64*11 位的接收 FIFO。
数据在 UART 寄存器(临时存储块)中,然后通过 FIFO 传输到串行设备。
独立发送、接收和线路状态
独立控制发送、接收(数据就绪或超时)、线路状态中断。
慢速红外异步接口
UART 还包含一个 IrDA 串行红外(SIR)编码器/解码器模块。IrDA SIR 模块用于在异步 UART 数据流和半双工串行 SIR 接口之间进行转换。SIR 模块的任务是为 UART 提供数字输出代码和解码输入。
UART 信号引脚与一个红外线收发器相连,以实现 IrDA SIR 物理层连接。
表 1 UART 引脚说明
| 名称 | 类型 | 说明 |
|---|---|---|
| RxD | Input | 接收数据输入 |
| TxD | Output | 发送数据输出 |
| CTS_ | Input | 清除发送 --- 启用调制解调器传输 |
| RTS_ | Output | 请求发送 --- UART 发送请求 |
注:SOC 中有 8 个 UART,可在基于中断的模式或基于 DMA 的模式下运行。UART0、UART4、UART5、UART6 和 UART7 仅支持 RxD、TxD,不支持 RTS_、CTS_。