通信协议与接口
一句话总览:本部分覆盖硬件工程师常用的全部板级/系统级互连技术——从最基础的串并行、单双工、同步异步等概念,到 UART / I2C / SPI 三大板级总线,RS232 / RS422 / RS485 / CAN 等工业与车载总线,再到 USB、PCIe、网口(MII 家族)、SD 卡、HDMI、VGA 等高速与多媒体接口,以及 JTAG / SWD 调试接口、SFP 光模块、OSI 网络模型和 DDR 内存接口。核心学习方法是:每种接口都抓住"几根线、什么电平、同步还是异步、能跑多快多远"这几个维度。
第一部分 基础知识
1. 基本概念
1.1 串行通信与并行通信
- 串行:数据逐位(一位接一位)传输。传输线少、长距离成本低,但数据传送的控制较复杂。按数据同步方式可分为同步串行和异步串行。
- 并行:多位数据同时传输。控制简单、速度快,但长距离传输时硬件成本高。
补充:串行好比"单车道排队过",并行好比"多车道并排过"。并行看似快,但线多时信号之间容易互相干扰(串扰)且难以对齐,所以现代高速接口(PCIe、USB、SATA)反而都用串行。
1.2 单工、半双工、全双工
| 方式 | 说明 | 通信线路 | 例子 |
|---|---|---|---|
| 单工 | 数据只能沿一个方向传输 | 一条 | 广播 |
| 半双工 | 可双向,但需分时进行 | 一条 | 对讲机、RS485、I2C |
| 全双工 | 可同时双向传输 | 两条 | UART、SPI、RS422 |
1.3 同步与异步
- 同步通信:双方使用频率一致的时钟,在时钟信号作用下收发(如 I2C、SPI 带时钟线)。
- 异步通信:收发双方各自有自己的时钟,需事先约定数据位、停止位、校验位、波特率等(如 UART)。
1.4 差分
两根信号线上的信号振幅相同、相位相反,它们的电势差构成差分信号。
补充:差分抗干扰的原理——外界干扰同时加到两根线上(共模干扰),接收端只看"差值",干扰被抵消。这是 RS485、CAN、USB、PCIe 等抗干扰能力强的根本原因。
1.5 比特率、波特率、传输速率
- 比特率:每秒传输的二进制位数,单位 bps。1 字节(Byte)= 8 比特(bit)。
- 波特率:每秒传输的码元个数,单位 Baud。波特即调制速率,指单位时间内载波调制状态变化的次数;一个码元符号(传输单元)上可以负载多个 bit 信息。
- 关系:
比特率 = 波特率 × 单个调制状态对应的二进制位数
Rbit = Rbaud × log2(M)
Rbit:比特率;Rbaud:波特率;M:信号的编码级数(一个码元能表示的状态数)。- 举例:若一个码元能表示 4 种状态(M=4),则每个码元携带 log2(4)=2 bit,比特率是波特率的 2 倍。
2. UART

全双工、异步通信,两根线:发送(TX)与接收(RX)。
2.1 通信过程
空闲时为高电平 → 拉低表示起始位 → 接着 8 个数据位 → 校验位 → 拉高表示停止位 → 回到空闲状态,等待下一次传输。
- 起始位:先发逻辑 0,表示传输开始;
- 数据位:支持 4/5/6/7/8 位等,双方需事先约定;
- 校验位:奇偶校验;
- 停止位:一个字符的结束标志。
2.2 特点
- 传输距离:抗干扰能力差、通信距离短;
- 时序:总线空闲时信号线为 1(高电平);
- 波特率:表示每秒传输二进制数据的位数。
3. I2C(IIC)

串行、半双工、近距离、一主多从,可挂多个从设备,扩展性好。两条线:SDA(串行数据线)+ SCL(串行时钟线)。总线空闲时 SCL 和 SDA 由上拉电阻拉高,保持高电平。
3.1 速率
| 模式 | 速率 |
|---|---|
| 标准模式 | 100 kbit/s |
| 快速模式 | 400 kbit/s |
| 高速模式 | 3.4 Mbit/s |
单位换算备注:小写 b = bit,大写 B = Byte;Mbps 与 MB/s 换算比例为 8:1,即 1 Mbps = 0.125 MB/s,1 MB/s = 8 Mbps。
3.2 起始与终止信号
- 在 SCL 为高期间:SDA 由高到低 → 起始信号;SDA 由低到高 → 终止信号。
- ACK(从机应答):拉低代表收到数据。
3.3 通信时序
主设备发起始信号 → 发送从设备地址 → 根据从机应答判断从设备是否存在 → 存在则发送/接收数据,每字节后跟应答 → 结束时主设备发停止信号。
写时序:START → DeviceID(从器件地址 8 bit)→ ACK → W_ADDR(寄存器地址 8 bit)→ ACK → W_DATA(写数据 8 bit)→ ACK → STOP。
读时序:START → DeviceID(8 bit)→ ACK → R_ADDR(寄存器地址 8 bit)→ ACK → 重复 START → DeviceID(8 bit)→ ACK → R_DATA(读数据 8 bit)→ NACK(主机不应答)→ STOP。
补充:读时序中第二次 START 称为"重复起始(Repeated Start)",用于在不释放总线的情况下切换传输方向;主机最后回 NACK 是告诉从机"我读完了"。
3.4 特点
- I2C 需要输出高电平的能力:开漏输出本身无法输出高电平,必须在漏极接上拉电阻,才能实现"线与"功能。
- 总线具有"与"逻辑功能:只要有一个设备发低电平,总线就是低电平;所有设备都发高电平(实为释放总线)时,总线才是高电平。
4. SPI
高速、全双工、同步通信总线,一个主设备 + 一个或多个从设备。四根线:
- MOSI:主设备数据输出(从设备输入);
- MISO:主设备数据输入(从设备输出);
- SCLK:时钟;
- CS/SS:片选。
时钟极性(CPOL)与时钟相位(CPHA)组合出 4 种工作模式。
4.1 通信过程
主设备将 CS/SS 拉低启动通信 → 主设备发送时钟信号通知从设备读/写 → 数据在时钟的上升沿或下降沿被采样(取决于模式),每沿得到 1 bit → 主从两个移位寄存器中的内容被交换。
- CPOL(时钟极性):空闲时时钟是高电平还是低电平;
- CPHA(时钟相位):在时钟的第几个边沿采样数据。
例:CPOL=0、CPHA=0 时,SCK 空闲为低电平,数据在 SCK 上升沿被采样、下降沿发送。
4.2 特点
- SPI 信号线上常串几十欧姆电阻,作用:① 阻抗匹配(信号源阻抗低,串联电阻改善匹配、减少反射);② SPI 速率高,串阻与线上电容、负载电容构成 RC,减缓信号边沿陡峭程度;③ 调试方便。
- 比 I2C 快,速度可达几 Mbps。
5. RS232

