📡 UART 协议参数
💡 面试要点
- 异步通信:无共享时钟线,双方靠约定波特率同步
- 波特率误差容忍:通常要求 < 2%~3%
- RS232 vs RS485:单端/点对点 vs 差分/多机/长距离
单步调试 · 错误场景 · 真实场景 — 深入理解每一 bit
波形质量 · SI(信号完整性):信号波形本身干不干净——振铃、过冲、边沿圆角、噪声抖动。来自传输线效应、端接、去耦。
电源质量 · PI / PDN(电源完整性):电源轨稳不稳——Vcc 跌落、地弹、去耦差。它决定接收端判决阈值和电平基准。
二者的关系:是信号质量的一体两面。即便 SI 完美(完美方波),若 PDN 糟糕(GND 弹跳、Vcc 跌落),接收端阈值也跟着晃,bit 照样误判。所以拆成两项独立调节,才能分别演示「线好但电源烂」或「电源好但线烂」。
| 层级 | 信号线 | 方向 / 拓扑 | 说明 |
|---|---|---|---|
| UART(TTL) | TX / RX / GND | 交叉点对点 | MCU 直驱 0/3.3V;TX↔RX 交叉 |
| RS-232 | TX / RX / GND(DB9) | 单端 · 点对点 | ±12V 负逻辑(mark=−12V),交叉连接 |
| RS-422 | TX± / RX± / GND | 差分 · 全双工 | 两对差分线,收发独立,主从点对点 |
| RS-485 | A / B / GND | 差分 · 半双工多节点 | 一对差分,≤32 节点,DE/RE 控向 |
⚠️ UART 决定帧格式与波特率;RS-232/422/485 只是挂在 UART 之后的物理层线驱动。RS-485 总线两端各并 120Ω 终端电阻,空闲靠偏置电阻维持逻辑 1。