《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的視頻采集與顯示模塊設(shè)計(jì)
基于FPGA的視頻采集與顯示模塊設(shè)計(jì)
電子科技
摘要: 本文給出的視頻采集和顯示模塊在設(shè)計(jì)時(shí),選取分辨率為768×494像素的NTSC制式,并選用輸出像素為640×480的CCD攝像頭;FPGA選取AlteraCyclONeⅡ系列Ep2c35F672c36(內(nèi)含35000個(gè)邏輯單元);主動(dòng)串行配置
關(guān)鍵詞: FPGA 視頻采集CycloneⅡ
Abstract:
Key words :

      本文給出的視頻采集和顯示模塊在設(shè)計(jì)時(shí),選取分辨率為768×494像素的NTSC制式, 并選用輸出像素為640×480的CCD攝像頭; FPGA選取Altera CycloneⅡ系列Ep2c35F672c36 (內(nèi)含35000個(gè)邏輯單元); 主動(dòng)串行配置器件為Epcs16; 可配置VGA DAC ADV7123 ( 內(nèi)含3 個(gè)10 位高速DAC)及VGA輸出口, 同時(shí)支持NTSC和PAL制式的視頻解碼器ADV7181及RCA視頻輸入接口。

  1 ADV7181的特性及其寄存器配置

  ADV7181是一款集成的視頻解碼器, 可支持多種格式的模擬視頻信號輸入, 包括CVBS,S_VIDEO 和YPrPb 分量, 并可自動(dòng)檢測NTSC、PAL 和SECAM。ADV7181 可輸出16 位或8 位與CCIR656標(biāo)準(zhǔn)兼容的YCrCb 4:2: 2視頻數(shù)據(jù), 包括VS、HS、Blank等重要信號。由于該器件功能強(qiáng)大, 因此, 要正確使用這款芯片, 就必須對其內(nèi)部240個(gè)寄存器進(jìn)行合理配置。本系統(tǒng)只需設(shè)計(jì)I2C_Controller模塊和I2C_AV_config模塊對其中的40個(gè)寄存器進(jìn)行參數(shù)配置即可。

  1.1 I2C_Controller模塊設(shè)計(jì)

   I2C_Controller使用33個(gè)I2C時(shí)鐘周期來完成1次24位數(shù)據(jù), 其中第1個(gè)時(shí)鐘周期用于初始化控制器, 第2~3個(gè)周期用于啟動(dòng)傳輸, 第4~30個(gè)周期用于傳輸數(shù)據(jù)(其中包括24為數(shù)據(jù)和3個(gè)ACK),最后3 個(gè)周期用于停止傳輸。在程序當(dāng)中,SD_counter用于對傳輸進(jìn)行計(jì)數(shù), 并控制數(shù)據(jù)的傳輸。

  1.2  I2C_AV_config模塊設(shè)計(jì)

  該模塊中的每個(gè)寄存器配置需要三步。一般用mSetup_ST表示當(dāng)前進(jìn)行到哪一步, mI2C_GO=1表示啟動(dòng)I2C傳輸, mI2C_END=1表示I2C傳輸結(jié)束, mI2C_ACK=0表示應(yīng)答信號有效。圖1所示是該寄存器的配置狀態(tài)圖。

1.jpg
圖1 寄存器配置狀態(tài)圖

  在圖1中, 復(fù)位信號一旦有效, 即表明對寄存器的配置進(jìn)入到第一步, 此時(shí)8位從設(shè)備地址、8位寄存器地址和8位數(shù)據(jù)進(jìn)行連接, 以組成24位傳輸數(shù)據(jù); 接著啟動(dòng)I2C 傳輸, 進(jìn)入第二步( mSetup_ST =1) , 此后一旦檢測到傳輸結(jié)束(mI2C_END=1), 便對應(yīng)答信號mI2C_ACK進(jìn)行判斷, 如果應(yīng)答有效, 則進(jìn)入下一步mSetup_ST=2,否則返回到mSetup_ST=0, 重新傳輸數(shù)據(jù)。

  2 圖像采集和Video_to_VGA模塊設(shè)計(jì)

  由ADV7181輸出的itu_r65*:2:2格式的視頻數(shù)據(jù)流格式如圖2所示。圖中, EAV和SAV為兩個(gè)基準(zhǔn)信號, 要想獲得有效視頻數(shù)據(jù), 就得首先檢測到SAV。操作時(shí), 首先要對FF0000進(jìn)行檢測, 然后再根據(jù)XY提取F、H來判斷SAV基準(zhǔn)信號。XY一般由8位數(shù)據(jù)組成, 圖3所示是其位格式表示。

