詳解上拉、下拉電阻
2024-7-30 14:39:22??????點擊:
詳解上拉、下拉電阻
上拉(Pull Up )或下拉(Pull Down)電阻(兩者統稱為“拉電阻”)最基本的作用是:將狀態不確定的信號線通過一個電阻將其箝位至高電平(上拉)或低電平(下拉),無論它的具體用法如何,這個基本的作用都是相同的,只是在不同應用場合中會對電阻的阻值要求有所不同,從而也引出了諸多新的概念,本節我們就來小談一下這些內容。
如果拉電阻用于輸入信號引腳,通常的作用是將信號線強制箝位至某個電平,以防止信號線因懸空而出現不確定的狀態,繼而導致系統出現不期望的狀態,如下圖所示:
送大家一套硬件設計視頻教程,含基礎,模電,三極管,mos管運放,Buck電源,馬達驅動,反激,BOOST及PFC開關電源設計課程,總共有108+小時,兩百多集。
在實際應用中,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提供,如下圖所示:
上拉(Pull Up )或下拉(Pull Down)電阻(兩者統稱為“拉電阻”)最基本的作用是:將狀態不確定的信號線通過一個電阻將其箝位至高電平(上拉)或低電平(下拉),無論它的具體用法如何,這個基本的作用都是相同的,只是在不同應用場合中會對電阻的阻值要求有所不同,從而也引出了諸多新的概念,本節我們就來小談一下這些內容。
如果拉電阻用于輸入信號引腳,通常的作用是將信號線強制箝位至某個電平,以防止信號線因懸空而出現不確定的狀態,繼而導致系統出現不期望的狀態,如下圖所示:
送大家一套硬件設計視頻教程,含基礎,模電,三極管,mos管運放,Buck電源,馬達驅動,反激,BOOST及PFC開關電源設計課程,總共有108+小時,兩百多集。
在實際應用中,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提供,如下圖所示:
- 上一篇:東南亞金融科技投資在2024年上半年下降20% 2024/7/30
- 下一篇:迎接自動駕駛時代,我們真的準備好了嗎? 2024/7/29