GPIO 上拉下拉解釋說明

http://www.elecfans.com/pld/jiekou_zongxian_qudong/577391.html


gpio上拉下拉區別

  GPIO是一顆芯片(MCU)必須具備的最基本外設功能。

  GPIO通常有三種狀態:高電平、低電平和高阻態。高阻態換句話說就是斷開狀態或浮空態。因此上拉和下拉其中一個強大的理由就是爲了防止輸入端懸空,使其有確定的狀態。減弱外部電流對芯片的產生的干擾。

  上拉就是將不確定的信號通過一個電阻提升爲高電平,這個上拉的電阻的選擇通常有講究,通常是驅動能力和功耗的平衡,若GPIO爲輸出爲高電平,一般來說,上拉電阻越小,驅動能力越強,但功耗也就越大,同時還要考慮下級電路對驅動能力的要求,上拉電阻選擇的合適才能向下級電路提供足夠的電流。另外就是數字電路對高低電平都有一個門檻,以上拉電阻爲例,輸出高電平自然是被拉高,但輸出低電平的時候,通常內部的開關管會被導通到地,這必須確保內部導通到地這一段之間的電阻和上拉電阻的比值足夠讓其電平處在零電平門檻之下。對頻率比較高的時候,上拉電阻和開關管漏源級之間的電容和下級電路之間的輸入電容會形成“RC延遲”,電阻越大,延遲越大。下拉電阻的選擇原理和上拉電阻是一樣的。

  還有另外兩個概念:拉電流和灌電流。這兩個名詞本是爲更形象的表述卻意外的讓人更加迷惑。要弄清楚這兩個概念首先必須以芯片本身爲出發點,所謂的拉和灌都是相對芯片本身而言。

  拉是芯片主動輸出電流,從輸出端口輸出電流 ,拉電流就是GPIO輸出高電平給負載提供的輸出電流。

  灌是芯片被輸入電流,從輸出端口灌入,灌電流是輸出低電平時外部數字電路輸入的電流。

  另外還有一個吸收電流的概念,吸收電流時主動吸入電流,是從輸入端口流入,即GPIO被設置爲輸入狀態。 所以拉電流和灌電流通常都是指相對輸出而言。

  gpio上拉好還是下拉好

  首先 上下拉 是給IO一個默認的狀態 比如控制EN的話,那麼高有效的我們就下拉,低有效的話我們就上拉

  而 很多IO 由於CMOS工藝問題會出現float的現象,所以不能懸空 需要PU PD。

  上拉和下拉是指GPIO輸出高電位(上拉)還是低電位(下拉)。

  上拉就是輸入高電平,然後接一個上拉電阻(起保護作用),知道上拉就表示該端口在默認情況下輸入爲高電平。

  下拉就相反了,指輸入低電平,然後接一個下拉電阻。

  那麼,什麼是高電平,什麼是低電平呢?這是電路方面的知識,百度百科講的,表示不太懂。

  上拉就是將不確定的信號通過一個電阻鉗位在高電平,電阻同時起限流作用。

  下拉同理。也是將不確定的信號通過一個電阻鉗位在低電平。

  不過從程序設計的角度講,

  上拉就是如果沒有輸入信號則此時I/O狀態爲1,下拉相反。

  具體配置爲上拉還是下拉,要看電路圖。看外部有沒有上下拉電阻。

  上拉寄存器是控制對應端口上拉使能的。當對應位爲0時,設置對應引腳上拉使能,爲1時,禁止對應引腳上拉使能。如果上拉寄存器使能,無論引腳功能寄存器如何設置(輸入,輸出,數據,中斷等),對應引腳輸出高電平。可見對應於S3C2410的GPB-BPH口內部有上拉電阻寄存器,當相應的上拉電阻使能時,對應的I/O引腳懸空時,表現出高電平。反之,表現出低電平。

  gpio上拉好還是下拉好_gpio上拉下拉什麼區別

  gpio上拉好還是下拉好_gpio上拉下拉什麼區別

  上拉是一個電阻接到一個電壓,其實就是增強IO的驅動能力。下拉是一個電阻接到地,保證IO口是低電平。

  主要是用在TTL電平和CMOS電平之間的相互驅動上面。TTL電平和CMOS電平的邏輯0和1的定義是不一樣的,打個比方,你的IO輸出邏輯1時電平是3.3V,而接到IO上的元件的邏輯1是5V,這時就要將這個IO接一個上拉,使該IO的邏輯1能夠和其驅動的設備的邏輯1電平相當。具體上拉下拉電阻怎麼計算,這要看IO輸出的電流是多少,這個電流經過上下拉電阻時會產生一個壓降,一般上拉電阻接到的電源電壓減去這個壓降就是該IO可以被拉到的電平值,要求這個上拉電平值能夠達到邏輯1的下限。具體那篇文章可以在論壇裏搜索一下。

  1、一般作單鍵觸發使用時,如果IC本身沒有內接電阻,爲了使單鍵維持在不被觸發的狀態或是觸發後回到原狀態,必須在IC外部另接一電阻。

  2、數字電路有三種狀態:高電平、低電平、和高阻狀態,有些應用場合不希望出現高阻狀態,可以通過上拉電阻或下拉電阻的方式使處於穩定狀態,具體視設計要求而定。

  3、I/O端口,有的可以設置,有的不可以設置,有的是內置,有的是需要外接,I/O端口的輸出類似與一個三極管的C,當C接通過一個電阻和電源連接在一起的時候,該電阻成爲上C拉電阻,也就是說,如果該端口正常時爲高電平,C通過一個電阻和地連接在一起的時候,該電阻稱爲下拉電阻,使該端口平時爲低電平,作用:比如,當一個接有上拉電阻的端口設爲輸入狀態時,他的常態就爲高電平,用於檢測低電平的輸入。

  4、上拉電阻有時是用來解決總線驅動能力不足時提供電流的,一般說法是拉電流;下拉電阻是用來吸收電流的,也就是灌電流。比如有I2C總線使用會上拉一個10k的電阻。

  端口選擇還應該注意端口的初始的狀態。這個狀態是系統復位時的狀態,是不受上層軟件控制的,假如選擇的端口正常是高電平有效的,那麼應該選一個系統復位時,是下拉狀態的端口。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章