本文讨论了电平标准、差分信号、流控制、同步异步通信、UART 等概念。电平标准包括TTL、RS232和RS485,差分信号具有提高抗干扰能力和精度的优点。流控制用于避免数据丢失,UART是一种异步串行通信协议。同步通信使用共用时钟,而异步通信使用起始位和停止位。文中还介绍了CH340的工作原理、波特率与比特率的关系、调制技术等。总的来说,本文涵盖了计算机通信中的基础概念和技术。
电平标准
TTL: +5V -> 1, 0V -> 0
RS232: -3 ~-15V -> 1, +3 ~ +15V -> 0
RS485: +2 ~ +6V -> 1, -2 ~ -6V -> 0 (差分信号)
差分信号

A signal transmitted differentially. Notice the increased amplitude at the receiving end.

好处
- 差分信号的优点在于通过控制基准电压,可以更容易地识别小信号。与单端信号方案相比,测量信号的精确值依赖于 GND 的一致性,距离越远,电压差异的可能性越大,而差分信号的恢复值与 GND 的精确值关系不大。
- 它对外部电磁干扰(EMI)是高度免疫的。一个干扰源几乎相同程度地影响差分信号对的每一端。既然电压差异决定信号值,这样将忽视在两个导体上出现的任何同样干扰。除了对干扰不大灵敏外,差分信号比单端信号生成的 EMI 还要少。
## 流控制
流控的概念源于 RS232 这个标准,在 RS232 标准里面包含了串口、流控的定义。
RS232 中的“RS”是Recommend Standard 的缩写,即”推荐标准“之意,它并不像 IEEE-1284、IEEE-1394 等标准,是由“委员会定制”。因而,不同的厂商在做 RS232 时,多少会有不同,流控也都会存在差异。
数据在串口通讯中常常丢失,特别是当接收端缓冲区满时,发送的新数据可能无法处理而丢失。这种问题源于速度和处理能力的不匹配,例如单片机与 PC 的处理能力差异。
为了解决这个问题,硬件流控通过向发送端发送停止信号来控制数据流,以避免数据丢失。
DB89:

STM32:

