一種基于FPGA技術(shù)的紅外視頻采集系統設計
1 系統架構
紅外視頻監測系統的FPGA部分由5個(gè)模塊組成,分別是I2C配置模塊、圖像采集模塊、YUV2RGB模塊、SRAM控制模塊、VGA控制模塊。配置模塊通過(guò)I2C總線(xiàn)來(lái)對ADV7181B芯片進(jìn)行配置。配置成功后,ADV7181B將產(chǎn)生圖像采集模塊所需的行場(chǎng)同步信號,并將紅外攝像頭輸入的復合視頻信號轉化為標準的NTSC/PAL制式,輸入到圖像采集模塊;圖像采集模塊用來(lái)提取YUV(BT656)圖像中的有效數據;YUV2RGB模塊將YUV圖像數據轉化為RGB格式以供VGA顯示;VGA控制模塊用來(lái)產(chǎn)生D/A芯片(ADV7123)工作的同步信號、圖像數據,以及控制圖像數據從SRAM中讀出。紅外視頻監測系統框圖如圖1所示。
2 系統硬件設計
2.1 I2C配置模塊
ADV7181B是Analog公司的一款應用廣泛的視頻解碼芯片。該芯片自動(dòng)監測輸入的復合視頻信號,通過(guò)I2C總線(xiàn)配置接口,可選擇圖像輸出方式(NTSC/PAL等),本文以輸出NTSC制式視頻圖像為例,給出了所需配置的寄存器地址和配置參數值,NTSC制式視頻圖像寄存器地址和配置參數值如表1所列。
圖1 紅外視頻監測系統結構框圖
表1 NTSC制式視頻圖像寄存器地址和配置參數值(十六進(jìn)制)
表2 從器件讀寫(xiě)地址
ADV7181B芯片作為I2C總線(xiàn)通信的從器件,其ALSB引腳電平的高低所對應的器件地址是不同的,從器件讀寫(xiě)地址如表2所列,本系統將ALSB引腳接地,寫(xiě)地址設置為0x40,所有地址代碼用十六進(jìn)制表示。
2.2 圖像采集模塊
NTSC默認輸出的圖像為奇偶場(chǎng)交替輸出,數據信號和行場(chǎng)同步信號時(shí)序關(guān)系如圖2所示。奇偶場(chǎng)分別有253有效行,本文獲取其偶數場(chǎng)圖像用于傳輸和顯示。BT.656定義了一個(gè)并行的硬件接口,傳輸的視頻圖像格式為YCbCr 4:2:2(Y為亮度信號,Cb、Cr分別為藍色信號分量和紅色信號分量)。一行圖像數據的有效像素為720,一個(gè)像素占用兩個(gè)字節,格式為CbYCrYCbYCrY。本文采用每?jì)蓚€(gè)像素即每輸出CbYCrY獲取一組CbYCr,這一組數據通過(guò)移位寄存器得到3路8位的并行數據送入YUV2RGB模塊,此時(shí)有效像素被壓縮成360個(gè)。720×525的圖像數據通過(guò)本模塊的采集,可傳送的有效像素為360×253。
圖2 數據信號和行場(chǎng)同步信號時(shí)序關(guān)系
圖3 圖像數據采集時(shí)序
一行圖像數據的起始/結束(SAV/EAV)和所在數據幀的位置是根據BT656圖像格式(即根據檢測到的ADV7181B輸出數據序列“FF,00,00,xy”)來(lái)判斷的。奇數場(chǎng)的有效行起始時(shí)xy為0xC7,結束時(shí)xy為0xDA;偶數場(chǎng)的有效行起始時(shí)xy為0x80,結束時(shí)xy為0x9D。xy各位含義如表3所列。最高位bit7為固定數據1,F=0表示偶數場(chǎng),F=1表示奇數場(chǎng);V=0表示該行為有效視頻數據,V=1表示該行無(wú)有效視頻數據;H=0表示為SAV信號(行起始),H=1表示為EAV信號(行結束);低4位為保護信號。
表3 xy字節各位含義
圖3為SignaltapII觀(guān)測到的圖像數據采集時(shí)序。hactive_even高電平期間為有效圖像數據采集階段,yuv_din為從ADV7181B輸出的8位并行圖像數據,當“FF 00 00 80”到來(lái)時(shí),開(kāi)始采集偶數場(chǎng)圖像的一行有效像素,其中黑線(xiàn)分隔的reg1、reg2、reg3為提取的3路即將送入RGB轉化模塊的圖像數據。
2.3 YUV2RGB轉化模塊
VGA顯示器所需的圖像數據為RGB格式,所以需要對YCrCb進(jìn)行轉化,轉化公式如下:
R=1.164(Y-16)+1.596(Cr-128)(1)
G=1.164(Y-16)-0.813(Cr-128)
-0.392(Cb-128)(2)
B=1.164(Y-16)+2.017(Cb-128)(3)
浮點(diǎn)運算需要大量的FPGA資源,進(jìn)而影響系統性能,本系統采用查找表來(lái)簡(jiǎn)少FPGA運算量,將上式中5個(gè)不同的系數分量分別編寫(xiě)查找表。為進(jìn)一步簡(jiǎn)化運算將(1)式兩邊乘以2,以式(1)為例,查找表如下:
always @ (in)
case(in)
d0:out = 10d0;
d1:out = 10d3;
d2:out = 10d6;
d3:out = 10d10;
d4:out = 10d13;
d5:out = 10d16;
……
設a=2×1.164Y,b=2×1.596Cr式(1)簡(jiǎn)化為:2R=a+b-446。若(a+b)>446,則R分量值為(a+b-446)/2;若(a+b)446,則R分量值為0。
同理可算出G、B分量,即完成了YCrCb到RGB的轉化。由于SRAM數據線(xiàn)為16位,各取3路8位RGB分量的R信號(5位),G信號(6位),B信號(5位)寫(xiě)入SRAM。當RGB_wrdata為非零圖像數據時(shí),將其寫(xiě)入SRAM即實(shí)現了分辨率由720×525向360×250的轉化。
2.4 SRAM讀寫(xiě)控制模塊
當寫(xiě)入360×250的視頻流數據量所需的存儲空間為100 KB時(shí),由于FPGA內部存儲資源有限,本系統通過(guò)外部SRAM來(lái)存儲圖像數據。SRAM所使用的型號為IS61LV25616,存儲空間為256K×16位,滿(mǎn)足圖像存儲需求。SRAM芯片工作不需要刷新,讀寫(xiě)時(shí)序也不復雜,當向SRAM寫(xiě)入數據時(shí)先建立地址和數據,然后使能寫(xiě)信號wr_n,在wr_n保持一定時(shí)間后將其復位,最后釋放地址總線(xiàn)和數據總線(xiàn);當從SRAM中讀出數據時(shí),置wr_n為高電平,同時(shí)使能SRAM讀出信號,并建立地址。一幀圖像的偶場(chǎng)信號寫(xiě)入SRAM的波形如圖4所示。
圖4 一幀圖像的偶場(chǎng)信號寫(xiě)入SRAM的波形
2.5 VGA控制模塊
ADV7123是一個(gè)3路10位信號輸入的高速D/A芯片,采樣速度最高可達330 MHz,可用于多種顯示系統。本文采用標準的VGA顯示模式640×480@60 Hz,VGA水平/垂直時(shí)序參數如表4、表5所列。
表4 VGA水平時(shí)序參數
表5 VGA垂直時(shí)序參數
VGA控制模塊產(chǎn)生ADV7123的工作時(shí)序,當一幀圖像的偶數場(chǎng)寫(xiě)入SRAM時(shí),奇數場(chǎng)時(shí)間段則不再向SRAM中寫(xiě)數據,而是從SRAM中讀出圖像數據,這樣即可實(shí)時(shí)傳輸圖像。為了實(shí)現圖像的完整性,640×480可顯示區域為360×250,具體代碼如下:
if(odd_period)//奇數場(chǎng)
begin
if(V_Cont>=Y_START V_ContY_START+250)//Y_START為圖像場(chǎng)消隱區
begin
if(H_Cont>=X_START H_ContX_START+360 )//X_START為圖像行消隱區
sram_rd_addr=sram_rd_addr+18b1;//SRAM數據讀出地址
else
sram_rd_addr=sram_rd_addr;
end
在VGA的有效顯示區域內,將SRAM讀使能,地址自增,即可將圖像信號從SRAM中讀出。讀出的16位數據中,高5位為R信號分量,中間6位為G信號分量,低5位為B信號分量;將這3個(gè)分量賦給各自顏色分量的最高位,低位補零即得到VGA工作的RGB信號輸出。圖5為奇數場(chǎng)SRAM讀出地址時(shí)序。VGA控制模塊從SRAM中將圖像波形讀出,rd_period為高電平時(shí)讀出一幀圖像的偶數場(chǎng),sram_rd_addr范圍為0~360×250。
圖5 奇數場(chǎng)SRAM讀出地址時(shí)序
3 硬件設計及實(shí)驗結果
3.1 硬件設計
FPGA芯片采用Altera公司Cyclone II系列的EP2C35F484C6,它具有較高的性?xún)r(jià)比,內部有33 216個(gè)邏輯單元,322個(gè)外部引腳、4個(gè)PLL、66個(gè)M4K RAM塊、8個(gè)I/O BANK。工作需要1.2 V電壓和3.3 V的I/O電平。本系統采用的芯片封裝為FBGA,PCB制板采用的是4層電路板。由于板子上使用了A/D、D/A數?;旌闲盘柕男酒?,要使電路板達到好的性能,就需要嚴格的遵守PCB布板規則:
① 模擬復合視頻信號輸入到ADV7181B的走線(xiàn)要盡可能短,數據線(xiàn)和時(shí)鐘線(xiàn)也要盡可能短。
② 在電源引腳附近添加去耦電容,濾波電容。
③ 對芯片的每個(gè)電源(AVDD、DVDD、DVDDIO、PVDD)分開(kāi)供電。
④ 分隔數字部分和模擬部分,數字地和模擬地通過(guò)單點(diǎn)連接。
3.2 實(shí)驗結果
將設計調試好的PCB電路板,接上電源、NTSC制式紅外攝像頭和VGA顯示器進(jìn)行聯(lián)調,紅外圖像實(shí)時(shí)顯示良好,實(shí)驗結果如圖6所示。調試結果證明了該圖像采集系統設計的正確性。
結語(yǔ)
實(shí)驗結果表明,該紅外實(shí)時(shí)采集系統工作穩定。該系統基于FPGA技術(shù),結構簡(jiǎn)單,可以靈活地根據需求配置系統,具有開(kāi)發(fā)周期短、擴展性好、成本低的特點(diǎn),有較高的應用價(jià)值。
圖6 實(shí)驗結果
評論