跳转至

通信接口电路

MCU 外设只负责产生逻辑波形。只要信号离开本板,就还要考虑电平、收发器、终端、拓扑、线缆、ESD、地电位差和掉电反灌。


一、先按距离和环境选接口

场景 优先选择 不应默认选择
同板、短距、低速配置 I²C CAN/隔离器等过度设计
同板高速传感器/存储 SPI 长线 SPI
两块近距离板、点对点调试 UART 裸 UART 跑数米线
机器人多节点、强干扰 CAN I²C 星形拉出整机
工业设备、多点半双工 RS485 TTL UART 直出接口
PC 调试、固件升级 USB/UART 把 USB D+/D- 当普通 GPIO 线
地电位差大或高能功率级 隔离 CAN/RS485 仅数字隔离、没有隔离电源

选接口要同时写明:速率、线长、节点数、拓扑、是否热插拔、共地情况、线缆和连接器。


二、UART:逻辑串口不是 RS-232

2.1 最小连接

本机 TX ───────── 对方 RX
本机 RX ───────── 对方 TX
本机 GND ──────── 对方 GND
  • 核对双方是 1.8 V、3.3 V 还是 5 V 逻辑;
  • TX/RX 要交叉,连接器丝印标方向和电压;
  • 串联 22~100 Ω 可作为源端阻尼预留,根据波形决定是否安装;
  • 对外连接器处加低电容 ESD,强干扰/长线改用差分物理层;
  • MCU 掉电而对方 TX 仍为高时,检查是否经输入保护二极管反灌。

2.2 三种“串口”不能混接

名称 电气层 是否可直连 MCU
TTL/CMOS UART 0~VDD 单端逻辑 电平兼容时可以
RS-232 正负电压、逻辑可能反相 不可以,需要 RS-232 收发器
RS485 差分 A/B 总线 不可以,需要 RS485 收发器

USB 转串口芯片也要检查 USB 侧的 Type-C/ESD,以及 UART 侧 IO 电压,不是放一个芯片就结束。


三、I²C:上拉由总线决定

I²C 的 SDA/SCL 为开漏,所有器件只能拉低,由上拉电阻拉高。

3.1 上拉电阻范围

最小值受器件低电平灌电流限制:

\[R_{min}=\frac{V_{DD}-V_{OL,max}}{I_{OL,max}}\]

最大值受总线电容和允许上升时间限制:

\[R_{max}\approx\frac{t_r}{0.8473C_{bus}}\]

4.7 kΩ 只是常见起点,不是固定答案。多块模块自带上拉时,并联等效阻值可能过低:

\[\frac{1}{R_{eq}}=\frac{1}{R_1}+\frac{1}{R_2}+\cdots\]

3.2 实际电路

3V3 ── RPU ── SDA ──┬── 传感器 1
3V3 ── RPU ── SCL ──┼── 传感器 2
                    └── MCU

建议:

  • 总线上只保留一组确定的有效上拉,其他做 DNP/可拆配置;
  • 每个分支预留 0 Ω,便于断开查找拉死总线的器件;
  • 两个电压域使用 I²C 专用双向转换器;
  • 检查地址冲突、clock stretching 和器件上电时间;
  • 掉电器件是否会把 SDA/SCL 拉低或通过 IO 反灌;
  • 板外长线优先改用 CAN/RS485,或使用专用 I²C 缓冲/差分扩展器。

3.3 调试

示波器先看高低电平和上升时间,逻辑分析仪再解码协议。若只看解码,很容易把边沿过慢、毛刺或电平不足误判为软件问题。


四、SPI:关注边沿而不只是时钟频率

主机 SCK  ── 从机 SCK
主机 MOSI ── 从机 SDI
主机 MISO ── 从机 SDO
主机 CSn  ── 从机 CSn

4.1 基础电路

  • 每个从机单独 CS,并用上拉/下拉保证上电未选中;
  • SCK、MOSI、CS 的串联阻尼电阻靠近驱动端,常预留 22~47 Ω;
  • 多从机必须确认未选中时 MISO 为高阻;
  • 电平不同时用方向明确的高速转换器;
  • 高速存储或显示器按器件要求处理阻抗和等长。

10 MHz 不一定是低速

信号完整性主要由上升/下降沿决定,而不是仅由时钟频率决定。即使时钟只有几 MHz,亚纳秒级边沿加上长走线也可能严重振铃。

SPI 适合板内或紧邻板间连接。若必须走线缆,应降低边沿/速率、成对安排返回地,并通过实际波形验证;更远距离使用差分接口。


五、CAN:机器人节点的常用选择

协议控制器与物理层收发器是两部分:

MCU CAN_TX/RX
 CAN 收发器 ── 可选共模扼流圈 ── TVS ── CANH/CANL/GND
 STB/EN 默认电阻

 CANH ── 120 Ω ── CANL   ← 仅总线物理两端安装

5.1 收发器选择

检查:

  • Classical CAN 或 CAN FD 的速率能力;
  • 收发器供电与 MCU IO 电平;
  • 总线工作/故障共模范围;
  • 休眠、待机、唤醒功能和静态电流;
  • 总线显性超时、短路和热保护;
  • MCU/收发器掉电时是否保持总线高阻;
  • 需要隔离时的隔离耐压和隔离电源。

5.2 终端与拓扑

  • 一条主干两端各一个 120 Ω,中间节点不装;
  • 板上放跳帽、拨码或 DNP 电阻,使终端可配置;
  • 主干使用双绞线,支线尽量短;
  • 避免无计划的星形连接;
  • 连接器最好带 CANH、CANL 和参考地,屏蔽层按整机接地策略处理;
  • 断电后用万用表测 CANH-CANL,两个 120 Ω 并联应约为 60 Ω,可快速检查终端。

