基于FPGA的視頻采集與顯示模塊設(shè)計
本文給出的視頻采集和顯示模塊在設(shè)計時,選取分辨率為768×494像素的NTSC制式, 并選用輸出像素為640×480的CCD攝像頭; FPGA選取Altera CyclONeⅡ系列Ep2c35F672c36 (內(nèi)含35000個邏輯單元); 主動串行配置器件為Epcs16; 可配置VGA DAC ADV7123 ( 內(nèi)含3 個10 位高速DAC)及VGA輸出口, 同時支持NTSC和PAL制式的視頻解碼器ADV7181及RCA視頻輸入接口。
本文引用地址:http://m.butianyuan.cn/article/191322.htm1 ADV7181的特性及其寄存器配置
ADV7181是一款集成的視頻解碼器, 可支持多種格式的模擬視頻信號輸入, 包括CVBS,S_VIDEO 和YPrPb 分量, 并可自動檢測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個寄存器進(jìn)行合理配置。本系統(tǒng)只需設(shè)計I2C_Controller模塊和I2C_AV_config模塊對其中的40個寄存器進(jìn)行參數(shù)配置即可。
1.1 I2C_Controller模塊設(shè)計
I2C_Controller使用33個I2C時鐘周期來完成1次24位數(shù)據(jù), 其中第1個時鐘周期用于初始化控制器, 第2~3個周期用于啟動傳輸, 第4~30個周期用于傳輸數(shù)據(jù)(其中包括24為數(shù)據(jù)和3個ACK),最后3 個周期用于停止傳輸。在程序當(dāng)中,SD_counter用于對傳輸進(jìn)行計數(shù), 并控制數(shù)據(jù)的傳輸。
1.2 I2C_AV_config模塊設(shè)計
該模塊中的每個寄存器配置需要三步。一般用mSetup_ST表示當(dāng)前進(jìn)行到哪一步, mI2C_GO=1表示啟動I2C傳輸, mI2C_END=1表示I2C傳輸結(jié)束, mI2C_ACK=0表示應(yīng)答信號有效。圖1所示是該寄存器的配置狀態(tài)圖。
圖1 寄存器配置狀態(tài)圖
在圖1中, 復(fù)位信號一旦有效, 即表明對寄存器的配置進(jìn)入到第一步, 此時8位從設(shè)備地址、8位寄存器地址和8位數(shù)據(jù)進(jìn)行連接, 以組成24位傳輸數(shù)據(jù); 接著啟動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ù)。
評論