電平轉(zhuǎn)換在電路設(shè)計(jì)中非常常見,因?yàn)樽鲭娐吩O(shè)計(jì)很多時候就像在搭積木,這個電路模塊,加上那個電路模塊,拼拼湊湊連起來就是一個電子產(chǎn)品了。而各電路模塊間經(jīng)常會出現(xiàn)電壓域不一致的情況,所以模塊間的通訊就要使用電平轉(zhuǎn)換電路了。
上圖是用 MOS 管實(shí)現(xiàn)的 I2C 總線電平轉(zhuǎn)換電路,實(shí)現(xiàn) 3.3V 電壓域與 5V 電壓域間的雙向通訊。掛在總線上的有 3.3V 的器件,也有 5V 的器件,通過這個電路,大家就可以愉快地玩耍聊天了。
實(shí)物對照圖如下。實(shí)物的上拉電阻用了 4.7K 歐姆,可以提供更大的電流驅(qū)動能力。在滿足電路性能的前提下,我喜歡用阻值更大的電阻,因?yàn)楣母透‰姟?/p>
原理分析
簡化來看,留下 I2C 的一根線來分析就可以了,如下圖。
分四種情況:
1、當(dāng) SDA1 輸出高電平時:MOS 管 Q1 的 Vgs = 0,MOS 管關(guān)閉,SDA2 被電阻 R3 上拉到 5V。
2、當(dāng) SDA1 輸出低電平時:MOS 管 Q1 的 Vgs = 3.3V,大于導(dǎo)通電壓,MOS 管導(dǎo)通,SDA2 通過 MOS 管被拉到低電平。
3、當(dāng) SDA2 輸出高電平時:MOS 管 Q1 的 Vgs 不變,MOS 維持關(guān)閉狀態(tài),SDA1 被電阻 R2 上拉到 3.3V。
4、當(dāng) SDA2 輸出低電平時:MOS 管不導(dǎo)通,但是它有體二極管!MOS 管里的體二極管把 SDA1 拉低到低電平,此時 Vgs 約等于 3.3V,MOS 管導(dǎo)通,進(jìn)一步拉低了 SDA1 的電壓。
注:
低電平指等于或接近 0V。
高電平指等于或接近電源電壓。所以 3.3V 電壓域的器件,其高電平為等于或接近 3.3V;5V 電壓域的器件,其高電平為等于或接近 5V。
具體要求看芯片的數(shù)據(jù)手冊是怎么說明這個限定范圍的,常見的比如說 0.3 倍的“芯片供電電壓”以下為低電平,0.7 倍的“芯片供電電壓”以上為高電平。也就是說“芯片供電電壓”為 5V 的時候,5 x 0.3 = 1.5V 以下為低電平,5 x 0.7 = 3.5V 以上為高電平。
?
某一個芯片數(shù)據(jù)手冊里關(guān)于高低電平的閾值范圍說明
注意事項(xiàng)
以上是 3.3V 與 5V 之間的情況,如果換用其他電壓域之間的轉(zhuǎn)換,如 3.3V、2.5V、1.8V 等電壓值的兩兩之間,需要注意 MOS 管的 Vgs 開啟導(dǎo)通電壓。
給 MOS 管過高的 Vgs 會導(dǎo)致 MOS 管燒壞!給過低的 Vgs 會導(dǎo)致 MOS 管打不開!不同型號的 MOS 管這個參數(shù)值還不一樣?。。?/p>
?
舉例:其中一個廠家生產(chǎn)的 2N7002 的數(shù)據(jù)手冊,Vgs 不能超過正負(fù) 20V
再來看一下,設(shè)計(jì)電路時 Vgs 可能設(shè)計(jì)過小的情況,下圖是 2N7002 的數(shù)據(jù)手冊:
舉例:其中一個廠家生產(chǎn)的 2N7002 的數(shù)據(jù)手冊,Vgs 的開啟電壓為 1V
實(shí)際使用時為保證完全開啟、完全導(dǎo)通,設(shè)計(jì)上要多預(yù)留余量,比如實(shí)際電路中 Vgs 起碼給到 1.8V。因?yàn)?1.8V 的設(shè)計(jì)參數(shù)接近數(shù)據(jù)手冊標(biāo)注的 1V 臨界值,尤其注意用實(shí)驗(yàn)驗(yàn)證,確保萬無一失。
總結(jié)
3.3V 跟 5V 互轉(zhuǎn)的電路已經(jīng)是一個經(jīng)典電路,實(shí)在是硬件設(shè)計(jì)師居家旅行、護(hù)院看家,必備良藥!MOS 管型號就記住用 2N7002,這個型號便宜,性能久經(jīng)考驗(yàn),不像有些 MOS 管外型看起來跟 2N7002 一樣,但實(shí)際是大功率的,有部分性能規(guī)格浪費(fèi)了,有部分性能規(guī)格又不一定能滿足需要,主要是還賊貴,具體其他 MOS 是怎樣的這里就不細(xì)究啦。