了解 UART

对此感兴趣?

R&S®Essentials | 数字示波器和探头基础知识

了解 UART

什么是 UART?

UART 表示通用异步接收机/发射机,定义用于在两个设备之间交换串行数据的协议或一组规则。UART 非常简单,仅在发射机和接收机之间使用两根电线双向收发。连接两端均接地。UART 通信可以是 单工(仅单向发送数据)、半双工(双向但不可同时发送)或全双工(双向同时发送)。UART 中的数据以帧形式传输。此处简要说明和解释帧格式和内容。

UART 中的数据以帧形式传输

UART 用于哪些场景?

UART 是最早的串行协议之一。曾经无处不在的串行端口几乎始终以 UART 为基础,使用 RS-232 接口的设备和外部调制解调器等仪器是常见的 UART 用例。
近年来,UART 的普及率有所降低:SPI 和 I2C 等协议已取代芯片和组件间的 UART。目前,大多数现代计算机和外围设备都不再使用串行端口进行通信,而是使用以太网和 USB 等技术。但是,由于 UART 非常简单、成本低且易于实现,因此仍被用于低速和低吞吐量应用。

UART 协议的定时和同步

UART 的一大优点在于此协议为异步——发射机和接收机不共享共同时钟信号。尽管这极大地简化了协议,但也对发射机和接收机提出了特定要求。由于发射机和接收机不共享时钟,因此连接两端必须以预先安排的相同速度进行传输,以确保具有相同的位定时。目前最常用的 UART 波特率是 4800、9600、19.2K、57.6K 和 115.2K。除了具有相同的波特率之外,UART 连接的两端还必须使用相同的帧结构和参数。查看 UART 帧便于理解这一点。

UART 帧格式

UART 帧包含起始位、停止位、数据位和可选的奇偶校验位,下文将对此进行说明。

与大部分数字系统一样,“高”电压电平表示逻辑“1”,而“低”电压电平表示逻辑“0”。由于 UART 协议没有针对这些电平定义特定的电压或电压范围,因此有时候高电平也称为“标记”,低电平则称为“空格”。请注意,在不传输数据的空闲状态下,线路保持高电平。这样可以轻松检测出受损线路或发射机。

起始位和停止位

由于 UART 异步,发射机需要发出信号以通知数据位即将到来。这通过起始位来实现。起始位是从空闲高电平状态转变为低电平状态,其后紧跟用户数据位。
数据位传输完毕,停止位指示用户数据结束。停止位转变回高电平或空闲状态,或者在高电平状态下额外持续一个位时间。可以配置第二个(可选)停止位,这通常是为接收机提供时间以准备接收下一帧,但在实践中并不常见。

数据位

数据位是用户数据或“有用”位,紧接在起始位后面。用户数据位一般为 5 到 9 位,其中 7 或 8 位最为常见。传输数据位时,一般先发送最低有效位。

示例:
如果要以 7 位 ASCII 发送大写字母“S”,位序列为 1 0 1 0 0 1 1。首先倒转位顺序以按最低有效位顺序排列(1 1 0 0 1 0 1),然后再发送。最后一个数据位发送完毕后,使用停止位结束帧,线路返回空闲状态。

  • 7 位 ASCII“S”(0x52) = 1 0 1 0 0 1 1
  • 最低有效位顺序 = 1 1 0 0 1 0 1

起始位和停止位

数据位

奇偶校验位

UART 帧还可以包含一个用于检测错误的可选奇偶校验位。此位插在数据位的末尾和停止位之间。奇偶校验位的值取决于所用的奇偶校验类型(偶数或奇数):

  • 偶数奇偶校验中,设置此位以使帧中 1 的总数为偶数。
  • 奇数奇偶校验中,设置此位以使帧中 1 的总数为奇数。

示例:
大写“S”(1 0 1 0 0 1 1) 总共包含三个 0 和四个 1。如果使用偶数奇偶校验,则奇偶校验位为 0,因为 1 的总数已为偶数。如果使用奇数奇偶校验,则奇偶校验位必须为 1,以使帧中 1 的总数为奇数。
奇偶校验位只能检测单个翻转位。如果翻转了多个位,则无法使用单个奇偶校验位可靠地进行检测。

奇偶校验位示例

了解 UART

观看“了解 UART”视频,了解更多信息

本视频介绍了通用异步接收机/发射机 (UART) 串行协议的技术概况,描述了帧结构和每个帧位的重要性。

总结

  • UART 表示通用异步接收机/发射机,是用于交换串行数据的简单双线协议。
  • 异步意味着没有共享时钟,因此 UART 如要正常运作,必须在连接两端配置相同的位速率或波特率。
  • 起始位和停止位用于指示用户数据的开始和结束位置,即构造数据“框架”。
  • 可选的奇偶校验位可用于检测单个位错误。
  • UART 仍是一种广泛使用的串行数据协议,但近年来在一些应用中已被 SPI、I2C、USB 和以太网等技术所取代。

您是否对 UART 或其他串行协议有疑问?我们的专家将为您提供帮助。