MCU通用輸入輸出端口(GPIO)輸出模式


`對于常規(guī)MCU,通用輸入輸出(GPIO)是其最基本、最常用的功能,`
`用于實現(xiàn)最基本的數(shù)字量輸入和輸出。`

信號一般為:

  • 以3.3VDC為高電平的LTTL電平
  • 以5.0VDC為高電平的TTL電平。

一般情況下,GPIO能夠實現(xiàn)兩種輸出模式:

  • 開漏輸出

  • 推挽輸出。

    `其中最常用的是推挽輸出模式。`
    

原理圖如下:


開漏輸出(左)___________推挽輸出(右)

開漏輸出與推挽輸出在外部鏈接上的區(qū)別

開漏輸出需要外接一個上拉電阻才能得到輸出電壓,否則就不會有電壓輸出,而推挽輸出可以直接得到輸出信號。

下面舉例一些需要使用開漏輸出的情況:

  • 在使用IIC(TWI)總線進行信號傳輸?shù)臅r候,由于協(xié)議的設計,必須使用開漏模式來輸出信號,這樣可以避免總線上多個設備傳輸信號產(chǎn)生沖突。
  • 在LTTL(3.3VDC)電平電路中,當需要輸出TTL(5VDC)電平的時候,由于5VDC電壓高于LTTL電平所在電路的電源電壓,所以即便是LTTL電平電路中的I\O引腳可以承受TTL電平,但LTTL電平電路也無法提供足夠高的電壓來輸出TTL電平信號。此時可以利用外部上拉電阻將輸出引腳連接到5.0VDC電源上,使這些引腳向以TTL電平工作的芯片傳輸數(shù)據(jù)。
推挽輸出電路

來看一個典型的推挽輸出電路:


推挽輸出電路

上面的三極管是NPN型三極管,下面的三極管是PNP型三極管,注意控制端、輸入端和輸出端。

當Vin電壓為V+時,上面的N型三極管控制端有電流輸入,Q3導通,于是電流從上往下通過,提供電流給負載。

推挽輸出電路-推電流

經(jīng)過上面的N型三極管提供電流給負載(Rload),這就叫「推」。

當Vin電壓為V-時,下面的三極管有電流流出,Q4導通,有電流從上往下流過。


推挽輸出電路-挽電流

經(jīng)過下面的P型三極管提供電流給負載(Rload),這就叫「挽」。

以上便是推挽(push-pull)電路。

一些總結

1) 推挽輸出能夠輸出高或者低,而開漏輸出只能輸出低,或者關閉輸出,因此開漏輸出總是要配一個上拉電阻使用。

2) 開漏輸出的上拉電阻不能太小,太小的話,當開漏輸出的下管導通時,電源到地的電壓在電阻上會造成很大的功耗,因此這個電阻阻值通常在10k以上,這樣開漏輸出在從輸出低電平切換到高電平時,速度很慢。

3) 推挽輸出任意時刻的輸出要么是高,要么是低,所以不能將多個輸出短接;而開漏輸出可以將多個輸出短接,共用一個上拉,此時這些開漏輸出的驅動其實是或非的關系。

4) 推挽輸出輸出高時,其電壓等于推挽電路的電源,通常為一個定值,而開漏輸出的高取決于上拉電阻接的電壓,不取決于前級電壓,所以經(jīng)常用來做電平轉換,用低電壓邏輯驅動高電壓邏輯。


    感謝一直關注著禾灮成長進步的朋友們。你們的信任、支持和鼓勵,鞭策著我們一路走到了今天。
    
    感謝所有的合作伙伴,我們相互促進,共同見證了彼此的成長。

    感謝所有曾經(jīng)在禾灮彼此倚靠、相互鼓勵、攜手同心、砥礪同行的兄弟姐妹。這里承載了我們的青春與熱血。

                禾灮,感謝有你。

    未來,我們將一如既往,砥礪前行。

                                        禾灮·小楊
                                       2018.08.07

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容