一、核心功能与应用场景
USART(Universal Synchronous Asynchronous Receiver Transmitter)是一种灵活的串行通信接口,具备两大核心能力:
- 异步通信(UART 模式):无需时钟信号,通过波特率约定实现数据传输,适用于低速场景(如蓝牙模块、USB 转 TTL)。
- 同步通信:通过时钟信号(SCK)同步数据,支持高速传输,可兼容 SPI 从机模式(如 STM32 的 USART 同步模式)。
典型应用场景
- 单片机与外设(传感器、WiFi 模块)的数据交互;
- 作为 SPI 从机接口,实现与主机芯片的高速同步通信;
- 支持硬件流控制(CTS/RTS),适用于需要可靠传输的场景。
二、USART vs UART:核心区别对比
特性 |
UART |
USART |
同步模式 |
不支持 |
支持(需时钟信号 SCK,主机提供) |
通信协议 |
仅异步(TX/RX 单线) |
异步(UART 模式)+ 同步(SPI 兼容模式) |
时钟来源 |
内部定时器生成波特率 |
同步模式需外部 / 内部时钟(SCK 由主机控制) |
典型速率 |
较低(通常 < 1 Mbps) |
异步模式与 UART 相当,同步模式可达数十 Mbps |
协议兼容性 |
独立异步协议 |
同步模式可作为 SPI 从机(如 STM32) |
核心引脚 |
TX(发送)、RX(接收) |
TX/RX(异步)+ SCK(同步时钟) |
错误检测 |
奇偶校验、帧错误 |
额外支持过载错误(ORE)、噪声错误(NF) |
三、硬件架构与核心模块
USART 由三大模块组成,支持灵活配置:
1. 异步通信模块(UART 模式)
核心引脚
- TX:数据发送引脚(推挽输出);
- RX:数据接收引脚(浮空输入)。
关键特性
- 波特率可调:通过寄存器(如 STM32 的USART_BRR)配置波特率发生器;
- 数据格式:
-
- 数据位:5~9 位(常用 8 位);
-
- 停止位:1/2 位(可配置);