最近看到一個(gè)關(guān)于上下拉電阻的問(wèn)題,發(fā)現(xiàn)不少人認(rèn)為上下拉電阻能夠增強(qiáng)驅(qū)動(dòng)能力。
隨后跟幾個(gè)朋友討論了一下,大家一致認(rèn)為不存在上下拉電阻增強(qiáng)驅(qū)動(dòng)能力這回事,因?yàn)槌薕C輸出這類(lèi)特殊結(jié)構(gòu)外,上下拉電阻就是負(fù)載,只會(huì)減弱驅(qū)動(dòng)力。
但很多經(jīng)驗(yàn)肯定不是空穴來(lái)風(fēng),秉承工程師的鉆研精神,我就試著找找這種說(shuō)法的來(lái)源,問(wèn)題本身很簡(jiǎn)單,思考的過(guò)程比較有趣~
二極管邏輯
今天已經(jīng)很難看到二極管邏輯電路了,其實(shí)用性也不算高,不過(guò)因?yàn)殡娐泛?jiǎn)單,非常適合用來(lái)理解基本概念。
一個(gè)最簡(jiǎn)單的二極管與門(mén)如下圖所示。與門(mén)實(shí)現(xiàn)邏輯與操作Y=A&B,即A或者B任意為L(zhǎng)的時(shí)候,輸出Y為L(zhǎng),只有當(dāng)A和B都為H時(shí),Y才為H。
基本二極管與門(mén)
假設(shè)二極管無(wú)導(dǎo)通壓降,在這個(gè)電路中,二極管充當(dāng)了單向開(kāi)關(guān)的角色,當(dāng)A和B等于VDD時(shí),兩根二極管反向截至,Y被電阻上拉到VDD,這是Y就是H;當(dāng)A或者B任意一端為GND時(shí),二極管導(dǎo)通,因?yàn)槎O管導(dǎo)通時(shí)電阻很小,遠(yuǎn)小于上拉電阻,所以Y被拉到了GND,即邏輯L。
至于二極管或門(mén),只要把二極管轉(zhuǎn)一下,再把電阻從拉到VDD改成拉到GND就可以了,非常簡(jiǎn)單。
基本二極管或門(mén)
基本原理
你看,在這么原始的邏輯電路中就已經(jīng)出現(xiàn)了上下拉電阻,這里面的原理也非常簡(jiǎn)單粗暴:利用開(kāi)關(guān)的閉合(電阻為0)和開(kāi)啟(電阻無(wú)窮大)的特性,配合電阻,就可以輕松實(shí)現(xiàn)兩種電壓的輸出。
這種電路還有一個(gè)變形,就是用恒流源取代電阻,一方面集成電路工藝,恒流源比電阻更容易獲得,另一方面恒流源的驅(qū)動(dòng)能力也更好。
根據(jù)開(kāi)關(guān)和電阻(或恒流源)的相對(duì)位置,有以下基本電路:即開(kāi)關(guān)接到GND(L)或開(kāi)關(guān)接到VDD(H)。
這幾種電路都是由開(kāi)關(guān)的閉合或開(kāi)啟決定了VOUT是VDD還是GND。
開(kāi)關(guān)的相對(duì)位置不同,還決定了電路在某一狀態(tài)下的驅(qū)動(dòng)能力:開(kāi)關(guān)的導(dǎo)通電阻為0,可視為驅(qū)動(dòng)力無(wú)窮大,可是電阻(或恒流源)的驅(qū)動(dòng)能力呢,只有VDD/R(或者恒流I),這就導(dǎo)致了電路在輸出H或L的時(shí)候驅(qū)動(dòng)能力不對(duì)稱(chēng)(換一個(gè)說(shuō)法,就是電路在輸出H或者L的時(shí)候,輸出阻抗不一樣)。
除了驅(qū)動(dòng)能力的問(wèn)題,這種單開(kāi)關(guān)加電阻的模式還會(huì)帶來(lái)靜態(tài)功耗的問(wèn)題,因?yàn)橹灰_(kāi)關(guān)閉合,不管外部有沒(méi)有負(fù)載,都會(huì)消耗電流。
既然開(kāi)關(guān)的驅(qū)動(dòng)力比電阻強(qiáng),那么能不能把電阻也換成開(kāi)關(guān)?恭喜你,發(fā)現(xiàn)了現(xiàn)代CMOS邏輯電路的基本單元:倆互補(bǔ)的開(kāi)關(guān)。這樣不管輸出H還是輸出L,驅(qū)動(dòng)能力都是無(wú)窮大!好的,這時(shí)候上下拉電阻就不見(jiàn)了。
這樣兩個(gè)開(kāi)關(guān)的電路還多出來(lái)了一種狀態(tài):當(dāng)兩個(gè)開(kāi)關(guān)都開(kāi)啟時(shí),VOUT即不是VDD也不是GND,而是一個(gè)懸空的狀態(tài)(即高阻態(tài),Hi-Z),這時(shí)候外部給什么信號(hào)它就是什么狀態(tài)。這樣又出現(xiàn)了一個(gè)新的邏輯門(mén)大類(lèi):三態(tài)邏輯門(mén)。