串行口

义项:串行通信接口
串行口

串行口是采用串行通信方式实现数据逐位传输的接口,简称串口,也称串行通信接口或串行通讯接口,在个人计算机上通常指 COM 接口。它把字节按位依次送出,只需少量传输线即可双向通信,成本低、适合较长距离连接,但传输速率低于并行接口。串行口长期用于连接调制解调器、鼠标、仪表和工业控制设备,并派生出了 RS-232、RS-422、RS-485 等电气标准,是计算机与外设、设备与设备之间最基础的通信通道之一。[1][2]

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

串行口是数据按位依次传送的接口,其最基本的特征是把一个字节拆成 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]

参见

  • UART —— 实现串行收发转换的核心电路,是串行口工作的基础。

  • RS-232 —— 个人计算机上最常用的串行通信电气标准。

  • RS-485 —— 面向工业现场、支持多点双向通信的串行标准。

  • USB —— 在消费类设备上取代传统串口的高速串行总线。

  • 并行口 —— 与串行口相对的逐字节并行传输接口。

  • 波特率 —— 描述串行通信速率的基本参数。

词条评价
词条统计

浏览次数:2 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-19T13:52:21Z

历史版本

本条目引用的词条
UART RS-232 RS-485 USB 并行口 波特率