基于FPGA的圖像采集系統(tǒng)設(shè)計與實現(xiàn)
4.1 I2C配置模塊
系統(tǒng)上電后,分別將AD和DA芯片復(fù)位,因此需要對它們進(jìn)行初始化配置。程序?qū)⒓拇嫫鞒跏贾凳孪却鎯υ跀?shù)組中,設(shè)置控制寄存器時,FPGA通過I2C總線按照AD或DA的配置地址、控制寄存器地址、寄存器值的順序依次寫入數(shù)據(jù),完成對AD和DA的初始化。I2C的配置模塊的流程[7][8]如圖5所示。
圖5 I2C配置的流程圖
在本系統(tǒng)中,ADV7181芯片輸出8位為CCIR-656格式(也可根據(jù)需要配置為16位輸出),它的有效分辨率為720*576,隔行掃描。它輸出的數(shù)字視頻數(shù)據(jù)格式如表1所示。
表1 ADV7181輸出的數(shù)字視頻格式表
在實際的邏輯設(shè)計中,主要的任務(wù)就是對CCIR-656格式的行起始標(biāo)志碼和行結(jié)束標(biāo)志碼的判別與檢測。具體的設(shè)計如下:在27MHz像素時鐘信號ADC_LLC的同步控制下,8位的數(shù)字視頻數(shù)據(jù)由ADV7181芯片不斷地輸入到FPGA芯片,FPGA首先檢測“FF 00 00”這三個字節(jié),對于這三個字節(jié)的檢測只需要設(shè)計一個簡單的有限狀態(tài)機(jī)即可實現(xiàn)。檢測到上述的三個字節(jié)之后,F(xiàn)PGA接著檢測緊隨這三個字節(jié)之后的那個未知字節(jié),如果未知字節(jié)第4位的值為0,則說明它是SAV字節(jié),如果為1,則說明它是EAV字節(jié)。表2為SAV和EAV的數(shù)據(jù)格式。
表2 SAV和EAV的數(shù)據(jù)格式表
有了以上的分析可得到如圖6所示的有效視頻數(shù)據(jù)的采集流程[7][8]圖。
文中按照上述流程設(shè)計完成了圖像采集程序,圖7為利用Quartus II自帶的邏輯分析儀工具得到的采集圖像數(shù)據(jù)波形圖,其中邏輯分析儀的采樣時鐘為27M的ADC_LLC信號,data_in為圖像數(shù)據(jù),ad_hs為水平同步信號。
圖6 有效視頻的采集流程
圖7 FPGA采集得到的圖像數(shù)據(jù)信號
4.3 視頻圖像存儲模塊和DA轉(zhuǎn)換模塊
由于FPGA內(nèi)的RAM資源有限,并為了以后擴(kuò)展方便系統(tǒng)外加了兩片512K*8的SRAM存儲器緩存采集的視頻數(shù)據(jù)。當(dāng)一幀圖像采集完成后,F(xiàn)PGA將SRAM中的數(shù)據(jù)寫入DA轉(zhuǎn)換芯片,同時開始下一幀的采集。在本系統(tǒng)中視頻編碼芯片接收標(biāo)準(zhǔn)的8位CCIR-656數(shù)據(jù),輸出為CVBS復(fù)合視頻信號。ADV7177的初始化配置和工作過程與ADV7181類似,這里不再贅述。
5、實驗結(jié)果
按照以上設(shè)計方案,完成了系統(tǒng)的硬件設(shè)計和軟件調(diào)試,圖8為系統(tǒng)采集得到的在監(jiān)視器上顯示的一幅視頻圖像,其中ADV7181采用的是8位CCIR-656輸出格式,ADV7177的輸出格式為CVBS視頻信號。
圖8 系統(tǒng)采集的一幅視頻圖像
6、結(jié)論
實驗結(jié)果表明,本系統(tǒng)工作穩(wěn)定可靠,可滿足于高性能的實時圖像處理系統(tǒng)要求。此外,系統(tǒng)采用了FPGA設(shè)計方案,集成度高、設(shè)計靈活,而且用戶可根據(jù)自己的需求進(jìn)行系統(tǒng)重構(gòu),方便快捷,具有較高的應(yīng)用價值。
評論