串口通信接口,全双工,3 线:一根接收、一根发送、一根地线。
5.1 特性
- 一对一(点对点)通信;
- 速率低:约 20 Kbps 时传输约 15 m(速率与距离成反比);
- 最大传输距离:标称最大 50 m,实际约 15 m;
- 缺点:单端传输,受共模干扰、抗噪能力弱,所以传输速率低、距离短。
5.2 电平标准(负逻辑)
- 逻辑 1:−3 ~ −15 V;
- 逻辑 0:+3 ~ +15 V;
- −5 V ~ +5 V 为不稳定区。
补充:RS232 电平和单片机 TTL 电平(0/3.3 V 或 0/5 V)既不兼容且逻辑相反(负逻辑),所以必须加电平转换芯片。
5.3 电路
- 转换芯片:5 V 供电用 MAX232 / SP232;3.3 V 供电用 MAX3232 / SP3232。
- RS232 转换电路主要就是 4 个(或 5 个)电容组成的电荷泵电路。
6. RS422
全双工,4 线(两发两收)。
6.1 特性
- 点对多点,最多 10 个接收节点;
- 最大传输速率:10 Mbps(短距 15 m 时);
- 最大传输距离:约 1200 m(此时约 100 Kbps);
- 差分信号,抗噪能力强。
6.2 电平标准(正逻辑,与 RS485 相同)
- 逻辑 1:输出 A、B 间电压差 +2 ~ +6 V;接收端 A−B 电压差 > +200 mV 即判为 1;
- 逻辑 0:输出 A、B 间电压差 −6 ~ −2 V;接收端 A−B 电压差 < −200 mV 即判为 0。
7. RS485
半双工,2 线(一对双绞线,常称 AB 线)。
7.1 特性
- 点对多点,最多 32 个节点;
- 最大传输速率:10 Mbps(短距 15 m 时);
- 最大传输距离:约 3000 m;
- 差分信号,抗噪能力强。
- 使用技巧:若要用 RS485 通信,只需在 RS232 端口上接 RS232 转 RS485 转换头即可,无需修改程序。
7.2 电平标准
与 RS422 相同:逻辑 1 为 A−B = +2 ~ +6 V(接收门限 > +200 mV);逻辑 0 为 A−B = −6 ~ −2 V(接收门限 < −200 mV)。
7.3 转换芯片
SP3485,实现 RS485 电平与 TTL 电平转换。
RS232 / RS422 / RS485 对比总表
| 项目 | RS232 | RS422 | RS485 |
|---|---|---|---|
| 线数 | 3(RX/TX/GND) | 4 | 2 |
| 双工 | 全双工 | 全双工 | 半双工 |
| 信号方式 | 单端 | 差分 | 差分 |
| 挂站能力 | 点对点 | 最多 10 节点 | 最多 32 节点 |
| 最大速率 | ~20 Kbps | 10 Mbps | 10 Mbps |
| 最大距离 | 标称 50 m(实际 15 m) | ~1200 m | ~3000 m |
| 逻辑 1 | −3 ~ −15 V | A−B = +2 ~ +6 V | A−B = +2 ~ +6 V |
| 逻辑 0 | +3 ~ +15 V | A−B = −6 ~ −2 V | A−B = −6 ~ −2 V |
8. CAN 通信



CAN(Controller Area Network,控制器局域网),异步、半双工。汽车电气部分普遍采用 CAN 总线通信。
- 低速 CAN(ISO 11519-2 标准):10 ~ 125 kbps,总线长度可达 1000 m,开环总线结构;
- 高速 CAN(ISO 11898 标准,即经典 CAN):125 Kbps ~ 1 Mbps,总线长度 ≤ 40 m,闭环总线结构(闭环指两端有终端电阻)。
8.1 原理
- 每个部分的多个器件挂在同一条 CAN 总线上(同一条 CAN 总线上的所有器件通信速率必须相同),各部分再汇集到网关,由网关在不同速率的部分之间分配转发。
- CAN 组成有两种方式:① CPU 与 CAN 控制器集成,再外接 CAN 收发器;② CPU 与 CAN 控制器分离,使用时需配置 CAN 接口电路。STM32 就是片内集成 CAN 控制器、外接 CAN 收发器。
- CAN 收发器的作用:TTL 电平(单片机引脚直接提供的电平)与差分电压信号相互转换。
8.2 逻辑电平(差分判断)
CAN_H − CAN_L < 0.5 V:隐性电平,表现为逻辑 1(高电平);CAN_H − CAN_L > 0.9 V:显性电平,表现为逻辑 0(低电平);- 没有数据发送或发送隐性位时,两条线的电平相同,都为 2.5 V。
补充:"显性/隐性"类似于"线与":任何节点发显性位(0)都会覆盖隐性位(1),这是 CAN 总线仲裁的基础——ID 越小(前面 0 越多)优先级越高。
8.3 通信过程
CAN 控制器把 CPU 传来的信号转换为逻辑电平(逻辑 0 = 显性、逻辑 1 = 隐性)→ CAN 收发器再把逻辑电平转为差分电平输出到总线。
总线空闲时任意节点都可发送信息,最先发送的节点获得发送权;多个节点同时发送时,优先级(ID 小者)高的节点获得发送权。
发送的数据包含数据本身、ID 信息和控制指令,称为数据包(数据帧)。数据帧以一个显性位(逻辑 0)开始,以 7 个连续隐性位(逻辑 1)结束,帧内分为仲裁段、控制段、数据段、CRC 段和 ACK 段。
8.4 位同步时序
CAN 没有时钟信号线,采用位同步时序。每个数据帧可看作一连串电平信号,每个电平代表一位;发送单元异步发送的每秒位数称为位速率。
一位分为 4 段:同步段(SS)、传播时间段(PTS)、相位缓冲段 1(PBS1)、相位缓冲段 2(PBS2)。
补充:接收方通过 SS 段对齐每一位的边沿,用 PTS 补偿信号在总线上的物理传播延迟,用 PBS1/PBS2 的伸长缩短来吸收收发双方的时钟误差——这就是没有时钟线也能同步的秘密。
9. USB
USB = Universal Serial Bus(通用串行总线)。发展路线:1.0 → 1.1 → 2.0 → 3.0 → 3.1 → 3.2 → 4。
9.1 各版本速率
| 版本 | 名称 | 最大速率 | 供电电流 |
|---|---|---|---|
| USB 1.0 | Low Speed 低速 | 1.5 Mbps | 0.5 A |
| USB 1.1 | Full Speed 全速 | 12 Mbps | 0.5 A |
| USB 2.0 | High Speed 高速 | 480 Mbps(≈60 MB/s) | 0.5 A |
| USB 3.0 | Super Speed | 5 Gbps(≈500 MB/s),接口用蓝色 | 0.9 A |
9.2 接口类型
- Type 类型:普通大小的硬件直接叫 Type,分 Type A、Type B、Type C 三种;
- Mini 类型:小型版本(迷你);
- Micro 类型:更小的版本(微小)。
9.3 引脚定义
USB 2.0(4 条线):VBUS(+5 V 供电)、GND、差分数据 D+、差分数据 D−。D+ 比 D− 大 200 mV 时为 1,小 200 mV 时为 0;使用半双工差分信号。
USB 3.0 Type-A(9 个引脚,向下兼容 2.0):VBUS、USB 2.0 差分对、电源 GND、信号地、以及两对全双工高速差分线 StdA_SSRX−/+(收)、StdA_SSTX−/+(发)。
Type-C(24 个引脚):
| 引脚 | 功能 |
|---|---|
| VBUS | 电源 |
| TXn+/TXn−、RXn+/RXn− | USB 3.0/3.1 高速数据线 |
| D+/D− | USB 2.0 数据线 |
| CC | 逻辑功能识别及配置管脚:识别 Device/Host/Dual Role 角色、识别正反插、识别是否支持 PD 快充;两根 CC 用于正反插检测和充电功率控制 |
| VCONN | 两根 CC 中一根传输信号,另一根变为 VCONN 供电(3.3 V 或 5 V),给线缆内的芯片供电 |
| SBU1/2 | 辅助信号,DP(DisplayPort)模式下的 AUX 协议信号 |
9.4 布线
- USB 差分阻抗控制:USB 2.0 / USB 3.0 均为 90 Ω(±10%),对内等长误差 5 mil;
- 全双工信号需要 AC 耦合电容,一般取 100 nF。USB 3.0 连接关系:Host 的 RX 接 Device 的 TX,Host 的 TX 接 Device 的 RX。
9.5 传输速率单位
小写 b 代表 bit,大写 B 代表 Byte。Mbps(= Mbit/s)是每秒传输的比特数,MB/s 是每秒传输的字节数。1 字节 = 8 比特,故 1 MB/s = 8 Mbps,1 Mbps = 0.125 MB/s。
10. PCIe

