5V串口接3.3V單片機串口怎么搞?
寫在前面:兩個單片機由于電平不同,串口通信可能會失敗,這時候需要通過電平轉(zhuǎn)換電路來解決,本文給出了兩種方法,一種是通過三極管搭建,另一種是MOS管搭建,在硬件工程師的筆試中也經(jīng)常會出現(xiàn)這樣的題目。
3.3V單片機和5V單片機通信的思路
| 3.3V單片機 | 通信方向 | 5V單片機 |
|---|---|---|
| 發(fā)送邏輯1(對應(yīng)電壓3.3V) | → | 接受邏輯1(對應(yīng)電壓5V) |
| 發(fā)送邏輯0(對應(yīng)電壓0V) | → | 接受邏輯0(對應(yīng)電壓0V) |
| 接受邏輯1(對應(yīng)電壓3.3V) | ← | 發(fā)送邏輯1(對應(yīng)電壓5V) |
| 接受邏輯0(對應(yīng)電壓0V) | ← | 發(fā)送邏輯0(對應(yīng)電壓0V) |
MOS管轉(zhuǎn)換電路
工作原理:
1、當(dāng)3V3單片機發(fā)送邏輯1,即3V3_TX=3.3V,Ugs=0V,MOS管截止,5V_RX通過R2上拉到+5V,5V_RX=5V;
2、當(dāng)3V3單片機發(fā)送邏輯0,即3V3_TX=0V,Ugs=3V,MOS管導(dǎo)通,5V_RX會被拉低,5V_RX=0V;

那有人說了,5V的數(shù)據(jù)怎么發(fā)送給3V3單片機呢?是不是將信號方向及電源更換即可,我們來看一下。
工作原理:
1、當(dāng)5V單片機發(fā)送邏輯1,即5V_TX=5V,Ugs=0V,MOS管截止,3V3_RX通過R1上拉到3V3,3V3_RX=3.3V;
2、當(dāng)5V單片機發(fā)送邏輯0,即5V_TX=0V,Ugs=5V,MOS管導(dǎo)通,3V3_RX被拉低,所以3V3_RX=0;
以上分析似乎合情合理,其實如下電路不可用,上面的第2點其實是沒有問題的,主要是第1點,當(dāng)MOS管截止時,5V_TX的5V電壓會經(jīng)過MOS管的體二極管到達3V3_RX,使3V3_RX的電壓高于3.3V(4V多,取決于體二極管的導(dǎo)通壓降)。這樣的話,一方面4V多的電壓與3.3V有壓差,經(jīng)過R1電阻會有耗電;另一方面,4V多的電壓也可能損壞3.3V單片機的RX管腳。

利用仿真軟件仿真,可以看到MOS管截止時,輸出是4.44V,明顯高于3.3V,驗證了上述的觀點。
仿真上述不可用電路那如何設(shè)計5V發(fā)送到3.3V單片機呢?其實也簡單,兩個器件搞定,如下是電路圖。
1、5V_TX=5V時,二極管D1截止,3V3_RX=3.3V;
2、5V_TX=0V時,二極管D1導(dǎo)通,3V3_RX≈0.6V;實際3V3_RX是多少,取決于D1的正向?qū)▔航?,因為要得到更低的電壓,一般D1選擇肖特基二極管,肖特基優(yōu)點就是導(dǎo)通壓降小。

三極管轉(zhuǎn)換電路
工作原理:
1、當(dāng)3V3單片機發(fā)送邏輯1,即3V3_TX=3.3V,NPN三極管截止,5V_RX通過R2上拉到+5V,5V_RX=5V;
2、當(dāng)3V3單片機發(fā)送邏輯0,即3V3_TX=0V,NPN三極管導(dǎo)通,5V_RX會被拉低,所以5V_RX=0V;

利用三極管,5V單片機發(fā)送給3.3V單片機,是不是電源和信號互換就可以,和MOS管電路一樣,如下電路同樣不能用。
原因是當(dāng)5V_TX為5V時,發(fā)射極反偏,但是5V通過電阻R1由三極管的基極到達三極管的集電極,造成集電極正偏,和MOS管電路一樣,使3V3_RX電壓高于3.3V(4V多),大家可以仿真一下,這里我就不仿真了。

如下,給出了5V單片機向3.3V單片機發(fā)送的電路圖,用兩個NPN三極管搭建。
工作原理:
1、當(dāng)5V單片機發(fā)送邏輯1,即5V_TX=5V,Q1導(dǎo)通,Q2的基極被拉低,Q2截止,所以3V3_RX=3.3V;
2、當(dāng)5V單片機發(fā)送邏輯0,即5V_TX=0V,Q1截止,Q2導(dǎo)通,所以3V3_RX=0V;

可以看到,我并沒有畫兩個NMOS管搭建5V單片機向3.3V單片機發(fā)送的電路,其實將上圖中的三極管換成NMOS管,就能實現(xiàn),在實際的電路設(shè)計中,為減少成本,應(yīng)盡量考慮用較少的器件搭電路,所以一般就用二極管方案。
今天的文章到這里就結(jié)束了。。。
哦不,上面的問題并沒有結(jié)束
我轉(zhuǎn)發(fā)這篇文章的原因是晚上和朋友討論到這個問題,我們還因為這個問題開了個騰訊會議。
如果要連接的是3.3V的單片機串口,我們第一時間應(yīng)該想到我們也用3.3V的單片機,兩個3.3V的單片機供電上肯定是不會有問題的。而現(xiàn)在市面上很多ARM芯片,都是3.3V的GPIO口電壓,5V單片機作為初級入門電平,已經(jīng)慢慢被取代,當(dāng)然,之后還有1.8V的單片機。

—— The End ——
