一文讓你讀懂上拉電阻與下拉電阻

2021-01-06 電子發燒友
一文讓你讀懂上拉電阻與下拉電阻

玩轉單片機 發表於 2021-01-02 17:01:00

  上拉(Pull Up )或下拉(Pull Down)電阻(兩者統稱為「拉電阻」)最基本的作用是:將狀態不確定的信號線通過一個電阻將其箝位至高電平(上拉)或低電平(下拉),無論它的具體用法如何,這個基本的作用都是相同的,只是在不同應用場合中會對電阻的阻值要求有所不同,從而也引出了諸多新的概念,本節我們就來小談一下這些內容。

  如果拉電阻用於輸入信號引腳,通常的作用是將信號線強制箝位至某個電平,以防止信號線因懸空而出現不確定的狀態,繼而導致系統出現不期望的狀態,如下圖所示:

  

  在實際應用中,10K歐姆的電阻是使用數量最多的拉電阻。需要使用上拉電阻還是下拉電阻,主要取決於電路系統本身的需要,比如,對於高有效的使能控制信號(EN), 我們希望電路系統在上電後應處於無效狀態,則會使用下拉電阻。

  假設這個使能信號是用來控制電機的,如果懸空的話,此信號線可能在上電後(或在運行中)受到其它噪聲幹擾而誤觸發為高電平,從而導致電機出現不期望的轉動,這肯定不是我們想要的,此時可以增加一個下拉電阻。

  而相應的,對於低有效的復位控制信號(RST#),我們希望上電復位後處於無效狀態,則應使用上拉電阻。

  大多數具備邏輯控制功能的晶片(如單片機、FPGA等)都會集成上拉或下拉電阻,用戶可根據需要選擇是否打開,STM32單片機GPIO模式即包含上拉或下拉,如下圖所示(來自ST數據手冊):

  

  根據拉電阻的阻值大小,我們還可以分為強拉或弱拉(weak pull-up/down),晶片內部集成的拉電阻通常都是弱拉(電阻比較大),拉電阻越小則表示電平能力越強(強拉),可以抵抗外部噪聲的能力也越強(也就是說,不期望出現的幹擾噪聲如果要更改強拉的信號電平,則需要的能量也必須相應加強),但是拉電阻越小則相應的功耗也越大,因為正常信號要改變信號線的狀態也需要更多的能量,在能量消耗這一方面,拉電阻是絕不會有所偏頗的,如下圖所示:

  

  對於上拉電阻R1而言,控制信號每次拉低L都會產生VCC/R1的電流消耗(沒有上拉電阻則電流為0),相應的,對於下拉電阻R2而言,控制信號每次拉高H也會產生VCC/R2R 電流消耗(本文假設高電平即為VCC)。

  強拉與弱拉之間沒有嚴格說多少歐姆是強弱的分界,一般我們使用的拉電阻都是弱拉,這樣我們仍然可以使用外部控制信號將已經上/下拉的信號線根據需要進行電平的更改。

  強拉電阻的極端就是零歐姆電阻,亦即將信號線直接與電源或地相連接,比如,對於EEPROM存儲晶片24C02應用電路,如下圖所示:

  

  其中,E0,E1,E2(地址配置位)在應用中通常都是直接強上拉到電源VCC,或強下拉到GND,因為存儲晶片的地址在系統運行過程中是不會再發生變化的,同樣,晶片的寫控制引腳WC(Write Control)也被強下拉到GND。

  拉電阻作為輸出(或輸入輸出)時牽涉到的知識點會更多一些,但本質的功能也是將電平箝位,最常見的輸出上拉電阻出現在開集(Open Collector,OC)或開漏(Open Drain,OD)結構的引腳。

  我們有很多晶片的輸出引腳是推輓輸出結構(Output Push-Pull),如下圖所示(還有一種反相輸出的結構,本質也是一樣的):

  

  推輓輸出結構引腳的特點是:無論引腳輸出高電平「H」還是低電平「L」,都有比較強的驅動能力(輸入或輸出電流能力)!

  當推輓輸出結構的控制信號為低電平「L」時,Q1截止Q2導通,電流I1由電源VCC經負載RL與三極體Q2流向公共地,我們稱此電流為灌電流(Sink Current),也就是外部電流灌入晶片內部,如下圖所示:

  

  相應的,當推輓輸出結構的控制信號為高電平「H」時,Q1導通Q2截止,電流I1由電源VCC經三極體Q1與負載RL流向公共地,我們稱此電流為拉電流(Source Current),也就是晶片內部可以向外提供的電流(所以稱之為「源電源」),從另一個角度講,也就是外電路可以從晶片中拉走多少電流,如下圖所示:

  

  灌電流能力與拉電流能力也稱為晶片引腳的驅動能力。對於任何給定的晶片,引腳的驅動能力都是有限的,如下圖所示為STM32單片機的IO引腳電流驅動能力(來自ST數據手冊):

  

  由上表可知,STM32的IO引腳的驅動能力為25mA,負號「-」表示電流的方向,灌與拉的電流方向是相反的(表中SUNK為SINK的過去分詞)

  由於晶片引腳的驅動能力都是有限的,如果引腳驅動的負載比較重,將可能導致輸出電平不正確(無法輸出預定的電平),如下圖所示:

  

  假定晶片的供電電壓為3.3V(忽略電晶體飽和壓降),則輸出最大電流25mA時,負載RL的值約為132歐姆(3.3V/25mA),如果負載值小於132歐姆,則相應輸出電流會更大(超過25mA),但是晶片引腳只能提供最大25mA的電流,因此,輸出電平將會下降(老闆你只給我2500月薪,我就只能幹2500的活,你要我幹更多的活得開更多的工資,一個道理)

  一般情況下,這種驅動重負載(小電阻)的電路連接是不會燒毀內部電晶體的,因為內部也是有限流電阻的,換句話講,就算輸出引腳對地短路,輸出電流也不會超過最大的驅動能力(除非是不正規的晶片),當然,在實際應用過程中儘量不要超出引腳的驅動能力。

  而OC(OD)的引腳輸出結構有所不同(OC結構存在於三極體,而OD結構存在於場效管,下面以OC輸出結構為例,OD輸出結構的原理是一致的),如下圖所示:

  

  當三極體Q1的驅動控制信號為高電平「H」時,Q1飽和導通,將對應輸出引腳拉為低電平「L」,如下圖所示:

  

  但是當控制驅動信號為低電平「L」時,三極體Q1截止,如果沒有外部上拉電阻的話,該引腳相當於懸空(高阻態),無法輸出高電平,也就是說,OC/OD結構輸出的引腳沒有拉電流(向外部電路提供電流)能力。因此,我們通常都會將OC/OD引腳通過外接電阻上拉到電源電壓VCC,這樣引腳輸出高電平時的拉電流就直接由電源VCC提供,如下圖所示:

  

  大多數比較器晶片的輸出都是OD/OC輸出結構,如下圖所示(來自TI比較器LM393數據手冊):

  

  很多晶片或模塊向外反饋系統狀態的信號引腳也是這種結構,這樣用戶就可以根據電路系統實際需要將電平上拉到對應的電源電壓VCC,就可以省略電平轉換了,如下圖所示(來自東芝步進電機控制晶片TB6560數據手冊):

  

  

  I2C(Inter Integrated Circuit,內部集成電路)總線也是典型的OD輸出結構的應用,如下圖所示:

  

  其中,SCL與SDA都是OD輸出結構輸出,這樣的好處是可以作為雙向數據總線(也稱「線或Wire-OR」功能)。

  如果晶片引腳使用之前描述的推挽結構,則兩個或多個晶片的引腳連接時將如下圖所示:

  

  假設如上圖所示晶片的輸出分別為0與1,則兩者直接相互連接後,會有非常大的電流自電源VCC經Q1與Q4到公共地,雖然大多數情況下不至於燒晶片,但也會引起很大的功率消耗,同時也會導致數據衝突(晶片1總會試圖將數據線拉高,而晶片2則會試圖將數據線拉低,我們稱之為數據衝突或總線衝突,表示雙方都在搶佔總線)

  如果使用OC/OD輸出結構,則相應的電路如下圖所示:

  

  此時,無論兩個晶片的引腳輸出什麼狀態,都不會引起數據衝突,配合各自晶片內部的數據識別電路及仲裁系統,雙方都可以主動給另一方發送信息,也就是說,任何一方都可以將信號線拉高或拉低,而不會影響起數據衝突。

  我們所熟悉的51單片機P0口也是OD結構,如下圖所示(來自ATMEL單片機AT89C51數據手冊):

  

  這樣我們可以使用同一個P0口,再配合多個片選信號即可訪問多個外掛的存儲晶片。

  前面所述上拉電阻的阻值對輸入引腳引起的功耗同樣適用於輸出拉電阻,因此拉電阻不宜太小,但在輸出信號速度比較快的電路下,拉電阻也不宜太大,如下圖所示為I2C總線上拉電阻的參考最大值(來自ST存儲晶片 AT24C02數據手冊)。

  

  在總線上總會有些雜散電容CBUS,這些電容與上拉電阻RL形成了一個RC充放電電路,上拉電阻越大則充放電常數越大,這樣會把原先比較陡峭的數據邊沿變得平緩,如下圖所示:

  

  嚴重的情況下將導致數據無法正常識別,這樣我們只能進一步優化電路參路,或降低通訊的速率。

  原文標題:上拉電阻與下拉電阻詳解

  文章出處:【微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請註明出處。

  責任編輯:haq

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 深入了解上拉電阻和下拉電阻
    上拉電阻和下拉電阻是經常提到也是經常用到的電阻。在每個系統的設計中都用到了大量的上拉電阻和下拉電阻。在上拉電阻和下拉電阻的電路中,經常有的疑問是:上拉電阻為何能上拉?上拉就是將不確定的信號通過一個電阻鉗位在高電平,電阻同時起限流作用,下拉同理。對於非集電極(或漏極)開路輸出型電路(如普通門電路,其提升電流和電壓的能力是有限的,上拉和下拉電阻的主要功能是為集電極開路輸出型電路提供輸出電流通道。
  • 帶你讀懂「上拉電阻」,工作原理分析
    當IC的I/O埠,節點為高電平時,節點處和GND之間的阻抗很大,可以理解為無窮大,這個時候通過上拉電阻(如4.7K歐,10K歐電阻)接到VCC上,上拉電阻的分壓幾乎可以忽略不計;當I/O埠節點需要為低電平時,直接接GND就可以了,這個時候VCC與GND是通過剛才的上拉電阻(如4.7K歐,10K歐電阻)連接的,通過的電流很小,可以忽略不計。
  • AVR單片機IO口結構和上拉和下拉電阻的作用
    為搞清IO結構,首先看看上拉和下拉電阻的作用。本文引用地址:http://www.eepw.com.cn/article/201811/394646.htm  一、上拉電阻  上拉就是將不確定的信號通過一個電阻鉗位在高電平!電阻同時起限流作用!下拉同理!  上拉電阻是用來解決總線驅動能力不足時提供電流的。一般說法是拉電流,下拉電阻是用來吸收電流。
  • 計算上拉電阻阻值的經驗分享
    打開APP 計算上拉電阻阻值的經驗分享 電工天下 發表於 2020-04-05 16:56:00   1、當TTL電路驅動COMS電路時,如果TTL電路輸出的高電平低於COMS電路的最低高電平(一般為3.5V),這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。
  • 一鍵解讀上拉電阻計算原理
    相信上拉電阻與下拉電阻的取值在一段時間內都是新手們較為疑惑的問題之一。與上拉電阻阻值有關的資料在網絡上雖然有不少,但大多很少對其中的技巧及原理進行分析,而只是給出簡單的計算過程。這樣雖然能夠在一定程度上提供幫助,但在遭遇到一些特殊情況時便會影響設計。
  • 科普:電路設計為什麼要加上、下拉電阻?有什麼作用?
    電路中加上拉電阻或下拉電阻的目的是確定某個狀態電路中的高電平或低電平。上、下拉電阻的作用提高電路穩定性,避免引起誤動作。第一圖中的按鍵如果不通過電阻上拉到高電平,那麼在上電瞬間可能就發生誤動作,因為在上電瞬間單片機的引腳電平是不確定的,上拉電阻R12的存在保證了其引腳處於高電平狀態,而不會發生誤動作。提高輸出管腳的帶載能力。受其他外圍電路的影響單片機在輸出高電平時能力不足,達不到VCC狀態,這會影響整個系統的正常工作,上拉電阻的存在就可以使管腳的驅動能力增強。
  • 【必備】一鍵解讀上拉電阻計算原理
    相信上拉電阻與下拉電阻的取值在一段時間內都是新手們較為疑惑的問題之一。
  • 深談GPIO及上下拉電阻
    圖5:8種GPIO輸入輸出功能類型內部原理框圖二、上下拉電阻作用1) 上拉就是將不確定的信號通過一個電阻嵌位在高電平!電阻同時起限流作用!下拉同理,下拉就是將不確定的信號通過一個電阻嵌位在低電平!電阻同時起限流作用!2) 上拉是對器件注入電流,下拉是輸出電流。3) 弱強只是上拉電阻的阻值不同,沒有什麼嚴格區分。
  • 什麼是上拉電阻?51單片機P0口上的上拉電阻有什麼用?
    這次簡單說說上拉電阻,那問題來了,什麼是上拉電阻?上拉電阻從概念上理解就是一個電阻一端接到電源正極,一端接到輸出端。下圖就是一個簡單的上拉電阻,如果沒有這個電阻R,則I/O口和VCC就沒有直接連接關係,如果用電阻連接起來就是一個上拉電阻。
  • GPIO電路圖與上拉電阻的作用(附詳細分析)
    GPIO口的定義:GPIO口,通用輸入輸出,這個大家都知道,但是輸入,輸出的電路是什麼樣的,其實並不用太關心,只需配置寄存器即可,但是還是要摸一摸,為了方便理解,引入了單片機的IO口原理圖來說明(道理是一樣的)。
  • 一文讀懂負載電阻的原理及應用(CC,CV,CR模式)
    在開始說這個問題之前,我們先要說一說負載電阻到底是個什麼樣的概。負載電阻其實就是負載和電阻的總成。負載,顧名思義,是指連接在電路中的電源兩端的電子元件。主要功能就是將電能轉換成其他形式的能,以實現能量的轉換。
  • GPIO的上拉下拉功能說明
    當對應位為0時,設置對應引腳上拉使能,為1時,禁止對應引腳上拉使能。如果上拉寄存器使能,無論引腳功能寄存器如何設置(輸入,輸出,數據,中斷等),對應引腳輸出高電平。      可見對應於S3C2410的GPB-BPH口內部有上拉電阻寄存器,當相應的上拉電阻使能時,對應的I/O引腳懸空時,表現出高電平。反之,表現出低電平。
  • 一文看懂取樣電阻的工作原理
    打開APP 一文看懂取樣電阻的工作原理 發表於 2019-08-18 11:16:35   一,電流檢測電阻的基本原理   根據歐姆定律,當被測電流流過電阻時,電阻兩端的電壓與電流成正比。
  • IIC為什麼需要用開漏輸出和上拉電阻
    推輓輸出和開漏輸出在不接上拉電阻時, 輸出邏輯0,則N-MOS激活;輸出邏輯1,P-MOS不會激活, 不會輸出高電平。也就是說開漏輸出如果不接上拉電阻, 沒有輸出高電平的能力。如果需要開漏輸出有輸出高電平的能力需要接一個上拉電阻. 目前很多單片機GPIO可以通過軟體配置上拉電阻.
  • 一文讀懂磁傳感器(必須收藏)
    【點擊藍色標題,獲取文章】 >、一文讀懂接近傳感器 3、一文讀懂磁傳感器 4、一文讀懂流量傳感器
  • 主板上的電容、電阻、電子元件都是幹嘛的
    打開APP 主板上的電容、電阻、電子元件都是幹嘛的 姚遠香 發表於 2018-10-27 09:50:13
  • 電阻在不同電路中的作用
    在裸露的電阻體上,緊壓著一至兩個可移金屬觸點。觸點位置確定電阻體任一端與觸點間的阻值。   端電壓與電流有確定函數關係,體現電能轉化為其他形式能力的二端器件,用字母R來表示,單位為歐姆Ω。實際器件如燈泡,電熱絲,電阻器等均可表示為電阻器元件。
  • 一文看懂5個電線電纜電阻檢測方法
    電線電纜電阻的檢測方法如下文,常見的一些型號的電線電纜可以通過查電工手冊得到。本文引用地址:http://www.eepw.com.cn/article/201908/403924.htm一、直流電阻檢測相關國家標準中有明確的規定:電線電纜的直流電阻須以每千米的導體電阻作為比較的基準,所測得的電線電纜的直流電阻數據必須先換算成20℃的溫度下每千米的直流電阻值。
  • 電阻在高速電路設計到底有那四點主要應用
    2、電阻精度 2.1、在高速電路中我們所需要的的採樣電路、分壓電路、反饋電路等由電阻組成時,我們需選用1%精度的電阻。 2.2、由於晶片的AD口都會存在上拉或者下拉電阻,此時情更需注意電阻值的選擇,使得測得的晶片AD口測得的電壓誤差小(涉及到MCU的AD口電阻匹配問題) 3、阻抗匹配 很多高速信號線上,如特性阻抗為75歐姆的CVBS信號線、特性阻抗為100歐姆的LVDS數據信號線、特性阻抗為90歐姆的USB高速數據線上,在信號傳輸的過程中,路徑的每一步都有相應的瞬態阻抗,如果沿著互聯線傳輸的電信號感到的瞬態阻抗發生變化
  • 電學:電阻及電阻定律
    一、概述1.定義導體對電流的阻礙作用叫電阻。導體的電阻用字母R表示。4.影響因素①.電阻是導體的屬性,它的大小隻與材料、長度和橫截面積有關;與導體兩端的電壓和通過導體的電流無關。在材料相同時,長度越長,橫截面積越小,電阻越大。②.導體的電阻還與溫度有關。一般來說,導體的電阻隨溫度的升高而增大;也有少數導體的電阻隨溫度的升高而減小。