1 引言
發光二極管(LED)在工業控制器儀表、醫療裝置和家用電器等方面有著廣泛的應用。傳統的LED顯示驅動器采用74HC573和74LS47等邏輯器件,使用的器件較多,占用較多的微處理器I/O口和較大的電路板面積,特別是在LED數量大的情況下,這些缺點尤為突出。為了克服這些缺點,串行接口的LED顯示驅動器應運而生,Maxim公司推出的MAX6950/MAX6951屬于這類驅動器,其輸入引腳少,驅動能力強,而且集成了譯碼器和亮度控制器。
2 MAX6950/MAX6951
MAX6950/MAX6951是緊湊的共陰極顯示驅動器,可通過SPI、QSPI、MICROWIRE兼容的串行接口將微處理器連接到獨立的7段LED數碼管、條形圖或分立LED。MAX6950可驅動5位7段數碼管或40個分立的LED。MAX6951可驅動8位7段數碼管或64個分立的LED。
該驅動器內含16進制的字符譯碼器(0-9,A-F)、復用掃描電路、段和數碼驅動器及用于存儲每位數字的靜態RAM。LED段電流由內部數字亮度控制電路設定。
除了數據寄存器外,還有譯碼模式寄存器(使能16進制字符譯碼器)、亮度控制寄存器、掃描限制寄存器(允許用戶選擇1至8位顯示數字)、配置寄存器(清零、閃爍、關斷)等。工作模式有:正常模式、低功耗關斷模式和強制所有LED打開的測試模式。
由于采用獨特的復用掃描電路,所以MAX6950/MAX6951采用小型16引腳QSOP型封裝。
2.1 內部結構
MAX6950/MAX6951的內部結構如圖l所示。
2.1 引腳功能
圖2示出采用QSOP型封裝的MAX6950/MAX6951的引腳排列,其引腳功能如下所述:
- DIN(引腳1):串行數據輸入,在CLK的上升沿將數據移入內部16位移位寄存器。
- CLK(引腳2):串行時鐘輸入,片選CS有效時,在CLK的上升沿,數據移入內部移位寄存器,在CLK的下降沿,數據在DOUT端移出。
- DIGX/SEGX(引腳3~6,10~14):位驅動器,位X輸出吸入來自顯示器共陰極的電流,段X驅動器位顯示器輸出電流,位/段驅動器在關斷時處于高阻狀態。
- ISET(引腳7):電流設定,此引腳與GND之間接一個電阻RSET,設置峰值電流,該電阻器還與電容器CSET一起設置多路復用的顯示時鐘頻率。
- GND(引腳8):電源地。
- OSC(引腳9):多路復用顯示時鐘輸出。
- CS(引腳15):電路選擇輸入,低電平時,串行數據移入移位寄存器,在CS的上升沿鎖存最后的16位數據。
- V+(引腳16):電源正端。
2.2 工作原理
微控制器將16位串行數據發送到移位寄存器(時序如圖3所示),CS信號跳變為高電平時,數據加載到16位鎖存器,接著,對鎖存器中的16位數據進行解碼并執行相應的命令。16位數據的高8位是地址,低8位是寄存器的值。有關寄存器的具體設置和控制功能,請參閱文獻[1]。
3 應用舉例
下面以MAX6951驅動數碼管顯示為例說明此電路的應用。某工業控制器用MAX695l驅動8個數碼管,微處理器是以ARM7TDMI為核的PHILIPS公司的LPC2214,軟件開發平臺為ADS1.2,通過編程實現對MAX6951的控制。在此設計中,并沒有使用SPI口,而是使用LPC2214的3個通用I/O口(P1.15、P1.16、P1.17)。模擬圖3的時序給MAX6951傳輸數據,以完成各種控制和顯示功能。
3.1 硬件電路
硬件電路如圖4所示,其中DIN、CS、CLK分別與LPC2214的P1.15、P1.16、P1.17相連。由于采用獨特的引腳復用方式,要求8個顯示位(數碼管)中每個段碼的連線都不相同,而且每個顯示位的共陰極連線也不相同,如表1所示。
3.2 軟件設計
軟件主要包括初始化3個I/0口、模擬輸入時序和初始化寄存器的狀態使之符合需求。控制亮度、閃爍和刷新數字或字符顯示等功能都可以通過調用數據輸入函數來完成,也可以將這些功能封裝為子函數以簡化應用。
3.2.1 初始化I/O口
初始化I/0口的宏定義和程序代碼如下:
3.2.2 輸入時序的模擬
依照圖3所示的時序寫出輸入函數,代碼如下:
3.2.3 電路的初始化
MAX6951上電時,電路處于關斷模式,寄存器各有初始值,為此,需要進行初始化以符合系統的要求。例如,初始化為正常模式,8個數碼管均顯示“0”,亮度為最大且不閃爍,程序代碼如下(命令字含義參閱文獻[1]):
4 同類電路比較
串行輸入的LED顯示驅動器還有很多種,如ALLEGRO公司的A6275/A6276/A6277,意法半導體公司(ST)的M5450/M5451系列,美國國家半導體公司(NS)的LP3943/LP3944,德州儀器(TI)的TLC59xx系列等。這些驅動器要么驅動LED數目較少,如A6275(8個)和LP3943(16個),要么引腳數量較大,如M5451(PDIP40或PLCC44)、TLC5920(SSOl48)。而且,帶有內置譯碼器和亮度調節等功能的很少。MAX6950/MAX6951的不足之處是價格較高,因此,這種驅動器適合對體積、功耗等要求較高,同時對成本不很敏感的小型或手持式設備。
5 結束語
MAX6950/MAX6951型LED顯示驅動器使用方便,能完成較為復雜的顯示功能,節省電路板空間,在機頂盒、白色家電、工業控制器和儀表、醫療設備、點陣顯示器和條形圖等領域應用廣泛。