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 数据控制器框图
图 1 UART 数据控制器框图

如 UART DATA 控制器框图所示,UART 包括接收数据和发送数据两部分;从 PIN 接收数据处理并将其放到 APB 总线上。在发送方向上,UART 从 APB 总线获取数据并发送至 PIN。

功能说明

全双工操作

UART 双向通信可实现全双工发送和接收。

数据格式说明

UART 帧结构
图 2 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 引脚说明
名称类型说明
RxDInput接收数据输入
TxDOutput发送数据输出
CTS_Input清除发送 --- 启用调制解调器传输
RTS_Output请求发送 --- UART 发送请求

注:SOC 中有 8 个 UART,可在基于中断的模式或基于 DMA 的模式下运行。UART0、UART4、UART5、UART6 和 UART7 仅支持 RxD、TxD,不支持 RTS_、CTS_。