基于CPLD的VGA視頻顯示系統(tǒng)的設計
引言
顯示系統(tǒng)在工業(yè)、農(nóng)業(yè)及日常生活中扮演著越來越重要的角色,因此,對其進行設計與研究具有十分重要的意義。
CPLD(Complex Programmable Logic Device;復雜可編程邏輯器件)具有編程靈活、集成度高、設計開發(fā)周期短、適用范圍寬、開發(fā)工具先進等優(yōu)點,用戶可根據(jù)自身需要構(gòu)造數(shù)字集成電路。其基本設計方法是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應的目標文件,通過下載電纜將代碼傳送到目標芯片中,從而實現(xiàn)數(shù)字系統(tǒng)。CPLD的應用目前已深入網(wǎng)絡、儀器儀表、汽車電子、數(shù)控機床、航天測控設備等領(lǐng)域,其設計及應用成為電子工程師必備的一項技能。
系統(tǒng)總體設計方案
XC95144XL是XILINX公司推出的5ns引腳延遲、系統(tǒng)頻率高達178MHz、144個宏單元、3200個可用邏輯門單元的可編程邏輯器件。本設計采用XC95144XL作為數(shù)據(jù)傳輸與控制核心模塊,接受來自TMS320C6416T的視頻數(shù)據(jù),并采用兩片IS61WV51216ALL組成緩存,以達到實時輸入輸出數(shù)據(jù)的效果。本部分實現(xiàn)框圖如圖1所示。
圖1 視頻顯示功能框圖
系統(tǒng)硬件設計
系統(tǒng)硬件設計主要包括:TMS320C6416T與VGA顯示系統(tǒng)的接口設計;2片IS61WV51216ALL SRAM組成的緩存模塊;視頻DAC模塊。
TMS320C6416T與VGA顯示系統(tǒng)的接口設計
來自4片TMS320C6416T的圖像處理機的EMIFB口連接在一起,并通過CPLD的仲裁,使能哪一塊圖像處理機輸出數(shù)據(jù)至VGA顯示系統(tǒng)。
采用C6416T的EMIFB口輸出處理結(jié)果,當1片C6416T要求輸出數(shù)據(jù)時,C6416T要通過GP01向CPLD發(fā)送輸出數(shù)據(jù)請求,CPLD根據(jù)內(nèi)部邏輯確定是否允許C6416T請求。內(nèi)部邏輯準則如下:
各個DSP的輸出數(shù)據(jù)請求優(yōu)先級別相等,請求信號先到者先被允許,后到者不能中斷正在響應的請求。對于同時到來的請求,CPLD響應先接收到原始視頻信號的C6416T。
當CPLD響應一個C6416T的輸出數(shù)據(jù)請求時,CPLD向C6416T的BHOLD#信號發(fā)送響應信號(對EMIFB的保持請求輸入信號)。此時,數(shù)據(jù)開始輸出。
2片IS61WV51216ALL SRAM組成的緩存模塊
2片XC95144XL各自連接1片IS61WV51216ALL組成的圖像緩存模塊。
實時顯示控制:由CPLD對各個6416T圖像處理機數(shù)據(jù)輸出接口(EMIFB)總線進行總線仲裁,實現(xiàn)各個6416T圖像處理機的圖像數(shù)據(jù)分時輸出。由于VGA的刷新頻率大于輸入信號的頻率,因此采用兩片SRAM“乒乓存取”工作方式,組成了圖像數(shù)據(jù)緩沖區(qū),每片SRAM存放一幀圖像,由CPLD控制其乒乓讀寫切換以達到實時顯示效果。數(shù)據(jù)緩存電路框圖如圖2所示。
圖2 數(shù)據(jù)緩存電路框圖
采用一組SRAM作為顯存,可以簡化系統(tǒng)設計、降低成本。這時可以考慮利用行時序和幀時序中SRAM總線空閑的時序段,在不關(guān)閉圖像顯示的情況下實現(xiàn)顯存SRAM的數(shù)據(jù)更新。該方法的更新率與數(shù)據(jù)寫速度密切相關(guān),顯存的寫數(shù)據(jù)速度越快,該方法的更新率就越高。[!--empirenews.page--]
視頻DAC模塊
ADV7123是一個三路10位輸入的高速視頻DAC,具有330MHz的最大采樣速度,與多種高精度的顯示系統(tǒng)兼容,包括RS-343A和RS-170,可以廣泛應用于如HDTV、數(shù)字視頻系統(tǒng)(1600*1200 @100Hz)、高分辨率的彩色圖片圖像處理、視頻信號再現(xiàn)等,因此能夠滿足多方面應用需求。視頻DAC(ADV7123)工作原理如圖3所示。
圖3 ADV7123工作原理
CPLD提供Hsync(行)、Vsync(場)同步信號,直接接入15針的VGA顯示接口連接器。在點時鐘脈沖pixel clock的作用下將3路10位的RGB信號送入數(shù)據(jù)寄存器,而后送到3個DAC模塊,復合消隱信號和復合同步信號加到紅、綠、藍模擬信號送到輸出端。
系統(tǒng)軟件設計
系統(tǒng)軟件設計是本文的重點,主要包括三部分內(nèi)容:SRAM讀寫狀態(tài)機的設計、CPLD與SRAM的緩沖模塊通信以及VGA時序設計。
SRAM讀寫狀態(tài)機的設計
以6416為核心的圖象處理機通過外部存儲器接口向外傳送數(shù)據(jù),連接到后端的顯示系統(tǒng);但SRAM需要嚴格的通信時序確保數(shù)據(jù)的完整性,此處在CPLD內(nèi)部通過狀態(tài)機構(gòu)造SRAM的讀時序和寫時序,確保了6416能夠和SRAM正常通信,也確保緩沖模塊的正常運行。讀寫SRAM的時序圖如圖4和圖5所示。
圖4 讀周期時序圖
圖5 寫周期時序圖
當從SRAM中讀取數(shù)據(jù)時:首先使能片選;UB、LB時鐘處于有效狀態(tài);WE為高,時鐘處于無效狀態(tài);主要由OE的時序來控制使其符合讀時序圖,才能正確地讀出存儲器中的數(shù)據(jù)。在向SRAM中寫入數(shù)據(jù)時,同樣首先使能片選;UB、LB時鐘處于有效狀態(tài);OE為高,時鐘處于無效狀態(tài);主要由WE的時序來控制使之符合寫時序圖,才能向存儲器正確寫入數(shù)據(jù)。
CPLD與SRAM組成的緩沖模塊的通信
CPLD與SRAM組成的緩沖通信模塊,即如何乒乓讀寫SRAM機制。設定一個讀寫標志FLAG,當一塊SRAM寫滿一幀圖像時,F(xiàn)LAG會出現(xiàn)“1”到“0”或者“0”到“1”的跳變,同時切換數(shù)據(jù)流的流向,寫另一塊SRAM,同時切換輸出至后級DAC的數(shù)據(jù)流;如此循環(huán),軟件流程圖如圖6所示。
圖6 緩沖模塊通信軟件流程圖 [!--empirenews.page--]
VGA時序發(fā)生器設計
VGA標準時序參考圖如圖7所示,并用VERILOGHDL設計For VESA 800*600 @ 60Hz:VGA時序的源代碼:
圖7 VGA標準時序參考圖
系統(tǒng)分析
經(jīng)過反復測試,系統(tǒng)能夠?qū)⒉杉藬?shù)據(jù)實時傳送到顯示器上,具體性能指標如下:
視頻輸出:VGA視頻輸出
視頻顯示DA轉(zhuǎn)換精度: 10bit
圖像輸出標準: SVGA(75Hz, 800×600)
顯示分辨率: 10bit
結(jié)語
該VGA視頻顯示系統(tǒng)不但可以穩(wěn)定地采集圖像數(shù)據(jù),而且可以實時將數(shù)據(jù)傳輸?shù)紺RT顯示器,便于以后人工綜合分析、處理。它特別適用于大型商場等顯示端,可以說是一個理想的解決方案。