1. 程式人生 > >GPIO電路圖以及上拉電阻的作用

GPIO電路圖以及上拉電阻的作用

GPIO口的定義:

    GPIO口,通用輸入輸出,這個大家都知道,但是輸入,輸出的電路是什麼樣的,其實並不用太關心,只需配置暫存器即可,但是還是要摸一摸,為了方便理解,引入了微控制器的IO口原理圖來說明(道理是一樣的)

認識電路:

一.普通IO口            

       

如上圖所示(紅色框是板子內部)

1.基級(②位置)為低電平時,PNP導通,此時微控制器IO口輸出的是低電平,當基級(②位置)為電平時,PNP導通,此時微控制器IO口輸出的是電平

2.這裡注意,④位置上是一個上拉電阻,這裡設定上拉電阻的考慮因素是這樣的,假設我要在這個微控制器IO口輸出一個電流來驅動小燈發亮,①的位置電阻一般有20k左右,發出的電流250uA,基本上忽略不計,加上一個上拉電阻後, 總電流 = ①位置電流 + ④位置電流(①與④構成並聯電路)

3.為什麼不設定讓,①的位置電阻R小一點,這樣電流大一點,就不需要上拉電阻了呢? 因為微控制器是控制單元,設計時最好把強電流設計到外圍電路里,如果設計到微控制器內部,會燒壞板子

這裡體現出上拉電阻的其中一個作用--->加大電流,加強了驅動的能力

二.強推輓輸出:

(意思就是說能輸入輸出大電流,前面已經說了微控制器內部最好不要設計大的電流,所以這個功能的IO要少用)

1.內部匯流排輸入高電平, 上面的NPN導通,則IO口輸出大電流(因為上面的三極體VCC電源下面沒有接上拉電阻,  I = VCC/電阻+NPN內部電阻),所以IO出口的地方一般接一個電阻限流內部匯流排輸如低電平, 下面的NPN導通,則此時如果IO口外面接一個VCC(不帶上拉電阻),就會有大電流灌輸進來

這裡體現了上拉電阻的另一個作用--->限流

三.開漏級OC門:

什麼叫IO口的開漏狀態,如上圖所示 如果內線是高電平,則NPN的基級是低電平,此時NPN不導通,那麼IO口此時相當於是懸浮在空氣中的,所以無法確定它的狀態(不知道是低電平還是高電平),那麼這個狀態就是開漏狀態,所以此時要向外圍電路輸出一個高電平是不可能的,如果想輸出一個高電平,則必須在NPN的集電極上面來一個上拉電阻

這時又體現出上拉的一個作用: 就是將不確定的訊號通過一個電阻嵌位(保持)在一個高電平上,下拉同理

這裡對於OC門還有一個應用, 可以控制高電位的電路,如果外圍電路需要大的電壓,則可以用OC門加上拉電阻來完成這個功能,如下圖所示, 當內部匯流排為高電平,則NPN截止,最右邊加一個12v的上拉電阻,使得電位鉗在12v供外圍電路使用