基于TLC5941的全彩色LED大屏幕驅(qū)動設(shè)計
1 引言
近年來,隨著計算機技術(shù)、大規(guī)模集成電路和專用元器件的飛速發(fā)展,256級灰度的全彩色LED大顯示屏在國內(nèi)發(fā)展迅速,但是目前其顯示效果并不理想:一方面,LED的發(fā)光效率受制造工藝的影響表現(xiàn)出固有的差異,而且這種差異還隨時間發(fā)生變化,這樣由大量LED組成的大屏幕顯示時會出現(xiàn)一些隨機的暗斑或亮斑,嚴重影響顯示要求,需要采用在線的點校正消除這種影響,另一方面,現(xiàn)有的全彩色大屏幕一般亮度等級不足,即便采用了非線性灰度控制技術(shù),在低亮度等級上表現(xiàn)色彩的能力仍然較差,顯示的層次感不強,由亮度等級不足導(dǎo)致的另一個問題是進行γ校正不容易,從而使全彩色LED大顯示屏產(chǎn)生一定的顏色失真。
TI公司的最新推出的TLC5941驅(qū)動芯片具有點校正和高亮度等級的特點,由他組成的大屏幕驅(qū)動方案一定程度上解決了上述問題,可以構(gòu)成高性能的顯示系統(tǒng)。
2 TLC5941芯片介紹
2.1 芯片特點
TLC5941共有28個引腳,是一個16通道的LED恒流驅(qū)動器,能夠同時驅(qū)動16個LED,每通道最大驅(qū)動能力80mA,每個通道可以通過PWM方式根據(jù)內(nèi)部亮度寄存器的值進行4096級亮度控制,內(nèi)部每個通道亮度寄存器的長度是12位,另外,流動每個通道LED的驅(qū)動電路由內(nèi)部6位的點校正寄存器的值進行64級控制,而且驅(qū)動電流的最大值可通過片外電阻設(shè)定。
64級電流控制提供了LED點亮度校正的能力,4096級亮度調(diào)整則保證了即使在較低的亮度等級小,點陣中的每個點也有多達256級的灰度表示,從而紅綠藍全彩屏可有16M色的色彩表達能力,這兩點對于高質(zhì)量的彩色大屏幕顯示是額外重要的。
相對于傳統(tǒng)的彩色大屏幕顯示系統(tǒng),設(shè)計中利用可編程邏輯芯片(或高速CPU)集中產(chǎn)生PWM進行亮度控制,采用TLC5941后,由于驅(qū)動芯片TLC5941完成了PWM亮度控制,可編程邏輯芯片(或高速CPU)只需要處理緩存管理、亮度和點校正數(shù)據(jù)的輸出,設(shè)計復(fù)雜度降低,而且由于PWM的亮度控制與數(shù)據(jù)串行移出無關(guān),可以很方便地獲得較高的幀頻,取得很好的動態(tài)顯示效果。
2.2 管腳功能
TLC5941的所有內(nèi)部數(shù)據(jù)寄存器,亮度寄存器,點校正寄存器和錯誤狀態(tài)信息都是通過串行接口存取的,最大串行時鐘效率為30MHz。
TLC5941的串行接口方式類似于74HC595,接口部分由5根信號線組成。
Mode(模式信號):Mode=0是亮度信號輸入模式,Mode=1點校正信號輸入模式。
SCLK(串行時鐘),在每個SCLK的上升沿,當(dāng)Mode=0輸入數(shù)據(jù)和輸出數(shù)據(jù)移入和移出內(nèi)部192位(16通道×12)的亮度串行移位寄存器,當(dāng)Mode=1輸入數(shù)據(jù)和輸出數(shù)據(jù)移入和移出內(nèi)部96(16通道×6)位的點校正串行移位寄存器。
SOUT:串行數(shù)據(jù)輸出。
SIN:串行數(shù)據(jù)輸入。
XLAT:數(shù)據(jù)鎖存,在XLAT的上升沿,如果Mode=0,亮度串行移位寄存器鎖存到亮度控制寄存器,隨機控制亮度PWM輸出,如果Mode=1,點校正串行移位寄存器鎖存到點校正控制寄存器,控制電流的輸出。
為了保障彩色大屏幕的可靠運行,TLC5941提供了每一路LED開路和過溫檢測的能力,管腳XERR是集電極開路輸出,用于出錯時報警,16個通道中無論哪個通道有錯誤發(fā)生,XERR就會被拉到低電平,通過查詢芯片的內(nèi)部狀態(tài)信息,就可以知道哪一路出現(xiàn)故障,系統(tǒng)中所有TLC5941的XERR管腳可以接到一起,通過上拉電阻接到高電平,通過監(jiān)控這個信號,系統(tǒng)可以在運行過程中進行自我診斷。
另外TLC5941還提供了GCLK管腳,輸入一個時鐘信號可以同步PWM的產(chǎn)生。
3 基于TLC5941的動態(tài)掃描驅(qū)動電路
本設(shè)計對象是640×480的全彩顯示系統(tǒng),這里只介紹他的驅(qū)動部分,整個屏由4塊子屏組成,每一塊子屏管理640×120象素大小的范圍,都有單獨的驅(qū)動電路,由于是室內(nèi)屏,驅(qū)動設(shè)計采用動態(tài)1/8掃描驅(qū)動方式。驅(qū)動電路的控制由可編程邏輯器件EPM1270(Altera)實現(xiàn),為了提高幀頻,串行數(shù)據(jù)采用15路并行輸出的方法,每路對640×8象素大小的范圍進行刷新,圖1中給出的是子屏驅(qū)動中單路的電路框圖。
這里使用TLC5941級聯(lián)組成LED點陣的列驅(qū)動,行驅(qū)動部分由74HC138和STM4953(PMOS管,4.5A)構(gòu)成。
EPM1270芯片負責(zé)管理顯示緩存,處理外部總線接口部分和維持LED點陣的動態(tài)掃描過程,EPM1270內(nèi)部模塊結(jié)構(gòu)如圖2所示。
為了防止LED動態(tài)掃描過程中對寄存器的訪問與外部總線在更新顯示數(shù)據(jù)時訪問寄存器之間產(chǎn)生沖突,這里也是采用了雙緩存的結(jié)構(gòu),當(dāng)LED掃描過程訪問的是一片存儲器,暴露在總線接口的就是另一片存儲器,外部接口的特定的掃描控制寄存器操作時,引起兩片寄存器的交換,同時顯示內(nèi)容也得以更新,存儲器采用兩片靜態(tài)RAM——IDT71V424(512k×8),EPM1270與存儲器的接口低8位采用地址數(shù)據(jù)復(fù)用以節(jié)省EPM1270的I/O管腳。
存儲器中前26k開始存儲的是每點的色彩信息,每象素3個字節(jié)24位表示顏色,每個字節(jié)分別對應(yīng)于一個象素的紅綠藍3個象素的彩色亮度值,后256k開始存放的是經(jīng)過γ校正修正后的點校正數(shù)據(jù)。
整屏的亮度由EPM1270擴展的亮度寄存器控制,每個TLC5941寫入時,EPM1270控制先從當(dāng)前象素對應(yīng)的存儲器空間讀出每個顯示單元的色素值,再與亮度寄存器值運算后得到12位的每通道TLC5941的亮度值(控制每個象素的亮度和色彩),通過并/串轉(zhuǎn)換后輸出,同時保持Mode=0;輸出亮度后,從后256k的對應(yīng)空間讀取6位點校正數(shù)據(jù),并/串轉(zhuǎn)換后輸出,同時保持Mode=1,這樣完成了一個通道數(shù)據(jù)的輸出,將一行對應(yīng)所有的通道數(shù)據(jù)輸出完畢后,暫停串行時鐘,置Mode=0,在XLAT腳產(chǎn)生一個正脈沖,再置Mode=1,在XLAT腳產(chǎn)生正脈沖,分別將數(shù)據(jù)鎖存入TLC5941內(nèi)部對應(yīng)的控制寄存器中,一行數(shù)據(jù)輸出完畢。
圖3中給出具體過程。
4 結(jié)語
采用Verilog語言對EPM1270進行邏輯設(shè)計,綜合后占用芯片資源的79%,利用上述設(shè)計構(gòu)建的彩色大屏幕系統(tǒng)刷新頻率達到60Hz,通過γ校正和點校正,全屏各象素點亮度均勻,層次感很強,達到了設(shè)計要求,這個基于TLC5941的全彩色大屏幕驅(qū)動方案聯(lián)機屏和脫機屏都可以使用,實踐證明具有良好的顯示效果。