電平轉(zhuǎn)換在電路設(shè)計中非常常見,因為做電路設(shè)計很多時候就像在搭積木,這個電路模塊,加上那個電路模塊,拼拼湊湊連起來就是一個電子產(chǎn)品了。而各電路模塊間經(jīng)常會出現(xiàn)電壓域不一致的情況,所以模塊間的通訊就要使用電平轉(zhuǎn)換電路了。
上圖是用MOS管實現(xiàn)的I2C總線電平轉(zhuǎn)換電路,實現(xiàn)3.3V電壓域與5V電壓域間的雙向通訊。掛在總線上的有3.3V的器件,也有5V的器件,通過這個電路,大家就可以愉快地玩耍聊天了。
實物對照圖如下。實物的上拉電阻用了4.7K歐姆,可以提供更大的電流驅(qū)動能力。在滿足電路性能的前提下,我喜歡用阻值更大的電阻,因為功耗更低更省電。
原圖分析
分四種情況:
1、當SDA1輸出高電平時:MOS管Q1的VGS = 0,MOS管關(guān)閉,SDA2被電阻R3上拉到5V。
2、當SDA1輸出低電平時:MOS管Q1的VGS = 3.3V,大于導(dǎo)通電壓,MOS管導(dǎo)通,SDA2通過MOS管被拉到低電平。
3、當SDA2輸出高電平時:MOS管Q1的VGS不變,MOS維持關(guān)閉狀態(tài),SDA1被電阻R2上拉到3.3V。
4、當SDA2輸出低電平時:MOS管不導(dǎo)通,但是它有體二極管!MOS管里的體二極管把SDA1拉低到低電平,此時VGS約等于3.3V,MOS管導(dǎo)通,進一步拉低了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 以上為高電平。
注意事項:
以上是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ù)值還不一樣!?。?/span>
再來看一下,設(shè)計電路時VGS可能設(shè)計過小的情況,下圖是2N7002的數(shù)據(jù)手冊:
實際使用時為保證完全開啟、完全導(dǎo)通,設(shè)計上要多預(yù)留余量,比如實際電路中VGS起碼給到1.8V。因為1.8V的設(shè)計參數(shù)接近數(shù)據(jù)手冊標注的1V臨界值,尤其注意用實驗驗證,確保萬無一失。
總結(jié):
3.3V跟5V互轉(zhuǎn)的電路已經(jīng)是一個經(jīng)典電路,不像有些MOS管外型看起來跟2N7002一樣,但實際是大功率的,有部分性能規(guī)格浪費了,有部分性能規(guī)格又不一定能滿足需要,主要是還賊貴,具體其他MOS是怎樣的這里就不細究啦。