串行口
定义
串行口是数据按位依次传送的接口,其最基本的特征是把一个字节拆成 8 个比特,在同一条信号线上逐位发送,而不是像并行口那样用多条线同时送出整个字节。[1][3]因此它的线路简单,一对传输线即可完成双向通信,甚至可以直接借用电话线,成本较低;代价是同样数据量所需的传输时间是并行方式的数倍。[1][4]
按数据传输方向,串行通信分为三类:只能单向传输的单工、可双向但不能同时进行的半双工,以及收发可同时进行的全双工。[5]按收发时钟关系,则分为异步通信与同步通信两种方式:异步方式收发双方各自使用本地时钟,靠帧内起始位重建同步;同步方式则要求双方时钟严格一致,通常需要额外的时钟信号线。[5][6]
按电气标准区分,常见的串行口包括 RS-232、RS-422 与 RS-485。这几份标准主要规定接口的电气特性,并不涉及接插件、电缆或上层协议。[1]
原理
串行口的核心部件是通用异步收发器(UART),它从系统总线取得并行数据,转换成串行位流后经接口发出,接收时再把串行位流还原为并行字节交给处理器;多数芯片内部还带有缓冲区,用于在收发之间缓和速度差。[4]单片机一类的器件通常把这种电路集成在片内,对外只引出收、发两根信号线。[7]
异步帧由起始位、数据位、可选校验位和停止位组成:起始位为低电平,标志一帧开始;数据位常见为 5 至 8 位;校验位用于检测单个比特的错误,可以取奇校验、偶校验或省略;停止位为高电平,可取 1 位、1.5 位或 2 位,用于帧定界并给接收端留出重新对齐时钟的余量。[8][5]接收端一般以高于波特率的速率采样数据线,检测到起始位后延迟半个位时间再次确认,再逐位在位的中央取样,从而容忍收发双方时钟的微小偏差。[8]
通信前双方必须约定一致的参数,主要是波特率、数据位、停止位与校验方式,任何一项不匹配都会导致数据无法正确解析。波特率表示每秒传送的位数,其倒数为单位比特的持续时间:$T = 1 / \text{波特率}$。例如一帧共 10 位、每秒传送 960 帧,则速率为 $10 \times 960 = 9600\ \text{bit/s}$。[5][6]
flowchart LR
CPU[处理器并行数据] --> UART[UART 收发器]
UART -->|逐位串行| LINE[发送线 TXD]
LINE --> PEER[对端接收线 RXD]
PEER -.->|逐位串行| UART2[对端 UART]
UART2 --> CPU2[对端处理器]
全双工工作依靠收、发各自独立的信号线,两端设备的发送端与接收端需交叉连接,并按连接器引脚定义区分数据终端设备与数据通信设备两类接口。[6]在电气层面,RS-232 采用负逻辑单端传输,逻辑电平与 TTL/CMOS 电平不同,二者相接时需要电平转换器件完成匹配。[7]
发展历程
RS-232 由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂商与计算机终端厂商制定,是用于串行通信的标准,其全称为数据终端设备(DTE)与数据通信设备(DCE)之间串行二进制数据交换接口技术标准;早期版本使用 22 根线、25 芯 D 型连接器,后来简化为 9 芯 D 型插座,25 芯在现代应用中已很少使用。[1][3]
由于 RS-232 存在速率低、距离近的不足,RS-422 定义了一种平衡接口,把速率提高到 10 Mb/s 量级,在较低速率下传输距离可延长到 4000 英尺,并允许在同一条总线上挂接最多 10 个接收节点,属于单机发送、多机接收的规范。[2]1983 年,EIA 又在 RS-422 基础上制定 RS-485,增加了多点双向通信能力,并强化了发送器驱动能力与冲突保护。[2]
在个人计算机上,串口约在 1980 年前后出现,初期速率在 115 kbps 至 230 kbps 之间,主要用于连接鼠标、外置调制解调器、早期摄像头和写字板等外设,也用于两台设备之间的互联。[1]通用串行总线(USB)等后来兴起的高速串行接口,在消费类设备上逐步取代了传统串口的功能。[4]
应用
串行口最常见的用途是把外设接入计算机或控制器,例如外置调制解调器、串行打印机、绘图仪等;它也可以用作控制台接口,连接路由器、交换机等网络设备并进行配置。[2]
在工业与测量场合,串行口是仪表仪器通用的通信方式,许多 GPIB 兼容设备也配有 RS-232 口,用于把测量结果送往主机。[9]半双工的 RS-485 与全双工的 RS-422 常用于工业计算机与分布式控制系统中的多机连接。[2]
在嵌入式系统中,上位机与下位机之间经常直接通过各自的串口通信,例如微机与单片机之间借助电平转换芯片连接,实现命令下发与数据回传。[7]
局限
串行口的首要限制是速率。逐位传送意味着在相同线路条件下比并行传输慢,标准串口的最高速率约为 115 kbps,即便高速型号通常也只到数百 kbps 量级。[4]同时速率与距离互相制约,波特率越高,可用的传输距离越短。[9]
传统 RS-232 采用单端传输,收发电平之差仅 2 V 至 3 V,共模抑制能力较差,加上线缆分布电容的影响,传输距离最大约 15 米,最高速率约 20 kb/s,并且是为点对点连接设计的,难以直接构成总线网络。[1]RS-422 与 RS-485 虽然改善了距离和节点数量,但仍需额外处理终端匹配与总线冲突等问题。[2]
此外,传统串口不支持热插拔,插拔操作需在断电状态下进行;正是这类使用上的不便与速率瓶颈,使不少新主板和多数便携式电脑开始取消该接口,消费类设备上的连接功能大多交给 USB 承担。[1][4]
参见
参考资料
- [科普中国]-串行接口 [引用日期2026-10-19]
- 图文详情——科普中国资源服务 [引用日期2026-10-19]
- 串行口简介_结串行端口_串口与并口的区别等信息资料-华强电子网 [引用日期2026-10-19]
- 串口知识详解 串口功能及电路介绍 [引用日期2026-10-19]
- 串口通信原理-济南有人物联网技术有限公司官网 [引用日期2026-10-19]
- 串行通信的基础知识- RS-232C / RS-422A / 485 [引用日期2026-10-19]
- google.com 上的网页 [引用日期2026-10-19]
- Overview of the Serial Protocol [引用日期2026-10-19]
- [科普中国]-串口通信 [引用日期2026-10-19]