一種基于FPGA的紅外視頻采集系統(tǒng)設(shè)計(jì)
圖3為SignaltapII觀測(cè)到的圖像數(shù)據(jù)采集時(shí)序。hactive_even高電平期間為有效圖像數(shù)據(jù)采集階段,yuvdin為從ADV7181B輸出的8位并行圖像數(shù)據(jù).當(dāng)“FF 0000 ε0”到來時(shí),開始采集偶數(shù)場(chǎng)圖像的一行有效像素,其中黑線分隔的reg1、reg2、reg3為提取的3路即將送入RGB轉(zhuǎn)化模塊的圖像數(shù)據(jù)。
2.3 YUV2RGB轉(zhuǎn)化模塊
VGA顯示器所需的圖像數(shù)據(jù)為RGB格式,所以需要對(duì)YCrCb進(jìn)行轉(zhuǎn)化,轉(zhuǎn)化公式如下:
R=1.1 64(Y-16)+1.596(Cr-128) (1)
G=1.164(Y-16)-0.81 3(Cr-128)-0.392(Cb-128) (2)
B=1.1 64(Y-16)+2.017(Cb-128) (3)
浮點(diǎn)運(yùn)算需要大量的FPGA資源,進(jìn)而影響系統(tǒng)性能,本系統(tǒng)采用查找表來簡(jiǎn)少FPGA運(yùn)算量,將上式中5個(gè)不同的系數(shù)分量分別編寫查找表。為進(jìn)一步簡(jiǎn)化運(yùn)算將(1)式兩邊乘以2,以式(1)為例,查找表如下:
設(shè)a=2×1.1 64Y.b=2×1.596Cr式(1)簡(jiǎn)化為:2R=a+b-446。若(a+b)>446,則R分量值為(a+b446)/2;若(a+b)446,則R分量值為0。
同理可算出G、B分量,即完成了YCrCb到RGB的轉(zhuǎn)化。由于SRAM數(shù)據(jù)線為16位,各取3路8位RGB分量的R信號(hào)(5位),G信號(hào)(6位),B信號(hào)(5位)寫入SRAM。當(dāng)RGB_wrdata為非零圖像數(shù)據(jù)時(shí),將其寫入SRAM即實(shí)現(xiàn)了分辨率由720×525向360×250的轉(zhuǎn)化。
2.4 SRAM讀寫控制模塊
當(dāng)寫入360×250的視頻流數(shù)據(jù)量所需的存儲(chǔ)空間為100KB時(shí),由于FPGA內(nèi)部存儲(chǔ)資源有限,本系統(tǒng)通過外部SRAM來存儲(chǔ)圖像數(shù)據(jù)。SRAM所使用的型號(hào)為IS61LV25616,存儲(chǔ)空間為256K×16位,滿足圖像存儲(chǔ)需求。SRAM芯片工作不需要刷新,讀寫時(shí)序也不復(fù)雜,當(dāng)向SRAM寫入數(shù)據(jù)時(shí)先建立地址和數(shù)據(jù),然后使能寫信號(hào)wr_n,在wr_n保持一定時(shí)間后將其復(fù)位,最后釋放地址總線和數(shù)據(jù)總線;當(dāng)從SRAM中讀出數(shù)據(jù)時(shí),置wr_n為高電平,同時(shí)使能SRAM讀出信號(hào),并建立地址。一幀圖像的偶場(chǎng)信號(hào)寫入SRAM的波形如圖4所示。本文引用地址:http://www.ex-cimer.com/article/190429.htm
2.5 VGA控制模塊
ADV7123是一個(gè)3路10位信號(hào)輸入的高速D/A芯片,采樣速度最高可達(dá)330MHz,可用于多種顯示系統(tǒng)。本文采用標(biāo)準(zhǔn)的VGA顯示模式640 ×480@60 Hz,VGA水平/垂直時(shí)序參數(shù)如表4、表5所列。
VGA控制模塊產(chǎn)生ADV7123的工作時(shí)序,當(dāng)一幀圖像的偶數(shù)場(chǎng)寫入SRAM時(shí),奇數(shù)場(chǎng)時(shí)間段則不再向SRAM中寫數(shù)據(jù),而是從SRAM中讀出圖像數(shù)據(jù),這樣即可實(shí)時(shí)傳輸圖像。為了實(shí)現(xiàn)圖像的完整性,640×480可顯示區(qū)域?yàn)?60×250,具體代碼如下:
評(píng)論