基于CPLD的LED大屏幕視頻控制系統
編輯:JACK [ 2009-12-25 16:20:39 ] 文章來源:LED大屏網
1 復雜可編程邏輯器件概述
復雜可編程邏輯器件(CPLD)最早出現于80年代后期,由于其高速、設計靈活、成本低、延時可預測等特點,一經面世便得到廣泛的應用。世界各主要PLD廠商都紛紛推出了自己的 CPLD產品,如 Altera公司的 MAX系列,Xilinx的XC9500和Spartan系列,Lattice公司的ispLSI系列等。
1.l 復雜可編程邏輯器件的特點
與傳統的FPGA相比,CPLD最大的特點在于其延時可預測性。在互連特性上,CPLD采用連續互連方式,即用固定長度的金屬線實現邏輯單元之間的互連,避免了分段式互連結構中的復雜的布局布線和多級實現問題,能夠方便地預測設計時序,同時保證了CPLD的高速性能。用戶的仿真與實際系統集成后無太大的時間差異,不會給系統造成性能的波動,即系統具有穩定的可編程性,這使得軟件控制下硬件的改變不受器件的影響。
1.2 isp LSI簡介
Lattice 公司研制的在系統可編程大規模集成電路(ispLSI)系列芯片具有高密度、高速度和在線可編程等特點[2],使設計變得容易,并且不需要更改線路板就可以立即更改設計,代表了大規模可編程邏輯器件的發展方向。ispLSI包括以下幾個主要部分:GLB(通用邏輯塊),GRP(集總布線區),ORP(輸出布線區),I/O單元和時鐘分配網絡。
(1) GLBispLSI的基本單元是GLB。每個GLB有18個輸入,4個輸出,以及實現標準邏輯功能的必要邏輯。GLB的輸入來自GRP和專門輸入端,GLB的輸出反饋回GLB,以便它們能連接到任何別的GLB的輸入端。
(2) GRPispLSI芯片中部有一個集總布線區,該布線區在連線延時恒定且可預知的前提下,提供了完善的片內邏輯互連性能。
(3) ORPORP提供了GLB輸出與芯片輸出引腳之間靈活的連接途徑。
(4) I/O單元每一個I/O單元直接連接到一個I/O引腳。每個I/O都可編程為輸入、輸出和雙向單元,并可根據所需要編程為鎖存或寄存功能。每16個I/O Cell分為一組。8個GLB,16個I/O Cell,一個ORP和2個專用輸入連在一起,組成一個 Megablock(組合模塊)。8個GLB的輸出通過ORP連到16個I/O Cell。每個Megablock共享一個OE信號。
(5) 時鐘分配網絡以1032 為例,時鐘分配網絡有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大屏幕視頻顯示系統原理
LED大屏幕視頻顯示系統由于具有亮度高、視角廣、壽命長、性價比高,因此在銀行、交通、廣場、體育場館等公共場合得到了廣泛的應用。筆者用按位分時顯示的方法研制了256×256灰度級的LED大屏幕視頻顯示系統,畫面清晰穩定,顏色豐富,取得了良好的視覺效果。
視頻控制系統是LED大屏幕視頻顯示系統的核心,它負責產生各種顯示控制信號,對視頻數據進行分割、存儲、灰度掃描并按特定的方式輸出數據到顯示屏體供驅動顯示。從電路組成看,視頻控制系統包括計算機箱體內的預處理卡及顯示屏體內的可級聯的視頻控制器單元;視頻控制器單元(或預處理卡)由控制單元 (CPLD)和存儲器單元(SRAM組)以及I/O接口單元等部分組成。計算機屏幕上每8×16行單色數據對應兩片SRAM存儲器(1024列×8×16 行為1個存儲器單元)8×1位數據口,所有存儲器的地址和控制信號由一片控制芯片(ispLSI1032E)產生。它們在顯示系統中的關系如圖1所示。

大屏幕顯示范圍為1024列×768行,時鐘頻率65MHz,整個顯示區域分為6個存儲器單元,每個存儲器單元對應1024列×128行數據,2個存儲器單元及1片控制芯片共同組成一個視頻控制器單元(3個視頻控制器單元可以級聯控制1024列×768行)。計算機視頻數據經過預處理卡(如γ反校正)后輸出到視頻控制器單元,視頻控制器單元根據時鐘和行、場同步信號對數據進行分割并分時寫入到2個存儲器單元內,視頻控制器的存儲器單元同時讀出的數據經灰度調制后變成串行數據流,并行輸出到顯示屏體驅動電路經移位后以1行為周期打入到屏體顯示,同時行掃描信號以19行數據刷新時間為周期進行垂直掃描。