以前用到的 TX 和 RX,也就是简单的三线串口的通讯方式,如果使能了硬件流控,在这个基础上需要增加两根控制线,一根叫 CTS(Clear To Send 为输入信号,一根叫 RTS(Require To Send 为输出信号)。其实从名字上也可以看到,一个是接收控制,一个是发送控制。
Communication Interface Comparison
Name | Pin Definition | Communication Mode | Characteristics |
|---|---|---|---|
UART | TXD, RXD | Full-duplex, Asynchronous | Point-to-point communication |
I²C | SCL, SDA | Half-duplex, Synchronous | Supports multiple devices |
SPI | SCLK, MOSI, MISO, CS | Full-duplex, Synchronous | Supports multiple devices |
1-Wire | DQ | Half-duplex, Asynchronous | Supports multiple devices |
Additional interfaces: CAN, USB, etc.
Concise Explanation of Each Term
Full-duplex: Data can be transmitted and received simultaneously.
Half-duplex: Data transmission occurs in only one direction at a time. (Time Division Multiplexing, TDM)
Synchronous: Communication uses a shared clock signal.
Asynchronous: No shared clock; timing is agreed by predefined parameters (e.g., baud rate).
1. UART (Universal Asynchronous Receiver/Transmitter)
TXD (Transmit Data): Serial data output line from the transmitting device.
RXD (Receive Data): Serial data input line to the receiving device.
Typical use case: Debug console, serial communication between MCU and PC.
2. I²C (Inter-Integrated Circuit)
SCL (Serial Clock): Clock signal line used to synchronize data transmission.
SDA (Serial Data): Bidirectional data line carrying address and data.
Typical use case: Sensors, EEPROM, RTC, low-speed peripherals.
3. SPI (Serial Peripheral Interface)
SCLK (Serial Clock): Clock signal generated by the master to synchronize communication.
MOSI (Master Out Slave In): Data line transmitting from master to slave.
MISO (Master In Slave Out): Data line transmitting from slave to master.
CS (Chip Select): Control line used to select the active slave device.
Typical use case: High-speed ADC/DAC, Flash memory, displays.
4. 1-Wire
DQ (Data Line): Single bidirectional data line used for communication.
Typical use case: Temperature sensors (e.g., DS18B20), low-cost ID systems.
Brief Comparison Insight
Protocol | Speed | Hardware Complexity | Bus Scalability | Typical Application |
|---|---|---|---|---|
UART | Medium | Very low | Poor | Debug, simple links |
I²C | Low–Medium | Low | Good | Sensor networks |
SPI | High | Moderate | Moderate | High-speed peripherals |
1-Wire | Low | Very low | Good | Low-cost sensors |
同步异步通信
https://blog.csdn.net/seashine_yan/article/details/71192283
https://www.cnblogs.com/frankuly/p/13785424.html
异步通信
异步方式特点简单的说就是:帧(字符)间异步,帧(字符)内部各位同步。

在无数据传送时,通信线处于逻辑“1”状态。
发送字符时,首先发送逻辑“0”信号作为起始位,接收设备检测到后准备接收数据。
起始位后是数据位(可为5至8位),数据传送时低位在前。奇偶校验位用于数据检错,需双方约定,有时可省略。停止位紧跟在奇偶校验或数据位后,可以是一位、1.5位或2位,表示字符传送结束,准备接收下一字符。
停止位后若无数据,线路保持“1”,处于空闲状态,这为异步通信特性。
同步通信
同步通信是以数据块为单位的数据传送,字符和位之间都需同步。
同步通信时,通信双方共用一个时钟,这是同步通信区分于异步通信的最显著的特点。
在异步通信中,字符使用起始位和停止位,影响传输速度。为了提高效率,同步通信采用同步字符指示数据开始,无需间隙、起始位和停止位,使用时钟实现发送端和接收端的同步。

用途
同步串行:通信网中,有大批量数据需要传输
异步串行:应用于在工业、实际应用中。适用于短距离、速率不高的情况下。
总结
不论是异步通信还是同步通信都需要进行同步,异步通信通过字符内的起始位自同步,而同步通信通过共用外部时钟外同步。
51 单片机的 UART

CH340: USB <-> UART

Fundamentally, the CH340 converts:
USB differential signaling (UD+/UD−) ⇄ UART serial signals (TXD/RXD)
In the CH340 (USB–UART bridge), UD+ and UD− are the two USB differential data lines.
However, the transformation is not merely electrical-level conversion — it spans multiple protocol layers.
The conversion involves three layers:
1️⃣ Physical Layer Conversion
UD+ / UD− → USB differential electrical signaling (12 Mbps full-speed)
TXD / RXD → CMOS/TTL-level asynchronous serial signals
This is a physical interface conversion:
Differential ↔ Single-ended
12 Mbps USB ↔ configurable UART baud rate
2️⃣ Protocol Layer Translation
USB and UART are completely different protocols:
USB | UART |
|---|---|
Packet-based | Byte stream |
Host-controlled | Peer-to-peer |
Clocked & framed | Asynchronous framed |
CRC protected | Optional parity |
The CH340 internally:
Receives USB bulk transfer packets
Buffers data
Extracts payload bytes
Outputs them as UART frames (start bit + data + stop bit)
In reverse:
Collects UART bytes
Packages them into USB bulk packets
Sends them to host
3️⃣ Control Signal Mapping
CH340 also maps:
USB control requests → UART configuration
Baud rate
Parity
Stop bits
USB driver commands → RTS / DTR toggling
Baud Rate vs. Bit Rate
波特率 指电压(或电流)变化次数(变化量)
比特率 指传输数据量的多少
在无调制的情况下,比特率=波特率;采用调相技术时,比特率 不等于 波特率。
In standard UART communication, it is a non-modulated (baseband) transmission, therefore:
Bit rate = Baud rate
调制是什么
将低频信息信号(基带信号)加载到高频载波上,通过改变载波的某种物理参数(幅度、频率或相位)来实现远距离或高效传输的过程。
本质上,它是一种频谱搬移与信号映射技术。
数字调制举例
在数字通信中:
1 个符号(symbol)可以表示多个比特
每个符号通过“载波状态”表达
例如:
QPSK(Quadrature Phase Shift Keying)
4 种相位
每个符号表示 2 bit
16-QAM
16 种幅度+相位组合
每个符号表示 4 bit
这就是“比特率 ≠ 波特率”的根本原因。
与 UART 的对比
特性 | UART | 调制通信 |
|---|---|---|
是否有载波 | ❌ 无 | ✅ 有 |
是否搬移频谱 | ❌ 否 | ✅ 是 |
每符号比特数 | 1 | ≥1 |
典型应用 | 串口通信 | 无线、电信 |
UART 是:
基带、无调制、二进制电平传输
从系统角度理解
基带通信:直接发送 0/1 电平(如 UART)
调制通信:用高频载波“包装”0/1,再发送(如 WiFi、LTE)
串口模式


波特率 <-> 晶振 关系推导

÷16 是什么
UART 接收端通常采用 16倍过采样(16x oversampling):
每一位被采样 16 次
在第 8 次附近取中心值
提高抗抖动能力
因此:Timer1 overflow rate = 16 * Baud rate
反过来, ÷16 才得到真正的位时钟。
当 SMOD = 1 时, Baud rate = 1/16 * Timer1 overflow rate 得到位时钟,因为 Timer1 本身已经产生 16 倍频率,接收电路在 ÷16 之前就已经利用了这 16 倍时钟,下图有所展示:


