物理层与接口:RS-232、USB、HDMI等接口标准

各位同学,今天我们来聊聊物理层。说白了,物理层就是解决「信号怎么从A点跑到B点」的问题。我做了这么多年系统集成,发现很多同学对上层协议头头是道,一到物理层就懵了。其实物理层才是整个通信的基石——你想想看,协议栈再漂亮,信号传不过去全是白搭。

一、物理层到底在干什么?

物理层的任务,用大白话说就三件事:

  • 定义接口的机械特性——插头长什么样,多少根针脚
  • 定义电气特性——电压多高,电流多大,信号怎么表示0和1
  • 定义编码方式——怎么把比特流变成能在线上传输的信号

嗯,这里要注意:物理层不关心你传的是什么数据,它只负责把比特流从一端搬到另一端。就像快递员不关心包裹里装的是书还是砖头,他只管送到。

核心观点:物理层是「比特搬运工」,接口标准是「搬运合同」——规定了怎么搬、用什么工具搬、搬坏了谁负责。

二、经典接口标准:RS-232

RS-232,老古董了,但我敢说你现在还在用。串口调试、工业设备、嵌入式开发,到处都有它的影子。

RS-232的关键参数:

  • 单端信号传输,电压范围:-15V ~ +15V
  • 逻辑1:-3V ~ -15V(负电压)
  • 逻辑0:+3V ~ +15V(正电压)
  • 最大传输距离约15米(实际看波特率)
  • 典型速率:9600bps、115200bps

我曾经在一个工厂项目里,RS-232线拉了20米,结果数据全是乱码。排查了半天,发现是线太长信号衰减了。后来换成RS-485,问题解决。所以啊,RS-232适合短距离、低速场景,别硬撑。

避坑指南:RS-232的电压范围是±15V,和TTL电平(0~5V)不兼容。千万别直接把单片机串口接到RS-232上,会烧芯片。需要加电平转换芯片,比如MAX232。

三、USB接口标准

USB可能是你用得最多的接口了。从USB 1.0到USB4,速度从1.5Mbps飙到了40Gbps。但物理层的变化其实没那么大。

USB物理层要点:

  • 差分信号传输(D+和D-两根线)
  • 电压:3.3V逻辑电平
  • 半双工通信(早期版本)
  • 主机-设备架构,主机控制一切

我个人习惯把USB的物理层分成三块:

  1. 电气层:差分信号、终端匹配、信号幅度
  2. 位编码层:NRZI编码(后面会讲)
  3. 包传输层:同步序列、包起始/结束标志

我记得有一次调试USB设备,死活枚举不上。用示波器一看,D+和D-的差分幅度只有200mV,标准要求是300mV以上。查了半天,是PCB走线太长,信号损耗太大。重新布局后就好了。

小技巧:USB线缆长度不要超过5米(USB 2.0)。如果非要长距离传输,用USB延长器或者转光纤。别指望靠一根线搞定一切。

四、HDMI接口标准

HDMI是高清视频的主力接口。它的物理层比USB复杂得多,因为要同时传视频、音频和控制信号。

HDMI物理层特点:

  • TMDS(Transition Minimized Differential Signaling)差分信号
  • 3个数据通道 + 1个时钟通道
  • 每个通道速率高达3.4Gbps(HDMI 1.4)
  • 使用CEC(消费电子控制)通道做设备控制

你想想看,一根HDMI线里同时跑着视频、音频、以太网、控制信号,物理层的设计难度可想而知。TMDS编码的核心思想是减少信号跳变次数,降低电磁干扰。

关键点:HDMI的物理层对线缆质量要求极高。劣质HDMI线会导致画面闪烁、雪花、甚至无信号。我建议买线时选有HDMI认证的,别贪便宜。

五、物理层的编码方式

编码方式,说白了就是「怎么用电压变化来表示0和1」。不同的编码方式,抗干扰能力、时钟恢复能力都不一样。

5.1 NRZ编码(Non-Return-to-Zero)

NRZ是最简单的编码方式:

  • 高电平表示1,低电平表示0
  • 没有中间状态,电平一直保持
  • 优点:简单,带宽利用率高
  • 缺点:连续相同比特时,没有电平变化,时钟难以恢复

我曾经在调试一个串口通信时,发现发送一串0x00(全是0)时,接收端老是丢数据。后来发现是NRZ编码的锅——连续16个0,接收端的时钟漂移了,采样点对不上。解决方案是改用曼彻斯特编码,或者加同步头。

5.2 曼彻斯特编码

曼彻斯特编码解决了NRZ的时钟问题:

  • 每个比特中间都有电平跳变
  • 从高到低跳变表示1,从低到高表示0(IEEE 802.3标准)
  • 跳变本身携带时钟信息
  • 缺点:带宽需求翻倍(因为每个比特都要跳变一次)

你想想看,曼彻斯特编码相当于把时钟和数据混在一起传。接收端不需要单独的时钟线,直接从信号里提取时钟。这就是为什么以太网(10BASE-T)用曼彻斯特编码——省一根线,还抗干扰。

对比总结:

编码方式 带宽效率 时钟恢复 抗干扰 典型应用
NRZ 一般 UART、SPI
曼彻斯特 低(50%) 10BASE-T、RFID
NRZI 中等 较好 USB

六、知识体系结构图

下面这张图,是我梳理的物理层知识体系。你可以把它当作学习地图。

物理层知识体系结构 物理层 机械特性(接口定义) 电气特性(电压/信号) 编码方式(比特→信号) RS-232 USB HDMI 以太网 NRZ编码 曼彻斯特编码 NRZI编码 8B/10B编码 单端信号/±15V 差分信号/3.3V TMDS差分/高速 差分/MLT-3 核心:接口标准 + 编码方式 = 物理层通信能力 选择接口时,先看距离、速率、抗干扰要求

七、实战经验总结

做了这么多年项目,我总结了几条物理层设计的铁律:

  1. 先看距离,再选接口——1米以内用USB,10米以内用RS-232,100米以内用RS-485,再远就上光纤。
  2. 编码方式决定可靠性——NRZ简单但时钟恢复差,曼彻斯特可靠但带宽减半。没有银弹,只有取舍。
  3. 差分信号比单端信号抗干扰——同样的距离,差分信号能跑更高的速率。所以USB、HDMI、以太网都用差分。
  4. 线缆质量决定上限——再好的协议,用劣质线也是白搭。我见过太多「信号不好」的问题,换根好线就解决了。

最后说一句:物理层是通信的根基。你上层协议写得再漂亮,物理层设计不合理,信号传不过去,一切都是空谈。做系统设计时,先把物理层想清楚,再往上堆协议栈。

交易系统化学习资料 微信Strategy888888