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