焦作師范高等??茖W校 安 洋
基于FPGA的圖像采集與VGA顯示系統(tǒng)
焦作師范高等??茖W校 安 洋
基于FPGA的圖像采集與VGA顯示系統(tǒng)建立在Altera Corporation DE2多媒體開發(fā)平臺的基礎上,由控制主模塊、圖像信息采集模塊、圖像信息處理模塊、圖像信息存儲模塊及圖像信息顯示模塊幾大部分構成,借助SOPC系統(tǒng)的作用,可以控制、編程FPGA。本文主要闡述了系統(tǒng)不同功能模塊的設計,以期優(yōu)化系統(tǒng)的設計方案,提高系統(tǒng)的數(shù)據(jù)采集、顯示等功能,充分發(fā)揮SOPC技術的優(yōu)勢。
FPGA圖像處理;采集處理;VGA顯示系統(tǒng)
NiosⅡ軟核處理器的可編程邏輯芯片F(xiàn)PGA為系統(tǒng)內(nèi)控制器,外部設備包括視頻傳輸標準(VGA)顯示接口、視頻數(shù)字/模擬轉換器、數(shù)字存儲器和典型CMOS固體圖像傳感器。通過對該系統(tǒng)的功能模塊分析,可以深入了解系統(tǒng)實現(xiàn)技術,達到高效采集、處理和顯示實時圖像的目的。
在對系統(tǒng)進行設計的過程中,主要設計平臺就是DE2開發(fā)平臺,運行操作控制方式為撥碼開關和按鍵,分別為十六個和四個。其中,曝光時間數(shù)值的設定由開關來控制,而畫面定格、曝光時間、系統(tǒng)復位和啟動等操作則由按鍵來控制[1]。控制主模塊是基于FPGA的圖像采集與VGA顯示系統(tǒng)的核心所在,其軟件設計涵蓋以下三部分內(nèi)容,首先要建立NiosⅡ工程,借助SOPC Buider開發(fā)工具對外部設備、嵌入式niosⅡ軟核處理器進行選擇,完成FPGA引腳及工程信息配置工作,構成BDF文件;其次,需要對CMOS傳感器的控制器IP核進行設計,在Avalon總線下,使系統(tǒng)外部設備都能夠同NiosⅡ軟核中央處理器連接,編制相應的傳感器控制程序來規(guī)范系統(tǒng)的運行標準,最終形成IP核,并利用VeriloG HDL描述語言對傳感器控制程序進行編寫;最后,在DE2開發(fā)平臺中制定C語言程序設計報告,達到系統(tǒng)鍵盤控制要求。
基于I2C總線的圖像傳感器、信息提取子模塊共同構成了系統(tǒng)的圖像信息采集模塊。在I2C圖像傳感器配置子模塊中,主寄I2C總線是寄存器發(fā)揮讀取數(shù)據(jù)信息、編寫數(shù)據(jù)信息作用的前提[2]?;贔PGA的圖像采集與VGA顯示系統(tǒng)的主、叢機分別為FPGA、MT9M011,而寄存器也是由I2C總線進行配置設計,系統(tǒng)在對圖像信息進行采集的過程中,數(shù)字式CMOS攝像頭、寄存器和配置數(shù)據(jù)信息均由FPGA發(fā)送。應用SOPC Buider工具進行開發(fā)時,主要的配置依據(jù)就是I2C總線,必須要對I2C主機程序進行編寫,才能形成相應的IP核,保證系統(tǒng)FPGA主機的I/O端口都具備I2C作用。
圖1 圖像信息采集模塊子程序提取流程圖
而在系統(tǒng)I2C圖像信息提取子模塊中,數(shù)字式CMOS攝像頭MT9M011運行時鐘可以由FPGA提供,FPGA會接收由CMOS傳感器發(fā)送的數(shù)據(jù)信號,在對這個過程中的數(shù)據(jù)流進行分析時,應借助幀頻信號、行頻信號和相機的時鐘來完成提取工作。系統(tǒng)時鐘板應用上升沿的方式,作為采集應用程序的關鍵觸發(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ù)信息進行加工處理,轉變?yōu)?0位視頻RGB數(shù)據(jù),進行該項操作的主要目的就是使VGA圖像顯示更加方便,從而有效的解決CMOS數(shù)字圖像傳感器向FPGA傳輸圖像格式和VGA圖像顯示格式不統(tǒng)一的問題。系統(tǒng)圖像信息處理模塊應用程序主要涉及到mDATAd_1、mDATA_0、mDATA_1和mDATAd_0四大變量,這些變量組合形成一個模版,該模版的關鍵部分為mDATA_0變量,涵蓋像素點的R、G、B數(shù)量分別為1、2、1,能夠以此為依據(jù)來確定模版核心變量R、B數(shù)值,G數(shù)值要以二者的平均值為準[4]。系統(tǒng)在對圖像RGB顏色色塊信息進行確定時,可以通過對像素點行列的奇、偶標準分析來實現(xiàn),該判斷方式具有明顯的優(yōu)勢,能夠對像素進行整合,應用一個像素來分析圖像信息,也是實現(xiàn)圖像信息格式高效轉換的關鍵途徑。
為了有效的提高存儲器的像素數(shù)據(jù)存儲效率,提高存數(shù)速率,可以對SDRAM存儲器的數(shù)據(jù)端口進行虛擬處理,將讀、寫端口分別擴展到兩個。系統(tǒng)圖像存儲器共包括四個bank,讀、寫端口需要利用兩個bank來進行協(xié)調(diào)和配合,而剩下兩個bank則分別發(fā)揮存儲R、G圖像色塊信息的作用。
系統(tǒng)圖像信息顯示模塊在運行過程中,首先需要對存儲器中圖像的RGB信息進行讀取,之后交由頻數(shù)字/模擬轉換器進行轉換處理,將數(shù)據(jù)信息以模擬信號的形式體現(xiàn)出來,并通過VGA顯示實時圖像[5]。系統(tǒng)VGA圖像顯示程序的編制的參考依據(jù)為基本時序,在程序流程設計過程中oVGA_H_SYNC、V_Cont、H_Cont分別代表顯示器的行同步信號、行及行像素點計數(shù)存儲器。而由同步動態(tài)隨機存儲器讀取的圖像RGB顏色值表示為iRed、iGreen和 iBlue,顯示器場同步信號表示為oVGA_V_SYNC,ADV模擬/數(shù)字視頻轉換器的圖像RGB信息分別用oVGA_R、oVGA_G和oVGA_B表示,詳細流程如圖2所示。
在Quartus II開發(fā)環(huán)境下,應用Altera DE2多媒體開發(fā)平臺進行系統(tǒng)的開發(fā)設計,構建的基于FPGA的圖像采集與VGA顯示系統(tǒng)具有極高的可行性和實用性,系統(tǒng)可以將穩(wěn)定、清晰的圖像顯示出來,具有多種功能,完全達到設計標準。在系統(tǒng)考法設計過程中充分應用了SOPC技術,開發(fā)效率和水平大大改善,使系統(tǒng)不僅擁有通用功能,還兼具良好的可移植、快速采集性能,為工程實踐應用提供了可靠的理論基礎。
[1]王德勝,康令州.基于FPGA的實時圖像采集與預處理[J]. 電視技術,2011(03).
[2]祝長鋒,肖鐵軍.基于FPGA的視頻圖像采集系統(tǒng)的設計[J]. 計算機工程與設計,2008(17).
[3]呂康.基于FPGA的VGA圖形控制器設計[J].科技風,2011(14).
[4]汪方協(xié),陳德為.I~2C總線及其在電器、儀器控制方面的應用現(xiàn)狀[J].自動化技術與應用,2005(07).
[5]袁堂青,張玉璘.基于FPGA的VGA漢字顯示系統(tǒng)設計與實現(xiàn)[J].濟南大學學報(自然科學版),2011(01).
安洋(1983—),女,焦作師范高等??茖W校助教,研究方向:嵌入式。