在這篇文章中,小編將為大家?guī)?a href="/tags/GPIO" target="_blank">GPIO的相關(guān)報道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。
一、什么是GPIO
GPIO(英語:General-purpose input/output),通用型之輸入輸出的簡稱,功能類似8051的P0—P3,其接腳可以供使用者由程控自由使用,PIN腳依現(xiàn)實考量可作為通用輸入(GPI)或通用輸出(GPO)或通用輸入與輸出(GPIO),如當(dāng)clk generator, chip select等。
既然一個引腳可以用于輸入、輸出或其他特殊功能,那么一定有寄存器用來選擇這些功能。對于輸入,一定可以通過讀取某個寄存器來確定引腳電位的高低;對于輸出,一定可以通過寫入某個寄存器來讓這個引腳輸出高電位或者低電位;對于其他特殊功能,則有另外的寄存器來控制它們。
二、GPIO推挽輸出和開漏輸出電路圖分析
推挽輸出:
可以輸出高,低電平,連接數(shù)字器件。
輸出 0 時,N-MOS 導(dǎo)通,P-MOS 高阻,輸出0。
輸出 1 時,N-MOS 高阻,P-MOS 導(dǎo)通,輸出1(不需要外部上拉電路)。
開漏輸出: 輸出端相當(dāng)于三極管的集電極。 要得到高電平狀態(tài)需要上拉電阻才行。適合于做電流型的驅(qū)動,其吸收電流的能力相對強(一般20ma以內(nèi))。
輸出 0 時,N-MOS 導(dǎo)通,P-MOS 不被激活,輸出0。
輸出 1 時,N-MOS 高阻, P-MOS 不被激活,輸出1(需要外部上拉電路);可以讀IO輸入電平變化,此模式可以把端口作為雙向IO使用。
推挽電路: 上面的三極管是N型三極管,下面的三極管是P型三極管,請留意控制端、輸入端和輸出端。 當(dāng)Vin電壓為V+時,上面的N型三極管控制端有電流輸入,Q3導(dǎo)通,于是電流從上往下通過,提供電流給負載。 經(jīng)過上面的N型三極管提供電流給負載(Rload),這就叫「推」。 當(dāng)Vin電壓為V-時,下面的三極管有電流流出,Q4導(dǎo)通,有電流從上往下流過。
經(jīng)過下面的P型三極管提供電流給負載(Rload),這就叫「挽」。 以上,這就是推挽(push-pull)電路。 那么什么是開漏呢? 要理解開漏,可以先理解開集。 如圖,開集的意思,就是集電極C一端什么都不接,直接作為輸出端口。 如果要用這種電路帶一個負載,比如一個LED,必須接一個上拉電阻,就像這樣。
當(dāng)Vin沒有電流,Q5斷開時,LED亮。 當(dāng)Vin流入電流,Q5導(dǎo)通時,LED滅。 開漏電路,就是把上圖中的三極管換成場效應(yīng)管(MOSFET)。 N型場效應(yīng)管各個端口的名稱:
場效應(yīng)管是電壓控制型元器件,只要對柵極施加電壓,DS就會導(dǎo)通。 結(jié)型場效應(yīng)管有一個特性就是它的輸入阻抗非常大,這意味著:沒有電流從控制電路流出,也沒有電流進入控制電路。沒有電流流入或流出,就不會燒壞控制電路。 而雙極型晶體管不同,是電流控制性元器件,如果使用開集電路,可能會燒壞控制電路。 這大概就是我們總是聽到開漏電路而很少聽到開集電路的原因吧?因為開集電路被淘汰了。 有人說,開漏單刀單置,推挽單刀雙置,這樣理解也有一定的道理。
以上所有內(nèi)容便是小編此次為大家?guī)淼挠嘘P(guān)GPIO的所有介紹,如果你想了解更多有關(guān)它的內(nèi)容,不妨在我們網(wǎng)站進行探索哦。