復(fù)雜數(shù)字視頻信號(hào)處理器IP核設(shè)計(jì)
摘 要:針對(duì)復(fù)雜數(shù)字視頻處理電路的數(shù)據(jù)處理量大、處理過(guò)程復(fù)雜、系統(tǒng)工作頻率高、涉及到復(fù)雜嚴(yán)格的時(shí)序邏輯關(guān)系的特點(diǎn),按照?qǐng)鲂蛑撇噬獸SC原理和VESA標(biāo)準(zhǔn),采用現(xiàn)代EDA技術(shù),設(shè)計(jì)了一個(gè)適于FPGA實(shí)現(xiàn)的、應(yīng)用于MD800G6驅(qū)動(dòng)控制器中的復(fù)雜數(shù)字視頻信號(hào)處理器IP核,給出了各個(gè)部分的設(shè)計(jì)。仿真結(jié)果表明了設(shè)計(jì)的可行性。該設(shè)計(jì)具有可靠性高、升級(jí)容易等特點(diǎn)。
關(guān)鍵詞:數(shù)字視頻處理 場(chǎng)序制彩色FSC FPGA IP核
進(jìn)入21世紀(jì),硅基液晶LCoS(Liquid Crystal on Silicon)顯示技術(shù)取得了長(zhǎng)足的發(fā)展,也促進(jìn)了顯示器的微型化。LCoS微型顯示器是一種新型的單色反射式液晶顯示器件,是半導(dǎo)體VLSI技術(shù)和液晶技術(shù)巧妙結(jié)合的高新技術(shù)。由于其自身所具有的體積小、低功耗等獨(dú)特優(yōu)點(diǎn),該顯示器在軍事和民用領(lǐng)域得到了廣泛的應(yīng)用,如蜂窩可視移動(dòng)電話、袖珍式電子字典、掌上型投影儀、GPS觀測(cè)器、虛擬現(xiàn)實(shí)、可穿戴計(jì)算機(jī)、視頻游戲等,具有良好的發(fā)展前景。MD800G6是比較典型的產(chǎn)品,但它需要設(shè)計(jì)專門(mén)的驅(qū)動(dòng)電路,而其驅(qū)動(dòng)電路中必然存在復(fù)雜的視頻處理電路。
由于復(fù)雜的數(shù)字視頻處理電路不但需要處理極大的數(shù)據(jù)量,處理過(guò)程復(fù)雜,而且系統(tǒng)工作頻率高,涉及到復(fù)雜嚴(yán)格的時(shí)序邏輯關(guān)系,如果使用普通的集成電路或芯片,則所耗用資源非常驚人,并且有可能造成時(shí)序混亂。而EDA技術(shù)在其驅(qū)動(dòng)控制設(shè)計(jì)上具有很大的優(yōu)越性和靈活性[1,2,3]。為了減少系統(tǒng)的體積,提高系統(tǒng)的抗干擾能力,本文按照?qǐng)鲂蛑撇噬獸SC(Field Sequential Color)原理和VESA標(biāo)準(zhǔn),采用現(xiàn)代EDA設(shè)計(jì)方法和Verilog HDL及模塊化的設(shè)計(jì)方法,設(shè)計(jì)了一個(gè)適于FPGA實(shí)現(xiàn)的、應(yīng)用于MD800G6驅(qū)動(dòng)控制器中的復(fù)雜數(shù)字視頻信號(hào)處理器IP核。
原理分析
場(chǎng)序制彩色FSC原理
FSC是一種利用灰度級(jí)顯示器產(chǎn)生彩色圖像的視頻技術(shù)[4,5]。所謂場(chǎng)序制彩色,就是將每一幀視頻數(shù)據(jù)劃分為紅(R)、綠(G)、藍(lán)(B)三個(gè)并行分量,每一個(gè)分量稱為一場(chǎng)。顯示器分時(shí)按場(chǎng)顯示,即首先顯示紅場(chǎng),其次是綠場(chǎng),最后顯示藍(lán)場(chǎng)。每一場(chǎng)顯示時(shí)用相應(yīng)的LED光源(分別為紅光、綠光、藍(lán)光)照射一段時(shí)間,這段時(shí)間的長(zhǎng)短決定了彩色圖像的色度。由于場(chǎng)刷新頻率(幀頻為60Hz時(shí)場(chǎng)頻為180Hz)遠(yuǎn)高于人眼的分辨頻率,從而形成了高質(zhì)量的沒(méi)有閃爍的彩色圖像。因此場(chǎng)序制彩色顯示技術(shù)又稱為時(shí)間混色法,它在顯示原理上不同于通常的空間混色法顯示技術(shù)[6]。FSC技術(shù)允許的像素可以比空間混色法技術(shù)更大更亮而不影響顯示效果,但對(duì)于空間三原色形成的彩色圖像,如果像素太大就會(huì)影響圖像質(zhì)量。
利用FSC技術(shù)可以把并行的VGA RGB信號(hào)轉(zhuǎn)化為串行的序列RGB信號(hào)。其時(shí)序關(guān)系如圖1所示。需要注意,利用FSC技術(shù)必須要求VGA格式同時(shí)提供每個(gè)像素的三個(gè)顏色分量。為了將VGA RGB信號(hào)轉(zhuǎn)換到序列RGB信號(hào),驅(qū)動(dòng)控制電路必須能夠緩存每場(chǎng)數(shù)據(jù),例如顯示紅場(chǎng)數(shù)據(jù)時(shí),綠場(chǎng)和藍(lán)場(chǎng)數(shù)據(jù)必須暫存起來(lái),等紅場(chǎng)數(shù)據(jù)結(jié)束時(shí),再把綠場(chǎng)數(shù)據(jù)從存儲(chǔ)器中取出顯示,依次進(jìn)行。因此,必須使用大容量的RAM來(lái)暫存一幀VGA RGB信號(hào),這個(gè)RAM不僅要求容量大,而且速度要求也很高。
VESA視頻信號(hào)標(biāo)準(zhǔn)
在設(shè)計(jì)驅(qū)動(dòng)控制方案之前,必須先了解來(lái)自PC主機(jī)VGA接口的VESA視頻信號(hào)的時(shí)序標(biāo)準(zhǔn)。PC主機(jī)VGA接口輸出的視頻信號(hào)標(biāo)準(zhǔn)為VESA Version1.0,其分辨率為800×600,刷新頻率為60Hz,行頻37.879kHz,幀頻60.317Hz,像素時(shí)鐘40.000MHz,逐行掃描。標(biāo)準(zhǔn)時(shí)序如圖2所示。
標(biāo)準(zhǔn)VGA接口(標(biāo)準(zhǔn)VESA格式)共有15個(gè)信號(hào)(DB15連接器),這里只用到RED、GREEN、BLUE三個(gè)0.7Vp-p并行模擬視頻輸出信號(hào)和Hsync、Vsync兩個(gè)同步信號(hào),由于這五個(gè)信號(hào)不符合MD800G6的要求,所以必須將其進(jìn)行各種變換處理,轉(zhuǎn)化為符合MD800G6的信號(hào)格式后,才能送入MD800G6中。因此驅(qū)動(dòng)控制器的主要任務(wù)就是將來(lái)自計(jì)算機(jī)VGA口的RGB模擬視頻信號(hào)數(shù)據(jù)轉(zhuǎn)換成符合MD800G6要求的視頻信號(hào),將同步信號(hào)Hsync和Vsync轉(zhuǎn)換成MD800G6的時(shí)序標(biāo)準(zhǔn),換句話說(shuō),就是將標(biāo)準(zhǔn)VESA信號(hào)經(jīng)過(guò)一系列變化,最終轉(zhuǎn)換為MD800G6要求的視頻數(shù)據(jù)格式和控制信號(hào)時(shí)序,從而使該顯示器能正常工作。
由于VESA標(biāo)準(zhǔn)的像素總數(shù)為480 000,每個(gè)像素為8位數(shù)據(jù),采用場(chǎng)序制時(shí)每幀劃分為三場(chǎng),所以每幀的數(shù)據(jù)量為:480 000×3×8位;為了節(jié)省存儲(chǔ)器空間,選用32位字長(zhǎng)的SRAM,SRAM的存儲(chǔ)深度至少為:480 000×3×8/32=360 000字,約為360 000/1 024=352K字;VESA標(biāo)準(zhǔn)的像素時(shí)鐘頻率是40MHz,所以系統(tǒng)工作頻率應(yīng)最小為40MHz,從而存儲(chǔ)器的存取時(shí)間不能高于25ns。選擇兩片相同的SRAM,每一片存儲(chǔ)相鄰的一幀數(shù)據(jù)。將每片存儲(chǔ)器的空間分為三個(gè)部分,分別用來(lái)存放紅場(chǎng)、綠場(chǎng)和藍(lán)場(chǎng)數(shù)據(jù);存儲(chǔ)器內(nèi)的數(shù)據(jù)每隔一幀更新一次。
數(shù)字硬件電路總體設(shè)計(jì)方案
根據(jù)原理分析,整個(gè)電路由數(shù)據(jù)處理模塊和時(shí)序控制模塊兩大部分組成,而這兩大模塊又分別由三個(gè)子模塊和兩個(gè)子模塊組成,如圖3所示。
(1)數(shù)據(jù)打包模塊:該模塊的功能是在前端有效視頻期間,將來(lái)自ADC的三路并行8位數(shù)字視頻數(shù)據(jù)進(jìn)行組合,并按R、G、B的順序依次存入72位字長(zhǎng)SRAM的三個(gè)區(qū)域中。因此,打包器把每9個(gè)8位單色像素?cái)?shù)據(jù)打包成一個(gè)72位的字。為了優(yōu)化存儲(chǔ)器性能,這些72位的字首先經(jīng)過(guò)一個(gè)存儲(chǔ)深度為240個(gè)72位字的先進(jìn)先出存儲(chǔ)器(FIFO)緩存一下,然后用促發(fā)方式(burst out)送給SRAM(這240個(gè)字包括紅綠藍(lán)分量各80個(gè)字)。該模塊主要由一個(gè)打包計(jì)數(shù)器和一些組合電路構(gòu)成的。
(2)數(shù)據(jù)解包模塊:該模塊的功能是在后端有效視頻期間,將從SRAM取出的72位數(shù)據(jù)進(jìn)行分解并重新組合,形成四路8位并行視頻輸出,如圖4所示。圖中的粗黑線表示不同的72位字的邊界。從圖中可以看出,每9個(gè)解包時(shí)鐘周期就有4個(gè)72位字被解包,每個(gè)解包時(shí)鐘周期有四組8位數(shù)據(jù)并行輸出,這四組信號(hào)被送到場(chǎng)反相器。由于每個(gè)時(shí)鐘周期送出的四組數(shù)據(jù)不一定是從同一個(gè)72位字中解包而來(lái)的,所以中間需要緩沖器來(lái)寄存前一個(gè)72位字的部分?jǐn)?shù)據(jù)。解包器的數(shù)據(jù)不是直接來(lái)自SRAM,而是先經(jīng)過(guò)一個(gè)桶形寄存器(BUCKET)緩存4個(gè)72位字,每9個(gè)時(shí)鐘周期更新一次。該模塊主要由一個(gè)解包計(jì)數(shù)器和一些組合電路構(gòu)成。
(3)前端時(shí)序變換模塊:該模塊的主要功能是把VESA標(biāo)準(zhǔn)的兩個(gè)同步信號(hào)Hsync(行同步)和Vsync(幀同步)進(jìn)行處理,譯碼為前端有效視頻控制信號(hào)及其他控制信號(hào),并和打包器同步工作。它主要由水平像素計(jì)數(shù)器、垂直行計(jì)數(shù)器、偏移量計(jì)數(shù)器、鉗位計(jì)數(shù)器及一些組合電路構(gòu)成。水平像素計(jì)數(shù)器在像素時(shí)鐘的上升沿加1,在行同步信號(hào)的上升沿被復(fù)位;垂直行計(jì)數(shù)器在行同步信號(hào)的上升沿加1,在幀同步信號(hào)的上升沿被復(fù)位。偏移量計(jì)數(shù)器用來(lái)確定所顯示圖像的位置;鉗位計(jì)數(shù)器產(chǎn)生ADC的鉗位信號(hào)。
(4)后端時(shí)序變換模塊:該模塊的基本功能是根據(jù)前端時(shí)序變換器送來(lái)的幀同步控制信號(hào),生成后端有效視頻控制信號(hào)及符合微顯示器時(shí)序的各個(gè)控制信號(hào)。它主要由水平像素計(jì)數(shù)器、垂直行計(jì)數(shù)器、場(chǎng)計(jì)數(shù)器及一些組合電路構(gòu)成,這些計(jì)數(shù)器分別跟蹤水平像素位置、垂直行位置和當(dāng)前場(chǎng)的位置,并與解包器同步工作,以使視頻數(shù)據(jù)與各控制信號(hào)有正確的時(shí)序關(guān)系。水平像素計(jì)數(shù)器在每一個(gè)像素時(shí)鐘的上升沿加1,在每一行結(jié)束時(shí)被復(fù)位;垂直行計(jì)數(shù)器在每一行結(jié)束時(shí)加1,在每一場(chǎng)結(jié)束時(shí)被復(fù)位;場(chǎng)計(jì)數(shù)器在每一場(chǎng)結(jié)束時(shí)加1,在每一幀結(jié)束時(shí)被復(fù)位。
(5)SRAM控制模塊:該模塊的主要功能是對(duì)打包器寫(xiě)SRAM請(qǐng)求和解包器讀SRAM請(qǐng)求進(jìn)行仲裁,并生成相應(yīng)的地址信號(hào)。它包括兩個(gè)部分,即存儲(chǔ)器寫(xiě)控制和存儲(chǔ)器讀控制。解包器的讀請(qǐng)求優(yōu)先于打包器的寫(xiě)請(qǐng)求,因此當(dāng)有存儲(chǔ)器的讀請(qǐng)求時(shí),數(shù)據(jù)的猝發(fā)寫(xiě)SRAM應(yīng)當(dāng)暫停,直到讀請(qǐng)求信號(hào)消失;這期間為了避免丟失信息,需要保存猝發(fā)數(shù)據(jù)。除了上述功能外,控制器還應(yīng)該在沒(méi)有讀寫(xiě)請(qǐng)求時(shí)讓SRAM處于休眠狀態(tài),以節(jié)省能量。
由于每個(gè)場(chǎng)包括600行,每行需要92個(gè)72位字(每個(gè)字包含了9個(gè)像素點(diǎn)數(shù)據(jù)),所以每一場(chǎng)需要的存儲(chǔ)空間為:92×600=55 200字。故SRAM的地址分配如下:
紅場(chǎng)區(qū)域:0~55 199;
綠場(chǎng)區(qū)域:55 200~110 399;
藍(lán)場(chǎng)區(qū)域:110 400~165 599。
①存儲(chǔ)器寫(xiě)控制:由FIFO控制、場(chǎng)計(jì)數(shù)器、行計(jì)數(shù)器、地址計(jì)數(shù)器、加法器及一些組合電路構(gòu)成。
②存儲(chǔ)器讀控制:主要由地址計(jì)數(shù)器及一些組合電路構(gòu)成。
仿真結(jié)果
整個(gè)系統(tǒng)的工作過(guò)程必須依靠嚴(yán)格的邏輯時(shí)序關(guān)系來(lái)協(xié)調(diào),否則顯示器不能正常工作。本設(shè)計(jì)經(jīng)過(guò)功能和時(shí)序仿真分析,完全符合要求。限于篇幅和系統(tǒng)的復(fù)雜性,本文只給出數(shù)據(jù)處理模塊的簡(jiǎn)化時(shí)序仿真波形,如圖5所示。仿真波形顯示了設(shè)計(jì)的正確性和可行性。
本文提出了適合在FPGA上實(shí)現(xiàn)的復(fù)雜數(shù)字視頻信號(hào)處理器IP核,給出了各模塊較詳細(xì)的設(shè)計(jì),并給出了數(shù)據(jù)處理模塊的仿真結(jié)果。
本設(shè)計(jì)克服了使用普通集成電路耗用資源量大和可靠性差的缺點(diǎn),大大減小了體積并提高了性能,而且修改方便,升級(jí)容易,可擴(kuò)展性強(qiáng),稍作修改就可以應(yīng)用于不同的系統(tǒng)。本設(shè)計(jì)已經(jīng)成功應(yīng)用于可穿戴式計(jì)算機(jī)的微型顯示驅(qū)動(dòng)控制電路中。
參考文獻(xiàn)
[1] 耿衛(wèi)東,代永平,任立儒等.LCos序彩色顯示控制器的設(shè)計(jì)[J].液晶與顯示,2003,18(3):188-192.
[2] 代永平,龔衛(wèi)東,孫鐘林.硅基液晶顯示器(LCoS)核心—顯示系統(tǒng)芯片的設(shè)計(jì)分析[J].光電子技術(shù),2001,21(2):79-88.
[3] DAI Y,GEN W,SUN Zhonglin,et al.Optimizing the design for microdisplay on silicon,creating IP modules
for a new type of SOC[J].Proceedings 4th International Conference onASIC,2001:785-788.
[4] CHUNG Y,LEE J,CHAE G.ASICdesign of color sequential driver for LCOS(liquid crystal on silicon) microdisplay devices[C].ICCE,International Conference on ConsumerElectronics,2001:6-7.
[5] 代永平,孫鐘林.LCoS微型顯示器的時(shí)序彩色化設(shè)計(jì)[J].現(xiàn)代顯示,2001,(3):18-23.
[6] 王明臣.彩色電視接收機(jī)原理[M].北京:人民郵電出版社,1983:10-100.