256級灰度LED點(diǎn)陣屏顯示原理及基于FPGA的電路設計
摘 要:本文提出了一種LED點(diǎn)陣屏實(shí)現256級灰度顯示的新方法。詳細分析了其工作原理。并依據其原理,設計出了基于FPGA 的控制電路。
關(guān)鍵詞:256級灰度;LED點(diǎn)陣屏;FPGA;電路設計
引言
256級灰度LED點(diǎn)陣屏在很多領(lǐng)域越來(lái)越顯示出其廣闊的應用前景,本文提出一種新的控制方式,即逐位分時(shí)控制方式。隨著(zhù)大規??删幊踢壿嬈骷某霈F,由純硬件完成的高速、復雜控制成為可能。
逐位分時(shí)點(diǎn)亮工作原理
所謂逐位分時(shí)點(diǎn)亮,即從一個(gè)字節數據中依次提取出一位數據,分8次點(diǎn)亮對應的像素,每一位對應的每一次點(diǎn)亮時(shí)間與關(guān)斷時(shí)間的占空比不同。如果點(diǎn)亮時(shí)間從低位到高位依次遞增,則合成的點(diǎn)亮時(shí)間將會(huì )有256種組合。定義點(diǎn)亮時(shí)間加上關(guān)斷時(shí)間為一個(gè)時(shí)間單位,設為T(mén) 。表1列出了每一位的點(diǎn)亮與關(guān)斷的時(shí)間分配。
如果定義數據位“1”有效(點(diǎn)亮),“0”無(wú)效(熄滅),則表2列出了數據從00H到FFH時(shí)的不同點(diǎn)亮時(shí)間。由表2可知:數據每增1,點(diǎn)亮時(shí)間增加T/128。根據點(diǎn)亮時(shí)間與亮度基本為線(xiàn)性關(guān)系的原理,從0~255T/128的點(diǎn)亮時(shí)間則對應256級亮度。當然,這個(gè)亮度是時(shí)間上的累加效果。如果把一個(gè)LED點(diǎn)陣屏所有像素對應的同一數據位點(diǎn)亮一遍稱(chēng)為一場(chǎng)的話(huà),那么8位數據共需8場(chǎng)顯示完,稱(chēng)為“8場(chǎng)原理”。
理論上講,8場(chǎng)即可顯示出256級灰度,然而通過(guò)表2可看出,即使數據為FFH時(shí),在8T時(shí)間內也只是點(diǎn)亮了255T/128時(shí)間。關(guān)斷時(shí)間可接近6T,點(diǎn)亮時(shí)間僅為總時(shí)間的約25%,因此,8場(chǎng)原理雖也能實(shí)現256級灰度顯示,但亮度損失太大。為了提高亮度,可采用“19場(chǎng)原理”,即8位數據分19場(chǎng)顯示完,其中D7位數據連續顯示8場(chǎng),D6位連續顯示4場(chǎng),依次遞減。表3列出了各位的點(diǎn)亮與關(guān)斷時(shí)間。
由表3可推導出數據從00H~FFH范圍的總點(diǎn)亮時(shí)間,如表4所示。在19T時(shí)間內,最大點(diǎn)亮時(shí)間可達近16T, 占總時(shí)間的84.21%,遠大于“8場(chǎng)原理”的25%。數據每增1,點(diǎn)亮時(shí)間增加了T/16 ,該值大于“8場(chǎng)原理”的T/128。所以 ,“19場(chǎng)原理”較“8場(chǎng)原理”的對比度更明顯,圖像層次分明、表現力強。
電路設計
256級灰度LED點(diǎn)陣屏通常要具有能遠程同步實(shí)時(shí)顯示計算機視頻信號的功能,涉及到的電路包括:數字視頻信號的采集、數字信號的格式轉換及非線(xiàn)性校正、遠程傳輸及接收、灰度顯示控制電路、LED點(diǎn)陣顯示電路等。 本文重點(diǎn)討論“灰度顯示控制電路”的設計,控制對象以紅、綠雙基色LED點(diǎn)陣屏、1/16掃描顯示電路為例。FPGA內部電路如圖1所示。
因為被控對象為1/16掃描顯示電路,所以顯示屏每16行只需要一路數據信號即可。DRout1、 DGout1即為第一個(gè)16行的紅、綠基色輸出信號;DRout2、DGout2為第2個(gè)16行的紅、綠基色輸出信號。以此類(lèi)推。
Ha、Hb、Hc、Hd的二進(jìn)制編碼,定義當前的數據輸出應是16行中的哪一行。CP信號為數據串行輸出的同步移位脈沖。LE信號為一行串行數據輸出結束后的鎖存脈沖, LE每有效一次,Ha、Hb、Hc、Hd二進(jìn)制編碼狀態(tài)增1。EA為灰度控制信號,其寬度為在一個(gè)時(shí)間單位T內LED的點(diǎn)亮時(shí)間。當然, 不同的數據位其寬度不同, 具體由表3決定。一個(gè)時(shí)間單位T即一行串行數據的傳輸時(shí)間,也即LE信號的周期,其大小取決于屏寬的像素點(diǎn)數量和CP信號的頻率。
DRin1~8和DGin1~8為紅、綠數據輸入信號,分別對應第1個(gè)16行點(diǎn)陣區到第8個(gè)16行點(diǎn)陣區。Cpin為同步脈沖,一個(gè)脈沖對應一位數據,8個(gè)脈沖對應一個(gè)像素點(diǎn)的8位數據輸入。H信號為行同步脈沖,一行數據輸入結束,H信號有效一次。V為幀同步脈沖,一幀(16行)數據輸入結束,V信號有效一次。上述信號均為前級系統提供的信號。
FPGA外部接有兩組高速靜態(tài)RAM(圖中未畫(huà)出),DRA1~8、DGA1~8為A組RAM的紅、綠數據線(xiàn),DRB1~8、DGB1~8為B組RAM的紅、綠數據線(xiàn);/WRA、/RDA為A組的讀、寫(xiě)控制信號,/WRB、/RDB為B組的讀、寫(xiě)控制信號;AA0~16為A組的地址線(xiàn),AB0~16為B組的地址線(xiàn)。使用兩組RAM的目的是保證對RAM的讀寫(xiě)操作能同時(shí)進(jìn)行。當寫(xiě)RAM(A)時(shí),讀RAM(B);當寫(xiě)RAM(B)時(shí),讀RAM(A)。二者的寫(xiě)/讀切換由幀信號V控制。V每有效一次,就進(jìn)行一次切換。
Cpin為前級系統提供的寫(xiě)脈沖,同時(shí)亦作為寫(xiě)地址生成電路的計數脈沖,計數地址范圍為A0~A16, 共128K字節, 其中A0~A2為灰度位數據地址(決定訪(fǎng)問(wèn)8位的哪一位)。A3~A12為X方向的像素地址,A13~A16為Y方向的像素地址,即行地址。H信號到來(lái)時(shí),清零A0~A12,同時(shí)A13~A16地址加1。V信號到來(lái)時(shí),A0~A12及A13~A16全部清零。上述地址作為RAM的寫(xiě)地址。
CLK為讀地址生成電路計數脈沖(外電路提供),計數地址范圍亦為A0~A16, 共128K字節, 其中A0~A9為X方向的像素地址,A10~A13為Y方向的像素地址,即行地址。A14~A16為灰度位數據地址。上述地址 作為RAM的讀地址,這些地址的變化規律應符合“19場(chǎng)原理”對地址要求的變化規律,即:A0~A9計滿(mǎn)后清零,產(chǎn)生一個(gè)行信號即LE信號。LE信號作為A10~A13的計數脈沖,A10~A13計滿(mǎn)后清零,產(chǎn)生一個(gè)場(chǎng)信號。場(chǎng)信號作為A14~A16的計數脈沖。不過(guò),A14~A16并不是一簡(jiǎn)單的二進(jìn)制計數,其規律如表5所示。為了能正確地讀取寫(xiě)到RAM中的數據,生成的讀地址應按表6所示的方法與RAM連接。
讀寫(xiě)控制電路的作用是向兩組RAM提供讀寫(xiě)控制信號,邏輯關(guān)系如表7所示。數據輸入/輸出電路的作用是切換數據的傳輸方向,如表8所示。
幀切換電路的作用是產(chǎn)生上述電路所需要的切換信號S。實(shí)現的方法是,幀同步脈沖V每有效一次,S的邏輯狀態(tài)翻轉一次。幀切換電路保證了兩組RAM隨V信號不斷進(jìn)行讀寫(xiě)轉換。
灰度信號生成電路產(chǎn)生被控對象需要的EA信號,它隨讀地址A14、A15、A16的狀態(tài)而變化。邏輯關(guān)系如表9所示。
依據幀周期Tp=20ms,一幀=19場(chǎng)原理,可得如下計算結果: 場(chǎng)周期Tv=Tp/19=1.05ms; 行周期T=Tv/16=66ms; 輸出移位脈沖周期Tcp=T/1024=64ns;輸出移位脈沖頻率fcp=1/Tcp=15.6MHz。CLK信號頻率fclk=fcp=15.6MHz; 實(shí)際應用時(shí),選取CLK時(shí)鐘信號頻率為16MHz。
在MAX PLUSII10.0環(huán)境下,使用圖形和硬件描述語(yǔ)言完成了以上電路的設計。
FPGA選型及仿真結果
由圖1可知,FPGA必須提供113個(gè)I/O引腳,內部資源、工作頻率須滿(mǎn)足電路設計要求。采用Altera公司的ACEX1K系列EP1K10QC208-3芯片,該FPGA芯片速度高、價(jià)位低、有114個(gè)I/O引腳,576個(gè)邏輯宏單元,可兼容輸入輸出電路的TTL電平。仿真結果報告: 引腳利用率達99%,內部邏輯單元利用率達85%,達到了充分利用資源、提高性?xún)r(jià)比的目的?!?/P>
參考文獻
1 宋萬(wàn)杰. CPLD技術(shù)及應用[M]. 西安. 西安電子科技大學(xué)出版社,1999
作者簡(jiǎn)介:
魏銀庫,鄭州防空兵學(xué)院電子教研室主任,碩士生導師。研究方向為計算機的嵌入式應用技術(shù)。
評論