1)什么是上下拉電阻?
首先上拉電阻是把一個信號通過一個電阻接到電源(VCC),下拉電阻是信號接到地(GND)。那么電路功能如果已經完成,我們為什么還需要額外增加一個電阻連接到電源或GND呢?這個電阻的阻值為什么是這么大?有什么依據嗎?如果我們不理解為什么需要上拉和下拉,則電路設計中很可能只會“抄電路”。一旦電路現象異常,會束手無策。
我們經常聽到,“強上拉”“弱上拉”,是什么意思呢?弱強只是上拉電阻的阻值不同,沒有什么嚴格區分。例如,50Ω上拉,則一般稱為強上拉;100kΩ上拉則稱為弱上拉。下拉也是一樣的。強拉電阻的極端就是零歐姆電阻,亦即將信號線直接與電源或地相連接。
2)上下拉電阻的作用
上下拉電阻的作用其實很寬泛,所以很少有教科書把上下拉電阻的應用方法進行匯總。因為不同的領域使用方法也不同,此處我們整理一些常見的使用方法。
(1)維持輸入管腳是一個穩定態。
芯片的管腳有三個類型,輸出(Output,簡稱O)、輸入(Input,簡稱I)和輸入輸出(Input/Output,簡稱I/O)。芯片的輸入管腳,輸入的狀態有三個:高電平、低電平、和高阻狀態。當輸入是高阻,即輸入管腳懸空,很可能造成輸入的結果是不定態,引起輸出振蕩。有些應用場合不希望出現高阻狀態,可以通過上拉電阻或下拉電阻的方式使這個輸入管腳處于穩定狀態。
用法示例:當接有上拉電阻的端口設為輸入狀態時,常態為高電平,用于檢測低電平的輸入;當接有下拉電阻設為輸入狀態時,常態為低電平,用于檢測高電平輸入。用法示例:當接有上拉電阻的端口設為輸入狀態時,常態為高電平,用于檢測低電平的輸入,如圖(a)所示;當接有下拉電阻設為輸入狀態時,常態為低電平,用于檢測高電平輸入,如圖31.1(b)所示。
輸入管腳的上下拉電阻
按鍵電路設計、復位電路設計等都是這個情況的上下拉電阻。至于具體是上拉還是下拉,取決于我們需要的默認狀態,如圖31.2所示。
按鍵電路的上下拉電阻
在按鍵電路中,增加上拉電阻的目的是使當按鍵斷開時,KeyIn1處于高電平狀態,若無上拉,懸空,狀態無法確定。斷開為1,閉合為0,數字邏輯關系明確。
在COMS芯片上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻降低輸入阻抗提供泄荷通路。也是一樣的道理。
(2)三極管實現電平轉換電路的外圍電阻。
首先要了解三極管的基本原理,三極管屬于電流控制電流型元件,與MOS管不同,MOS管屬于電壓控制電壓型元件。三極管有三個工作區:截止區、放大區和飽和區。以NPN三極管為例,BE之間那個箭頭很像一個二極管,其實BE之間就是一個二極管,BE的壓差(UBE)約為0.6V左右(實際大小與元器件的型號有關),當UBE<0.6V時,BE間的等效二極管沒有導通,此時的三極管也就處于截止狀態;隨著BE間的電壓上升,三極管進入放大區,三極管處于放大區或飽和區時UBE=0.6V。這時BE的壓差不會隨著輸入的電壓變高而繼續增加,體現出二極管的特性,保持一個導通電壓。
如圖所示,輸入信號如果是個3.3V電壓信號,三極管的BE電路等效于一個二極管。我們不會把二極管兩端直接接到電壓和GND之間,一般會串聯個電阻,進行電流控制。
三極管電平轉換電路
R1電阻屬于限流電阻,因為三極管屬于電流控制元件,當三極管屬于放大或飽和狀態時,UBE的電壓為0.6V,可以根據輸入電壓U計算基極的電流,計算公式為Ib=(U-0.6)/R1,從公式也可以看出,若不接限流電阻R1,當輸入電壓大于0.6V時,基極的電流會非常大,從而燒毀三極管。
需根據輸入電壓、管子的特性進行計算,如該三極管的放大倍數β為50(三極管的固有特性,在放大狀態Ic的電流大小是Ib的β倍)。
輸出電壓Vout=VCC-Ic*R2。通過這個公式,我們可以看出:VCC確定,如圖31.1中VCC為12V,Vout在Ic為0時達到最大值12V等于VCC,由于是數字電路,Vout需要達到0V附近,實現低電平的效果,那么如果R2我們選定為1kΩ,則很容易計算出Ic的讓三極管達到飽和狀態的值,如式
三極管的通流能力是有限的,如果我們選定的三極管集電極的額定電流為500mA,那么Ic的最大值Ic(max)=500mA。所以,R2的選值不能太小,避免Ic太大導致三極管燒毀。通過公式,我們去理解飽和的概念變得更容易:集電極電阻越大越容易飽和;飽和區的現象就是:二個PN結均正偏,Ic不受Ib之控制,因為Vout已經接近GND了,不可能憑空產生負電壓。
如果,輸入電壓為3.3V,若要求設計時三極管處于飽和狀態,則Ic(飽和)=12mA,那么Ib(min)=Ic(飽和)/β=12mA/50=0.24mA,則基極限流電阻R1(max)=(3.3V-0.6V)/Ib(min)=11.25kΩ。若要求輸入3.3V時,三極管飽和,并且我們要求考慮三極管放大系數β、電阻、VCC電壓的離散型、精度、波動等因素,我們需要留夠足夠的余量。于是我們一般此時可能選擇R1為1kΩ電阻,讓三極管足夠飽和。另外R1的阻值也不能太小,需要考慮Ib的額定電流。另外R1、R2都不能太小的一個原因是我們需要考慮功耗和節能。
若把圖中的NPN三極管換成N溝道的MOS管,原理也是一樣的,當輸入高電平時,管子導通,輸入低電平時,管子截止,如下圖所示。但此時需要注意的是,讓MOS進入打開的狀態條件是GS的電壓,這個電壓比三極管的大約0.6V不同,一般在2V以上。所以,低壓控制高壓時要注意GS的閾值電壓。但因為GS的穩態電流非常小,幾乎為0,所以能耗情況比三極管好。如果效率有要求,Rds(on)跟輸入側的電壓也是相關的。需要考慮VG在不同電壓情況下的,導通阻抗。
MOSFET電平轉化電路
因為這樣的電路是一個反向的邏輯,因為輸入為高電平時,輸出為低電平。我們很可能連續用兩個三極管把邏輯做成正向邏輯。此時R2就很可能成為下一級電路的R1,此時的R2就既不能太大,也不能太小,如圖31.5所示。
兩級三極管電平轉化電路
(3)OC、OD電路。
對于OC(Open Collector,集電極開路)、OD(Open?Drain,漏極開路)電路上拉電阻的功能主要是為集電極開路輸出型電路提供輸出電流通道。有些芯片他們的一些輸出管腳,集成了三極管或MOSFET,但是沒有集成上拉電阻到VCC。典型的OC電路如圖31.6所示。所以,這些管腳其實就是一個集電極,而且是個開路,所以就稱為OC。按照我們介紹的三極管的外圍電路,這個上拉電阻是必須的內容,我們在原理圖中在OC、OD電路放置的上拉電阻,原本就是讓電路功能完整的必須內容。
集電極開路電路
OC或OD的由來,是用于設計一種“線與”電路。兩個或多個輸出信號連接在一起可以實現邏輯“與”的功能。如圖31.7所示,兩個輸入只要有其中一個輸入為低電平,就可以讓輸出為低電平,兩個輸入都是高電平時,輸出才為高電平。
兩個OC電路實現“線與”
(4)總線的I/O接口上下拉電阻。
一些總線有輸出輸出接口,本質就是OC或OD的接口。I2C(Inter Integrated Circuit,內部集成電路)總線就是典型的OD輸出結構的應用,典型的I2C電路都有上拉電阻,如圖所示。
I2C總線上拉電阻
I2C接口的SCL與SDA都是OD輸出結構輸出,這樣的好處是可以作為雙向數據總線。OC、OD電路往往是剛剛說的輸入輸出管腳,然而一些總線的I/O就是一些雙向數據的信號,其實就是把輸入和輸出短接在一起,然后把輸出做成OC或OD。這樣處理不單用一根信號實現了雙向數據,既可以輸出又可以輸入,同時解決了雙向數據如果同時發送帶來的數據沖突的問題。
一般來說,芯片的輸出管腳是推挽結構。如果兩個芯片的推挽結構輸出管腳連接在一起,某一個時刻兩個芯片同為輸出,一個如果輸出為高、一個輸出為低,則可能出現短路的現象,工作中稱為“總線沖突”,如圖所示。用OC、OD電路可以避免短路,所有絕大多數總線都是采用這種方式設計,如I2C、LPC、PCI等總線的輸入輸出管腳都是這樣的管腳類型。當然也有些總線方式,I/O端口不需要外接,是芯片內置了上拉電阻。
推挽結構輸出管腳短路
對于I2C總線,總線上有兩個芯片或多個芯片,所有芯片的引腳輸出什么狀態,都不會出現短路的情況引起數據沖突,配合各自芯片內部的數據識別電路及仲裁系統,雙方都可以主動給另一方發送信息。也就是說,任何一方都可以將拉低,不拉低時就是釋放總線,總線上為高電平,而不會影響起數據沖突,如圖31.10所示。
OC輸出管腳電流
(5)增加輸出管腳的驅動能力。
芯片的輸出管腳本身并不是OC、OD,但是有時我們也會增加一個上拉電阻或下拉電阻,通過上拉或下拉來增加或減小驅動電流。
例如,一個單片機的I/O口內部有一個幾十kΩ,最大輸出電流也就是250μA,因此當我們增加一個上拉電阻時,可以形成和內部上拉電阻并聯結構,增加高電平時電流的輸出能力。在負載增大時,仍然能夠保持足夠的電壓。
(6)電平標準匹配。
改變電平的電位,常用在TTL-CMOS匹配。當TTL電路驅動COMS電路時,若TTL電路輸出的高電平低于COMS電路的最低高電平(一般為3.5V),這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平值。需要注意的是,此時上拉電阻連接的電壓值應不低于CMOS電路的最低高電壓,同時又要考慮TTL電路方的電流(如某端口最大輸入或輸出電流)的影響。
(7)增強電路抗干擾能力。
芯片的管腳加上拉電阻來提高輸出電平,從而提高芯片輸入信號的噪聲容限,增強抗干擾能力。長線傳輸中,電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有效地抑制反射波干擾。提高總線的抗電磁干擾能力,管腳懸空就比較容易受外界的電磁干擾。
3)上拉電阻阻值選擇原則
(1)從節約功耗及芯片的灌電流能力考慮,電阻值應當足夠大;電阻越大,電流越小。
(2)從確保足夠的驅動電流考慮,電阻值需要足夠小;電阻越小,電流越大。
(3)對于高速電路,過大的上拉電阻可能邊沿變平緩。需要電阻與電路寄生電容形成RC濾波電路,影響信號的高頻分量的傳輸。
(4)驅動能力與功耗的平衡。以上拉電阻為例,一般地說,上拉電阻越小,驅動能力越強,但功耗越大,設計時應注意兩者之間的均衡。
(5)下級電路的驅動需求。同樣以上拉電阻為例,當輸出高電平時,開關管斷開,上拉電阻應適當選擇以能夠向下級電路提供足夠的電流。
(6)高低電平的設定。不同電路的高低電平的門檻電平會有不同,電阻應適當設定以確保能輸出正確的電平。以上拉電阻為例,當輸出低電平時,開關管導通,上拉電阻和開關管導通電阻分壓值應確保在零電平門檻之下。
(7)頻率特性。以上拉電阻為例,上拉電阻和開關管漏源級之間的電容和下級電路之間的輸入電容會形成RC延遲,電阻越大,延遲越大。上拉電阻的設定應考慮電路在這方面的需求。
4)吸電流、拉電流、灌電流
在集成電路中,吸電流、拉電流輸出和灌電流輸出是一個很重要的概念。
拉電流:主動輸出電流,是從輸出口輸出電流。
灌電流:被動輸入電流,是從輸出端口流入吸電流。
吸電流:吸則是主動吸入電流,是從輸入端口流入吸電流和灌電流就是從芯片外電路通過引腳流入芯片內的電流,區別在于吸收電流是主動的,從芯片輸入端流入的叫吸收電流。
拉電流是數字電路輸出高電平給負載提供的輸出電流,灌電流時輸出低電平是外部給數字電路的輸入電流,它們實際就是輸入、輸出電流能力。
吸電流是對輸入端(輸入端吸入)而言的;而拉電流(輸出端流出)和灌電流(輸出端被灌入)是相對輸出端而言的。
-
上拉電阻
+關注
關注
5文章
363瀏覽量
30704 -
濾波電路
+關注
關注
46文章
639瀏覽量
69794 -
電平
+關注
關注
5文章
361瀏覽量
39979
原文標題:詳解上拉、下拉電阻在電路的作用!講得夠詳細!
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論