電平轉換電路在電路設計中非常常見,屬于硬件工程師必須掌握的電路之一。
為什么需要這個電路?
各電路模塊間經常存在電壓域不一致的情況,不能簡單直接相連。這時候模塊間的通訊互連就要使用電平轉換電路了。

LV = 3.3 V
HV = 5 V
兩只 10 kΩ 分別是上拉電阻
原理分析
如圖所示,為常見的IIC電平轉換電路:

工作過程
做了一個簡單的電平轉換仿真,可參考學習。
3.3 V → 5 V 方向(LV 發,HV 收)
當 SCL 輸出 低電平 0 V
→ Q1 的 V_GS = 3.3 V – 0 V = +3.3 V,大于閾值
→ Q1 導通,把 HV 側的 IO_H 直接拉到 0 V(只比 IO_L 高幾十毫伏)
→ 5 V 世界讀到 “0”(幾乎為0)
當 SCL 輸出 高電平 3.3 V
→ V_GS ≈ 0 V,Q1 關斷
→ IO_H 被 10 kΩ 上拉到 5 V
→ 5 V 世界讀到 “1”(5V)
5 V → 3.3 V 方向(HV 發,LV 收)
當SCL1輸出 低電平 0 V
→ 電流經 Q1 的體二極管先把 LV 側拉到約 0.4 V
→ 一旦源極被拉低,V_GS 又變成 +3.3 V,Q1 溝道導通,進一步把兩邊都壓到 0 V
→ 3.3 V 世界讀到 “0”(幾乎為0)
當 SCL1 輸出 高電平 5 V
→ 體二極管反向,不會把 5 V 灌進 3.3 V 側
→ Q1 關斷,IO_L 被 10 kΩ 上拉到 3.3 V
→ 3.3 V 世界讀到 “1”(3.3V)
注意
以上是3.3V與5V之間的情況,如果換用其他電壓域之間的轉換,如3.3V、2.5V、1.8V等電壓值的兩兩之間,需要注意MOS管的Vgs開啟導通電壓。
給MOS管過高的Vgs會導致MOS管燒壞!給過低的Vgs會導致MOS管打不開!不同型號的MOS管這個參數值還不一樣。
總結
這個經典的MOS管電平轉換電路是一個巧妙、高效且成本低廉的解決方案,特別適合在雙向、中低速、電壓差不大的數字總線(如I2C)上進行電平轉換。理解其工作原理的關鍵在于分析MOS管在四種不同狀態(LV/HV輸出高/低電平)下的導通與截止情況。