打印
[MM32硬件]

UART和USART有何区别?

[复制链接]
33|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
呐咯密密|  楼主 | 2024-12-23 11:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)和USART(Universal Synchronous - Asynchronous Receiver/Transmitter,通用同步 - 异步收发器)都是用于串行通信的接口,但它们之间存在一些区别:

一、通信模式

  1. UART
    • 仅支持异步通信模式。在异步通信中,数据是一帧一帧地传输,每帧包含起始位、数据位、奇偶校验位(可选)和停止位。发送端和接收端不需要共同的时钟信号来同步数据传输,而是依靠数据格式中的起始位和停止位来实现数据的同步。
    • 例如,在一个简单的UART通信系统中,发送端以一定的波特率(例如9600波特)发送数据,接收端按照相同的波特率接收数据。数据帧之间的时间间隔是不固定的,只要在接收端的缓冲区能够容纳新的数据帧即可。
  2. USART
    • 既支持异步通信模式,又支持同步通信模式。
    • 在同步通信模式下,发送端和接收端共享一个时钟信号,数据在时钟信号的同步下进行传输。这种方式可以实现更高的数据传输速率和更稳定的传输,因为时钟信号可以精确地控制数据的发送和接收时间。例如,在一些高速数据传输的应用中,如SPI(Serial Peripheral Interface)类似的同步通信方式,USART可以通过同步模式进行高效的数据传输。在异步模式下,其工作原理与UART类似。

二、数据传输效率

  1. UART
    • 由于采用异步通信,每帧数据都需要起始位和停止位来标识数据的开始和结束,这在一定程度上降低了数据传输的效率。例如,如果数据位为8位,加上1位起始位和1位停止位,那么每传输8位有效数据就需要额外的2位开销,实际传输的效率为8 / (8 + 2)= 80%。
  2. USART
    • 在同步模式下,不需要起始位和停止位这些额外的开销,因为数据是在时钟信号的同步下进行传输的。所以在相同的波特率下,同步模式的USART能够传输更多的有效数据,数据传输效率更高。在异步模式下,其数据传输效率与UART类似。

三、应用场景

  1. UART
    • 广泛应用于一些对成本较为敏感、数据传输速率要求不是特别高的简单串行通信场景。例如,早期的计算机与外部设备(如调制解调器)之间的通信,以及一些简单的传感器与微控制器之间的通信。它的优点是硬件电路简单,不需要共享时钟信号,降低了硬件设计的复杂性和成本。
  2. USART
    • 由于其既支持异步又支持同步通信,所以应用场景更为广泛。在对数据传输效率和速度有较高要求的场合,如一些高速数据采集系统、工业自动化中的设备间通信(当需要同步传输数据时)等,可以采用USART的同步模式。而在一些简单的串行通信需求下,也可以使用其异步模式,像传统的串口调试工具与微控制器之间的通信等。

使用特权

评论回复
沙发
suncat0504| | 2024-12-23 11:54 | 只看该作者
谢谢分享!原来如此,但感觉同步模式和SPI很像了。

使用特权

评论回复
板凳
suncat0504| | 2024-12-23 11:55 | 只看该作者
传输速度上,同步模式和SPI的速度相比,那个会更快一些?有做过比较吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:苏州澜宭自动化科技嵌入式工程师
简介:本人从事磁编码器研发工作,负责开发2500线增量式磁编码器以及17位、23位绝对值式磁编码器,拥有多年嵌入式开发经验,精通STM32、GD32、N32等多种品牌单片机,熟练使用单片机各种外设。

504

主题

3888

帖子

47

粉丝