串行通信是嵌入式系统设计师考试中每年都会出现的知识点,也是网络工程师与软件设计师交叉考查的基础内容。很多考生背下了"RS-232点对点、RS-485多点、RS-422全双工"这三句话,但一到考场面对"真正实现多点结构总线的是哪一项""某系统以RS-232为接口进行7位ASCII码字符传送,波特率为9600时字符传送率是多少"这类题目时,仍然频繁失分。问题的根源不在于记不住结论,而在于没有真正理解这些总线在电气层面的差异——单端信号与差分信号到底差在哪里,电平标准为什么要设计成负逻辑,多点结构为什么必须依赖差分传输。本文从电气原理出发,把RS-232、RS-422、RS-485三种串行通信总线的底层机制、分类应用、命题陷阱与历年真题一次性讲透。
在展开三种总线之前,必须先厘清"串行通信"这一上位概念,否则后面关于电平与差分的一切讨论都会失去坐标。很多考生把RS-232直接等同于串口,这是一个不精确的认知,需要从最基本的定义开始纠正。
通信从数据传输的物理形态上可以分为串行与并行两大类。并行通信指的是多位数据在同一时刻通过多条数据线同时传输,例如一个字节的八个比特分别占用八根线,在一个时钟周期内一次性送达。它的优点是速度快、吞吐量大,但代价是数据线数量多、成本高,而且线缆长度一增加,各条线上信号的传输延迟差异就会显现,导致接收端采样的错位,这种"歪斜"问题严重限制了并行传输的距离。串行通信则是把数据拆成一个比特一个比特,在一条数据线上按时间顺序逐位传送。它速度看似不如并行,却因为只占用极少的线缆、抗干扰能力强、适合长距离传输,成为计算机与外部设备、工业现场、网络设备之间最主流的通信方式。软考考查的重点正是串行通信,因为它的参数计算、电气特性、组网结构都更容易设计出有区分度的题目。
RS是英文Recommended Standard的缩写,中文通常译为"推荐标准",它是由美国电子工业协会制定的一系列接口电气标准。需要注意的是,RS标准规定的是接口的电气特性、信号电平与机械特性,它只解决"信号在物理线上怎么表达"的问题,并不规定上层的数据格式、通信协议或字符编码。也就是说,RS-232是一个物理层接口标准,至于在它上面跑的是ASCII字符还是Modbus帧,属于另一层的问题。这一层级的边界在考试中是个高频陷阱:题目常常问"RS-232协议规定了什么",正确选项应当落在电气特性层面,而不是应用层协议层面。
RS-232、RS-422、RS-485三者的差异,本质上来源于对同一个核心矛盾——传输距离与抗干扰能力——的不同取舍。RS-232采用单端非平衡传输,用一根信号线对地的电压高低来表示逻辑电平,结构简单但易受共模干扰,因此通信距离短、速率有限,只能做点对点连接。RS-422改进了这一点,采用差分平衡传输,用一对双绞线上的电压差表示信号,抗干扰能力大幅提升,支持一点对多点的单向或全双工通信。RS-485则是在RS-422基础上进一步简化,用一对双绞线实现半双工的多点总线,允许多个收发器挂接在同一条总线上分时通信。把这三句话记牢只是起点,理解它们背后的电气原理才是拿分的关键。
三种总线最根本的分野,在于信号的电气表达方式。这一节回到物理层的最底层,讲清楚为什么单端信号扛不住干扰、差分信号为什么能扛住,以及电平标准里那些反直觉的设计。
RS-232采用的是单端信号传输方式。所谓单端,是指发送端只用一根信号线,以这根线上的电压相对于公共地线的电压来表示逻辑值。接收端同样以信号线对地的电压来判断是逻辑1还是逻辑0。这种方式的致命弱点在于,它默认了发送端与接收端的地电位是相同的。而在实际的通信场景中,两台设备可能由不同的电源供电,地电位之间存在无法忽略的电位差,这种电位差叠加在信号线上,就会直接污染信号电压。距离越长、环境电磁干扰越强,地电位差就越明显,误码也就越容易发生。这正是RS-232把标准通信距离限制在15米左右、速率限制在较低水平的根本原因。理解了共地问题,也就理解了为什么后来会出现差分传输这种改进方案。
RS-232的另一个反直觉之处在于它的电平定义。它没有采用常见的TTL电平,而是规定逻辑1用-3伏到-15伏的负电压表示,逻辑0用+3伏到+15伏的正电压表示,实际设备通常使用正负12伏。这种设计一方面是为了在长线上获得更强的抗干扰能力——较大的电压摆幅让噪声更难翻转逻辑值;另一方面,-3伏到+3伏之间的区间被定义为无效区间,信号必须穿越这个死区才算完成一次逻辑翻转,这天然提供了一定的噪声容限。负逻辑本身则是一个历史沿革的产物,与早期电传打字机的习惯有关。考生需要记住的核心结论是:RS-232是单端、负逻辑、大电压摆幅,这三点共同决定了它抗干扰能力有限、只能短距离点对点工作。
RS-422与RS-485的核心改进是引入差分信号。差分传输用一对双绞线传输同一信号的两个互补版本,接收端不是测量某根线对地的绝对电压,而是测量两根线之间的电压差。当外部电磁干扰袭来时,由于两根线绞合在一起、走线路径基本一致,干扰会在两根线上同时感应出近似相同的噪声电压,这个共模噪声在接收端做差时被相互抵消,而真正的信号差却完整保留下来。这就是差分传输抗共模干扰的本质:它不依赖地电位的一致性,因为地已经不再是信号参考。正因为摆脱了共地约束,RS-422和RS-485才能把通信距离延伸到1200米,把速率提升到短距离下的10Mbps。理解了这个原理,考生就能推导出几乎所有相关的结论,而不必死记硬背参数表。
差分传输还有一个容易被忽略却经常被考到的细节:终端匹配电阻。当信号在传输线上传播到末端时,如果线路阻抗不匹配,会发生反射,反射波叠加在原始信号上会造成波形畸变,尤其在长距离、高波特率场景下会直接导致误码。解决办法是在总线两端各并联一个终端电阻,其阻值与双绞线的特征阻抗相匹配,典型值为120欧姆。这个电阻的作用是吸收到达线端的能量,抑制反射。考生要理解的是,终端电阻只加在总线的物理末端,而不是每一个节点都加;在低速短距离的简单应用中,有时也可以不加。这个细节在真题中常以"终端电阻应该加在哪里、阻值是多少"的形式出现,属于理解了原理就能稳定拿分的送分点。
串行通信之所以能够在没有共享时钟的情况下完成正确传输,靠的是异步帧结构这一精巧设计。每一个异步字符都由起始位、数据位、可选的校验位和停止位四部分构成。起始位固定为逻辑0,它的作用是在空闲状态下制造一次从1到0的跳变,向接收端宣告一个字符的开始;数据位紧跟其后,常见为7位或8位;校验位用于奇偶校验;停止位固定为逻辑1,为接收端复位提供时间,并保证下一个字符的起始位仍能产生跳变。接收端并不与发送端共享同一个时钟,而是各自使用本地时钟,通过起始位的跳变边沿来重新对齐采样时刻,实现对每一位的逐位采样。这种靠起始位对齐、靠停止位复位的方式,就是异步通信的精髓。正因如此,波特率匹配是异步通信能够正确工作的前提,收发双方的波特率一旦不一致,采样就会逐步错位,最终产生误码。理解了帧结构,字符传送率的计算自然水到渠成。
理解了电气原理之后,再回头看三种总线的分类与选型,就会变得清晰自然。这一节把每一种总线的组网能力、工作方式与典型应用场景讲清楚,并明确各自的边界条件。
RS-232是历史最悠久、应用最广的串行接口标准。它严格意义上只支持点对点通信,即一个发送端对一个接收端。虽然物理上有全双工的能力——发送与接收各用独立的线——但组网上只能是两台设备之间的对话。它的典型应用场景是计算机与调制解调器、打印机、工控设备之间的近距离直连,以及早期终端的接入。RS-232的标准速率上限虽然不高,但现代实践常常把它跑到115200bps甚至更高,只是此时通信距离必须大幅缩短。考生要记住RS-232的两条硬边界:点对点、短距离,超出这两个边界的场景就应该考虑差分方案。
RS-485是三种总线中组网能力最强的一种。它用一对差分线构成总线,允许多个收发器并接在同一对线上,标准支持最多32个单元负载,配合中继器可以进一步扩展。由于只有一对线,同一时刻只能有一个节点在发送,其余节点必须处于接收状态,因此它是半双工的。这种"一条总线上挂一堆设备、分时轮流发言"的结构,正是工业现场总线、智能仪表、楼宇自动化、安防监控等领域最常见的通信骨架。软考题目中"真正实现多点结构总线"的标准答案就是RS-485,考查的就是考生对"多点"这个关键特征的识别。这里要格外注意RS-485与RS-422在多点能力上的表述差异,命题人最爱在这个细节上设坑。
RS-422介于RS-232与RS-485之间。它采用四根信号线构成两对差分对,一对负责发送、一对负责接收,因此天然支持全双工通信。由于发送和接收各有独立通道,RS-422的信号方向是固定的,一个主设备最多可以连接十个接收设备,形成一点对多点的单向广播结构。RS-
本篇完!