10.1 PCI 与 PCIe 的关系
PCI 是高速计算机扩展总线标准(并行数据传输、总线式连接);PCIe 是点对点连接方式,使用高速差分总线、端到端连接,每条 PCIe 链路只能连接两个设备,采用串行数据传输。两者拓扑结构完全不同。
10.2 PCIe 概述
- PCIe 总线是连接外部设备的线路;PCIe 通道(Lane)是总线的组成部分,一条总线包含一条或多条 Lane,一条 Lane 就是 ×1;
- PCIe 卡是具有 PCIe 接口的扩展卡,用于主板级连接。
10.3 特性
- 点对点:高速差分总线端到端连接,差分信号可匹配更高时钟频率、抗干扰;
- 双向(双单工):"单工"指物理连接上的单向通信,"双"指收、发两个方向各一条单向通道;
- 最多 32 条通道,不需要全部吞吐量时可只用部分通道;
- 向后兼容之前的 PCIe 版本;
- 7 种规格:×1、×2、×4、×8、×12、×16、×32。
10.4 PCIe 拓扑结构
- Root Complex(RC,根桥):PCIe 最重要的部件,是 CPU 与总线的直接接口,负责 PCIe 报文的解析和生成——接受 CPU 的 IO 指令生成 PCIe 报文,或接受设备的 PCIe TLP 报文解析后传给 CPU / 内存;
- Switch:转接器,用于扩展 PCIe 总线、挂载更多设备,起数据包路由作用;
- Endpoint(EP,终端设备):树形结构的叶子节点,如网卡、NVMe 卡、显卡;
- Bridge(桥):提供转换接口连接其他总线(如 PCI/PCI-X),让旧 PCI 设备能接入 PCIe 系统;
- 内存很重要,CPU 一般与内存直接直连。
10.5 PCIe 速度
| 版本 | 编码 | 传输速率 | ×1 吞吐 | ×4 | ×8 | ×16 |
|---|---|---|---|---|---|---|
| 1.0 | 8b/10b | 2.5 GT/s | 250 MB/s | 1 GB/s | 2 GB/s | 4 GB/s |
| 2.0 | 8b/10b | 5 GT/s | 500 MB/s | 2 GB/s | 4 GB/s | 8 GB/s |
| 3.0 | 128b/130b | 8 GT/s | 984.6 MB/s | 3.938 GB/s | 7.877 GB/s | 15.754 GB/s |
| 4.0 | 128b/130b | 16 GT/s | 1.969 GB/s | 7.877 GB/s | 15.754 GB/s | 31.508 GB/s |
| 5.0 | 128b/130b | 32 GT/s | 3.9 GB/s | 15.8 GB/s | 31.5 GB/s | 63 GB/s |
- GT/s(Giga Transfers per Second,千兆传输/秒):每秒传输的次数,描述物理层链路上传输的原始数据速率(单 Lane 峰值带宽);
- Gbps(Giga Bits Per Second):描述链路上传输的有效数据;
- GT/s 与 Gbps 之间没有固定比例换算关系(差在编码开销)。PCIe 总线带宽按 Lane 数计算,最短为 ×1。
10.6 编码方式
吞吐量 = 传输速率 × 编码方案
- PCIe 3.0 支持 8.0 GT/s,即每条 Lane 每秒传 8 G 个符号;物理层用 128b/130b 编码:每传 128 bit 有效数据需发送 130 bit。
- 所以每条 Lane 有效速率 = 8 × 128/130 = 7.877 Gbps = 984.6 MB/s。
补充:8b/10b 编码每 8 bit 数据发 10 bit(开销 20%),作用是保证信号有足够的电平跳变以恢复时钟、维持直流平衡;128b/130b 把开销降到约 1.5%。
10.7 接口类型
- 金手指(Gold Finger,Add-in 卡边缘连接器):主要作用是连接;
- PCIe socket 插槽。
10.8 管脚
-
电源:+12 V(5 个)、+3.3 V(3 个)、3.3 VAUX(1 个)。按功耗不同 PCIe 卡分 10 W / 25 W / 75 W 几档,直接通过金手指供电:
- +12 V 主要给大功率 PCIe 设备(如显卡)提供更强供电能力;
- Vcc 3.3 V 为主电源,设备主要逻辑模块用 VCC 供电;
- 电源管理相关逻辑和寄存器用 Vaux(辅助电源)供电。
-
PRSNT1# / PRSNT2#:热插拔检测信号。Add-in 卡中两信号直接相连;主板上 PRSNT1# 接地、PRSNT2# 上拉为高。卡插入时主板 PRSNT2# 通过卡上的连线被拉低,热插拔控制逻辑捕获到这个低电平即得知卡已插入。这两个信号的金手指长度是其他信号的一半(短针设计,保证插入时最后接通、拔出时最先断开)。
-
PERST#:全局复位信号,由处理器系统提供。
-
TRST#:测试复位。
-
REFCLK+ / REFCLK−:100 MHz 参考时钟(差分),给 PCIe 提供时钟,差分电压约 0.3 ~ 0.45 V。
-
WAKE#:设备休眠时通过它向处理器系统提交唤醒请求,恢复主电源供电。可选信号,用 Vaux 供电。
-
SMCLK / SMDAT:与 x86 处理器的 SMBus 相关,用于设备与处理器系统交互。可选。
-
JTAG 信号:TCK、TDI、TDO、TMS 组成。可选。
-
CLKREQ#:开漏(open-drain)管脚,用于请求运行时钟 / 关闭参考时钟。
10.9 电路布局
- 注意:金手指卡与插槽两个原理图的收发定义不一样——金手指(Add-in 卡)侧 B 面对应 RX、A 面对应 TX;插槽侧 B 面对应 TX、A 面对应 RX。PRSNT1、PRSNT2、PRSNT3 等需加 0 Ω 电阻串在一起;插槽侧 PRSNT1 接地,PRSNT2、PRSNT3 及其他接 FPGA。
- PCIe 总线采用交流耦合传输,耦合电容一般靠近 TX 发送端放置;PCIe 1.0 / 2.0 用 100 nF。
- PCIe 接口的收发信号直接与 FPGA BANK115、BANK116 的 GTX 收发器相连。
11. 网口(以太网接口)



