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