开头先跑题,分享一个学习资料。
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/ty。需要自取,后面我也会深入开展人工智能的学习。
一、为什么要"翻译"电压?
不同的芯片、模块,可能"说"着不同电压的逻辑语言。比如:
-
一个 3.3V 的单片机(如STM32)要和一个 5V 的传感器通信。
-
一个 1.8V 的CPU要和 3.3V 的外设连接。

如果直接相连:
-
高压(5V)输出 → 低压(3.3V)输入 :低压芯片可能烧毁(就像让一个小孩子喝成年人剂量的药)。
-
低压(3.3V)输出 → 高压(5V)输入 :高压芯片可能认不出低电压信号(3.3V对它来说可能还不到"高电平"的及格线)。
电平转换 就是给不同电压域之间当 "翻译官",把一方的高/低电平安全地转换成另一方认可的高/低电平。
二、两种核心思路
1. 单向转换 ------ 就像单向翻译机
信号只从A流向B,不回流。
举例:5V → 3.3V 降压
最简单的方案:电阻分压。两个电阻(比如1.8kΩ + 3.3kΩ)把5V分成3.3V。成本几乎为零,但速度慢(电容效应),不适合高速信号(如SPI、I2C的高频模式)。
举例:3.3V → 5V 升压
可以用一个 二极管 、NPN三极管 或 NMOS管 搭成共射/共源放大电路。但更常见的是直接用 专用电平转换芯片 (如74LVC245),或者下面会重点讲的 MOS管双向电路。
2. 双向转换 ------ 就像对讲机,两边都能说
很多总线是 双向 的,比如 I²C、1-Wire。数据一会儿从A到B,一会儿从B到A,你不能预判方向。这时候就需要 自动双向电平转换。
经典方案:一个NMOS管 + 两个电阻(几乎所有I²C电平转换的标准电路)
三、一个MOS管搞定双向电平转换
电路图

-
左边(低压侧,比如3.3V):通过电阻R1上拉到3.3V。
-
右边(高压侧,比如5V):通过电阻R2上拉到5V。
-
中间一个NMOS管 :栅极(G)接低压侧的电源(3.3V),源极(S)接
3.3V,漏极(D)接5V。管子内部还有一个寄生二极管(从S指向D)。
工作原理(非常简单)
① 任何一侧先拉低(总线传输"0")
-
假设左边(3.3V侧)的芯片把
SDA1拉到 0V(地)。 -
NMOS管的源极(S) = 0V,栅极(G) = 3.3V → Vgs = 3.3V > 阈值电压 → MOS管导通。
-
导通后,漏极(D)和源极(S)几乎短接(压降只有几mV到几十mV),所以漏极(D) 也被拉到接近0V。
-
结果:两边的芯片都看到了"0"。
-
同理,如果右边(5V侧)的芯片先拉低 :
-
一开始MOS管是关断的,寄生二极管(从S指向D)会正向导通:寄生二极管的压降约0.6V,所以 源极(S) 会被钳位到约0.6V。这已经低于低电平阈值(通常0.8V以下),所以左边芯片也能认出"0"。同时,源极(S) 变成0.6V后,MOS管的Vgs = 3.3V - 0.6V = 2.7V,依然会导通。
② 任何一侧都不拉低(总线传输"1")
-
两边芯片都释放总线(设为高阻输入)。
-
左边靠R1上拉到3.3V,右边靠R2上拉到5V。
-
MOS管的栅极=3.3V,源极=3.3V → Vgs=0 → 关断。
-
两边的电平由各自的上拉电阻决定,互不干扰:左边是3.3V,右边是5V。
-
结果:左边芯片读到了3.3V(对它来说是"1"),右边芯片读到了5V(对它来说也是"1")。
四、一个三管搞定单向电平转换
电路图

原理分析
左IN是输入,右OUT是输出,VDDA和VDDB是两个相互转换的不同电压域。当IN输入0V时,晶体管Q1导通,OUT被下拉到接近0V的电平,实现低电平转换;当IN输入高电平(VDDA)时,晶体管Q1关断,OUT被上拉到VDDB,从而实现高电平转换。该电路属于单向转换电路,具有IN输入和OUT输出的转换方向,简单易用。
五、一个二极管搞定单向电平转换
原理图

原理分析
当5_TXD为高电平时,由于二极管D1的单向导通特性,二极管D1的负极为5V,正极为3.3V,负极比正极电压高,所以二极管D1截止,故左边的3.3_RXD由电阻R1上拉至3.3V。
当5_TXD为低电平时,二极管D1导通,考虑二极管导通压降(0.6V),3.3_RXD被拉至低电平0.6V。(需要考虑单片机是否能识别为低电平)
当3.3_TXD为高电平时,此时二极管D2是处于导通状态的,因为二极管D2的正极电压比负极的高,故5_RXD的电压为:3.3V加上D2的压降(0.6V),电压在4V左右。
当3.3_TXD为低电平时,此时二极管D2是处于导通状态的,因为二极管D2的正极电压比负极的高,故5_RXD的电压为:0V加上D2的压降(0.6V),电压在0.6V左右。(需要考虑单片机是否能识别为低电平)
五、为什么MOS管在这里比三极管好?
-
压降极小 :导通时只有
I × Rds(on),通常几十毫伏。如果用三极管(NPN)做类似电路,集电极-发射极饱和压降Vce(sat)至少0.2V,在低压(1.8V)下这个压降可能让"0"变得太高(比如1.8V系统的低电平上限是0.6V,0.2V压降加上其他因素可能临界)。 -
双向自动导通:MOS管是电压控制器件,栅极电压固定后,只要源漏之间有压差且栅源电压超过阈值,它就能双向导通。三极管是电流控制,做双向需要更复杂的电路。
-
静态不耗电:MOS管栅极输入阻抗极高,不拉低时几乎无电流流过栅极。三极管需要基极电流。
六、MATLAB仿真结果分析
1、二极管单向通信:5V--3.3V
3.3V端低电平在0.6V左右,与上述理论分析一致。


2、二极管单向通信:3.3V--5V
5V端低电平在0.6V左右,高电平在4V左右,与上述理论分析一致。


3、三极管单向通信
仿真结果与上述分析一致,三极管有固定的导通压降,因此其低电平需要考虑导通压降。本次仿真结果为0.02V左右。



4、MOS管双向通信
根据仿真结果可知,MOS管可轻松实现双向通信,且导通压降极低。