网口部分是 MAC 层与 PHY 芯片之间的传输标准家族。
11.1 MDIO 协议(SMI 协议)
一根 MDC 时钟线 + 一根 MDIO 双向数据线。MDIO 用于连接主设备与多个 PHY 设备,通过 MDIO 传输(配置/状态)数据。
补充:MDIO 走"管理通道",MII 家族走"数据通道"——MDIO 负责读写 PHY 寄存器(速率、双工、自协商状态),不负责传网络数据。
11.2 ~ 11.7 MII 家族对比
| 接口 | 全称/说明 | 数据位宽 | 时钟 | 速率计算 | 主要引脚 |
|---|---|---|---|---|---|
| MII | Medium Independent Interface,媒体独立接口,基本的 100/10 Mbps 接口,16 根线 | 4 bit | 25 MHz / 2.5 MHz | 100 Mbps = 25 MHz × 4 bit;10 Mbps = 2.5 MHz × 4 bit | RXD[3:0]、TXD[3:0]、TX_ER、TX_EN、RX_ER、RX_DV、TX_CLK、RX_CLK、CRS、COL |
| RMII | MII 精简版,提升时钟频率保持同样速率 | 2 bit | 50 MHz | 100 Mbps = 50 MHz × 2 bit;10 Mbps = 50 MHz/10 × 2 bit(10 个周期采样一次) | TXD[1:0]、RXD[1:0]、TX_EN、RX_ER、CLK_REF、CRS_DV |
| SMII | 串行 MII,进一步提升时钟频率 | 1 bit | 125 MHz | 一帧 = 10 bit(8 bit 数据 + 2 bit 控制);100 Mbps = 125 MHz × 8/10;10 Mbps = 12.5 MHz × 8/10 | TXD[0]、RXD[0]、SYNC、CLK_REF |
| GMII | 千兆 MII,提升位宽与时钟 | 8 bit | 125 MHz | 1000 Mbps = 125 MHz × 8 bit | TXD[7:0]、RXD[7:0]、TX_ER、TX_EN、RX_ER、RX_DV、GTX_CLK、RX_CLK、CRS、COL |
| RGMII | GMII 简化版,双沿采样 | 4 bit | 125 MHz | 上升沿传 0 | TXD[3:0]、RXD[3:0]、TX_EN(TXCTL)、RX_DV(RXCTL)、TX_CLK、RX_CLK、CRS、COL |
| SGMII | 串行 GMII,靠提升频率到千兆 | 1 bit | 1250 MHz | 一帧 = 10 bit(8 bit 数据 + 2 bit 控制);1000 Mbps = 1250 MHz × 8/10 | TXD[0]、RXD[0]、RX_CLK |
引脚含义备注:
- TX_ER 发送数据错误提示;TX_EN 发送使能;RX_ER 接收数据错误提示;RX_DV 接收数据有效;
- TX_CLK / RX_CLK 参考时钟;CRS 载波侦测、COL 冲突检测(两者一般只在半双工模式使用,通常用不着);
- 计算有效带宽时要减去控制位开销(SMII/SGMII 乘 8/10)。
补充:MII 家族的演进规律就两条路——要么减少引脚(提高时钟或改用双沿采样:RMII、RGMII),要么干脆串行化(SMII、SGMII),目的都是省引脚、省 PCB 面积。
11.8 MAC 与 PHY
网口系统组成:MAC 控制器、PHY 芯片、网络变压器、RJ45 接头,有的系统还有 DMA 控制器。
一般系统中 CPU、MAC、DMA 控制器集成在一块芯片上;PHY 包含大量模拟器件,MAC 是典型的数字电路,所以通常 MAC 集成进 CPU、PHY 留在片外。为节省空间简化设计,很多网口变压器和 RJ45 接头集成在一起(带变压器的 RJ45)。
11.9 RJ45
RJ45 是布线系统中信息插座(通信引出端)连接器的一种,由插头(水晶头)和插座(模块)组成;RJ = Registered Jack(注册的插座)。
以太网只使用 1、2、3、6 四根线:1、2 负责发送(TX+、TX−),3、6 负责接收(RX+、RX−),另外四根备用。
11.10 网口信号灯
网口一般两个灯:连接状态灯 Link、数据传输灯 ACT。正常工作情况下:
- Link 灯绿色长亮;不亮表示未连接成功;
- ACT 灯黄色并不停闪烁;不亮或不闪表示无信号传输。
12. SD 卡
12.1 概念
SD 卡(Secure Digital Memory Card)是基于半导体快闪存储器的新一代存储设备,体积小、传输快、支持热插拔。常用于存储芯片的 BOOT 程序、Linux 内核、文件系统及其他用户数据。
按尺寸分三类:标准 SD 卡、Mini SD 卡、Micro SD 卡(常用,即 TF 卡)。
12.2 引脚功能(SD 模式 / SPI 模式)
| 引脚 | 名称 | SD 模式功能 | SPI 模式功能 |
|---|---|---|---|
| 1 | DAT3/CS | 数据线 3 | 片选(SS) |
| 2 | CMD/DI | 命令线 | 主出从入(MOSI) |
| 3 | VSS1 | 电源地 | 电源地 |
| 4 | VDD | 电源 | 电源 |
| 5 | CLK | 时钟 | 时钟(SCK) |
| 6 | VSS2 | 电源地 | 电源地 |
| 7 | DAT0/DO | 数据线 0 | 主入从出(MISO) |
| 8 | DAT1/IRQ | 数据线 1 | 保留 |
| 9 | DAT2/NC | 数据线 2 | 保留 |
12.3 特性
- 标准 SD 卡 2.0 版本工作时钟可达 50 MHz:SDIO 模式 4 位数据位宽,理论速率 200 Mbps(50 M × 4 bit);SPI 模式 1 位数据位宽,理论 50 Mbps。因此 SDIO 模式传输更快。
- 硬件设计注意加静电器件(ESD),以及 IO 电平匹配。
13. HDMI