設計中考慮到幀頻與LED屏體顯示效率的折中,采用td=h/16,即存儲器讀出速率等于1/2數據輸入速率,顯示基本時間單位為1/16 倍行周期。灰度掃描通過對灰度數據按位分時顯示的方法實現,即計算機屏幕圖像以每像素24bit輸出(紅、綠、藍各8bit)時,通過給每種顏色8bit 字節的不同位分配不同的顯示時間達到灰度顯示的目的。比如,最低位(第8位)對應1/16行顯示時間,第7位對應1/8行顯示時間,…,第2位對應4行顯示時間,最高位對應8行顯示時間。屏體數據更新時間以行周期為單位,最低位對應更新時間為1行時間,其中顯示1/16行時間,其余15/16行時間里,由控制電路產生消隱信號進行消隱,其余位類同。
3.2 視頻控制器單元設計
根據上述256級灰度視頻數據灰度掃描的原理設計了256級灰度視頻控制器,原理(單個顏色通道)如圖4所示。

按功能來分,設計的視頻控制器單元可以分為四個部分:控制單元、存儲器單元(SRAM)、數據緩沖器和接口單元。視頻控制器單元的核心是存儲器單元,計算機屏幕上每128行數據對應一個存儲器單元,顯示屏所要實時顯示的內容(即計算機屏幕圖像數據)都存放在存儲器單元中。控制單元產生存儲器單元的地址信號和分時選通控制信號及灰度掃描控制信號如掃描地址信號、消隱、移位、鎖存脈沖等。數據緩沖器用于實現視頻數據的讀寫(輸出輸入)緩沖。接口單元用于產生符合顯示屏驅動電路接口格式的信號。當一個幀存儲器進行數據寫入時,另一個幀存儲器進行數據掃描讀出,這樣兩組存儲器可以分別交替工作于視頻數據高速掃描和高速寫入兩種方式,因而可以提高數據讀寫的速率和顯示屏的幀頻,播放出來的圖像更加穩定。
3.3 視頻控制器單元設計
視頻圖像信號頻率高、數據量大,要求實時處理,加之LED大屏幕的數字邏輯相當復雜,采用復雜可編程邏輯器件(CPLD)設計系統中的關鍵控制電路,可以簡化系統結構,便于調試。筆者利用Lattice公司的CPLD器件,用按位分時顯示的方法設計了256級灰度*256級灰度(紅、綠雙基色)視頻控制器單元的控制單元部分,經測試畫面清晰穩定,顏色豐富,取得了預期的效果。以下是設計的大致過程。
首先是器件選型。為了提高器件的利用率,從結構化觀點出發,統計出視頻控制器存儲單元、數據緩沖器和接口單元需要的控制信號數目為56,決定采用1片Lattice的ispLSI1032作為控制芯片。該芯片包含32個GLB,192個寄存器,I/O口及輸入數為72,門
數為6000,速度為70MHz,具有在系統編程功能,能夠比較高效地滿足應用要求,同時還可兼顧系統今后的重構。
按照設計要求,控制芯片用于產生讀、寫地址信號、掃描地址信號、分時選通控制信號和一些顯示控制信號如消隱、移位、打入脈沖等。在設計中采用了“自頂向下,逐步細化”的策略。
設計中開發軟件采用Lattice公司的EDA工具ispEXPERT7.0,設計輸入采用了原理圖和硬件描述語言混合輸入的方法,并對設計結果進行了仿真。定時分析結果為最小時鐘周期為26.7ns,時鐘周期計算公式為時鐘周期=路徑延時+時鐘到輸出端延時+建立時間
存儲單元采用雙總線結構的高速SRAM,每行數據對應19行時間讀出,讀出后幀頻為103.6Hz。計算機視頻工作頻率為65MHz,行頻48.4kHz,幀頻60Hz。
4 結束語
本文討論了LED大屏幕視頻控制器單元中的灰度掃描方法,提出了256級灰度掃描時的實現方案,并用CPLD器件實現其控制電路。由于采用了EDA工具,降低了設計難度,縮短了開發周朗,同時由于只需一片集成電路即可實現過去需要幾十片中規模集成電路的控制功能,印刷板的面積大大縮小,系統抗干擾能力顯著增強,此外ISP功能給電路板的調試和系統的維護帶來了很大的方便,并且有利于系統今后的升級和重構。
LED顯示屏LED顯示屏|LED大屏幕565x80