兩個單片機由于電平不同,串口通信可能會失敗,這時候需要通過電平轉換電路來解決,本文給出了兩種方法,一種是通過三極管搭建,另一種是 MOS 管搭建,在硬件工程師的筆試中也經常會出現這樣的題目。
3.3V 單片機和 5V 單片機通信的思路
MOS 管轉換電路
工作原理:
1、當 3V3 單片機發送邏輯 1,即 3V3_TX=3.3V,Ugs=0V,MOS 管截止,5V_RX 通過 R2 上拉到+5V,5V_RX=5V;
2、當 3V3 單片機發送邏輯 0,即 3V3_TX=0V,Ugs=3V,MOS 管導通,5V_RX 會被拉低,5V_RX=0V;
那有人說了,5V 的數據怎么發送給 3V3 單片機呢?是不是將信號方向及電源更換即可,我們來看一下。
工作原理:
1、當 5V 單片機發送邏輯 1,即 5V_TX=5V,Ugs=0V,MOS 管截止,3V3_RX 通過 R1 上拉到 3V3,3V3_RX=3.3V;
2、當 5V 單片機發送邏輯 0,即 5V_TX=0V,Ugs=5V,MOS 管導通,3V3_RX 被拉低,所以 3V3_RX=0;
以上分析似乎合情合理,其實如下電路不可用,上面的第 2 點其實是沒有問題的,主要是第 1 點,當 MOS 管截止時,5V_TX 的 5V 電壓會經過 MOS 管的體二極管到達 3V3_RX,使 3V3_RX 的電壓高于 3.3V(4V 多,取決于體二極管的導通壓降)。這樣的話,一方面 4V 多的電壓與 3.3V 有壓差,經過 R1 電阻會有耗電;另一方面,4V 多的電壓也可能損壞 3.3V 單片機的 RX 管腳。
此電路不可用
利用仿真軟件仿真,可以看到 MOS 管截止時,輸出是 4.44V,明顯高于 3.3V,驗證了上述的觀點。
仿真上述不可用電路
那如何設計 5V 發送到 3.3V 單片機呢?其實也簡單,兩個器件搞定,如下是電路圖。
1、5V_TX=5V 時,二極管 D1 截止,3V3_RX=3.3V;
2、5V_TX=0V 時,二極管 D1 導通,3V3_RX≈0.6V;實際 3V3_RX 是多少,取決于 D1 的正向導通壓降,因為要得到更低的電壓,一般 D1 選擇肖特基二極管,肖特基優點就是導通壓降小。
三極管轉換電路
工作原理:
1、當 3V3 單片機發送邏輯 1,即 3V3_TX=3.3V,NPN 三極管截止,5V_RX 通過 R2 上拉到+5V,5V_RX=5V;
2、當 3V3 單片機發送邏輯 0,即 3V3_TX=0V,NPN 三極管導通,5V_RX 會被拉低,所以 5V_RX=0V;
利用三極管,5V 單片機發送給 3.3V 單片機,是不是電源和信號互換就可以,和 MOS 管電路一樣,如下電路同樣不能用。
原因是當 5V_TX 為 5V 時,發射極反偏,但是 5V 通過電阻 R1 由三極管的基極到達三極管的集電極,造成集電極正偏,和 MOS 管電路一樣,使 3V3_RX 電壓高于 3.3V(4V 多),大家可以仿真一下,這里我就不仿真了。
此電路不可用
如下,給出了 5V 單片機向 3.3V 單片機發送的電路圖,用兩個 NPN 三極管搭建。
工作原理:
1、當 5V 單片機發送邏輯 1,即 5V_TX=5V,Q1 導通,Q2 的基極被拉低,Q2 截止,所以 3V3_RX=3.3V;
2、當 5V 單片機發送邏輯 0,即 5V_TX=0V,Q1 截止,Q2 導通,所以 3V3_RX=0V;
可以看到,我并沒有畫兩個 NMOS 管搭建 5V 單片機向 3.3V 單片機發送的電路,其實將上圖中的三極管換成 NMOS 管,就能實現,在實際的電路設計中,為減少成本,應盡量考慮用較少的器件搭電路,所以一般就用二極管方案。
烜芯微專業制造二極管,三極管,MOS管,橋堆等20年,工廠直銷省20%,4000家電路電器生產企業選用,專業的工程師幫您穩定好每一批產品,如果您有遇到什么需要幫助解決的,可以點擊右邊的工程師,或者點擊銷售經理給您精準的報價以及產品介紹
烜芯微專業制造二極管,三極管,MOS管,橋堆等20年,工廠直銷省20%,4000家電路電器生產企業選用,專業的工程師幫您穩定好每一批產品,如果您有遇到什么需要幫助解決的,可以點擊右邊的工程師,或者點擊銷售經理給您精準的報價以及產品介紹