13.1 概念
HDMI = High Definition Multimedia Interface(高清多媒体接口)。同时传输视频和音频,简化设备接口和连线;提供更高带宽,可传输无压缩数字音频和高分辨率视频。
13.2 分类(按接口形状)
- HDMI A TYPE:标准 HDMI 接口(重点掌握);
- HDMI C TYPE:Mini HDMI;
- HDMI D TYPE:Micro HDMI。
13.3 原理
HDMI 显示原理主要是 TMDS(Transition Minimized Differential Signaling,最小化传输差分信号)。
HDMI 组成:4 对 TMDS 差分对(1 对时钟 + 3 对数据)+ DDC(I²C)+ HPD + CEC。
- CEC:消费电子控制通道,可通过它控制设备(如电视遥控联动机顶盒);
- DDC(Display Data Channel,显示数据通道):本质是 I²C 信号,用于获取显示器基本信息(如 EDID),实质是实现一个 IIC 设备驱动;
- HPD:热插拔检测信号,很重要——HPD 引脚大于 2 V 时 TMDS 才会输出。屏幕不显示时首先要测量该信号。
13.4 引脚定义
围绕 4 对 TMDS 差分对 + DDC + HPD + CEC 展开(标准 A 型 19 针)。
13.5 电路设计
- IO 口电平匹配(5 V 与 3.3 V 电平转换),HDMI 供电电压是 5 V;
- HDMI 接口会被人手接触,需加 ESD 保护器件;注意有些 ESD 器件内部是串联结构的,TMDS 信号要接专用的 ESD 保护器件。
14. VGA


