第1章 接口选型概述:常见接口类型与选择考量
做硬件设计这几年,我越来越觉得——接口选型是整块板子的灵魂。选对了,后面布线、调试、认证一路顺畅;选错了,改板三次都不一定能救回来。这一章我们先搭个框架,把常见的接口类型和选型时要权衡的维度理清楚。后面每一章再针对具体接口深挖。
1.1 你迟早都会遇到的接口类型
接口的分类方式很多。我个人习惯先按传输介质分成两大类:有线和无线。然后再按速率、距离、功耗细看。
有线接口
这类接口占了PCB上大部分走线。从最基础的UART到高速的PCIe,跨度很大。
- UART —— 异步串行,点对点,全双工。速率通常在115200 bps ~ 1 Mbps。2根线(TX、RX)。我入门时第一个调通的接口就是它。
- I2C —— 同步串行,多主多从,半双工。2根线(SDA、SCL)。速率100 kHz ~ 3.4 MHz。适合板内低速控制。
- SPI —— 同步串行,一主多从,全双工。4根线(SCK、MOSI、MISO、SS)。速率1 ~ 50 MHz。适合传感器、显示、存储。
- USB 2.0 / 3.0 —— 差分串行,主从架构。USB 2.0 半双工 480 Mbps,USB 3.0 全双工 5 Gbps。外设连接的主力。
- Ethernet(RMII / RGMII) —— 差分串行,网络架构,全双工。10 / 100 / 1000 Mbps。适合联网设备。
- PCIe —— 差分串行,点对点,全双工。每通道 2.5 / 5 / 8 GT/s。适合高速数据卡、SSD。
- MIPI DSI / CSI —— 差分串行,点对点,用于显示和摄像头。每通道可达 1.5 Gbps。
- HDMI / DP —— 差分串行,TMDS 编码。适合音视频传输。
- LVDS —— 差分串行,低功耗高速。适合短距离高带宽。
- CAN —— 差分串行,多主架构,半双工。125 kbps ~ 1 Mbps。汽车和工业的常客。
- RS-485 / RS-232 —— RS-485 差分,多站,1200 m;RS-232 单端,点对点,15 m。工业现场的老将。
无线接口
无线接口的选型更考验系统级思维。天线、功耗、协议栈、认证,全是坑。
- WiFi(802.11 b/g/n/ac/ax) —— 2.4 / 5 / 6 GHz,速率可达 Gbps。适合高带宽联网。
- Bluetooth / BLE —— 2.4 GHz,短距离,低功耗。BLE 是 IoT 的主力。
- Zigbee / Thread / Matter —— 2.4 GHz,低功耗,网状网络。智能家居的基石。
- LoRa —— Sub-1 GHz,长距离(km 级),低速率。适合远传传感器。
- NB-IoT / LTE Cat-M —— 蜂窝网络,广覆盖,低速率。适合大规模物联网。
- NFC / RFID —— 13.56 MHz / 多种频段,近场通信。适合支付、标签。
- UWB —— 3.1 ~ 10.6 GHz,高精度定位。适合室内定位。
1.2 选型时我在想什么——七个核心维度
这些年我总结了一套“七维选型法”。每次评估接口,我都会过一遍这七个维度。不一定每个都深究,但心里要有数。
| 维度 | 核心问题 | 典型约束 |
|---|---|---|
| 速率与带宽 | 实际吞吐量够不够? | 协议开销、总线共享、余量 ≥ 30% |
| 距离与信号完整性 | 能传多远?PCB走线多长? | 差分对、阻抗匹配、预加重、均衡 |
| 功耗预算 | 待机和活跃功耗多少? | 电池容量、散热、电压轨 |
| 引脚数与PCB面积 | 占多少IO?布得下吗? | BGA扇出、层数、过孔密度 |
| 协议复杂度与软件成本 | 驱动好不好写?协议栈成熟吗? | 认证周期、开发人力、维护成本 |
| 供应链与成本 | 交期稳不稳?有没有第二货源? | 独家料、长交期、替代方案 |
| EMC与可靠性 | 辐射能过认证吗?抗干扰够吗? | 共模扼流圈、屏蔽、布局隔离 |
举个例子。我遇到过一位工程师选USB 2.0做工业相机接口。速率算下来刚好够,但没考虑线缆长度和EMC。结果量产时发现3米以上线缆丢包严重,辐射超标。最后不得不加共模扼流圈和重新布线,折腾了两周。如果当初选USB 3.0或GigE,余量大一些,反而更省事。
1.3 那些年我踩过的坑——选型实战复盘
讲几个我自己经历过的教训。嗯,每一个都让我多加了几天班。希望你能绕过去。
坑一:I2C上拉电阻选小了
我曾经在一个传感器板上用了I2C,速率400 kHz。为了省功耗,我用了2 kΩ上拉。结果总线电容一大会,上升沿变缓,通信偶尔出错。折腾了三天才抓到波形。后来换成1 kΩ,问题消失。I2C的上拉电阻要根据总线电容和速率算,别凭感觉。
坑二:SPI的时钟极性没对齐
我曾经接手过一个项目,SPI通信时好时坏。查了两天发现主设备和从设备的CPOL、CPHA配置反了。硬件连得没问题,软件里配错一个bit。这让我养成了一个习惯:SPI调通之前,先拿示波器看SCK和MOSI的相位关系。眼睛看到的东西比代码靠谱。
坑三:USB Type-C的CC pin处理不当
我曾经做一个Type-C供电的项目,以为CC pin直接上拉就完事了。结果接上某些充电器直接无输出。后来仔细读了一遍USB PD规范才发现,CC pin的Rp和Rd电阻值、位置都有严格要求。Type-C看着简单,实际上坑特别多。后面会专门用一章来讲。
1.4 接口选型决策框架
下面这张图是我自己总结的接口选型决策框架。从项目需求出发,先定介质方向,再缩小到具体接口候选,最后结合PCB复杂度做终选。每次选型我都会走一遍这个流程。
这个框架看起来简单,实际用的时候每个节点都需要展开评估。比如“有线接口候选”这一步,你需要把UART、I2C、SPI、USB、Ethernet等接口逐一代入需求,看哪个更匹配。后面各章我会针对每一个接口做详细的案例拆解。