异步通信技术:原理、协议与应用(上)
扫描二维码
随时随地手机看文章
一、异步通信的基本概念
异步通信是一种数据传输技术,通信双方无需共享同一时钟信号,而是通过特定的协议和机制实现数据的可靠传输。在异步通信中,发送方和接收方各自使用独立的时钟源,通过预先约定的格式和时序规则来协调数据的传输与接收。这种通信方式具有灵活性高、成本低等优点,广泛应用于计算机系统、通信网络和嵌入式设备中。
异步通信的核心特点
无共享时钟:发送方和接收方使用各自的时钟,无需精确同步
帧结构定义:数据以帧为单位传输,每帧包含起始位、数据位、校验位和停止位
自同步机制:通过起始位和停止位标识数据帧的开始和结束
灵活的数据速率:双方可以在一定范围内独立调整时钟频率
二、异步通信的工作原理
帧结构设计
异步通信的基本单位是数据帧,典型的帧结构包括:
起始位 (Start Bit):通常为 1 位,低电平表示帧开始
数据位 (Data Bits):5-9 位,传输实际数据,低位在前
校验位 (Parity Bit):可选,用于错误检测
停止位 (Stop Bit):1-2 位,高电平表示帧结束
传输时序
空闲状态:线路保持高电平
起始位:发送方将线路拉低,表示数据帧开始
数据传输:按低位到高位顺序传输数据位
校验位:可选,用于验证数据完整性
停止位:发送方将线路拉高,保持 1-2 位时间
恢复空闲:线路回到高电平,等待下一帧
波特率与比特率
波特率 (Baud Rate):每秒传输的符号数,单位为波特 (Baud)
比特率 (Bit Rate):每秒传输的比特数,单位为 bps
关系:比特率 = 波特率 × 每符号比特数
在异步通信中,波特率通常与比特率相等(每符号 1 比特),但在调制技术中可能不同。
三、异步通信的关键技术
时钟恢复与同步
由于发送方和接收方使用独立时钟,接收方需要从数据流中恢复时钟信息:
过采样技术:接收方使用比发送波特率更高的时钟(通常为 16 倍)采样数据
位中心检测:通过检测起始位的下降沿,确定位周期的中心位置
自适应时钟调整:根据连续采样结果微调接收时钟
错误检测与纠正
异步通信常用的错误检测方法:
奇偶校验 (Parity Check):在数据位后添加一位校验位,使总 1 的个数为奇数(奇校验)或偶数(偶校验)
循环冗余校验 (CRC):通过多项式计算生成校验值,提供更高的错误检测能力
超时检测:如果在预期时间内未收到完整帧,判定传输错误
流量控制
为避免接收方缓冲区溢出,异步通信支持多种流量控制机制:
硬件流控制:使用额外的信号线(如 RTS/CTS)指示接收方状态
软件流控制:通过特定字符(如 XON/XOFF)控制数据流
自动重传请求 (ARQ):当检测到错误时,请求发送方重传数据
四、异步通信协议
UART(通用异步收发传输器)
UART 是最常见的异步通信协议,广泛应用于嵌入式系统和计算机外设:
特点:全双工、点对点通信
典型应用:串口调试、传感器数据传输、设备间通信
数据格式:支持 5-8 位数据位、1 位奇偶校验位、1-2 位停止位
常见波特率:9600、115200、460800 等
SPI(串行外围设备接口)
SPI 虽然通常被认为是同步协议,但也可实现异步通信:
特点:主从结构、高速传输
异步实现:主设备发送数据后,从设备在准备好时返回响应
应用场景:与慢速外设通信、需要双向传输的场景
I²C(集成电路间总线)
I²C 是一种多主从异步通信协议:
特点:双向、半双工、使用两根信号线(SDA 和 SCL)
异步机制:通过时钟拉伸 (Clock Stretching) 实现主从时钟协调
应用场景:低速率设备通信、传感器网络
其他协议
Modbus:工业控制系统中常用的异步通信协议
CAN(控制器局域网):汽车电子和工业控制领域的异步通信协议
USB(通用串行总线):在某些模式下支持异步数据传输