Charlieplexing作為一種LED 顯示器多路復(fù)用方法,最近吸引了很多注意,這是因為它使人們能用N條I/O線路來控制N×(N-1)只LED(參考文獻1至參考文獻5)。而標(biāo)準(zhǔn)的多路復(fù)用方法控制的LED則少得多。表1列出了用Charlieplexing方法和標(biāo)準(zhǔn)多路復(fù)用方法所能控制的LED數(shù)量,它把N條I/O線路的可用數(shù)量劃分成數(shù)量適當(dāng)?shù)男信c列。表1還列出了當(dāng)LED處于接通狀態(tài)時,流過LED的電流的占空比。 顯然,在給定了I/O線路數(shù)量時,Charlieplexing使人們能控制的LED數(shù)量大得多。但是,該方法的缺點是流過LED的電流的占空比更低。因此為了保持特定亮度,流過 LED的峰值電流必須按比例增加,該電流會迅速到達LED的峰值電流極限。盡管如此,Charlieplexing對于多達10條I/O線路而言仍是一種可行方法,使人們能控制多達90只LED。如需利用標(biāo)準(zhǔn)多路復(fù)用方法來控制等量的LED,則需要19條I/O線路。 本設(shè)計對Charlieplexing方法提出了改進建議,使人們能控制的LED增加了一倍。因此,本文建議的方法 GuGaplexing使人們僅用N條I/O線路和幾個額外分立元件即可控制2×N×(N-1)只LED(圖1)。如需用Charlieplexing方法接通LED D1,需把P1設(shè)為邏輯1,P2設(shè)為邏輯0。如需接通LED D2,需把P1設(shè)為邏輯0,P2設(shè)為邏輯1。圖2描繪了建議的GuGaplexing方案,用2條I/O線路控制4只LED。GuGaplexing方法利用了每條I/O線路有三種狀態(tài)這一事實:1、0、高阻抗。因此,利用2條I/O線路,可用8種可能狀態(tài)中的狀態(tài)00、01、10、11來控制LED。 表2列出的晶體管對的輸出端電壓對應(yīng)于P1和P2這兩條I/O線路的各種狀態(tài)。晶體管對由BC547 NPN和BC557 PNP晶體管組成,推薦使用匹配的晶體管對。對于N條I/O線路,GuGaplexing方法需要N-1個晶體管對。表3列出了I/O線路P1和P2的狀態(tài),以及節(jié)點PR1的電壓,用于控制4只LED。該電路要求LED接通電壓應(yīng)略高于VCC/2。因此,對于接通電壓約為1.8V的紅光LED,適合的電源電壓為2.4V。同樣,對于藍光或白光LED,可使用5V電源電壓。現(xiàn)代微控制器,特別是Atmel公司的AVR系列微控制器,工作于1.8V~5.5V 的多種電源電壓,本設(shè)計方案使用Tiny13微控制器實施GuGaplexing方法。 圖3描繪的節(jié)點PR1的電壓對應(yīng)于多種電源電壓值,此時晶體管對的輸入處于浮動狀態(tài)。Spice模擬確保了電路工作適當(dāng),以便在PR1節(jié)點提供VCC/2,用于實現(xiàn)輸入浮動時的多種工作電源電壓值。 一種24只LED組成的光柱顯示器以實際應(yīng)用證明了該方案的有效性(圖4)。該顯示器可編程,并為模擬輸入電壓使用一種線性顯示方案。這種24只LED的顯示器以離散步長顯示模擬輸入電壓。24只LED的控制僅需4條I/O線路和3對晶體管。該系統(tǒng)使用透明封裝的5 mm白光LED和5 V電源電壓。GuGaplexing的實施使用了AVR ATTiny13微控制器。模擬輸入電壓連至Tiny13微控制器的ADC輸入端的7號引腳。 可提供ATTiny13微控制器的控制程序(http://a330.g.akamai.net/7/330/2 ... /4274%20listing.zip),源代碼是C語言,用AVRGCC免費軟件編譯器編譯。可以修改源代碼來顯示僅僅一個輸入電壓范圍(0V ~ 5V)。例如,可以有一個1V ~ 3V的線性顯示范圍,或為2V ~ 3V輸入電壓使用對數(shù)比例。 |