焦作師范高等專科學(xué)校 安 洋
基于FPGA的圖像采集與VGA顯示系統(tǒng)
焦作師范高等專科學(xué)校 安 洋
基于FPGA的圖像采集與VGA顯示系統(tǒng)建立在Altera Corporation DE2多媒體開發(fā)平臺的基礎(chǔ)上,由控制主模塊、圖像信息采集模塊、圖像信息處理模塊、圖像信息存儲模塊及圖像信息顯示模塊幾大部分構(gòu)成,借助SOPC系統(tǒng)的作用,可以控制、編程FPGA。本文主要闡述了系統(tǒng)不同功能模塊的設(shè)計,以期優(yōu)化系統(tǒng)的設(shè)計方案,提高系統(tǒng)的數(shù)據(jù)采集、顯示等功能,充分發(fā)揮SOPC技術(shù)的優(yōu)勢。
FPGA圖像處理;采集處理;VGA顯示系統(tǒng)
NiosⅡ軟核處理器的可編程邏輯芯片F(xiàn)PGA為系統(tǒng)內(nèi)控制器,外部設(shè)備包括視頻傳輸標(biāo)準(zhǔn)(VGA)顯示接口、視頻數(shù)字/模擬轉(zhuǎn)換器、數(shù)字存儲器和典型CMOS固體圖像傳感器。通過對該系統(tǒng)的功能模塊分析,可以深入了解系統(tǒng)實現(xiàn)技術(shù),達到高效采集、處理和顯示實時圖像的目的。
在對系統(tǒng)進行設(shè)計的過程中,主要設(shè)計平臺就是DE2開發(fā)平臺,運行操作控制方式為撥碼開關(guān)和按鍵,分別為十六個和四個。其中,曝光時間數(shù)值的設(shè)定由開關(guān)來控制,而畫面定格、曝光時間、系統(tǒng)復(fù)位和啟動等操作則由按鍵來控制[1]。控制主模塊是基于FPGA的圖像采集與VGA顯示系統(tǒng)的核心所在,其軟件設(shè)計涵蓋以下三部分內(nèi)容,首先要建立NiosⅡ工程,借助SOPC Buider開發(fā)工具對外部設(shè)備、嵌入式niosⅡ軟核處理器進行選擇,完成FPGA引腳及工程信息配置工作,構(gòu)成BDF文件;其次,需要對CMOS傳感器的控制器IP核進行設(shè)計,在Avalon總線下,使系統(tǒng)外部設(shè)備都能夠同NiosⅡ軟核中央處理器連接,編制相應(yīng)的傳感器控制程序來規(guī)范系統(tǒng)的運行標(biāo)準(zhǔn),最終形成IP核,并利用VeriloG HDL描述語言對傳感器控制程序進行編寫;最后,在DE2開發(fā)平臺中制定C語言程序設(shè)計報告,達到系統(tǒng)鍵盤控制要求。
基于I2C總線的圖像傳感器、信息提取子模塊共同構(gòu)成了系統(tǒng)的圖像信息采集模塊。在I2C圖像傳感器配置子模塊中,主寄I2C總線是寄存器發(fā)揮讀取數(shù)據(jù)信息、編寫數(shù)據(jù)信息作用的前提[2]。基于FPGA的圖像采集與VGA顯示系統(tǒng)的主、叢機分別為FPGA、MT9M011,而寄存器也是由I2C總線進行配置設(shè)計,系統(tǒng)在對圖像信息進行采集的過程中,數(shù)字式CMOS攝像頭、寄存器和配置數(shù)據(jù)信息均由FPGA發(fā)送。應(yīng)用SOPC Buider工具進行開發(fā)時,主要的配置依據(jù)就是I2C總線,必須要對I2C主機程序進行編寫,才能形成相應(yīng)的IP核,保證系統(tǒng)FPGA主機的I/O端口都具備I2C作用。

圖1 圖像信息采集模塊子程序提取流程圖
而在系統(tǒng)I2C圖像信息提取子模塊中,數(shù)字式CMOS攝像頭MT9M011運行時鐘可以由FPGA提供,FPGA會接收由CMOS傳感器發(fā)送的數(shù)據(jù)信號,在對這個過程中的數(shù)據(jù)流進行分析時,應(yīng)借助幀頻信號、行頻信號和相機的時鐘來完成提取工作。系統(tǒng)時鐘板應(yīng)用上升沿的方式,作為采集應(yīng)用程序的關(guān)鍵觸發(fā)信號,在運行系統(tǒng)程序的過程中,幀頻信號電平逐漸增大時,即可對一幀圖像進行采集操作[3]。I2C圖像信息提取子模塊內(nèi)像素列數(shù)、點數(shù)表示為Y_cont和X_cont,系統(tǒng)子程序提取過程詳見圖1。

