2、电平转换器基础:电平转换的必要性、电平转换器的工作原理、常见电平转换器类型

2.1 为什么需要电平转换?

先问大家一个问题:你手头有个1.2V的MCU,要跟一个3.3V的传感器通信。直接连上去会怎样?

我早年刚入行时干过这事。结果MCU的GPIO冒烟了。嗯,教训深刻。

说白了,电平转换的必要性来自三个现实问题:

  • 电压域不匹配:现代芯片里,核心电压可能只有0.8V,I/O却是1.8V或3.3V。直接连,低电压域驱动不了高电压域。
  • 器件耐压限制:每个工艺节点都有电压上限。比如28nm工艺的晶体管,栅氧化层只能扛1.8V。你给它3.3V,分分钟击穿。
  • 功耗与性能的平衡:低压域省电,高压域抗干扰。两者之间必须有个「翻译官」。

核心原则:电平转换器不是「升压器」或「降压器」,它是逻辑电平的「翻译官」。它只改变信号的电压摆幅,不改变逻辑含义。

2.2 电平转换器的工作原理

我个人习惯把电平转换器分成两类来理解:单向和双向。先看单向的。

2.2.1 单向电平转换

最简单的单向转换器,其实就是两个MOS管加一个电阻。我画个简化的示意图:

VDDL (1.2V)          VDDH (3.3V)
    |                    |
    +----[PMOS]----+----+
    |              |
   INL            OUT
    |
   GND

工作原理其实不复杂:

  • 输入INL为低(0V)时,PMOS导通,OUT被拉到VDDH。
  • 输入INL为高(1.2V)时,PMOS关断,OUT通过上拉电阻到VDDH。

等等,这里有个坑。你想想看,如果PMOS的阈值电压是0.7V,VDDL只有1.2V,那PMOS的栅源电压差只有1.2V - 3.3V = -2.1V,PMOS确实能关断。但反过来,当INL为0V时,栅源电压是0V - 3.3V = -3.3V,PMOS导通没问题。

我曾经在项目里用这种结构做I2C的电平转换,结果发现速度上不去。为什么?因为上拉电阻和负载电容形成了RC延迟。频率一高,波形就变圆了。

经验之谈:单向转换器适合低频信号(<10MHz)。高频信号建议用专门的电平转换芯片,或者用推挽结构。

2.2.2 双向电平转换

双向转换器更有意思。它不需要方向控制信号,靠的是「竞争」机制。

典型的双向转换器结构:两个NMOS背靠背,中间加个电阻。我见过很多新手看不懂这个电路,其实说白了就是:

  • 当A侧为低时,NMOS1导通,把B侧也拉低。
  • 当A侧为高时,NMOS1关断,B侧通过上拉电阻保持高电平。
  • 反过来也一样。

嗯,这里要注意:双向转换器要求两侧的电压域不能相差太大。比如1.2V转3.3V,NMOS的栅极电压是1.2V,它能不能完全导通3.3V侧?这是个问题。

避坑指南:我曾经在1.2V转3.3V的双向转换器上吃过亏。NMOS的栅极电压只有1.2V,而源极电压可能被拉到3.3V,这时候Vgs = 1.2V - 3.3V = -2.1V,NMOS根本关不断!解决方案是加一个电平移位电路来抬高栅极电压。

2.3 常见电平转换器类型

实际项目中,我常用的电平转换器有这几种。我列个表,大家一目了然:

类型 典型结构 适用场景 速度 功耗
电阻分压型 两个电阻串联 极低速、调试用 <1MHz 高(静态电流)
NMOS+上拉型 单NMOS+电阻 开漏信号(I2C) <10MHz
推挽型 两个反相器级联 单向高速信号 >100MHz
专用芯片型 如TXB0104、SN74LVC 多通道、双向 10-100MHz

2.3.1 电阻分压型

这个最简单,两个电阻一接就行。但我不推荐在正式产品里用。为什么?

  • 静态功耗大:电阻一直在耗电。
  • 驱动能力弱:输出阻抗高,带不动容性负载。
  • 噪声容限差:分压比例稍微偏一点,逻辑电平就乱了。

我只有在实验室临时验证时才用这个。比如用10k和20k电阻把3.3V分压成1.1V,凑合着看波形。

2.3.2 NMOS+上拉型

这是I2C总线最常用的电平转换方式。结构简单,成本低。但要注意:

  • 只能用于开漏输出。
  • 速度受限于上拉电阻和总线电容。
  • 需要两侧电压域都供电。

我记得有一次调试I2C,发现时钟信号在上升沿有毛刺。查了半天,原来是上拉电阻选得太小,导致NMOS关断时电流突变。换成4.7kΩ就好了。

2.3.3 推挽型

推挽型电平转换器,说白了就是两个反相器串起来。第一个反相器用低压电源,第二个用高压电源。这样信号从低压域进来,经过两次反相,就变成了高压域的信号。

这种结构速度快,驱动能力强。但有个缺点:它只能单向。你要做双向通信,就得用两个这样的电路背靠背。

设计要点:推挽型转换器的关键是要保证两个反相器的阈值匹配。如果低压域反相器的阈值是0.6V,而输入信号的低电平是0V,高电平是1.2V,那没问题。但如果输入信号的高电平只有0.8V,就可能触发不了反相器翻转。

2.3.4 专用芯片型

如果项目预算允许,我建议直接用专用电平转换芯片。比如TI的TXB0104、NXP的74LVC系列。这些芯片内部集成了自动方向检测、ESD保护、上电时序管理等功能。

用芯片的好处是省心。你只要接好电源和信号线,它自己就能工作。但要注意:

  • 有些芯片不支持热插拔。
  • 有些芯片对上电顺序有要求。
  • 不同芯片的驱动能力不同,要查datasheet。

我曾经在一个项目里用了TXB0104做SD卡的电平转换。结果发现卡在初始化阶段就失败了。查了三天,最后发现是TXB0104的驱动能力不够,拉不动SD卡的CLK线。换成SN74AVC4T774就好了。

2.4 小结

电平转换器不是什么高深的东西,但用不好会出大问题。我个人总结了几条经验:

  • 先搞清楚信号方向:单向还是双向?
  • 再确定速度要求:低频用NMOS+上拉,高频用推挽或专用芯片。
  • 别忘了检查驱动能力:特别是总线信号,要算一下扇出。
  • 最后考虑成本:电阻最便宜,芯片最贵,但芯片最可靠。

下一章我会讲电平转换器的关键参数,比如传输延迟、功耗、噪声容限。这些参数选不好,你的电路可能跑不起来,或者跑起来不稳定。嗯,到时候我会用实际案例来说明。