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