圖2 系統(tǒng)VGA顯示程序流程圖
在FPGA器件中需要將采集到的10位數(shù)字像素圖像數(shù)據(jù)信息進行加工處理,轉(zhuǎn)變?yōu)?0位視頻RGB數(shù)據(jù),進行該項操作的主要目的就是使VGA圖像顯示更加方便,從而有效的解決CMOS數(shù)字圖像傳感器向FPGA傳輸圖像格式和VGA圖像顯示格式不統(tǒng)一的問題。系統(tǒng)圖像信息處理模塊應(yīng)用程序主要涉及到mDATAd_1、mDATA_0、mDATA_1和mDATAd_0四大變量,這些變量組合形成一個模版,該模版的關(guān)鍵部分為mDATA_0變量,涵蓋像素點的R、G、B數(shù)量分別為1、2、1,能夠以此為依據(jù)來確定模版核心變量R、B數(shù)值,G數(shù)值要以二者的平均值為準(zhǔn)[4]。系統(tǒng)在對圖像RGB顏色色塊信息進行確定時,可以通過對像素點行列的奇、偶標(biāo)準(zhǔn)分析來實現(xiàn),該判斷方式具有明顯的優(yōu)勢,能夠?qū)ο袼剡M行整合,應(yīng)用一個像素來分析圖像信息,也是實現(xiàn)圖像信息格式高效轉(zhuǎn)換的關(guān)鍵途徑。
為了有效的提高存儲器的像素數(shù)據(jù)存儲效率,提高存數(shù)速率,可以對SDRAM存儲器的數(shù)據(jù)端口進行虛擬處理,將讀、寫端口分別擴展到兩個。系統(tǒng)圖像存儲器共包括四個bank,讀、寫端口需要利用兩個bank來進行協(xié)調(diào)和配合,而剩下兩個bank則分別發(fā)揮存儲R、G圖像色塊信息的作用。
系統(tǒng)圖像信息顯示模塊在運行過程中,首先需要對存儲器中圖像的RGB信息進行讀取,之后交由頻數(shù)字/模擬轉(zhuǎn)換器進行轉(zhuǎn)換處理,將數(shù)據(jù)信息以模擬信號的形式體現(xiàn)出來,并通過VGA顯示實時圖像[5]。系統(tǒng)VGA圖像顯示程序的編制的參考依據(jù)為基本時序,在程序流程設(shè)計過程中oVGA_H_SYNC、V_Cont、H_Cont分別代表顯示器的行同步信號、行及行像素點計數(shù)存儲器。而由同步動態(tài)隨機存儲器讀取的圖像RGB顏色值表示為iRed、iGreen和 iBlue,顯示器場同步信號表示為oVGA_V_SYNC,ADV模擬/數(shù)字視頻轉(zhuǎn)換器的圖像RGB信息分別用oVGA_R、oVGA_G和oVGA_B表示,詳細流程如圖2所示。
在Quartus II開發(fā)環(huán)境下,應(yīng)用Altera DE2多媒體開發(fā)平臺進行系統(tǒng)的開發(fā)設(shè)計,構(gòu)建的基于FPGA的圖像采集與VGA顯示系統(tǒng)具有極高的可行性和實用性,系統(tǒng)可以將穩(wěn)定、清晰的圖像顯示出來,具有多種功能,完全達到設(shè)計標(biāo)準(zhǔn)。在系統(tǒng)考法設(shè)計過程中充分應(yīng)用了SOPC技術(shù),開發(fā)效率和水平大大改善,使系統(tǒng)不僅擁有通用功能,還兼具良好的可移植、快速采集性能,為工程實踐應(yīng)用提供了可靠的理論基礎(chǔ)。
[1]王德勝,康令州.基于FPGA的實時圖像采集與預(yù)處理[J]. 電視技術(shù),2011(03).
[2]祝長鋒,肖鐵軍.基于FPGA的視頻圖像采集系統(tǒng)的設(shè)計[J]. 計算機工程與設(shè)計,2008(17).
[3]呂康.基于FPGA的VGA圖形控制器設(shè)計[J].科技風(fēng),2011(14).
[4]汪方協(xié),陳德為.I~2C總線及其在電器、儀器控制方面的應(yīng)用現(xiàn)狀[J].自動化技術(shù)與應(yīng)用,2005(07).
[5]袁堂青,張玉璘.基于FPGA的VGA漢字顯示系統(tǒng)設(shè)計與實現(xiàn)[J].濟南大學(xué)學(xué)報(自然科學(xué)版),2011(01).
安洋(1983—),女,焦作師范高等專科學(xué)校助教,研究方向:嵌入式。