4. I2C总线接口设计

任务定义

为ToF模组(以VL53L0X为例,VDD=2.8V)设计与主控MCU(VDD_MCU=3.3V)之间的I2C接口电路。要求:①计算I2C总线上拉电阻阻值范围;②设计电平转换电路使2.8V模组与3.3V主控安全通信;③给出完整的原理图连接方案。

1. 上拉电阻计算

I2C总线为开漏结构,上拉电阻取值需同时满足上升时间要求和驱动能力限制。以标准模式(100kHz)和快速模式(400kHz)为设计目标,总线等效电容CBUS取典型值100pF(含PCB走线、模组引脚及主控引脚电容)。

最小阻值限制:由输出低电平VOL(max)=0.4V时灌电流不超过3mA(主控IOL)决定:

Rmin = (VDD − VOL) / IOL = (2.8 − 0.4) / 0.003 ≈ 800Ω

最大阻值限制:由上升时间tr(快速模式最大300ns)决定,RC充电时间常数τ = R×C需满足:

tr = 0.8473 × R × CBUS ≤ 300ns → Rmax = 300ns / (0.8473 × 100pF) ≈ 3.54kΩ

综合取标准系列值RP = 2.2kΩ,该值同时满足标准模式(tr上限1000ns)与快速模式要求,且灌电流仅(2.8−0.4)/2200≈1.1mA,低于主控与模组IOL额定值。

2. 电平转换电路设计

VL53L0X的I2C引脚耐压最高为VDD+0.3V(即3.1V),不能直接连接3.3V主控。采用双MOSFET双向电平转换电路(业界标准方案),使用N沟道MOSFET(如BSS138,VGS(th)≈1.5V):

  • 模组侧(2.8V域):SDA1/SCL1经2.2kΩ上拉至VL53L0X的VDD(2.8V)
  • 主控侧(3.3V域):SDA2/SCL2经2.2kΩ上拉至VDD_MCU(3.3V)
  • MOSFET栅极接低电平域电源(2.8V),源极接低电平域总线,漏极接高电平域总线

工作原理:当任一侧拉低总线时,MOSFET导通使另一侧同步拉低;当两侧均释放时,各自上拉电阻将总线拉至本侧电源电压,实现双向电平转换。

3. 原理图连接方案


主控MCU (3.3V)               电平转换                  ToF模组 (2.8V)
┌─────────────┐                              ┌──────────────────┐
│ VDD_MCU 3.3V├────┬─────────────────────────┤ VDD 2.8V         │
│             │    │                         │                  │
│ SDA ────────┼────┼────┬──── SDA2     SDA1 ─┼────┬──── SDA      │
│             │    │    │ 2.2kΩ↑     ↑2.2kΩ  │    │             │
│ SCL ────────┼────┼────┼──── SCL2     SCL1 ─┼────┼──── SCL      │
│             │    │    │                     │    │             │
│ GND ────────┴────┴────┴─────────────────────┴────┴──── GND     │
└─────────────┘         │                     │    └─────────────┘
                        │   BSS138×2          │
                        │  G极接2.8V          │
                        └─────────────────────┘
主控 MCU VDD_MCU = 3.3V ToF 模组 VL53L0X VDD = 2.8V 电平转换 BSS138 × 2 3.3V 2.8V GND GND 2.2k 2.2k 2.2k 2.2k Q1 Q2 G极接2.8V SDA SDA SCL SCL SDA SCL SDA SCL R_P = 2.2kΩ(两侧均需),C_BUS ≈ 100pF,t_r ≈ 0.8473 × 2.2k × 100pF ≈ 186ns < 300ns ✓ I_OL = (2.8−0.4)/2.2k ≈ 1.1mA < 3mA ✓ 满足快速模式400kHz

4. 关键器件选型与PCB设计要点

器件规格说明
RP2.2kΩ ±1% 0402SDA与SCL各2颗,分别上拉至本侧电源
Q1/Q2BSS138 (N-MOSFET)VGS(th)=0.8~1.5V,VDS=50V,ID=200mA
CBYPASS100nF + 1μF模组VDD引脚就近放置

PCB布局要求:上拉电阻尽量靠近模组侧;BSS138栅极走线远离SDA/SCL以减少耦合;I2C走线长度控制在20mm以内,避免过孔;模组下方保持完整地平面。

5. 验证方法

静态检查:使用万用表测量各点上拉电压——SDA1/SCL1对地应为2.8V,SDA2/SCL2对地应为3.3V,确认无短路。

动态测试:编写I2C扫描程序(主控发送0x00~0x7F地址),VL53L0X的7位地址为0x29(写地址0x52)。预期在地址0x29处收到ACK应答。使用示波器探头同时监测SDA1与SDA2,发送数据0x01时,两侧波形应同步翻转,高电平分别为2.8V和3.3V,低电平均接近0V,上升沿无明显畸变。

判定标准:①I2C扫描能发现0x29地址;②示波器测得SDA1高电平2.8V±5%、SDA2高电平3.3V±5%;③连续读取VL53L0X的IDENTIFICATION寄存器(0xC0~0xC2)能稳定返回0xEE、0xAA、0x10,无总线错误。