14.1 概念
VGA(Video Graphic Array,视频图形阵列)是使用模拟信号的视频传输标准。一般在超过 1280×1024 分辨率后会出现明显失真、字迹模糊。VGA 把视频信号分解为 R、G、B 三原色和 H/V 行场信号传输,传输损耗相当小。
14.2 时序
- 行时序:同步脉冲(Sync)、显示后沿(Back porch)、显示时段(Display interval)、显示前沿(Front porch);
- 帧时序:同样由同步脉冲、后沿、显示时段、前沿四段组成。
补充:前/后沿和合称"消隐期",是留给电子束(或时序切换)回扫的时间——VGA 时序源自 CRT 时代。
14.3 管脚定义(15 针,3 排 × 5 孔)
关键引脚:1(RED)、2(GREEN)、3(BLUE)为 0~0.714 V 模拟信号;13(HSYNC 行同步)、14(VSYNC 场同步)为数字信号,分别表示传一行、传一帧的时序。
| 引脚 | 名称 | 描述 | 引脚 | 名称 | 描述 |
|---|---|---|---|---|---|
| 1 | RED | 红色 | 9 | KEY | 预留 |
| 2 | GREEN | 绿色 | 10 | GND | 场同步地 |
| 3 | BLUE | 蓝色 | 11 | ID0 | 地址码 0 |
| 4 | ID2 | 地址码 2 | 12 | ID1/SDA | 地址码 1/数据 |
| 5 | GND | 行同步地 | 13 | HSYNC | 行同步 |
| 6 | RGND | 红色地 | 14 | VSYNC | 场同步 |
| 7 | GGND | 绿色地 | 15 | ID3/SCL | 地址码 3/时钟 |
| 8 | BGND | 蓝色地 |
15. JTAG
JTAG(Joint Test Action Group,联合测试工作组):国际标准测试协议,主要用于芯片内部测试、验证设计与测试生产出的印刷电路板。
15.1 接口
- 特殊的 4/5 个接脚接口连到芯片。电路板上多个芯片的 JTAG 接脚可以用 Daisy Chain(菊花链) 方式串在一起,只用一个 JTAG 端口就能访问板上所有集成电路。
- CPU 和 FPGA 厂商允许用 JTAG 端口 debug;FPGA 厂商允许通过 JTAG 配置 FPGA(把 JTAG 信号通入 FPGA 核)。
连接引脚:
| 引脚 | 功能 |
|---|---|
| TCK | 测试时钟输入 |
| TDI | 测试数据输入(数据经 TDI 进入 JTAG 接口) |
| TDO | 测试数据输出 |
| TMS | 测试模式选择,设置 JTAG 处于某种特定测试模式 |
| TRST | 测试复位(可选),输入引脚,低电平有效 |
15.2 注意事项(上下拉)
- TDI、TMS 是输入,要上拉:未接下载线时给一个确定电平,同时提高信号建立速度;
- TDO 是输出,不用拉;
- TCK 是输入但要下拉:TCK 为时钟且上升沿有效,下拉使 TCK 初值为 0,保证初值后的第一个边沿是上升沿,避免上跳脉冲干扰(JTAG 正是以 TCK 上升沿向 FPGA 内部写配置数据的)。
16. SWD
16.1 概念
SWD = Serial Wire Debug(串行线调试),是 ARM 设计的协议,用于对 ARM 微控制器编程和调试。
- 大多数单片机的 JTAG 接口和 SWD 接口引脚复用;SWD 也用 J-Link 工具实现;
- JTAG 不限于 ARM 芯片,SWD 仅用于 ARM;JTAG 的稳定性和速度更快一些,SWD 胜在省引脚。
16.2 引脚定义
- SWDIO:串行数据输入输出引脚;
- SWCLK:串行线时钟引脚;
- GND:地;VCC:电源。
16.3 注意
SWD_DIO 上拉 10 kΩ 电阻,SWD_SCK 下拉 10 kΩ 电阻,保证信号稳定。
17. SFP 光模块(原文写作 SPF)
光模块(Optical Module)一般指光收发一体模块,实现光电转换(光↔电互相转换)。
17.1 组成
- 发射端:驱动芯片处理原始电信号,驱动半导体激光器(LD)或发光二极管(LED)发射调制光信号;
- 接收端:光信号由光探测二极管转换为电信号,经前置放大器后输出;
- 具体包括:光接收模块、光发送模块、光收发一体模块、光转发模块等。
17.2 引脚(20 脚)
| Pin | 名称 | 功能 |
|---|---|---|
| 1 | VeeT | 发射部分地 |
| 2 | TX Fault | 发射报错,开漏需上拉;激光器失效为高电平,正常工作为低电平(< 0.8 V) |
| 3 | TX Disable | 关断发射,高电平或悬空时关断(上拉),低电平正常工作 |
| 4 | MOD-DEF2 | 模块定义脚,I2C 通信数据线,上拉 |
| 5 | MOD-DEF1 | 模块定义脚,I2C 通信时钟线,上拉 |
| 6 | MOD-DEF0 | 模块定义脚,接地 |
| 7 | Rate Select | 速率选择 |
| 8 | LOS | 告警信号,开漏输出需上拉;输入光功率低于最差接收光功率时高电平告警(高电平 = 没收到光信号) |
| 9~11 | VeeR | 接收部分地 |
| 12 | RD− | 接收部分反向数据输出 |
| 13 | RD+ | 接收部分数据输出 |
| 14 | VeeR | 接收部分地 |
| 15 | VccR | 接收部分电源 |
| 16 | VccT | 发射部分电源 |
| 17 | VeeT | 发射部分地 |
| 18 | TD+ | 发射部分数据输入 |
| 19 | TD− | 发射部分反向数据输入 |
| 20 | VeeT | 发射部分地 |
17.3 注意事项
- VCCT 和 VCCR 分别是发射和接收部分电源,要求 3.3 V ± 5%,最大供电电流 300 mA 以上;供电滤波电感的直流阻抗应小于 1 Ω,确保 SFP 供电稳定在 3.3 V;推荐的滤波网络可保证插拔模块时浪涌小于 30 mA。
- TD−/+ 发射部分差分信号输入:交流耦合,差分线 100 Ω 输入阻抗,差分输入摆幅 500 ~ 2400 mV;RD−/+ 接收部分差分信号输出:交流耦合,100 Ω 阻抗,差分输出摆幅 370 ~ 2000 mV。
18. OSI 七层模型
18.1 OSI 与 TCP/IP
- OSI(Open System Interconnect,开放式系统互联):完整、完善的宏观参考模型(7 层);
- TCP/IP:提供点对点的连接机制,把数据的封装、定址、传输、路由和接收都标准化,更侧重互联网通信核心(5 层/4 层)。
| 层 | 名称 | 作用 | 常用协议/设备 |
|---|---|---|---|
| 7 | 应用层 | 为应用程序或用户请求提供服务:文件传输、电子邮件、文件服务 | HTTP、FTP、SMTP、POP3、TELNET、NNTP |
| 6 | 表示层 | 数据编码、格式转换、数据加密 | LPP、NBSSP |
| 5 | 会话层 | 创建、管理和维护会话,建立或解除与其他节点的联系 | SSL、TIS、LDAP、DAP |
| 4 | 传输层 | 提供端到端接口,数据通信 | TCP、UDP |
| 3 | 网络层 | 为数据包选择路由,IP 地址及路由选择 | IP、ICMP、RIP、IGMP、OSPF |
| 2 | 数据链路层 | 介质访问和链路管理,传输有地址的帧,错误检测 | 以太网、网卡、交换机、PPTP、L2TP、ARP |
| 1 | 物理层 | 管理通信设备与网络媒体间的互联互通,以二进制数据形式在物理媒体上传输 | 物理线路、光纤、中继器、集线器、双绞线 |
18.2 物理层
通过物理手段把电脑连接起来,规定网络的电气特性,负责传送 0 和 1 的电信号。
18.3 数据链路层
- 传输单元:帧(Frame);典型设备:网桥、交换机。
- 位于物理层之上,确定 0 和 1 的分组方式。
- 以太网协议:一组电信号构成一个数据包(帧),每帧分标头(Head)和数据(Data)。"标头"包含发送者、接收者、数据类型等说明项。
- MAC 地址:连入网络的设备必须有网卡接口,数据包从一块网卡传到另一块网卡,网卡地址(MAC 地址)就是收发地址。每块网卡有全球唯一的 MAC 地址,据此定位网卡和数据包路径。
- 广播:以太网向本网络(局域网)内所有计算机发送,每台计算机读取标头中的接收方 MAC 地址并与自身比对,相同则收下、否则丢弃。广播通过分组交换机或网络交换机进行。
18.4 网络层
-
广播只在发送者所在局域网内进行,而互联网由无数子网组成。为区分哪些 MAC 地址属于同一子网,网络层引入"网络地址"——IP 地址。
-
IP 协议:规定网络地址的协议。目前有 IPv4 和 IPv6 两版。IPv4 地址由 32 个二进制位组成,分四段十进制数表示,从 0.0.0.0 到 255.255.255.255。
-
子网掩码(subnet mask):判断 IP 地址网络部分的参数,也是 32 位二进制数,网络部分为 1、主机部分为 0。例如 IP 172.16.254.1 配子网掩码 11111111.11111111.11111111.00000000,即 255.255.255.0。
-
路由 / 路由器 / 网关 / 交换机:
- 路由(routing):源与目标不在同一子网时,经中间节点把信息从源地址转送到目的地址的活动;
- 路由器(Router):实现路由功能的机器,连接两个或多个网络;可通俗理解为一台配有多块网卡的专用电脑,让网卡接入不同网络;
- 网关(Gateway):路由器的一种,把网络层使用的路由器称为网关;通常说的网关就是路由器的 IP;
- 网络交换机(Network switch):扩大网络的器材,为子网提供更多连接端口。
-
LAN(Local Area Network)局域网;WAN(Wide Area Network)广域网——跨地域的网络集合,包含大大小小的子网;WLAN(Wireless LAN)无线局域网,通俗讲就是 WiFi。
-
ARP 协议:把 IP 地址与 MAC 地址的对应关系传播到局域网内每台主机和路由器;每台主机/路由器都有 ARP cache 存储该局域网内 IP↔MAC 的映射;ARP 包中包含自己的 IP 和 MAC 地址。ARP 只用于 IPv4,IPv6 用 Neighbor Discovery Protocol(邻居发现协议)替代。
18.5 传输层
-
端口号:有了 MAC 和 IP 地址就能在任意两台电脑间通信,但同一台主机上很多程序(进程)都要用网络,需要一个参数区分数据包是给哪个进程的——这就是端口号(程序的编号)。
-
传输层的功能是建立"端口到端口"(程序到程序)的通信;网络层建立的是"主机到主机"的通信。确定主机 + 端口号,就能实现程序间的交流。
-
Socket:进程间通信分两种——主机内部进程间通信,以及跨主机的网络进程间通信(socket 通信)。socket 本质是编程接口(API)。
-
UDP / TCP:都是传输层协议,主要作用是在应用层数据包标头上加端口号。
- UDP:简单、容易实现;可靠性差,数据包发出后无法知道对方是否收到;
- TCP:有确认机制——每发出一个数据包都要求确认,丢失则重发;主要确认机制是"三次握手,四次挥手"。
18.6 应用层(三合一)
应用程序收到的传输层数据五花八门,应用层的作用就是规定应用程序的数据格式(TCP/IP 模型中把会话层、表示层合并进应用层,故称三合一)。
- 用户上网设置:新电脑插上网线,填 4 个参数即可上网:① 本机 IP 地址;② 子网掩码;③ 网关 IP 地址;④ DNS 的 IP 地址。
- DNS 解析(Domain Name System,域名系统,端口 53):将域名和 IP 地址相互映射的分布式数据库。例如访问 www.google.com 时,本机先请求 DNS 服务器,DNS 服务器把域名解析成对应 IP 地址返回给本机。
19. DDR(内存接口)
19.1 SDRAM
SDRAM = 同步动态随机存取存储器:
- 同步:时钟频率与控制器(CPU/FPGA)系统时钟频率相同,命令发送与数据传输都以它为基准;
- 动态:存储阵列需要不断刷新才能保证数据不丢失;
- 随机:可以随机指定地址读写数据。
DDR(X) 都属于 SDRAM。各代电压:
| DDR1 | DDR2 | DDR3 | DDR4 | DDR5 |
|---|---|---|---|---|
| 2.5 V | 1.8 V | 1.5 V | 1.2 V | 1.1 V |
19.2 DDR3
- 衍生型号:LPDDR3(Low Power DDR3,低功耗);DDR3L(DDR3 Low Voltage,低电压)。
- 容量范围 512 MB ~ 8 GB。
- 容量计算示例:64 Mb × 16 表示 bank 地址线位宽 3、行地址线位宽 13、列地址线位宽 10、数据线位宽 16:
2^3 × 2^13 × 2^10 = 2^26 = 2^6 Mb = 64 Mb(每个 I/O 位的存储单元数)
容量 = 64 Mb × 16 = 1024 Mb = 128 MB = 1 Gbit
-
I/O 电平 1.5 V;突发长度 BL4/BL8;
-
封装:4/8 bit 芯片用 78 球 FBGA,16 bit 芯片用 96 球 FBGA。
-
预取(Prefetch)与频率关系:DDR2 用 4 bit 预取,DDR3 用 8 bit 预取——一次从存储单元预取 8 bit,在 I/O 端口上下沿触发传输,8 bit 需 4 个时钟周期完成,所以 I/O 时钟频率 = 核心频率 × 4;又因上下沿都传数据,有效数据传输率 = 核心频率 × 8。
- 时钟频率指 DDR 芯片 IO 管脚 CK/CK# 上的时钟频率;核心频率是内存阵列的工作频率。
- 例:DDR3-1600:时钟频率 800 MHz,核心频率 200 MHz,数据传输率 1600 MT/s(每秒 1600 兆次传输)。
19.3 管脚定义
电源线:
| 管脚 | 类型 | 描述 |
|---|---|---|
| VDD | Supply | 电源电压 1.5 V(±0.075 V) |
| VDDQ | Supply | DQ 电源 1.5 V(±0.075 V),为降低噪声在芯片上与 VDD 隔离 |
| VREFCA | Supply | 控制、命令、地址的参考电压 |
| VREFDQ | Supply | 数据的参考电压 |
| VSS | Supply | 地 |
| VSSQ | Supply | DQ 地(隔离降噪) |
| ZQ | Reference | 输出驱动校准的外部参考,接 240 Ω 电阻到 VSSQ |
实际应用中 VDDQ 和 VDD 常合为一个电源。参考电源 Vref 要求跟随 VDDQ 且 Vref = VDDQ/2,可用电源芯片产生,也可电阻分压得到(分压电阻 100 Ω ~ 10 kΩ 均可,须用 1% 精度)。
时钟与复位:
| 管脚 | 类型 | 描述 |
|---|---|---|
| CK、CK# | input | 差分时钟输入。所有控制和地址输入信号在 CK 上升沿与 CK# 下降沿的交叉处被采样,输出数据选通(DQS、DQS#)也以 CK/CK# 交叉点为参考 |
| RESET# | input | 复位,低有效,参考 VSS。复位期间 DDR3 关闭大部分功能,所有数据收发器关闭 |
DDR3 时钟为差分走线,一般用终端并联 100 Ω 匹配。
数据组:
| 管脚 | 类型 | 描述 |
|---|---|---|
| DQ[7:0] | I/O | 数据总线低八位,双向 |
| DQ[15:8] | I/O | 数据总线高八位,双向 |
| DM、LDM、UDM | Input | 数据掩码:写期间 DM 被采样为高时输入数据被屏蔽;LDM 对应低八位 |
地址、控制、命令:
| 管脚 | 类型 | 描述 |
|---|---|---|
| CKE | input | 时钟使能,高电平启动内部时钟 |
| CS# | input | 片选,低启用、高禁用 |
| BA[2:0] | input | Bank 地址输入 |
| A[15:0] | input | 地址输入 |
| ODT | input | 片上终端使能:是否启用 DDR3 内部终端(端接)电阻,高启用、低禁用 |
| RAS#、CAS#、WE# | input | 控制命令:行地址选通、列地址选通、写使能 |
| LDQS/LDQS#、UDQS/UDQS# | I/O | 数据选通信号 |
FPGA 侧 IO 布线注意:同一组内 DQS 和 DM 不要交换管脚;DQ 可以交换;地址线可以交换;特殊管脚(时钟、差分等)不要交换(主要考虑布线趋势)。
第二部分 面试高频问答(附答案)
Q1. 波特率和比特率概念
- 比特率:每秒传输的二进制位数(比特数),单位 bps;
- 波特率:每秒传输的码元个数,单位 Baud;
- 关系:比特率 = 波特率 × log2(M),M 为一个码元能表示的状态数。
Q2. 为什么 UART 的传输需要起始位
UART 没有控制线(时钟线),只有一根数据线,接收方无法知道数据什么时候开始。所以发送数据之前先发一位逻辑 0 作为起始标志;接收方在空闲(高电平)时检测到低电平,就知道开始逐位接收数据。
Q3. 串口异步通信的字符帧格式由哪几部分组成
起始位、数据位、奇偶校验位、停止位四部分。
Q4. I2C 上拉电阻的作用
I2C 是开漏输出(只能输出低电平、不能输出高电平),需要上拉电阻使其能输出高电平。SDA、SCL 两条总线上的器件输出级必须是漏极开路,并通过上拉电阻接电源,才能实现"线与"功能;总线空闲时两线都为高电平。上拉阻值过大会使输出信号上升时间变慢;同时上拉保证总线信号处于稳定状态,避免干扰和误判。
Q5. 为什么 IIC 需要漏极开路
- 防短路:若设为推挽输出,多个设备共用一条总线时,一个设备 IO 输出高电平、另一个输出低电平,两个 IO 间相当于 VCC 与 GND 直接短路,会烧坏器件;
- 实现"线与"判断总线占用:多个开漏输出脚连在一条线上形成"与逻辑"——任意一个设备拉低,总线即为 0。
Q6. 什么是"线与"逻辑?实现它对硬件有什么要求
将两个门电路的输出端并联实现"与"逻辑功能,称为线与。硬件要求:必须用 OC 门(集电极开路)/ OD 门(漏极开路) 实现,并在输出端加上拉电阻。若不用 OC 门,可能因灌电流过大烧坏逻辑门。
Q7. SPI 的工作流程
主设备将 CS/SS 拉低启动通信 → 发送时钟信号告诉从设备读/写 → 数据在时钟上升沿或下降沿被采样(取决于四种模式),每沿得 1 bit → 主从两个移位寄存器内容交换。注意数据传输要先约定高位在先(MSB)还是低位在先(LSB)。
Q8. SPI 的几种工作模式
由 CPOL(时钟极性,空闲时 SCLK 电平)和 CPHA(时钟相位,第几个边沿采样)组合出四种:
| 模式 | CPOL | CPHA | 空闲电平 | 采样边沿 | 发送边沿 |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 低 | 第 1 个边沿(上升沿) | 下降沿 |
| 1 | 0 | 1 | 低 | 第 2 个边沿(下降沿) | 上升沿 |
| 2 | 1 | 0 | 高 | 第 1 个边沿(下降沿) | 上升沿 |
| 3 | 1 | 1 | 高 | 第 2 个边沿(上升沿) | 下降沿 |
Q9. UART、IIC、SPI 三种通讯方式区别
| 项目 | UART | IIC | SPI |
|---|---|---|---|
| 接线数目 | 3 根:RX、TX、GND | 2 根:SDA、SCL | 4 根:SDO、SDI、SCLK、SS(CS) |
| 种类 | 串口通信 | 串口通信 | 串口通信 |
| 方式 | 异步 | 同步 | 同步 |
| 双工 | 全双工 | 半双工 | 全双工 |
| 主从关系 | 不存在主从设备 | 存在主从,用地址选择从机 | 存在主从,用片选信号选择从机 |
| 通信速率 | 速度慢 | 比 SPI 慢 | 比 I2C 快,可达几 Mbps |
| 应用领域 | 计算机与串行设备、debug 调试 | 同一板子上两个 IC 之间的通信 | EEPROM、FLASH、实时时钟 |
Q10. RS232、RS485、RS422 的差异、运用环境和限制条件
三者是不同的物理接口电平标准,连接器一般都用 DB-9,差异在电气标准、传输距离、挂站能力、传输速度等方面:
- RS232:常用 RXD、TXD、GND 三条线(对应 DB-9 的 2、3、5 脚);只能点对点,不可多站联网;两设备间 RXD 与 TXD 要交叉连接。电平为负逻辑:+3 ~ +15 V 为逻辑 0,−3 ~ −15 V 为逻辑 1。
- RS485:差分(平衡)传输,用一对双绞线(AB 线),抗共模干扰强;可多站联网(最多 32 节点);只有 2 根信号线,只能半双工,常用于总线网。电平为正逻辑:+2 ~ +6 V 为逻辑 1,−2 ~ −6 V 为逻辑 0。
- RS422:电气性能与 RS485 完全一样;区别是 4 根信号线(两发两收)、全双工;适用于两个站之间通信、星型网、环网,不可用于总线网;最多 10 个节点。
- 传输距离:RS232 约 15 m;RS422 理论约 1200 m;RS485 理论可达 3000 m。
系统通信时应综合考虑速率、距离、节点数来确定采用哪种电平标准。
Q11. CAN 通信概念、通信线路类型、通信距离
CAN 是广泛应用于汽车电子系统的通信协议,使用差分线路(CAN_H / CAN_L)传输数据,抗干扰能力强、可靠性高。通信距离一般在几十米到数百米之间,具体取决于设备特性、总线质量和物理层规范(高速 CAN ≤ 40 m @ 1 Mbps,低速 CAN 可达 1000 m)。
Q12. CAN 终端电阻的作用
- 防止信号反射:终端电阻把发送信号引导到终端并吸收反射,避免反射信号使波形畸变、导致其他节点无法正确解读数据;
- 提高通信质量和可靠性:消除反射干扰,确保高质量信号传输;
- 降低功耗:减少总线上的信号回弹,降低功耗和电磁辐射;
- 保护总线集成电路:长时间工作后总线特性阻抗可能因温度等因素变化,终端电阻维持总线稳定,保护芯片。
补充:高速 CAN 在总线两端各并一个 120 Ω 终端电阻(总测量约 60 Ω),本质是做传输线阻抗匹配。
Q13. USB 2.0、USB 3.0 传输速率多少?阻抗控制多少欧姆
- USB 3.0:理论 500 MB/s,实际使用约 100 MB/s;
- USB 2.0:理论 60 MB/s,实际约 30 MB/s;
- 阻抗:USB 3.0 高速信号规范为 85 ± 9 Ω,USB 2.0 为 75 ~ 105 Ω;为 PCB 设计方便,一般统一按 90 Ω 控制。
Q14. 谈谈对 PCIe 和 PCI 的理解
二者都是高速计算机扩展总线标准。PCI 是总线式连接、并行数据传输;PCIe 是点对点连接、串行数据传输,使用高速差分总线、端到端连接,每条链路只连两个设备,拓扑结构完全不同。PCIe 可按 Lane 数(×1/×4/×8/×16)扩展带宽并向后兼容。
Q15. PCIe 3.0 采用哪种编码
128b/130b 编码。吞吐量 = 传输速率 × 编码方案:
- 每条 Lane:8.0 GT/s × 128/130 = 7.877 Gbps = 984.6 MB/s;
- PCIe 3.0 ×16:7.877 × 16 = 126.031 Gbps ≈ 15.754 GB/s。
Q16. SD 3.0 高速传输阶段卡的接口电压
SD 3.0 卡运行在 SD3.0 模式下必须把 IO 电压切换到 1.8 V;上电初始化阶段使用 3.3 V。
SD 卡支持 SD 和 SPI 两种通信接口,标准 SD 卡共有 6 条信号线和 3 条电源线。
Q17. OSI 与 TCP/IP 模型
- OSI 七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层;
- TCP/IP 五层:物理层、数据链路层、网络层、传输层、应用层(把会话层、表示层合并进应用层)。





