當(dāng)兩個(gè)芯片的通訊IO口的電平不一樣時(shí),就需要進(jìn)行電平轉(zhuǎn)換,使信號(hào)能正常通訊,嚴(yán)重的有可能把芯片燒壞。比較常見(jiàn)就有I2C/URAT通信。
那么使用什么電路可以進(jìn)行電平轉(zhuǎn)換呢?其實(shí)可以選擇的方法有幾種。
一種是直接使用專門的電平轉(zhuǎn)換芯片,電壓直接轉(zhuǎn)換,這種方法成本比較高,但穩(wěn)定性和方便性高。
一種是使用MOS管來(lái)做電平轉(zhuǎn)換的電路。(這個(gè)原理我以前文件有講:http://www.delux-kingway.cn/d/1815946.html,大家可以看下)。這種辦法是比較經(jīng)濟(jì)實(shí)惠的,價(jià)格就是一顆MOS管的價(jià)錢,里面用到了MOS管體二極管的作用。
第三種辦法就是直接使用一個(gè)二極管就可以了,這種方法簡(jiǎn)單便宜了。當(dāng)然相對(duì)可靠性沒(méi)有那么高。其原理和MOS管運(yùn)用是差不多的。二極管常用于單向傳輸數(shù)據(jù)線,比如UART的RX信號(hào)。
比如說(shuō)UART_RX信號(hào)線(對(duì)MCU來(lái)言),一邊是SOC 的發(fā)送信號(hào)端,電壓域是3.3V,一邊是MCU的接收端,電壓域是1.8V。這個(gè)時(shí)候通過(guò)一個(gè)二極管可以進(jìn)行電平轉(zhuǎn)換,不讓3.3V電串到MCU端。如下圖:
當(dāng)SOC端發(fā)送低電平信號(hào)(0V),MCU端接了上拉電阻到1.8V,二極管導(dǎo)通。那么MCU收到的信號(hào)電平最大0.7V(0+二極管導(dǎo)通電壓),0.7V還是屬于低電平閾值,可以識(shí)別到。
當(dāng)SOC端發(fā)送高電平信號(hào)(3.3V),MCU端接了上拉電阻到1.8V,二極管不滿足導(dǎo)通條件。那么MCU收到的信號(hào)電平就是上拉的電壓1.8V,被識(shí)別成高電平。
很明顯整個(gè)傳輸過(guò)程,高低電位的時(shí)間點(diǎn)是對(duì)的,只是電平大小從3.3V變成1.8V了,數(shù)據(jù)通信不受影響。
值得注意的是,這種電路中,SOC發(fā)送時(shí)候低電平電壓不要太大,不然疊加了二極管導(dǎo)通電容,電平太高可能造成誤判斷;另外二極管要選擇導(dǎo)通電壓低的,不然同樣會(huì)導(dǎo)致這個(gè)問(wèn)題。
-
二極管
+關(guān)注
關(guān)注
147文章
9730瀏覽量
167646 -
電平轉(zhuǎn)換
+關(guān)注
關(guān)注
3文章
137瀏覽量
33906 -
I2C
+關(guān)注
關(guān)注
28文章
1495瀏覽量
124665 -
電平轉(zhuǎn)換電路
+關(guān)注
關(guān)注
1文章
46瀏覽量
13911
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論