專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
基于CPLD的LED大屏幕視頻控制系統(tǒng)
Video Control System of Led-large Screen based on CPLD
1 復(fù)雜可編程邏輯器件概述
復(fù)雜可編程邏輯器件(CPLD)最早出現(xiàn)于80年代后期,由于其高速、設(shè)計靈活、成本低、延時可預(yù)測等特點,一經(jīng)面世便得到廣泛的應(yīng)用。世界各主要PLD廠商都紛紛推出了自己的 CPLD產(chǎn)品,如 Altera公司的 MAX系列,Xilinx的XC9500和Spartan系列,Lattice公司的ispLSI系列等。
1.l 復(fù)雜可編程邏輯器件的特點
與傳統(tǒng)的FPGA相比,CPLD最大的特點在于其延時可預(yù)測性。在互連特性上,CPLD采用連續(xù)互連方式,即用固定長度的金屬線實現(xiàn)邏輯單元之間的互連,避免了分段式互連結(jié)構(gòu)中的復(fù)雜的布局布線和多級實現(xiàn)問題,能夠方便地預(yù)測設(shè)計時序,同時保證了CPLD的高速性能。用戶的仿真與實際系統(tǒng)集成后無太大的時間差異,不會給系統(tǒng)造成性能的波動,即系統(tǒng)具有穩(wěn)定的可編程性,這使得軟件控制下硬件的改變不受器件的影響。
1.2 isp LSI簡介
Lattice公司研制的在系統(tǒng)可編程大規(guī)模集成電路(ispLSI)系列芯片具有高密度、高速度和在線可編程等特點[2],使設(shè)計變得容易,并且不需要更改線路板就可以立即更改設(shè)計,代表了大規(guī)??删幊踢壿嬈骷陌l(fā)展方向。ispLSI包括以下幾個主要部分:GLB(通用邏輯塊),GRP(集總布線區(qū)),ORP(輸出布線區(qū)),I/O單元和時鐘分配網(wǎng)絡(luò)。
(1) GLB
ispLSI的基本單元是GLB。每個GLB有18個輸入,4個輸出,以及實現(xiàn)標準邏輯功能的必要邏輯。GLB的輸入來自GRP和專門輸入端,GLB的輸出反饋回GLB,以便它們能連接到任何別的GLB的輸入端。
(2) GRP
ispLSI芯片中部有一個集總布線區(qū),該布線區(qū)在連線延時恒定且可預(yù)知的前提下,提供了完善的片內(nèi)邏輯互連性能。
(3) ORP
ORP提供了GLB輸出與芯片輸出引腳之間靈活的連接途徑。
(4) I/O單元
每一個I/O單元直接連接到一個I/O引腳。每個I/O都可編程為輸入、輸出和雙向單元,并可根據(jù)所需要編程為鎖存或寄存功能。每16個I/O Cell分為一組。8個GLB,16個I/O Cell,一個ORP和2個專用輸入連在一起,組成一個 Megablock(組合模塊)。8個GLB的輸出通過ORP連到16個I/O Cell。每個Megablock共享一個OE信號。
(5) 時鐘分配網(wǎng)絡(luò)
以1032為例,時鐘分配網(wǎng)絡(luò)有4個專用的時鐘輸入端:Y0,Y1,Y2和Y3;另外的一個專用時鐘輸入來自GLB的輸出。5個時鐘輸出:CLK0,CLK1,CLK2,I/O CLK0和I/O CLK1,用來提供到GLB和I/O單元的時鐘線路。CLK0,CLK1和CLK2用作GLB的時鐘信號;I/O CLK0和I/O CLK1則用作I/O Cell的時鐘信號。
2 LED大屏幕視頻顯示系統(tǒng)原理
LED大屏幕視頻顯示系統(tǒng)由于具有亮度高、視角廣、壽命長、性價比高,因此在銀行、交通、廣場、體育場館等公共場合得到了廣泛的應(yīng)用。筆者用按位分時顯示的方法研制了256×256灰度級的LED大屏幕視頻顯示系統(tǒng),畫面清晰穩(wěn)定,顏色豐富,取得了良好的視覺效果。
視頻控制系統(tǒng)是LED大屏幕視頻顯示系統(tǒng)的核心,它負責(zé)產(chǎn)生各種顯示控制信號,對視頻數(shù)據(jù)進行分割、存儲、灰度掃描并按特定的方式輸出數(shù)據(jù)到顯示屏體供驅(qū)動顯示。從電路組成看,視頻控制系統(tǒng)包括計算機箱體內(nèi)的預(yù)處理卡及顯示屏體內(nèi)的可級聯(lián)的視頻控制器單元;視頻控制器單元(或預(yù)處理卡)由控制單元(CPLD)和存儲器單元(SRAM組)以及I/O接口單元等部分組成。計算機屏幕上每8×16行單色數(shù)據(jù)對應(yīng)兩片SRAM存儲器(1024列×8×16行為1個存儲器單元)8×1位數(shù)據(jù)口,所有存儲器的地址和控制信號由一片控制芯片(ispLSI1032E)產(chǎn)生。它們在顯示系統(tǒng)中的關(guān)系如圖1所示。
大屏幕顯示范圍為1024列×768行,時鐘頻率65MHz,整個顯示區(qū)域分為6個存儲器單元,每個存儲器單元對應(yīng)1024列×128行數(shù)據(jù),2個存儲器單元及1片控制芯片共同組成一個視頻控制器單元(3個視頻控制器單元可以級聯(lián)控制1024列×768行)。計算機視頻數(shù)據(jù)經(jīng)過預(yù)處理卡(如γ反校正)后輸出到視頻控制器單元,視頻控制器單元根據(jù)時鐘和行、場同步信號對數(shù)據(jù)進行分割并分時寫入到2個存儲器單元內(nèi),視頻控制器的存儲器單元同時讀出的數(shù)據(jù)經(jīng)灰度調(diào)制后變成串行數(shù)據(jù)流,并行輸出到顯示屏體驅(qū)動電路經(jīng)移位后以1行為周期打入到屏體顯示,同時行掃描信號以19行數(shù)據(jù)刷新時間為周期進行垂直掃描。
3 視頻控制器單元的實現(xiàn)
3.1 灰度掃描方法
對于多灰度級LED大屏幕顯示而言,灰度的分層(灰度掃描)顯示方法是視頻控制器設(shè)計的關(guān)鍵,由于LED的發(fā)光亮度與掃描周期內(nèi)的發(fā)光時間近似成正比,所以灰度等級的實現(xiàn)通常是由控制LED的發(fā)光時間與掃描周期的比值,即采用調(diào)制占空比來實現(xiàn)的。
(1) 灰度掃描約束公式
首先給出幾個定義:行周期h指視頻控制器輸入1行數(shù)據(jù)的時間,即計算機輸出視頻行周期。顯示基本時間單位td定義為灰度級為1的像素在屏體的對應(yīng)點亮?xí)r間。幀掃描周期T定義為存儲單元的存儲器中1幀圖像的讀出時間,存儲器中1幀圖像對應(yīng)2×8×16行1/n屏(n=l,2,3,…)輸入視頻圖像。幀頻F為幀掃描周期的倒數(shù),為滿足人眼的視覺要求,假定幀頻不低于60Hz。屏體顯示效率η定義為幀掃描周期內(nèi)LED屏體全亮(即全屏數(shù)據(jù)皆為最高灰度級)時間與幀掃描周期的比值。全屏顯示指視頻控制器每個存儲單元存儲的數(shù)據(jù)列數(shù)為計算機屏幕全屏的有效顯示列數(shù),相對應(yīng)的是半屏顯示、l/3屏顯示等等。
設(shè)顯示灰度等級數(shù)為N,由于灰度級為1的像素在屏體的對應(yīng)點亮?xí)r間為td,因而灰度線性調(diào)制后灰度級為i的數(shù)據(jù)顯示時間為i×td,灰度級最高的數(shù)據(jù)顯示時間為(N-1)×td。通常的考慮[3]是在td內(nèi)完成對存儲器一行數(shù)據(jù)的一次讀出,同時以td為周期將讀出的一行數(shù)據(jù)打入到屏體進行灰度顯示。由于共有N級灰度級數(shù),幀掃描周期為
由以上分析可知,高的灰度級數(shù)、高掃描幀頻與低的存儲器讀出速率是相互矛盾的。要獲得高的灰度級數(shù),就必須提高存儲器讀出速率,或者降低幀掃描頻率,當(dāng)灰度級數(shù)較高時,以目前的集成電路實現(xiàn)水平難以達到三者的兼顧。
解決的方法之一是大量采用并行結(jié)構(gòu),但掃描頻率每減小一倍成本就增加將近一倍,而且電路的復(fù)雜程度也有所增加;另一種方法是適當(dāng)犧牲屏體顯示效率η以求得幀頻與速率的折中,這種方法經(jīng)實踐驗證是可行的。
仍然以td作為顯示基本時間單位,以對存儲單元1行數(shù)據(jù)的一次讀出時間作為屏體數(shù)據(jù)更新時間(屏體數(shù)據(jù)打入周期),引入“消隱時間”的概念:“消隱時間”指屏體正常工作時間里的無效顯示時間。屏體數(shù)據(jù)更新時間可以大于顯示基本時間單位,即在屏體數(shù)據(jù)更新低灰度級時存在“消隱時間”,它雖然使顯示效率有所下降,但可以實現(xiàn)較低的掃描速率和較高的掃描幀頻。舉例來說,若屏體數(shù)據(jù)更新時間為h,而顯示基本時間單位td為h/16,則灰度級為1的數(shù)據(jù)會引入15/16行“消隱時間”,灰度級為2的數(shù)據(jù)會引入7/8行“消隱時間”…,灰度級為8的數(shù)據(jù)會引入1/2行“消隱時間”,而灰度級為16的數(shù)據(jù)則不會引入“消隱時間”,這樣就能在不提高存儲器讀出速率(λ≤1)的情況下(而且可以降低存儲器讀出速率Vo=32.5MHz,h=31.7,λ=0.5)實現(xiàn)256級灰度掃描。這時幀掃描周期為
T=(1+1+1+1+1+2+4+8)×h×m=304h=9.64(ms) (11)
幀頻為,F(xiàn)=1/T=103.6(Hz) (12)
但這時LED大屏幕顯示屏體的顯示效率降低為
η'=(1/16+1/8+1/4+1/2+1+2+4+8)×h×m/T=83.88% (13)
也可以取顯示基本時間單位td為h/32或h/8,經(jīng)計算得256級灰度td與幀頻F的關(guān)系如圖2所示,td與LED屏體顯示效率η的關(guān)系如圖3所示。
設(shè)計中考慮到幀頻與LED屏體顯示效率的折中,采用td=h/16,即存儲器讀出速率等于1/2數(shù)據(jù)輸入速率,顯示基本時間單位為1/16倍行周期?;叶葤呙柰ㄟ^對灰度數(shù)據(jù)按位分時顯示的方法實現(xiàn),即計算機屏幕圖像以每像素24bit輸出(紅、綠、藍各8bit)時,通過給每種顏色8bit字節(jié)的不同位分配不同的顯示時間達到灰度顯示的目的。比如,最低位(第8位)對應(yīng)1/16行顯示時間,第7位對應(yīng)1/8行顯示時間,…,第2位對應(yīng)4行顯示時間,最高位對應(yīng)8行顯示時間。屏體數(shù)據(jù)更新時間以行周期為單位,最低位對應(yīng)更新時間為1行時間,其中顯示1/16行時間,其余15/16行時間里,由控制電路產(chǎn)生消隱信號進行消隱,其余位類同。
3.2 視頻控制器單元設(shè)計
根據(jù)上述256級灰度視頻數(shù)據(jù)灰度掃描的原理設(shè)計了256級灰度視頻控制器,原理(單個顏色通道)如圖4所示。
按功能來分,設(shè)計的視頻控制器單元可以分為四個部分:控制單元、存儲器單元(SRAM)、數(shù)據(jù)緩沖器和接口單元。視頻控制器單元的核心是存儲器單元,計算機屏幕上每128行數(shù)據(jù)對應(yīng)一個存儲器單元,顯示屏所要實時顯示的內(nèi)容(即計算機屏幕圖像數(shù)據(jù))都存放在存儲器單元中??刂茊卧a(chǎn)生存儲器單元的地址信號和分時選通控制信號及灰度掃描控制信號如掃描地址信號、消隱、移位、鎖存脈沖等。數(shù)據(jù)緩沖器用于實現(xiàn)視頻數(shù)據(jù)的讀寫(輸出輸入)緩沖。接口單元用于產(chǎn)生符合顯示屏驅(qū)動電路接口格式的信號。
當(dāng)一個幀存儲器進行數(shù)據(jù)寫入時,另一個幀存儲器進行數(shù)據(jù)掃描讀出,這樣兩組存儲器可以分別交替工作于視頻數(shù)據(jù)高速掃描和高速寫入兩種方式,因而可以提高數(shù)據(jù)讀寫的速率和顯示屏的幀頻,播放出來的圖像更加穩(wěn)定。
3.3 視頻控制器單元設(shè)計
視頻圖像信號頻率高、數(shù)據(jù)量大,要求實時處理,加之LED大屏幕的數(shù)字邏輯相當(dāng)復(fù)雜,采用復(fù)雜可編程邏輯器件(CPLD)設(shè)計系統(tǒng)中的關(guān)鍵控制電路,可以簡化系統(tǒng)結(jié)構(gòu),便于調(diào)試。筆者利用Lattice公司的CPLD器件,用按位分時顯示的方法設(shè)計了256級灰度*256級灰度(紅、綠雙基色)視頻控制器單元的控制單元部分,經(jīng)測試畫面清晰穩(wěn)定,顏色豐富,取得了預(yù)期的效果。以下是設(shè)計的大致過程。
首先是器件選型。為了提高器件的利用率,從結(jié)構(gòu)化觀點出發(fā),統(tǒng)計出視頻控制器存儲單元、數(shù)據(jù)緩沖器和接口單元需要的控制信號數(shù)目為56,決定采用1片Lattice的ispLSI1032作為控制芯片。該芯片包含32個GLB,192個寄存器,I/O口及輸入數(shù)為72,門數(shù)為6000,速度為70MHz,具有在系統(tǒng)編程功能,能夠比較高效地滿足應(yīng)用要求,同時還可兼顧系統(tǒng)今后的重構(gòu)。
按照設(shè)計要求,控制芯片用于產(chǎn)生讀、寫地址信號、掃描地址信號、分時選通控制信號和一些顯示控制信號如消隱、移位、打入脈沖等。在設(shè)計中采用了“自頂向下,逐步細化”的策略。
設(shè)計中開發(fā)軟件采用Lattice公司的EDA工具ispEXPERT7.0,設(shè)計輸入采用了原理圖和硬件描述語言混合輸入的方法,并對設(shè)計結(jié)果進行了仿真。定時分析結(jié)果為最小時鐘周期為26.7ns,時鐘周期計算公式為
時鐘周期=路徑延時+時鐘到輸出端延時+建立時間
存儲單元采用雙總線結(jié)構(gòu)的高速SRAM,每行數(shù)據(jù)對應(yīng)19行時間讀出,讀出后幀頻為103.6Hz。計算機視頻工作頻率為65MHz,行頻48.4kHz,幀頻60Hz。
4 結(jié)束語
本文討論了LED大屏幕視頻控制器單元中的灰度掃描方法,提出了256級灰度掃描時的實現(xiàn)方案,并用CPLD器件實現(xiàn)其控制電路。由于采用了EDA工具,降低了設(shè)計難度,縮短了開發(fā)周朗,同時由于只需一片集成電路即可實現(xiàn)過去需要幾十片中規(guī)模集成電路的控制功能,印刷板的面積大大縮小,系統(tǒng)抗干擾能力顯著增強,此外ISP功能給電路板的調(diào)試和系統(tǒng)的維護帶來了很大的方便,并且有利于系統(tǒng)今后的升級和重構(gòu)。