5.3 保护与隔离

  • TVS 靠连接器,选择 CAN 专用、工作电压与电容合适的器件;
  • 共模扼流圈是 EMI 选项,不是通信成立的必要条件,选错会引入谐振;
  • 地电位差可能超过收发器范围时使用隔离 CAN;
  • 真隔离需要数字隔离/隔离收发器 + 隔离 DC-DC,且跨隔离区不能有普通铜或地连接;
  • 隔离栅两侧去耦分别回各自的地。

更多协议和时序内容见 CAN Bus


六、RS485:物理层和 Modbus 是两件事

6.1 半双工接口

MCU UART_TX ── DI    ┌──────── A
MCU UART_RX ── RO  RS485 PHY  B ───── 双绞线总线
MCU GPIO ───── DE/RE └──────── GND
  • DE 控制发送,空闲时默认关闭,避免上电占用总线;
  • 总线两端按线缆特性阻抗放终端,常见约 120 Ω;
  • fail-safe 偏置只在规划的位置安装,多个节点同时偏置会加重负载;
  • A/B 命名在不同厂商资料中存在歧义,丝印可同时标厂商定义的 D+ / D-,并在首板验证;
  • 使用总线/菊花链拓扑和双绞线,支线尽量短;
  • 参考地电位差较大时隔离。

6.2 终端和偏置分工

  • 终端电阻匹配传输线,减少反射;
  • 偏置电阻在所有驱动器高阻时定义空闲差分状态;
  • 收发器内部 fail-safe保证输入接近开路/短路条件时输出确定。

三者用途不同,不能用“收发器自带 fail-safe”推导出长线不需要终端。

Modbus RTU 只是使用 RS485 的一种上层协议。CRC、地址和帧间隔正确,也无法弥补错误的终端、拓扑或共模电压。

更多协议内容见 RS485 / Modbus RTU


七、USB 2.0 与 Type-C 设备口

若 MCU 作为 USB 设备,使用 Type-C 母座且不做 PD:

CC1 ── 5.1 kΩ ── GND
CC2 ── 5.1 kΩ ── GND
D+/D- ── 低电容 ESD ── MCU USB PHY
VBUS ── 保险/限流/检测 ── 板上电源策略

7.1 必查项目

  • CC1、CC2 各自放 Rd,声明受电设备角色;
  • D+/D- 按板厂层叠设计约 90 Ω 差分阻抗,短、对称、少过孔;
  • ESD 器件紧贴连接器,支路短;
  • VBUS 是输入、检测还是完全不用,电源方向必须明确;
  • 电池 5 V 与 USB 5 V 同时存在时不能互相反灌;
  • 屏蔽壳与数字地/机壳地的连接按整机 EMC 策略;
  • 需要主机、OTG、USB-PD 或更高功率时,加入相应角色/PD 控制器,不能只改 CC 电阻。

差分线上预留串联电阻时,按 MCU 参考设计放在 PHY 侧,并通过眼图/波形和枚举稳定性决定最终值。


八、隔离、屏蔽和连接器

8.1 什么时候隔离

  • 两端地电位可能相差数伏以上;
  • 大功率驱动器故障不允许传到控制侧;
  • 长线跨设备/机柜,存在明显浪涌环境;
  • 安全或系统标准明确要求隔离。

隔离不是解决所有噪声的万能办法。它会增加隔离电源噪声、传播延迟、成本和 PCB 安全距离要求。

8.2 屏蔽层

屏蔽层承担高频干扰泄放,通常应低阻连接到机壳/框架地,而不是让干扰电流穿过数字地后再寻找出口。是否单端或多端连接取决于频率、等电位连接和整机接地,不能脱离系统机械结构只在 PCB 局部决定。

8.3 连接器引脚

  • 差分对相邻,避免中间插入高速单端信号;
  • 信号旁安排参考地,长排针不要所有地只放一端;
  • 电源与地成对,标注电压和极性;
  • 接口之间尽量防误插;
  • ESD 器件放在从连接器进入板内的第一站;
  • 连接器外壳、固定脚和屏蔽脚在原理图/PCB 中明确网络。

九、接口调试方法

工具 先看什么
万用表 电平、短路、终端等效电阻、两端地电位差
示波器 上升沿、过冲、差分幅度、共模、反射、ESD 后复位
逻辑分析仪 协议帧、时序、片选、总线占用,但不能替代电气波形
USB/CAN/RS485 分析仪 错误帧、重发、Bus-off、协议字段

推荐顺序:

  1. 低速、短线、只接两个节点;
  2. 先确认物理电平和终端;
  3. 再看协议配置和帧;
  4. 逐步加速、加节点、换真实线缆;
  5. 最后在电机启停、热插拔和长时间压力下测试。

Checklist

  • 协议控制器与物理层没有混淆;
  • 双方逻辑电平和掉电状态兼容;
  • I²C 上拉按总线电容与速度核算;
  • SPI CS 有默认态,MISO 不会争用;
  • CAN/RS485 只在物理两端终端,拓扑和线缆正确;
  • 保护器件靠近连接器并有短泄放路径;
  • 隔离接口同时具备隔离电源;
  • USB Type-C 角色、电源方向、CC 与 ESD 正确;
  • 每个接口有测试点、丝印、线缆定义和调试方法。

通信解决信息传输,真正输出机械能还需要电机与执行器电路