<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          5V串口接3.3V單片機串口怎么搞?

          共 1814字,需瀏覽 4分鐘

           ·

          2022-07-09 14:22


          寫在前面:兩個單片機由于電平不同,串口通信可能會失敗,這時候需要通過電平轉換電路來解決,本文給出了兩種方法,一種是通過三極管搭建,另一種是MOS管搭建,在硬件工程師的筆試中也經常會出現這樣的題目。

          3.3V單片機和5V單片機通信的思路

          3.3V單片機通信方向5V單片機
          發(fā)送邏輯1(對應電壓3.3V)接受邏輯1(對應電壓5V)
          發(fā)送邏輯0(對應電壓0V)接受邏輯0(對應電壓0V)
          接受邏輯1(對應電壓3.3V)發(fā)送邏輯1(對應電壓5V)
          接受邏輯0(對應電壓0V)發(fā)送邏輯0(對應電壓0V)

          MOS管轉換電路

          工作原理:

          1、當3V3單片機發(fā)送邏輯1,即3V3_TX=3.3V,Ugs=0V,MOS管截止,5V_RX通過R2上拉到+5V,5V_RX=5V;

          2、當3V3單片機發(fā)送邏輯0,即3V3_TX=0V,Ugs=3V,MOS管導通,5V_RX會被拉低,5V_RX=0V;

          3V3_TX發(fā)送給5V_RX


          那有人說了,5V的數據怎么發(fā)送給3V3單片機呢?是不是將信號方向及電源更換即可,我們來看一下。

          工作原理:

          1、當5V單片機發(fā)送邏輯1,即5V_TX=5V,Ugs=0V,MOS管截止,3V3_RX通過R1上拉到3V3,3V3_RX=3.3V;

          2、當5V單片機發(fā)送邏輯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發(fā)送到3.3V單片機呢?其實也簡單,兩個器件搞定,如下是電路圖。

          1、5V_TX=5V時,二極管D1截止,3V3_RX=3.3V;

          2、5V_TX=0V時,二極管D1導通,3V3_RX≈0.6V;實際3V3_RX是多少,取決于D1的正向導通壓降,因為要得到更低的電壓,一般D1選擇肖特基二極管,肖特基優(yōu)點就是導通壓降小。

          5V_TX發(fā)送給3V3_RX

          三極管轉換電路

          工作原理:

          1、當3V3單片機發(fā)送邏輯1,即3V3_TX=3.3V,NPN三極管截止,5V_RX通過R2上拉到+5V,5V_RX=5V;

          2、當3V3單片機發(fā)送邏輯0,即3V3_TX=0V,NPN三極管導通,5V_RX會被拉低,所以5V_RX=0V;

          3V3_TX發(fā)送給5V_RX

          利用三極管,5V單片機發(fā)送給3.3V單片機,是不是電源和信號互換就可以,和MOS管電路一樣,如下電路同樣不能用

          原因是當5V_TX為5V時,發(fā)射極反偏,但是5V通過電阻R1由三極管的基極到達三極管的集電極,造成集電極正偏,和MOS管電路一樣,使3V3_RX電壓高于3.3V(4V多),大家可以仿真一下,這里我就不仿真了。

          此電路不可用

          如下,給出了5V單片機向3.3V單片機發(fā)送的電路圖,用兩個NPN三極管搭建。

          工作原理:

          1、當5V單片機發(fā)送邏輯1,即5V_TX=5V,Q1導通,Q2的基極被拉低,Q2截止,所以3V3_RX=3.3V;

          2、當5V單片機發(fā)送邏輯0,即5V_TX=0V,Q1截止,Q2導通,所以3V3_RX=0V;

          5V_TX發(fā)送給3V3_RX

          可以看到,我并沒有畫兩個NMOS管搭建5V單片機向3.3V單片機發(fā)送的電路,其實將上圖中的三極管換成NMOS管,就能實現,在實際的電路設計中,為減少成本,應盡量考慮用較少的器件搭電路,所以一般就用二極管方案。

          今天的文章到這里就結束了。。。




          哦不,上面的問題并沒有結束


          我轉發(fā)這篇文章的原因是晚上和朋友討論到這個問題,我們還因為這個問題開了個騰訊會議。


          如果要連接的是3.3V的單片機串口,我們第一時間應該想到我們也用3.3V的單片機,兩個3.3V的單片機供電上肯定是不會有問題的。而現在市面上很多ARM芯片,都是3.3V的GPIO口電壓,5V單片機作為初級入門電平,已經慢慢被取代,當然,之后還有1.8V的單片機。


          —— The End ——



          瀏覽 227
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人三级网站在线 | 国产激情无码视频 | 国产精品久久久久久久曹县翰林府 | 我要色色网 | 亚洲韩日在线 |