itu_r65*:2:2格式視頻數(shù)據(jù)流
 

圖2 itu_r65*:2:2格式視頻數(shù)據(jù)流

 XY各位表示
圖3 XY各位表示

  2.1 ITU_R656_DECODER模塊設(shè)計(jì)

  圖3中, XY的第七位為場信號, F為0表示第一場, F為1表示第二場; XY的第六位為場消隱信號, V為0表示數(shù)據(jù)是有效信號, V為1表示數(shù)據(jù)處于場消隱階段; XY的第五位為有效數(shù)據(jù)開始結(jié)束信號, H為0表示有效視頻數(shù)據(jù)開始信號,H為1表示有效視頻數(shù)據(jù)結(jié)束; 而P0、P1、P2、P3為保護(hù)比特。操作時(shí)首先要檢測FF 00 00, 然后提取F、V、H等信號, 最后再根據(jù)這些信號信息對視頻數(shù)據(jù)進(jìn)行相應(yīng)的處理。圖4所示是本圖像采集系統(tǒng)的總體框圖。

4.jpg


圖4 系統(tǒng)總體框圖

  Video_to_VGA 模塊主要由ITU_R656_DECODER模塊和YCbCr2RGB模塊組成, 這里先對ITU_R656_DECODER模塊進(jìn)行設(shè)計(jì)。圖5所示是ITU_R656_DECODER模塊的設(shè)計(jì)原理框圖。

  設(shè)計(jì)時(shí), 首先應(yīng)構(gòu)建串轉(zhuǎn)并模塊, 以便對有效信號中的串行YCbCr信號進(jìn)行分離, 然后對亮度色差信號分別進(jìn)行處理, 以同時(shí)產(chǎn)生field和13.5M的Ypix_clock信號; 接著對TD_HS進(jìn)行倍頻以產(chǎn)生HSX2, 再通過三個(gè)dui_port_c1024模塊將4:2:2的視頻信號轉(zhuǎn)換為4:4:4的視頻信號。其中,在dui_port_c1024模塊中使用乒乓操作, 以實(shí)現(xiàn)對數(shù)據(jù)的連續(xù)處理, 讀時(shí)鐘為寫時(shí)鐘的2倍, 即寫入一行數(shù)據(jù), 讀出后變?yōu)閮尚校?這樣可實(shí)現(xiàn)奇行代替偶行, 從而實(shí)現(xiàn)去交織(由于人眼對奇行偶行數(shù)據(jù)分辨力較差, 故允許這種處理方式),輸出的Y, Cb, Cr用于后期所要使用的10位RGB信號, 而Ypix_clock、HSX2和VSX1則用于產(chǎn)生VGA的時(shí)序信號。

  2.2 YCbCr2RGB模塊設(shè)計(jì)

  該模塊實(shí)際上用于完成一個(gè)色度空間的轉(zhuǎn)換功能, 它可將Y, Cb, Cr信號轉(zhuǎn)換為所要使用的10位RGB信號。其轉(zhuǎn)換關(guān)系如下:

  R=1.164 (Y-16) +1.596 (Cr-128)

  G =1.164 ( Y -16) -0.813 ( Cr -128) -0.392(Cb-128)

  B=1.164 (Y-16) +2.017 (Cb-128)

  這樣, 就可用3個(gè)MAC_3模塊分別完成對R、G、B信號的轉(zhuǎn)換, 圖6所示是其轉(zhuǎn)換原理框圖。

5.jpg
 圖5 ITU_R656_DECODER模塊原理框圖

6.jpg
圖6 YCbCr2RGB模塊轉(zhuǎn)換原理框圖

  3 參數(shù)設(shè)置

  本系統(tǒng)采用640×480 像素顯示, 刷新率為60Hz模式, 像素時(shí)鐘為25MHz。在VGA水平時(shí)序中, 每行包括800像素點(diǎn), 其中640為有效顯示脈沖, 160為行消隱區(qū); 而在VGA垂直時(shí)序中, 每場525行, 其中480有效, 45行為場消隱。其具體參數(shù)如下:


7.jpg
  4 結(jié)束語

  本文介紹的圖像采集和顯示模塊設(shè)計(jì)簡單,成本較低。由于其用高效硬件描述語言構(gòu)成, 故其處理效率高, 具有很好的實(shí)用特性。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。