• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于FPGA的視頻播放器

      2010-06-25 09:38:36趙小歡夏靖波郭威武
      電視技術(shù) 2010年4期
      關(guān)鍵詞:視頻信號(hào)時(shí)序時(shí)鐘

      趙小歡,夏靖波,趙 旭,郭威武

      (中國人民解放軍空軍工程大學(xué) 電訊工程學(xué)院,陜西 西安 710077)

      1 引言

      視頻圖像信號(hào)的突出特點(diǎn)是信息量巨大,以我國數(shù)字廣播中廣泛采用的PAL制式為例,標(biāo)準(zhǔn)的數(shù)字化PAL電視分辨力為720×576,24 bit的色彩位深,1幀圖像的信息量為 720×576×24 bit=9.95328 Mbit,而 PAL 標(biāo)準(zhǔn)中每秒掃描25幀圖像,則每秒傳送的信息量為9.95328×25=248.832 Mbit。另一方面,視頻信號(hào)需要嚴(yán)格的時(shí)鐘同步,在視頻的采集與顯示過程中,即使僅一個(gè)像素錯(cuò)位,整幅畫面也會(huì)失步。CPLD與FPGA等可編程邏輯器件集成度與速度都有很大的提高,而且價(jià)格較低,在圖像顯示控制方面有較多應(yīng)用。文獻(xiàn)[1],[2]采用可編程邏輯器件完成LCD控制電路設(shè)計(jì),文獻(xiàn)[3]設(shè)計(jì)了一種LCD控制器的IP核,基于FPGA的LCD控制器在靈活性與價(jià)格方面都比專用顯卡芯片具有優(yōu)勢。

      本設(shè)計(jì)基于“FPGA+SAA7111A”的結(jié)構(gòu),利用 FPGA的硬件并行處理和在線可編程能力解決視頻信號(hào)信息量大和制式繁多的問題,通過Verilog HDL編程實(shí)現(xiàn)視頻采集以及TFT LCD驅(qū)動(dòng)等各種復(fù)雜時(shí)序信號(hào)的產(chǎn)生與控制,實(shí)現(xiàn)了高質(zhì)量、小體積、低成本的視頻播放器。

      2 總體設(shè)計(jì)思想

      2.1 系統(tǒng)介紹

      電視信號(hào)除了需要傳送輝度信號(hào)Y以外,還必須用次載波來傳送色差信號(hào)BY及RY。復(fù)合視頻信號(hào)將BY及RY以3.58 MHz的次載波載送在Y信號(hào)里,同時(shí)還包括了行同步信號(hào)、行消隱信號(hào)、場同步信號(hào)、場消隱信號(hào)等同步信號(hào)。為了得到圖像信號(hào),首先需要采用梳狀濾波器將3.58 MHz的色度信號(hào)與Y信號(hào)分離,得到Y(jié),C信號(hào)(即S-Video),然后以不同的速率對(duì)這兩路信號(hào)采樣、編碼就得到各種標(biāo)準(zhǔn)的圖像信號(hào)。

      本設(shè)計(jì)采用Philips公司的SAA7111A來完成復(fù)合視頻信號(hào)的解碼。SAA7111A是一種增強(qiáng)型視頻輸入處理器芯片,它能夠完成視頻制式自動(dòng)識(shí)別、A/D變換、同步時(shí)序信號(hào)分離、亮度色度調(diào)整、色彩空間變換等功能,極大地減輕了設(shè)計(jì)的復(fù)雜度和體積。同時(shí),SAA7111A是一種標(biāo)準(zhǔn)的I2C器件,需要通過I2C總線對(duì)其初始化。為了減小視頻播放器的體積及成本,設(shè)計(jì)中采用FPGA模擬I2C主控制器來完成SAA7111A的配置過程。

      設(shè)計(jì)中采用的TFT LCD為光聯(lián)科技的UMSH-8044MD-T。該TFT LCD分辨力為320×240,支持RGB(5∶6∶5)格式圖像顯示。本設(shè)計(jì)通過FPGA產(chǎn)生LCD需要的各種時(shí)序信號(hào),驅(qū)動(dòng)該TFT LCD完成視頻播放。

      2.2 系統(tǒng)結(jié)構(gòu)

      該系統(tǒng)結(jié)構(gòu)如圖1所示,它主要完成對(duì)視頻信號(hào)的采集并實(shí)時(shí)播放。整個(gè)視頻系統(tǒng)由3部分組成。

      圖1 系統(tǒng)結(jié)構(gòu)框圖

      1)視頻解碼模塊,該部分通過FPGA來配置視頻處理芯片SAA7111A,實(shí)現(xiàn)模擬視頻信號(hào)的數(shù)字化,為系統(tǒng)后面的模塊提供RGB(5∶6∶5)格式的標(biāo)準(zhǔn)數(shù)字視頻信號(hào)。

      2)圖像緩存與控制模塊。該部分是整個(gè)系統(tǒng)的關(guān)鍵,它協(xié)調(diào)著采集與顯示的同步。一方面通過FPGA編程控制SRAM存儲(chǔ)所需分辨力的數(shù)字視頻信號(hào);另一方面,采用2塊SRAM實(shí)現(xiàn)雙緩存,通過乒乓機(jī)制,確保FPGA向一塊SRAM寫圖像數(shù)據(jù)的同時(shí),LCD能夠接收到另一塊SRAM的數(shù)據(jù),始終保證LCD接收到連續(xù)、穩(wěn)定的視頻流。

      3)TFT LCD驅(qū)動(dòng)模塊,該部分通過FPGA產(chǎn)生LCD顯示時(shí)序,實(shí)現(xiàn)TFT LCD顯卡的功能,確保SRAM中的數(shù)據(jù)正確輸出到LCD。

      3 系統(tǒng)具體設(shè)計(jì)及實(shí)現(xiàn)

      3.1 視頻解碼模塊

      SAA7111A解碼芯片需要通過I2C總線對(duì)其初始化才能正常工作。由于I2C總線時(shí)序比較簡單,并且該設(shè)計(jì)僅涉及到單主控制器、單從器件的情況,不需要仲裁過程,更加降低了難度,因此這里采用FPGA模擬I2C主控制器來完成SAA7111A的配置過程。I2C總線時(shí)序如圖2所示,每次傳送完1 byte后,需要接收到從器件的響應(yīng)后再傳送下一字節(jié)。

      圖2 I2C數(shù)據(jù)傳送時(shí)序

      為了判斷SAA7111A是否解碼正確,建議同時(shí)編寫對(duì)SAA7111A的讀程序,通過讀取SAA7111A的狀態(tài)寄存器0x1F的值來判斷解碼芯片的工作狀態(tài)。值得注意的是,SAA7111A對(duì)晶振精度要求較高,稍有偏差就會(huì)造成顏色分量的失真。前兩次采用無源晶振,SAA7111A均解碼不正確,建議采用精度更高的有源晶振。

      3.2 視頻圖像緩沖模塊

      SAA7111A場同步信號(hào)VREF、行同步信號(hào)HREF、奇偶場信號(hào)RTS0、像素時(shí)鐘信號(hào)LLC2的時(shí)序見圖3。

      圖3 FPGA圖像采集時(shí)序圖

      當(dāng)RTS0為1時(shí),表明輸出為奇數(shù)場,當(dāng)場同步信號(hào)VREF有效時(shí),對(duì)行同步信號(hào)HREF計(jì)數(shù)到83時(shí),啟動(dòng)行有效信號(hào)。同理當(dāng)行同步信號(hào)HREF有效時(shí),對(duì)像素時(shí)鐘信號(hào)LLC2計(jì)數(shù)到200時(shí),啟動(dòng)數(shù)據(jù)有效信號(hào),開始采集圖像數(shù)據(jù)[4]。采用該方式可以靈活的控制采集信號(hào)的分辨力,這里將分辨力設(shè)為320×240,是為了滿足TFT LCD分辨力的需要。由于SAA7111A解碼出來的數(shù)字視頻信號(hào)采用隔行掃描的方式,而TFT LCD是逐行顯示,所以該奇數(shù)場采集了120行數(shù)據(jù)。

      在這里FPGA接收4個(gè)輸入時(shí)鐘,即VREF,HREF,RTS0和LLC2。為了保證時(shí)鐘的可靠性,將像素時(shí)鐘信號(hào)LLC2引入FPGA的全局時(shí)鐘引腳作為全局時(shí)鐘。

      對(duì)圖像數(shù)據(jù)的定位,采用下列方法:調(diào)用FPGA的ROM宏模塊,建立1個(gè)表,保存行首地址,每次存儲(chǔ)數(shù)據(jù)時(shí),行首地址采用查表得到,行內(nèi)地址采用計(jì)數(shù)的方式[5-6]。

      這樣做的好處是:1)可消除隔行掃描信號(hào)與逐行掃描信號(hào)的差異,由于行首地址已固定,行內(nèi)地址都采用計(jì)數(shù)的方式,奇偶場信號(hào)的存儲(chǔ)方法完全一樣。2)可準(zhǔn)確定位整幅圖像每行的行首地址,即使某一個(gè)數(shù)據(jù)受到干擾,則失步只存在于該像素所在行,其他行仍然同步。

      3.3 TFT LCD控制模塊

      如圖4所示,像素?cái)?shù)據(jù)需要在行同步信號(hào)HSYNC、幀同步信號(hào)VSYNC、像素時(shí)鐘CLK以及使能信號(hào)ENAB(圖中由V_EN和H_EN)的配合下才得以在LCD上正確顯示。一副圖像被各種時(shí)序信號(hào)分成了若干區(qū)域,只有圖中有效像素區(qū)的數(shù)據(jù)會(huì)被顯示到LCD上。當(dāng)行同步信號(hào)HSYNC、幀同步信號(hào)VSYNC均處于有效像素區(qū)時(shí),輸出使能信號(hào)ENAB有效,使數(shù)據(jù)輸出;而當(dāng)HSYNC和VSYNC處于消隱期間,關(guān)閉使能信號(hào),禁止數(shù)據(jù)輸出。

      圖4 LCD顯示框圖

      圖5顯示了VSYNC與HSYNC的時(shí)序關(guān)系。由于該時(shí)序關(guān)系比較復(fù)雜,而且LCD對(duì)時(shí)序要求比較嚴(yán)格,這里采用有限狀態(tài)機(jī)來產(chǎn)生各種時(shí)序信號(hào)[7]。

      圖5 VSYNC產(chǎn)生時(shí)序圖

      系統(tǒng)采用的TFT LCD標(biāo)準(zhǔn)像素時(shí)鐘為6.4 MHz,為了便于時(shí)鐘同步,這里將LLC2二分頻作為顯示時(shí)的像素時(shí)鐘(即CLK=LLC2/2=6.25 MHz)。系統(tǒng)中采用的攝像頭輸出的是PAL信號(hào),則顯示1屏圖像需要0.0204 s。而SAA7111A可在1 s采集25幀圖像,即采集1幀圖像需要0.04 s時(shí)間。這樣采集1幀圖像的同時(shí)LCD大約需要刷新2次。不妨采用奇偶場信號(hào)RTS0的時(shí)鐘變化來產(chǎn)生INT_Syn標(biāo)志表示1幀的開始,這樣需要LCD每次讀SRAM中的數(shù)據(jù)2次后才能切換到讀另一塊SRAM。

      從圖5可以看出,VSYNC的產(chǎn)生可以分為4個(gè)狀態(tài):S0,S1,S2 和 S3。 各狀態(tài)之間的轉(zhuǎn)換為 S0→S1→S2→S3→S0,通過狀態(tài)機(jī)描述如下:

      1)S0為幀同步脈寬階段。INT_Syn到來,標(biāo)志一幀的開始,此時(shí)VSYNC為1,幀有效信號(hào)VDEN為0,對(duì)HSYNC計(jì)數(shù)從0到VSPW。

      2)S1為垂直后掃階段。此時(shí)VSYNC為0,幀有效信號(hào)VDEN為0,對(duì)HSYNC計(jì)數(shù)從0到VBPD。

      3)S2為幀有效階段。此時(shí)VSYNC為0,幀有效信號(hào)VDEN為1,對(duì)HSYNC計(jì)數(shù)從0到LINEVAL。

      4)S3為垂直前掃階段。此時(shí)VSYNC為0,幀有效信號(hào)VDEN為0,對(duì)HSYNC計(jì)數(shù)從0到VFPD。

      行同步HSYNC信號(hào)的產(chǎn)生過程同VSYNC類似,只不過HSYNC的各個(gè)狀態(tài)是對(duì)CLK計(jì)數(shù)。當(dāng)幀有效信號(hào)VDEN與行有效信號(hào)HDEN均為1時(shí),打開LCD數(shù)據(jù)使能端ENAB,LCD接收SRAM送來的數(shù)據(jù)。當(dāng)然,由于LCD的差異,可能在時(shí)序產(chǎn)生時(shí)需要對(duì)前消隱、后消隱信號(hào)有所調(diào)整才能顯示出無錯(cuò)位的圖像。

      通過Verilog HDL編程語言來描述以上狀態(tài)機(jī),在Quartus II 6.0開發(fā)環(huán)境中仿真得到TFT LCD顯示時(shí)序(見圖6)。通過該仿真可以看出,采用有限狀態(tài)機(jī)較好地解決了視頻顯示復(fù)雜時(shí)序的問題,得到了TFT LCD顯示所需的各種時(shí)序信號(hào)。

      圖6 TFT LCD顯示仿真時(shí)序

      3.4 雙緩存控制模塊

      以上分別介紹了視頻采集以及TFT LCD顯示驅(qū)動(dòng)功能的實(shí)現(xiàn),但由于采集與顯示都是連續(xù)不間斷的,故需要協(xié)調(diào)采集與顯示的同步才能正常播放視頻。這里采用雙緩存結(jié)構(gòu),通過乒乓緩存操作確保LCD不間斷地接收數(shù)據(jù)[8]。當(dāng)FPGA向SRAM1寫入數(shù)據(jù)時(shí),LCD接收來自SRAM2的數(shù)據(jù),這時(shí)LCD數(shù)據(jù)口和SRAM2相接,卻必須和SRAM1隔離;反過來,當(dāng)FPGA向SRAM2寫入數(shù)據(jù)時(shí),LCD接收來自SRAM1的數(shù)據(jù),這時(shí)LCD數(shù)據(jù)口和SRAM1相接,卻必須和SRAM2隔離。這里采用如圖7所示電路解決這一問題。

      圖7 雙緩存切換控制電路示意圖

      圖7中,引入switch控制信號(hào)作為緩存切換標(biāo)志,其中switch信號(hào)每當(dāng)RTS0上升沿到來時(shí)翻轉(zhuǎn)一次。當(dāng)switch 為 1 時(shí),vpo[15∶0]與 sram1_data[15∶0]接通,而由于三態(tài)門為高組態(tài),vpo[15∶0]與 sram2_data[15∶0]隔離,而在數(shù)據(jù)輸出端通過多路選擇器使DATAB即sram2_data[15∶0]輸出到 lcd_data[15∶0]。同理,當(dāng) switch 為 0 時(shí),vpo[15∶0]與 sram2_data[15∶0]接通而與 sram1_data[15∶0]隔離,lcd_data[15∶0]接收SRAM1的數(shù)據(jù)。而SRAM地址產(chǎn)生則比較簡單,只需要在每幀到來時(shí)從零開始計(jì)數(shù)即可。通過此種方案可以很好地解決視頻采集與顯示的切換,視頻播放效果如圖8所示,視頻播放比較流暢,清晰度較好。

      圖8 LCD顯示視頻

      4 小結(jié)

      筆者設(shè)計(jì)并實(shí)現(xiàn)了一種基于FPGA的視頻播放器,經(jīng)過仿真與測試,每秒能夠播放25幀視頻,且適用于分辨力在720×576以下的各種TFT LCD。

      筆者將視頻的采集以及TFT LCD的驅(qū)動(dòng)集成在一塊FPGA中,實(shí)現(xiàn)了視頻播放的功能。同時(shí),該方案與其他方案相比,不僅減小了視頻采集與顯示時(shí)鐘同步的難度,又縮小了系統(tǒng)的體積,更為重要的是該方案完全在線可編程,具有非常好的靈活性。另外,隨著數(shù)字圖像處理技術(shù)的日益發(fā)展及成熟,該方案也可作為圖像處理系統(tǒng)中的前端視頻采集部分,為數(shù)字圖像處理部分提供高速、可控的視頻流。

      [1]LEI Jingming,ZHOU Xuechen.Dynamic dithering algorithm and frame rate control technique for liquid crystal display controller[C]//Proc.ASICON2003.[S.l.]:IEEE Press,2003:740-743.

      [2]ITAKURA T, MINAMIZAKI H,SAITO T,et al.A 402-output TFTLCD driver IC with power control based on the number of colors selected[J].Solid-State Circuits,2003,38(3):503-510.

      [3]程佺,沈緒榜.一種LCD顯示控制器IP核的設(shè)計(jì)與驗(yàn)證[J].計(jì)算機(jī)與數(shù)字工程,2004,32(1):5-8.

      [4]程穎,王銳.SAA7111A芯片在視頻圖像處理FPGA設(shè)計(jì)中的應(yīng)用[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2007,30(11):1399-1403.

      [5]武乾永,陳賓.基于FPGA的實(shí)時(shí)圖像數(shù)據(jù)采集模塊設(shè)計(jì)[J].微電子學(xué),2008,38(3):453-456.

      [6]陳彬.基于FPGA的視頻圖像處理系統(tǒng)設(shè)計(jì)[D].重慶∶重慶大學(xué),2006.

      [7]方勇,呂國強(qiáng),彭良清,等.3D顯示器視頻轉(zhuǎn)換系統(tǒng)設(shè)計(jì)及其FPGA實(shí)現(xiàn)[J].液晶與顯示,2007,22(1):94-98.

      [8]周劍波,鞏憲鋒,王長松,等.利用FPGA和USB總線的視頻圖像的采集與處理系統(tǒng)設(shè)計(jì)[J].北京科技大學(xué)學(xué)報(bào),2006,28(9):886-889.

      猜你喜歡
      視頻信號(hào)時(shí)序時(shí)鐘
      時(shí)序坐標(biāo)
      基于Sentinel-2時(shí)序NDVI的麥冬識(shí)別研究
      別樣的“時(shí)鐘”
      古代的時(shí)鐘
      淺析新一代視頻信號(hào)ICtCp
      短距視頻信號(hào)無線通信網(wǎng)絡(luò)
      有趣的時(shí)鐘
      一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
      電子制作(2016年15期)2017-01-15 13:39:08
      時(shí)鐘會(huì)開“花”
      DPBUS時(shí)序及其設(shè)定方法
      河南科技(2014年15期)2014-02-27 14:12:36
      星座| 合水县| 密云县| 石河子市| 松滋市| 白朗县| 木里| 余庆县| 南宫市| 永兴县| 隆化县| 金秀| 阜宁县| 社旗县| 祁东县| 拜泉县| 秦皇岛市| 大丰市| 榕江县| 枝江市| 梅河口市| 车致| 玉屏| 顺平县| 木兰县| 武夷山市| 库尔勒市| 阿克陶县| 丹棱县| 深州市| 屏山县| 鹿邑县| 衢州市| 丰顺县| 武胜县| 沅陵县| 濮阳县| 平度市| 德化县| 云梦县| 鲁山县|