基于FPGA的視頻圖像采集及其算法研究_第1頁
基于FPGA的視頻圖像采集及其算法研究_第2頁
基于FPGA的視頻圖像采集及其算法研究_第3頁
基于FPGA的視頻圖像采集及其算法研究_第4頁
基于FPGA的視頻圖像采集及其算法研究_第5頁
免費預(yù)覽已結(jié)束,剩余44頁可下載查看

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

分類號TP391密級公開UDC編號戲擊左浮碩士研究生學位論文題目基于FPGA的視頻采集及圖像處理算法實現(xiàn)學院(所、中心)信息學院專業(yè)名稱控制工程研究生姓名張浩然學號12013002344導師姓名任文平職稱副教授2015年4月論文獨創(chuàng)性聲明及使用授權(quán)本論文是作者在導師指導下取得的研究成果。除了文中特別加以標注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,不存在剽竊或抄襲行為。與作者一同工作的同志對本研究所做的任何貢獻均已在論文中作了明確的說明并表示了謝意。現(xiàn)就論文的使用對云南大學授權(quán)如下:學校有權(quán)保留本論文(含電子版),也可以采用影印、縮印或其他復制手段保存論文;學校有權(quán)公布論文的全部或部分內(nèi)容,可以將論文用于查閱或借閱服務(wù);學校有權(quán)向有關(guān)機構(gòu)送交學位論文用于學術(shù)規(guī)范審查、社會監(jiān)督或評獎;學校有權(quán)將學位論文的全部或部分內(nèi)容錄入有關(guān)數(shù)據(jù)庫用于檢索服務(wù)。(內(nèi)部或保密的論文在解密后應(yīng)遵循此規(guī)定)研究生簽名:導師簽名:日期:摘要數(shù)字圖像處理技術(shù)已經(jīng)被廣泛的應(yīng)用于視頻監(jiān)控、機器視覺、航天探測等多個領(lǐng)域。隨著現(xiàn)場作業(yè)對圖像處理的實時性要求越來越高,傳統(tǒng)的處理工具已經(jīng)很難滿足其要求。而現(xiàn)場可編程門陣列FPGA乍為近年來快速發(fā)展的一種電子工具,由于其高速并行的處理特性,可以快速對大量的數(shù)據(jù)進行處理,因此已經(jīng)越來越多的應(yīng)用于圖像處理領(lǐng)域與通信領(lǐng)域中。FPGA具有高速并行的處理特性、高度靈活的可配置資源與可移植性強等特點,非常適合運用在數(shù)字圖像處理領(lǐng)域。本文在對大量國內(nèi)外文獻進行查閱的基礎(chǔ)上,設(shè)計出一整套完整的視頻圖像采集系統(tǒng)。本系統(tǒng)可以對視頻圖像進行實時采集,并且把常用的圖像處理算法移植到FPGA^,完成了基于FPGA勺圖像處理算法。整個系統(tǒng)具體劃分為:視頻采集模塊、I2C控制模塊、色彩復原模塊、SDRAM控制模塊、VGA1示模塊以及圖像處理模塊。首先在系統(tǒng)上電時,用I2C控制模塊進行攝像頭參數(shù)配置,圖像數(shù)據(jù)通過視頻采集模塊傳入FPG/fr,色彩復原模塊把Bayer型RG弗式的數(shù)據(jù)轉(zhuǎn)化為可以在VGAk顯示的RGEB式。SDRA臟制模塊對經(jīng)過轉(zhuǎn)化后的RG端式數(shù)據(jù)進行存儲與讀取控制。VGA?示模塊在行場時序的控制下,在SDRAW取出數(shù)據(jù),進行VGA顯示。在圖像處理模塊中,首先對半透明算法進行研究,并通過視頻采集的圖像與圖片的半透明融合,在FPGAk實現(xiàn)了半透明算法。接下來對視頻圖像進行灰度化,選擇了快速中值濾波對灰度視頻畫面進行濾波。在研究圖像分割時,采用八個梯度模版的Sobel邊緣檢測對圖像進行分割,得到了比較滿意的效果。最后在形態(tài)學濾波中,用開操作對圖像畫面進行濾波處理,讓整個圖像畫面變得更加細膩。通過該系統(tǒng)的設(shè)計表明,利用FPGA勺高速并行的處理特點,可以很好的完成視頻圖像的采集以及圖像處理算法的實現(xiàn),因此將FPGA1用在圖像處理領(lǐng)域是一種非常合適的方案。關(guān)鍵詞:FPGA高速并行;視頻圖像采集;圖像處理;VerilogAbstractDigitalimageprocessingtechnologyhasmoreandmoreusedindailylife,industry,spaceexplorationandmanyotheraspects.Duetothereal-timerequirementsforimageprocessingishigherandhigher,traditionalprocessingtoolshavebeenmoreandmorecan'tmeettheirrequirements.AndthField—ProgrammableGateArrayFPGAasakindofelectronictoolshasrapiddevelopmentinrecentyearsBecauseofitshighspeedparallelprocessingfeatures,itcanquicklytodealwithalargeamountofdata,soithasbeenmoreandmoreapplicationsinthefieldofimageprocessingandcommunicationfield.Ithashigh-speedparallelprocessingcharacteristics,highlyflexibleofconfigurableresourcesandcharacteristicsofportability,verysuitableforuseinthefieldofdigitalimageprocessing.Thispaperdescribesthedevelopmentofthebackgroundvideoimageprocessing,andFPGAfeaturesandfuturedirectionofdevelopment.Onthebasisofalargenumberofreferenceliteraturesathomeandabroad,videoimageprocessingsystemhasbedesigned.Thesystemrealizesthereal-timemonitoringofvideoimages,andforthecommonimageprocessingalgorithms,combinedwithFPGAfeatures,completesFPGA-basedimageprocessingalgorithms.Thewholesystemisdividedintospecific:videocapturemodule,I2Ccontrolmodule,colorrestorationmodule,SDRAMcontrolmodule,VGAdisplaymoduleandanimageprocessingmodule.First,whenthesystemispoweredon,withI2Ccontrolmodulesendcameraparameters,ImagedataispassedthroughthevideocapturemoduleintoFPGA.AfterrecoverymoduleoftheBayerpatterncolorRGBformatintoaconventionalRGBformatstoredinSDRAM..VGAdisplaymodulethroughhorizontalandverticaltimingsynchronizationgetsimagedatafromSDRAM,afterD/AconversionsendstoVGAdisplay.Intheimageprocessingmodulefirstofall,researchtranslucentalgorithm,andthroughimageandvideocaptureimagesbeintegrationonFPGAimplementationalgorithmstranslucent.Next,thevideoimagegraying,selectthefastmedianfilterforfilteringgrayvideoscreen.Intheresearchofimagesegmentation,usingSobeledgeeightgradienttemplatedetectionofimagesegmentation,theresultsaresatisfactory.Finallyinmorphologicalfilters,usingopenoperationfilteringprocessingthevideoimage,letstheentirepicturebecomesmoredelicate.Throughthedesignofthissystemshowsthat,byusinghighspeedparallelprocessingcharacteristicofFPGA,itcanbeverygoodforvideoimageacquisition,anditcancompletethecommonlyimageprocessingalgorithms,soputtheFPGAinthefieldofimageprocessingisaverysuitablescheme.KeyWords:FPGA;Highspeedparallel;Videoimageacquisition;Imageprocessing;Verilogiii目錄TOC\o"1-5"\h\z摘要IAbstractII第一章緒論1研究背景1數(shù)字圖像處理技術(shù)的發(fā)展1FPGAS像處理技術(shù)的現(xiàn)狀及其發(fā)展2本論文的主要工作4第二章FPGA概述6FPGA勺發(fā)展6FPGA勺基本原理與結(jié)構(gòu)7FPGAS計的基本原則8本設(shè)計采用的FPGAFF發(fā)平臺9第三章視頻圖像采集系統(tǒng)的設(shè)計11系統(tǒng)的總體設(shè)計11視頻采集模塊設(shè)計11MT9M011圖像傳感器11圖像傳感器數(shù)據(jù)采集結(jié)果分析13I2C總線協(xié)議13I2C總線控制器的設(shè)計14I2C模塊測試分析16色彩復原模塊設(shè)計17Bayer型RG璐式17色彩復原算法17測試與結(jié)果分析20SDRA臟制器21SDRAM結(jié)構(gòu)及其基本原理21SDRAM控制器的調(diào)用21SDRAM的功能仿真驗證23VGA空制器23VGA顯示原理23VGA時序24VGA控制模塊的設(shè)計25VGA模塊測試分析27圖像采集系統(tǒng)測試與分析27本章小結(jié)28第四章基于FPGA勺圖像處理算法的研究30圖像處理30半透明算法30半透明原理30黑白圖像實現(xiàn)31基于FPGA勺半透明算法33效果驗證33灰度圖像處理33灰度圖像34基于FPGA勺灰度實現(xiàn)34圖像灰度化效果測試34圖像降噪35常用濾波算法35快速中值濾波36基于FPGA勺快速中值濾波37中值濾波效果測試38圖像分割算法39Sobel邊緣檢測39實現(xiàn)sobel邊緣檢測的改進方法40Sobel八梯度邊緣檢測的硬件實現(xiàn)41Sobel處理測試42基于形態(tài)學的濾波實現(xiàn)42腐蝕與膨脹43基于FPGA勺開操作實現(xiàn)44開操作濾波測試45本章小結(jié)46第五章總結(jié)與展望47參考文獻48致謝51在讀期間發(fā)表的論文52第一章緒論研究背景隨著數(shù)字圖像處理技術(shù)在許多領(lǐng)域的廣泛應(yīng)用,數(shù)字圖像處理技術(shù)已經(jīng)成為近年來發(fā)展最為熱門的學科。在我國的航天飛行、北斗導航系統(tǒng)、工業(yè)過程控制、機器視覺等領(lǐng)域,占有越來越重的地位。隨著當代圖像處理算法的復雜度越來越高,圖像處理的數(shù)據(jù)量越來越大,現(xiàn)場作業(yè)對圖像處理的實時性要求越來越嚴,圖像的處理速度已經(jīng)成為圖像處理技術(shù)進一步發(fā)展的瓶頸。由于圖像的數(shù)據(jù)信息量非常巨大,所以對圖像進行處理時需要高速的處理器以及巨大的存儲容量。以前進行圖像處理時,都是采用定制的專用集成電路ASIC。雖然ASIC處理能力非常優(yōu)秀,但是其價格比較昂貴,可移植性差,開發(fā)周期太長⑴。與ASIC相比,現(xiàn)場可編程邏輯門陣列FPG/ft有非常大的優(yōu)勢。FPG/ft有并行處理能力的特點,而且其邏輯資源非常豐富⑵。隨著FPG儆術(shù)進一步的發(fā)展,片上可編程系統(tǒng)(SOPC已經(jīng)可以實現(xiàn),并且借助NIOSR這一軟核處理器,更是極大的減少了系統(tǒng)開發(fā)的時間,降低了系統(tǒng)的開發(fā)成本網(wǎng)。FPGA正是憑借這些優(yōu)點,使得其在諸多領(lǐng)域中都具有很強的競爭力。數(shù)字圖像處理技術(shù)的發(fā)展數(shù)字圖像處理技術(shù)是近年來發(fā)展非常熱門的一門學科[4]0早在上個世界初,英國和美國之間的海底電纜的圖片傳輸中首次運用了圖像處理技術(shù),改善經(jīng)過遠距離傳輸后的圖像質(zhì)量。一直到上個世紀五十年代,在數(shù)字計算機技術(shù)發(fā)展到一定階段后,人們才真正開始重視這門學科。從此,數(shù)字圖像處理技術(shù)開始了迅速的發(fā)展。上個世紀六十年代年,美國噴氣推進實驗室運用計算機對“徘徊者七號”太空船發(fā)回的月球表面的照片進行處理,這是改善圖像質(zhì)量的首次有效運用,取得了非常好的效果。隨著圖像處理技術(shù)在太空探測中的進一步應(yīng)用,圖像處理技術(shù)也得到了進一步的發(fā)展。并且圖像處理技術(shù)也越來越多的應(yīng)用在工業(yè)、車載通信、無限傳輸?shù)阮I(lǐng)域,圖像處理技術(shù)逐漸成為了一門新興的學科。圖像處理系統(tǒng)的發(fā)展可以分為三個階段:第一階段是從上世紀60年代到80年代,歐美國家的一些科技公司先后推出了計算機圖像處理分析系統(tǒng)。這些系統(tǒng)的功能非常強大,它們最大的特點都是采用了箱式結(jié)構(gòu),因此體積是十分巨大,并且價格也是居高不下。中國在圖像處理系統(tǒng)這方面起步比較晚,比較有名的就是清華大學研發(fā)的圖像處理和采集系統(tǒng)。第二階段從上世紀80年代到90年代初期,圖像處理系統(tǒng)的外形發(fā)生了比較大的變化,從體積比較大的箱式結(jié)構(gòu)變?yōu)轶w積較小巧的插卡式結(jié)構(gòu)。把圖像采集卡插入計算機,就可以進行圖像采集處理了。在90年代初期,清華大學和中國科學院自動化研究所都成功的開發(fā)出一些圖像采集系統(tǒng)。這階段的圖像采集卡都是采用大規(guī)模集成電路實現(xiàn)的。第三階段從90年代初開始,圖像處理系統(tǒng)已經(jīng)分為兩大類產(chǎn)品。一種產(chǎn)品依然是傳統(tǒng)的插卡式。隨著高速PCI總線技術(shù)的快速發(fā)展,更多的插卡式產(chǎn)品采用此種接口。此類插卡式圖像系統(tǒng)的特點是:利用PCI總線傳送圖像數(shù)據(jù),在計算機上編制專門的處理軟件進行圖像處理。另一種圖像處理手段是制作特定的大規(guī)模集成電路進行圖像處理。隨著DSPFPGA等圖像處理芯片的集成度增加,成本降低,它們已經(jīng)成為圖像處理領(lǐng)域的主流核心。發(fā)展到今天,數(shù)字圖像處理的研究范圍已經(jīng)非常廣闊了,在模式識別、圖像壓縮、圖像分割等領(lǐng)域已經(jīng)有了豐富的理論研究[5]0FPGA圖像處理技術(shù)的現(xiàn)狀及其發(fā)展圖像處理系統(tǒng)的性能會受到許多方面的影響,比如CPU的運行快慢、系統(tǒng)總線的傳輸帶寬、操作系統(tǒng)的支持程度等的因素影響。早在上世紀80年代就出現(xiàn)了以圖像幀存為主的圖像處理技術(shù),如圖1.1所示,通過對幀存進行讀寫來處理圖像。由于圖像傳輸速率的限制,在進行動態(tài)畫面的圖像處理時,會顯得比較緩慢[6]圖1.1以幀存為核心的圖像處理構(gòu)架90年代英特爾公司提出了PCI局部傳輸規(guī)范,系統(tǒng)設(shè)備以及其他設(shè)備可以連接到總線上進行快速傳輸,從而解決了傳輸數(shù)據(jù)慢的弊端。并且隨著技術(shù)進一步的發(fā)展,又出現(xiàn)了以內(nèi)存為主的計算機圖像處理系統(tǒng)。為了進一步提高系統(tǒng)處理速度,又在計算機圖像處理系統(tǒng)中加入了一些硬件設(shè)備,如圖1.2所示

圖像幀緩圖像數(shù)字化硬件處理計算機接口圖像幀緩圖像數(shù)字化硬件處理計算機接口圖1.2以計算機內(nèi)存為中心的圖像處理系統(tǒng)隨著圖形處理芯片的集成度增加,價格越來越便宜;數(shù)據(jù)存儲器的技術(shù)不斷發(fā)展,制作成本的下降;圖像傳感器的精度提高,價格越來越低。發(fā)展到現(xiàn)在,圖像處理技術(shù)無論在理論知識、軟件編程、硬件設(shè)備上都有巨大的進步,大規(guī)??删幊踢壿嬈骷约皵?shù)字處理器也已經(jīng)在圖像處理中有著廣泛的應(yīng)用。在電子技術(shù)迅速發(fā)展的時代,F(xiàn)PGA憑借其可以并行且快速的處理圖像的特點,已經(jīng)越來越多的被用到實時圖像處理領(lǐng)域中[7]0在高清電視、機器視覺、遠程視頻會議等方面,F(xiàn)PGA已經(jīng)被廣泛的應(yīng)用在其中。FPGA勺本身結(jié)構(gòu)也開始發(fā)生很大的變化,從基本單片并行處理發(fā)展為多FPGA的并行處理系統(tǒng)。從單一的數(shù)字邏輯功能,已經(jīng)發(fā)展到集成ARMDSP等的SOPC系統(tǒng)。在數(shù)字圖像視頻處理中,F(xiàn)PGA也已經(jīng)被廣泛的應(yīng)用。在圖像壓縮、圖像格式變換、色彩空間轉(zhuǎn)換、圖像顯示等方面都使用了FPGA勺并行處理。此外FPGA?可以作為數(shù)字視頻電視中各個IO接口的邏輯粘合。隨著FPGA勺集成度增加、價格的下降,用低成本的FPGA?現(xiàn)圖像處理功能已經(jīng)成為現(xiàn)實。1997年火星探路者在火星登陸漫游,F(xiàn)PG跚助火星探路者采集了上千張高質(zhì)量的照片,F(xiàn)PGA是火星探路者圖像采集控制系統(tǒng)中的核心,控制圖像傳感器捕捉星體表面許多令人震驚的圖像,并且FPGAS用于無線通信中,將這些圖像傳回軌道衛(wèi)星。此后FPGA-直在美國和歐洲的火星太空探索任務(wù)中擔當重要角色。FPGA發(fā)展至今,已經(jīng)被數(shù)以百次的應(yīng)用到太空探測任務(wù)中。不僅如此,F(xiàn)PGAfe深入到工業(yè)控制、機器視覺、機器人領(lǐng)域中。隨著FPGA4能的進一步提升和價格的下降,F(xiàn)PGA等用在更加廣泛的領(lǐng)域中。FPGAS展到現(xiàn)在已經(jīng)被廣泛應(yīng)用在以下幾種圖像處理平臺中:(1)在FPGA+DS圖像處理平臺中擔任數(shù)據(jù)預(yù)處理、數(shù)據(jù)緩沖以及邏輯控制的角色網(wǎng)[9]。由于FPGAM有豐富的邏輯資源、高速的處理速度,使得它在FPGA+DSP的開發(fā)平臺上經(jīng)常被用于接口、存儲器中,完成數(shù)據(jù)緩沖,邏輯控制等功能。(2)完成圖像數(shù)據(jù)的預(yù)處理。在圖像數(shù)據(jù)量比較大,而且圖像處理算法比較簡單的時候,用FPG酥處理有著巨大的優(yōu)勢。FPGA^T以進行并行處理,同時處理多個模塊,因此經(jīng)常被用于圖像預(yù)處理中,如快速傅里葉變換、卷積運算、快速濾波等。(3)完成圖像處理中的高級算法。隨著FPGA的高速發(fā)展以及大規(guī)模集成電路提出的效率更高、系統(tǒng)更穩(wěn)定、面積更小的要求,更多復雜算法在FPGAk的實現(xiàn)以及FPGA*:身的系統(tǒng)功能越來越強大的基礎(chǔ)上,用FPGAa行復雜算法的處理已經(jīng)得到廣泛應(yīng)用,如模式識別、機器視覺、圖像壓縮等。特別是近年來,隨著半導體工藝的進一步發(fā)展,使彳導FPGA勺成本降低,芯片功能也越來越強大。止匕外,F(xiàn)PGA中還不斷集成其他硬件設(shè)備,例如DSP模塊、ARMf塊、鎖相環(huán)等[10]。這些集成的外圍硬件極大地提升了FPGA勺性能,在此基礎(chǔ)上可以很快的進行系統(tǒng)的開發(fā)。FPGA在經(jīng)過幾十年的快速發(fā)展以及近幾年的平穩(wěn)增長后,未來將會進入硅片融合時代,結(jié)構(gòu)更加復雜,功能更加強大,應(yīng)用領(lǐng)域更加廣泛。硅片融合時代的FPGA等在“微處理器+DSP專用IP+可編程”混合系統(tǒng)架構(gòu)下發(fā)揮巨大作用,能夠很好的兼顧靈活與效率??梢灶A(yù)見隨著FPGA1一步發(fā)展,它在圖像處理領(lǐng)域中的地位將會更加重要。尤其是在一些圖像處理算法比較復雜,并且對圖像處理的實時性要求高的領(lǐng)域中,F(xiàn)PGA等會發(fā)揮更大的作用。本論文主要研究的是視頻實時采集以及一些圖像算法的實現(xiàn),因此對控制芯片處理能力的實時性和數(shù)據(jù)吞吐能力要求比較高。FPGA具有并行處理特性以及豐富的邏輯資源,相對于DSP、ARM等處理芯片而言,更加符合本論文的要求。因此本文選用FPGA作為課題研究的處理工具。本論文的主要工作本文采用了Altera公司CycloneII芯片作為視頻圖像采集系統(tǒng)的控制處理核心,其主要工作是搭建基于FPGA勺視頻圖像采集系統(tǒng)以及圖像處理算法實現(xiàn)的平臺,選用Verilog實現(xiàn)了此系統(tǒng)設(shè)計。整個軟件的編譯環(huán)境是在QuartusII9.0(32-Bit)下進行的。針對系統(tǒng)開發(fā)設(shè)計,本文的主要工作如下:系統(tǒng)整體方案的確定。通過參考國內(nèi)外文獻資料,確定圖像處理系統(tǒng)的整體Zu0(1)設(shè)計視頻采集模塊,準確的采集圖像傳感器傳入的數(shù)據(jù);根據(jù)I2C協(xié)議,完成對圖像傳感器的參數(shù)配置。根據(jù)圖像傳感器傳來的視頻信號格式,選擇適合的插值算法,把數(shù)字視頻信號變換成能讓VGA顯示的RGB圖像格式。調(diào)用SDRAM控制器,對視頻數(shù)據(jù)進行存儲。根據(jù)VGA亍場同步時序圖,設(shè)計出VGA1示模塊,控制視頻的顯示。(2)視頻圖像采集系統(tǒng)的圖像算法研究的實現(xiàn):在FPGAk實現(xiàn)半透明算法,讓視頻采集能夠透過一幅圖像顯示出來,隨后對視頻進行灰度變換,分析濾波算法,選擇一種快速中值濾波算法在FPGAk實現(xiàn),加入八梯度邊緣檢測,用一種比較絕對值的方式實現(xiàn)邊緣檢測算法,最后對形態(tài)學濾波進行研究,在FPGAk實現(xiàn)形態(tài)學濾波。第二章FPGA概述FPGA的發(fā)展現(xiàn)場可編程邏輯門陣列FPGA(FieldProgrammableGateArray),是一個含有可編程元器件的半導體設(shè)備,使用者可現(xiàn)場對其進行邏輯編程。FPGA>在綜合了PALGALCPLD?邏輯器件的優(yōu)點與缺點的基礎(chǔ)上研發(fā)出來的新一代產(chǎn)物??删幊踢壿嬈骷陌l(fā)展過程可以分為以下4個階段:最早的可編程邏輯器件由于內(nèi)部結(jié)構(gòu)簡單,所以只能完成簡單的邏輯設(shè)計工作。PROM可編程只讀存儲器)、EPROM紫外線可擦除只讀存儲器)、EEPROM(電可擦除只讀存儲器)是早期最主要的可編程邏輯器件[12]o隨著技術(shù)的進一步發(fā)展,出現(xiàn)了可以完成各種邏輯運算的PLD它的內(nèi)部結(jié)構(gòu)相對于早期的可編程邏輯器件要更為復雜一些,主要有PAL和GAL等。PLD的本質(zhì)結(jié)構(gòu)就是“與”和“非”的陣列形式。通過“與或”的形式完成組合邏輯運算。Altera公司推出了類似于PAL結(jié)構(gòu)的復雜可編程邏輯器件CPLDXilinx公司設(shè)計推出了類似于標準門陣列的FPGA它們不僅繼承了PLD的優(yōu)點,而且具有更快的邏輯運行速度、復雜的內(nèi)部結(jié)構(gòu)、機動靈活的配置體系、高度集成的門電路陣列等特點,迅速的占領(lǐng)了電子設(shè)計市場[13]oSOPC(System-on-a-Programmable-Chip,片上可編程系統(tǒng))技術(shù)的出現(xiàn)[14]。它是一種嵌入式系統(tǒng),把整個系統(tǒng)都集成到一塊硅片上去。它將處理器、存儲器、總線和總線控制器、IO口、DS對集中至U一片F(xiàn)PG9,它具有靈活、開放、可升級的特點。至此FPGA5經(jīng)不單單是一片邏輯芯片,它更像是一個可配置系統(tǒng)。它的應(yīng)用范圍已經(jīng)從芯片級擴展到了系統(tǒng)級。從Xilinx公司在1984年推出第一片現(xiàn)場可編程邏輯器件(FPGA冽現(xiàn)在為止,F(xiàn)PGA已經(jīng)高速發(fā)展了31年。尤其是近幾年來,發(fā)展更為迅速。FPGA勺可編程邏輯門陣列已經(jīng)從以前的幾千個可用門發(fā)展到現(xiàn)在的千萬級門陣列。FPG徽術(shù)應(yīng)用能夠擁有如此巨大的市場前景,它的根本原因是:FPGA勺系統(tǒng)具有小型化、可靠性高、功耗低、高速性等特點,而且FPGA勺開發(fā)周期比較短,開發(fā)成本也比較低。隨著FPGA勺功能越來越強大,價格越來越低,F(xiàn)PGAB經(jīng)逐步取代了傳統(tǒng)的ASICFPGA的基本原理與結(jié)構(gòu)FPGAK片主要由三部分組成:IOB(inputoutputelement,輸入輸出單元)、LAB(logicarrayblock,邏輯陣列塊)、Interconnect(內(nèi)部連接線)。圖2.1FPGA芯片內(nèi)部結(jié)構(gòu)IOB是FPGAW外部設(shè)備進行連接的物理接口,主要用于和外部其他不同設(shè)備的接口進行連接。FPGA寸IOB按組進行分類,每一組IOB接口都可以對應(yīng)不同電氣標準的外部設(shè)備,還可以改變上拉/下拉電阻值以及調(diào)整驅(qū)動電流的大小.LAB是組成FPGA勺基本邏輯單元,每一種器件所對應(yīng)的實際數(shù)量和特性都會有所不同。每個LAB的布局包括LE、LAB控制信號等。每個LE主要由LUT和寄存器組成。查找表LUT(Look-Up-Table)實際上就是一個靜態(tài)的SRAM?儲器,并且當前的FPG從多數(shù)都是采用的4輸入LUT,每一個LUT都可以看彳為具有4根地址線的16X1的RAMfr儲器。當用硬件語言描述完一個系統(tǒng)后,F(xiàn)PGA勺軟件開發(fā)系統(tǒng)會把硬件描述語言所描述的結(jié)果存儲到RAMK因此,對于FPGAW言,對一個輸入信號進行邏輯運算就是輸入一個查找表的地址,然后找出所對應(yīng)地址中存放的內(nèi)容,進行輸出。圖2.2LUT的實現(xiàn)原理FPGA的所有單元都是通過內(nèi)部連接線進行連接,連接線的長度和制作工藝決定了信號在線上的傳輸速度與驅(qū)動能力。在開發(fā)過程中,布局布線器可以自動通過判斷輸入邏輯網(wǎng)表的拓撲結(jié)構(gòu)和約束條件自動地選擇適合的連接線路對各個邏輯單元進行連接,所以布局布線器可以對系統(tǒng)的性能產(chǎn)生非常重大的影響。FPGAS現(xiàn)組合邏輯功能是通過對小型查找表(16X1RAM進行查表來實現(xiàn)的,一個查找表對應(yīng)一個D觸發(fā)器的輸入端口,通過觸發(fā)器對其他的邏輯電路和I/O進行驅(qū)動,這樣便組成了可以實現(xiàn)組合邏輯與時序邏輯的基本邏輯單元塊,這些模塊內(nèi)部相互連接或者連接到I/O口。FPGA^通過把編程數(shù)據(jù)放在內(nèi)部靜態(tài)存儲單元上加載來實現(xiàn)邏輯的,邏輯單元的邏輯功能和內(nèi)部模塊之間或模塊與I/O口間的連接方式是通過在存儲器單元中存儲的值來決定的,直接決定了FPGAT以實現(xiàn)的功能,F(xiàn)PGAT以不限次數(shù)的進行編程。FPGAfe上電后要進行配置才能正常工作,該過程一般為自動完成。由于FPGA是基于RAM勺存儲模式,如果沒有另外的PRO廟儲數(shù)據(jù),在掉電后系統(tǒng)配置數(shù)據(jù)會丟失。所以FPGAS要外接配置芯片。根據(jù)外接配置芯片的特點,它的設(shè)置方式可以分為:A/P(S)主/被動與標準測試接口(JTAG。目前最常用的配置方式為JTAGFPGA設(shè)計的基本原則隨著FPGA勺功能越來越強大,用FPGA?行設(shè)計的項目也變得非常的巨大并且功能越來越復雜。因此在設(shè)計中一定要遵循設(shè)計開發(fā)的原則進行系統(tǒng)的設(shè)計,才會設(shè)計出一個性能良好的系統(tǒng)。(1)同步時序設(shè)計原則在系統(tǒng)設(shè)計的過程中,異步設(shè)計難以滿足寄存器的建立與保持時間。在這個狀態(tài)下,寄存器不能正確的識別0與1,從而會形成亞穩(wěn)態(tài)。如果沒有及時處理亞穩(wěn)態(tài)的發(fā)生,亞穩(wěn)態(tài)會一級一級的傳播下去,最后造成整個系統(tǒng)的崩潰。因此在設(shè)計過程中一定要同步時鐘。在系統(tǒng)設(shè)計時常用的處理手段是構(gòu)造兩級寄存器,以此來防止亞穩(wěn)態(tài)的發(fā)生。(2)善用全局時鐘在進行系統(tǒng)設(shè)計時,全局時鐘可以對整個系統(tǒng)的時鐘進行精確的控制。通常在FPG破計時,全局時鐘是通過專用的全局時鐘引腳接入器件,去控制系統(tǒng)中每一個模塊的時鐘頻率。(3)面積與速度互換原則這里的面積指的是整個系統(tǒng)所消耗的邏輯資源的總數(shù),速度指的是整個系統(tǒng)在穩(wěn)定運行時所能達到的最高頻率[15]0這個速度與寄存器的保持時間、建立時間、線路延遲、時序約束等密切相關(guān),這幾個指標可以決定一個系統(tǒng)的好壞。面積和速度是相互矛盾的,要設(shè)計一個面積小而且速度快的系統(tǒng)是不可能的。因此在設(shè)計時,一定要科學合理的去進行系統(tǒng)規(guī)劃。要在滿足系統(tǒng)時序要求的前提下,盡量降低對面積的使用,達到速度和面積之間的平衡。在進行設(shè)計時,流水線結(jié)構(gòu)是經(jīng)常使用的一種面積與速度互換手段。(4)模塊劃分原則在系統(tǒng)設(shè)計時,把系統(tǒng)劃分為具體的模塊進行管理是非常有必要的。在進行FPG敏計時,一般采用的是頂層設(shè)計原則,以自上而下的原則進行設(shè)計。(5)IP核的使用IP核(IntelligentProperty)是具有知識產(chǎn)權(quán)的集成電路的總稱,是經(jīng)過反復驗證、穩(wěn)定可用,可以重復調(diào)用的宏功能模塊。隨著系統(tǒng)設(shè)計的復雜度的增加,要把整個系統(tǒng)從無到有進行完整設(shè)計是非常消耗開發(fā)人員精力的[16]。而在FPGA中已經(jīng)集成了相當豐富的IP核資源,這些IP核可以減少開發(fā)人員的工作量,開發(fā)人員只需要知道調(diào)用的IP核的操作界面以及功能就能在系統(tǒng)設(shè)計中使用??梢詼p少系統(tǒng)設(shè)計的工作量,而把主要時間和資源用于系統(tǒng)的新穎、獨特的部分。2.4本設(shè)計采用的FPGAF發(fā)平臺本系統(tǒng)采用的開發(fā)平臺是Altera公司的Cyclonen,因此軟件開發(fā)平臺選擇了Alera公司的QuartusH。QuartusII是Altera公司的綜合性PLD/FPGAT發(fā)軟件,可以用原理圖以及硬件描述語言進行設(shè)計,自帶有綜合器以及仿真工具,可以完成整個系統(tǒng)的設(shè)計。在QuartusII中集成了非常強大的軟件系統(tǒng),其中系統(tǒng)集成的SignalTapII嵌入式邏輯分析儀器為系統(tǒng)的設(shè)計帶來了極大的方便[17]o它能夠及時觀測到系統(tǒng)設(shè)計的實時信號情況,這樣開發(fā)人員就可以在整個系統(tǒng)設(shè)計過程中,觀察到每一階段硬件和軟件的交互狀態(tài)。在進行信號觀察時,SignalTapII將分析儀模塊嵌入到FPGA中,如圖2.3所示。圖2.3SignalTapn應(yīng)用示意圖邏輯分析模塊會對待測節(jié)點進行實時的數(shù)據(jù)觀測。數(shù)據(jù)通過JTAG8口傳入電腦,在QuartusII軟件中顯示,不需要額外的邏輯分析儀器。只需要將一個JTAG電纜連接到要調(diào)試的FPGAS備中。此外QuartusII還可以對功耗進行估算,軟件自帶有功率分析器Powerplayearlyestimation??梢栽谙到y(tǒng)設(shè)計中對芯片的資源消耗進行評估。極大的方便了設(shè)計人員在設(shè)計中及時掌握系統(tǒng)芯片資源消耗的情況。第三章視頻圖像采集系統(tǒng)的設(shè)計系統(tǒng)的總體設(shè)計整個視頻圖像采集系統(tǒng)由五個模塊組成:視頻采集模塊、I2C配置模塊、色彩復原模塊、SDRA解儲模塊和VGAa示模塊。本文的視頻圖像采集系統(tǒng)的硬件平臺是采用Altera公司的EP2c35F672C6片作為系統(tǒng)的控制芯片,搭配MICRO處司的MT9M01圖像傳感器和一片8M的片外SDRA解儲芯片構(gòu)建而成的,該系統(tǒng)的總體結(jié)構(gòu)框圖如下所示。CM。*題字區(qū)傳信感器圖3.1基于Cyclonen的FPGAffi頻圖像采集系統(tǒng)該系統(tǒng)的工作過程如下:I2C模塊用于FPGAtMT9M01鍛像頭的成像參數(shù)進行配置;MT9M01攝像頭從外部采集數(shù)字圖像信息,采集到的圖像為Bayer型的RGB格式;視頻采集模塊實時的接收從MT9M01俅集到的數(shù)據(jù)信息;色彩復原模塊把Bayer型RG弗式轉(zhuǎn)換成可以讓VGA1示的傳統(tǒng)RG聆式;SDRA雌制器把轉(zhuǎn)換好的RG端式的圖像數(shù)據(jù)進行存儲;VGA1示模塊根據(jù)VGAB場同步彳S號,從SDRAM讀取數(shù)據(jù),從而實現(xiàn)VGA勺視頻顯示。視頻采集模塊設(shè)計MT9M011圖像傳感器本論文采用的是MICRO公司的MT9M01數(shù)字式CMOSS像傳感器作為圖像采集器[18]。該傳感器有130W像素,輸出格式為Bayer彩色格式,最大分辨率為1280*1024,每一個像素的色彩分辨率為10位,支持的最高時鐘為25MHzA/D轉(zhuǎn)換精度為10位。能夠連續(xù)的捕捉視頻,并且按順序輸出圖像信息。

MT9M01的內(nèi)部結(jié)構(gòu)如下圖所示,感光元件把采集到的模擬信號通過A\D轉(zhuǎn)換擲網(wǎng)簾作通器轉(zhuǎn)換以后輸出,時序控制單元對整個操作進行時序控制,MT9M01攝像頭的成像參數(shù)可以通過I2C總線進行配置。和圖像數(shù)據(jù)一起輸出的還有圖像傳感器行場同步時序信號。擲網(wǎng)簾作通AcihVPHH

…門,'P頷

Air*>圖3.2MT9M011的結(jié)構(gòu)示意圖MT9M01的圖像數(shù)據(jù)是連續(xù)掃描輸出的,水平方向的消隱數(shù)據(jù)和垂直方向的消隱數(shù)據(jù)把有效的圖像數(shù)據(jù)包圍,如下圖所示。P0月po_1Po.2……—————P0r口聲上。PIK1工???―???”????,?一??—?一????”??\=1VALIDIMAGEppp-prm-l4Okm-1.】■■?????????????">■■■*m-1,nPfT1T口P|T1r1Rm*a.1sn-1£>0OOOOOOOOOOCOOOOO………………<MJCHJOOHORIZONTALR;LANikElMGOOOOOOOOOOOOOOOOOO…….…………OOOOOO(XJOOOOOOCM)OOOT<M>OOCX>OOOOVERTICALBLANKINGononnonononoOOOOOOOOOOOOoaooooooooooVERTICAL/HORIZONTALBLANiKFNGn-nonoononoonOOOOOO…-OOOOOOoaoaooooooao圖3.3MT9M011的數(shù)據(jù)輸出格式MT9M01的輸出時序如圖3.4所示,圖像數(shù)據(jù)的輸出是與PIXCLK時鐘同步的,一個PIXCLKW期輸出一個10位的有效圖像數(shù)據(jù),當行有效信號LINE_VALID和幀有效信號FRAME_VALID高電平時,輸出為有效的圖像數(shù)據(jù)。

…/VA.…/VA.LlNtVALIDN;jrr&er?fdoc匕UNEVAUD*'PiXCLK_FilingV4lkJIfhj^OjUOOUT^OCXJTO7[題t一島X品_J1%圖3.4MT9M011的輸出時序格式其中,P:幀開始/消隱結(jié)束A:有效數(shù)據(jù)Q:水平消隱圖像傳感器數(shù)據(jù)采集結(jié)果分析本文MT9M01輸出的分辨率為1024*1280,根據(jù)MT9M01的輸出像素時序,用行計數(shù)與幀計數(shù)實現(xiàn)對輸入進來的圖像數(shù)據(jù)進行計數(shù)。最后經(jīng)過QuartusII中的嵌入式邏輯分析儀SignalTapH的抓取后的采集截圖如下所示TypeAliasName⑥TypeAliasName⑥CCD_Capture:uO|iCLK@.._Capture:uD|inCCD_FVAL..._Capture:uDjmCCD_LV/\L...D_Capture:uC比TAI團...D_Captijre:u(koOATA團...D_Captijre:u(koOATA圖3.5視頻采集模塊截圖當視頻采集允許信號oDVAL為高時,場信號CCD_FVA自行信號CCD_LVA信號為高時,視頻圖像采集寄存器oDATAT以采集到圖像數(shù)據(jù)。I2C總線協(xié)議I2C(Inter—IntegratedCircuit)總線是可以雙向傳輸?shù)拇锌偩€,它是由PHILIPS公司開發(fā)的,常用于控制器和外圍設(shè)備的數(shù)據(jù)傳輸[19]0它是同步通信的一種特殊形式,具有控制方式簡單、接口線少、通信速度快等優(yōu)點,它以下的特點被廣泛的應(yīng)用在各種通信與控制領(lǐng)域中:(1)線路簡單,只需要兩條傳輸線路:串行時鐘傳輸線SCL用行數(shù)據(jù)傳輸線SDA

(2)與總線連接的每一個設(shè)備只對應(yīng)一個地址,并且可以通過對應(yīng)的軟件從新設(shè)定地址。(3)它支持多個主機控制模式,當有一個以上的主機進行數(shù)據(jù)傳輸時,它可以通過特殊的手段避免數(shù)據(jù)沖突。(4)I2C的傳輸速度很快,在標準模式下傳輸速度可達100kbit/s,在高速模式下可以達到3.4Mbit/s。(5)連接到相同總線上的設(shè)備都要受限于最大電容容量400PFI2C總線上數(shù)據(jù)傳輸?shù)木唧w步驟如下圖3.6所示。首先主機發(fā)出一個開始信號,然后發(fā)送從節(jié)點的7位設(shè)備地址和1位讀寫方式。接著發(fā)送8位數(shù)據(jù),如果從機接收到數(shù)據(jù),從機就會把SDA拉低一個時鐘,一次數(shù)據(jù)傳送就完成。當把所有的數(shù)據(jù)傳送完畢后,主機發(fā)出一個結(jié)束信號,整個傳輸就結(jié)束了。I2C總線協(xié)議進行數(shù)據(jù)傳輸是沒有數(shù)據(jù)傳輸量的限制,只要求每傳送一個字節(jié)后,從機發(fā)出一個ACK應(yīng)答,表示這一字節(jié)傳送成功。在傳輸數(shù)據(jù)時,主機發(fā)出開始信號。結(jié)束時,主機發(fā)出停止信號。整個數(shù)據(jù)的傳輸是按照高位到低位的順序進行的。3.2.4I2C圖3.6I2C總線傳輸時序3.2.4I2C圖3.6I2C總線傳輸時序總線控制器的設(shè)計I2C總線控制器模塊主要是為了對MT9M01的內(nèi)部寄存器進行配置,按照系統(tǒng)的需求對MT9M01進行初始化,得到滿足系統(tǒng)要求的成像質(zhì)量。利用FPGA雖大的可編程能力,可以輕松的模擬I2C的總線時序,實現(xiàn)整個數(shù)據(jù)傳輸過程。MT9M011aII2C總線協(xié)議,在此通過I2C協(xié)議對MT9M01進行配置,下圖為

MT9M01的電蹈連接2SVrOl.S^ANALOG2.和

DKJrr^iaipFIXNDQ0.1pF11riFX/fAGWTwcfWireSerialBusSDAIA>5CIK-CMT9M01的電蹈連接2SVrOl.S^ANALOG2.和

DKJrr^iaipFIXNDQ0.1pF11riFX/fAGWTwcfWireSerialBusSDAIA>5CIK-CRESETliWF-Duf-UiQM電HRCLdLKL£5MH打KrtDoingDdursDOIJT7DOUT60055。◎眄國DOUTIDauriDouriDouroPI網(wǎng)IKLIMFVAIUFRAME_VALGE>FLASH愛易占口*5AM三MW5加制口QAdND圖3.7MT9M011電路連接MT9M01的寄存器數(shù)據(jù)寬度為16位,在本文中采用每一次寫入8位數(shù)據(jù)的方0xF1式對它的參數(shù)寄存器進行設(shè)置。首先寫入的是高八位數(shù)據(jù),然后再把低八位數(shù)據(jù)寫入?yún)①惣拇嫫?。在傳送低八位?shù)據(jù)時,要把低八位的參數(shù)數(shù)據(jù)寫入寄存器中。當這2次數(shù)據(jù)傳送成功時,就完成了一次對寄存器的配置。下圖為配置寄存器的時序圖。0xF1IIIIIHI)III)III小Mm川此麗山皿nwi皿燦M皿nn皿加皿皿皿unit皿皿皿nn版Suu-ltlii_nIOx&AADDR5TARTrr_rinBru~~uniIII11|Suu-ltlii_nIOx&AADDR5TARTrr_rinBru~~uniIII11|11RegOxOS00000010QiBAADDR1H!!nRegOiFl10000100,,r;1I;仃aiihiACKACK圖3.8MT9M011寄存器配置時序下圖為I2C控制器的配置流程圖3.2.5I2C圖3.9I2C控制器配置流程圖模塊測試分析在這里用QuartusII中的嵌入式邏輯分析儀SignalTapII抓取采集截圖如下所示。獨朝陽3林優(yōu)30#0sclcteinsertfireMf?AliasName4國“送C臟m1物16正玳。乳的2睨2_1L=_1..1J..一L.L..CCD.Config:u1'2C_5CLK1|1-響mi叱那T1■<4—圖3.10I2C配置截圖從圖中可以看到一個SCLK寸鐘,I2C_SDAT專送一位數(shù)據(jù)。I2C配置模塊設(shè)計完成3.3色彩復原模塊設(shè)計Bayer型RGBB式MT9M01俅用的是色彩濾波陣列。Bayer陣列格式如圖3.11所示,可以看出Bayer的每個像素為RG盼量中的一種,G的分量為總量的1/2,R與B各占總量的1/4[20];圖3.11給出了MT9M01輸出的Bayer格式像素的示意圖,在圖3.11中第一個像素在最右上方,然后依次從右到左,從上到下進行排列。columnreadourtd;r€<tion圖3.11Bayer輸出格式因為視頻采集模塊采集進來的圖像為Bayer型的RGB&式,為了可以在VGA顯示器上顯示,需要把Bayer型RGB專化為彳^統(tǒng)的RG璐式,所以在此要通過圖像插值算法把Bayer型RGB?;癁獒躛統(tǒng)的RG瑤式。色彩復原算法在本文中采用了雙線性插值算法把Bayer型RG由式轉(zhuǎn)換為傳統(tǒng)的RG瑤式。這是一種基于3x3模版的快速線性插值方法[21]o由于每一個數(shù)據(jù)只表示了當前像素三種顏色的一種,為了獲得其他兩種顏色分量,就需要對Bayer格式數(shù)據(jù)進行插值算法處理。該算法的核心思想是把當前像素點作為中心點,利用當前像素點周圍的3x3矩陣模板的像素點的相關(guān)性進行插值處理,以此恢復中心點的另外兩種顏色分量。色彩復原的FPGA勺實現(xiàn)按照雙線性插值算法的核心思想,在此需要把串行傳輸?shù)膱D像數(shù)據(jù)轉(zhuǎn)換為3x3的圖像矩陣。為了解決這一問題,本文中調(diào)用了QuartusII中的IP核ShiftRegister(RAM-based)來解決這一問題[22]。ShiftRegister是可變長度的移位寄存器,它可以實現(xiàn)申入并出的功能。它可自定義數(shù)據(jù)寬度、移位的行數(shù)、每行的深度。它的工作原理如下圖所示。數(shù)據(jù)輸入123456789數(shù)據(jù)輸出F圖3.12ShiftRegister工作原理圖通過ShiftRegister可以得到并行輸出的3行圖像數(shù)據(jù),接下來在每一行輸出后面構(gòu)建3個位寬為10位的寄存器,以此構(gòu)成3x3的模版,如下圖所示,Reg11、Reg12Reg13Reg21、Reg22Reg23Reg31、Reg32Reg33可以從數(shù)據(jù)的輸出端讀到一個3x3的圖像數(shù)據(jù)陣列。

圖3.133x3圖3.133x3模版結(jié)構(gòu)圖將一幀圖像的每一個3x3的圖像陣列按照其中心像素所在行和列的奇偶關(guān)系,劃分出了下表中的4鐘方式。奇行偶列奇行奇列偶行偶列偶行奇列BGBGBGGRGRGRGRGRGRBGBGBGBGBGBGGRGRGR圖3.143x3的圖像矩陣劃分在圖3.14中的4種3x3圖像矩陣中的奇行偶列、奇行奇列、偶行偶列、偶行奇列的計算公式分別如公式(3-1)到(3-4)所示。其中每個顏色分量的下標表示其在該3x3模版中所處的位置,如弓2表示第二行第二列的像素。(3-1)(3-2)R22=R22(3-1)(3-2)G22=[G12+G21+G23+G32]4B22=1[B11+B13+B31+B33]4R22=AR21+R23]2G22=G22B22=二[B12+B32]2

R22=1[R12+R32]2G22=G22BzzjB21+B23]2R22=1[Rll+R13+R31+R33]4G22=1[G12+G21+G23+G32]4B22=B22(3-3)(3-4)對于偶行偶列的像素點而言,其中G為其本像素點的綠色分量,具藍色分量(3-3)(3-4)為其對應(yīng)的3x3模版中B21、B23的平均值,其紅色分量為R11、R13、R31、R33的平均值。其他的情況可以依照公式依次內(nèi)推。本文所采用的攝像頭采集進來的圖像數(shù)據(jù)分辨率為1280*1024,而本文設(shè)計的VGAS示為640*480,因此在進行圖像色彩復原時,只需要對偶行偶列的像素點進行色彩復原,隔行隔列的對像素點進行處理。經(jīng)過雙線性插值處理后,就實現(xiàn)了Bayer到RG弗式的轉(zhuǎn)換,就完成了色彩復原。3.3.3測試與結(jié)果分析通過截圖可以看出在iY_Cont為偶數(shù)且iX_Cont每計數(shù)兩次時,RG嗽值變換一次。因此色彩復原設(shè)計完成。SDRAM空制器SDRAM結(jié)構(gòu)及其基本原理SDRAhiPSynchronousDynamicRandomAccessMemory,同步動態(tài)隨機存儲器。同步指的是它的工作時鐘頻率和CPU前端總線的系統(tǒng)時鐘工作頻率相同,并且它是內(nèi)部系統(tǒng)命令的發(fā)送和數(shù)據(jù)傳輸?shù)幕鶞蔥23];動態(tài)是因為SDRA帥電容陣歹I」組成,需要不斷地放電、充電,或者說需要不斷的刷新來保持數(shù)據(jù)的不丟失;隨機則是指自由的指定讀寫地址。SDRAMJ內(nèi)部結(jié)構(gòu)原理圖如下所示:L-BankCAS列地址RAS行地址D1234567E9ABcDEF12■,3456?圖3.16SDRAM原理圖SDRAMI由一個存儲陣列構(gòu)成,可以把它看作為一張表格,把數(shù)據(jù)“寫”進去,如上圖3.16所示。與表格數(shù)據(jù)查找的原理相同,首先指定一個行地址,然后指定一個列地址。比如行地址為2,列地址為A對應(yīng)的就是黑色的單元格。對于內(nèi)存,這個單元格可稱為存儲單元,每一個單元能存放寬為8/16/32的數(shù)據(jù)。而對于整個行列組成的塊而言,把這個表格(存儲陣列)稱為SDRAM1一個邏輯Bank(LogicalBank,下文簡稱L-Bank)。大部分SDRAMB是由4個L-Bank組成,也就是有4個這樣的“表格”。尋址的基本流程是先尋址L-Bank地址,然后指定行地址,最后指定列地址找出尋址單元。SDRAM控制器的調(diào)用SDRAMI非常大的存儲容量,但是它的內(nèi)部結(jié)構(gòu)復雜,對時序的要求非常嚴格并且現(xiàn)在大多數(shù)的廠家都對它們生產(chǎn)的SDRAME置了專用的控制器。所以使用SDRA城片自帶的SDRAME制器是一種非常好的方式。在本論文中選擇了友晶公司

推出的四端口SDRA腑制器,該控制器設(shè)計了四條與SDRA陲接的FIFO,可以滿足又tSDRAI?高速讀寫的要求。在使用時不用考慮SDRA岫部工作的時序,只需要分配好設(shè)計時所需的地址空間和響應(yīng)邏輯參數(shù)。SDRAM空制器對外的接口主要由兩部分組成:一部分是與FPG缺部其他模塊進行連接的信號;另一部分是與SDRA好片的引腳進行連接的信號。在QuartusII中RTLViewer得到友晶SDRAIW端口的原理圖如下所示:1?rP自必000”g丐必一22ni?009-1111|g寸皿一1?rP自必000”g丐必一22ni?009-1111|g寸皿一“二H二-RD1LOADq6CLK^D2_LOAD^ESFT_NWR1NHI.CIXWR1LOADCASNCKEW^2CLKtASzVWLOAD一SDFt_CUK、乏NWR1MT'結(jié)中-0t.MTT收155.――-3OATWS.fl收聯(lián)可"一_5^1ClA,^1LEVGT-fa5-cs_><i..qDQM1CliVRJ2QATJW15..31"□OflS5評畔周?Yf口中Z可王7sT/E.司國口1_用口>中2.QRDI^MAX_AZ>Dfi[225FLD1UE3T?END2■離00/2之4?XLW:AO-D^ra01Qn2_LEkSTT君eg23噂卒rm?-I■■■?■Ia9-III圖3.17SDRAMRTL視圖與fpgAj部其他模塊的交互信號主要由以下部分組成:WR1_ADDRWR位個端口的起始位置。WR1_DATAWR位個端口寫入的數(shù)據(jù)。WR1_MAX_ADDWRR位個端口的結(jié)束位置。WR1_LENGTH突發(fā)長度,SDRAM1每一個端口都帶有一條FIFO,當FIFO寫入的數(shù)據(jù)達到一定數(shù)量時,SDRAMI制器就把FIFO寫入的數(shù)據(jù)寫進SDRAW,這個數(shù)量就是WR1_LENGTHWR寫有效信號,在把數(shù)據(jù)寫進SDRAMJ,將其拉高。與SDRA隨卜部芯片交互的信號,我們只需對照操作手冊,在分配引腳時正確分配即可。我們在使用SDRAMS制模塊時,只需要輸入想要存入與取出數(shù)據(jù)的開始與結(jié)束地址、突發(fā)長度、存入bank的顏色分量等信息就可以實現(xiàn)對SDRA的控制。根據(jù)四端口SDRAMJ存取原則,SDRAM!面有4個BANK這里用到了2個。因為每一幀圖像分辨率為640x480,其中每一個像素位寬為30,就要同時向BANK1和BANK在入640x480個15位的信息。SDRAM的功能仿真驗證經(jīng)過QuartusII中的嵌入式邏輯分析儀SignalTapII的抓取后,采集到的圖像如下所示。圖3.18SDRAM讀取功能測試截圖對SDRAMJ讀寫端口進行測試,可以看出SDRAMT以進行正常的讀寫功能VGA控制器VGA顯示原理VGA(VideoGraphicsArray)是舊M在上世紀八十年代推出的一種模擬信號的視頻傳輸標準,具有高分辨率、刷新頻率高、顏色豐富等優(yōu)點,已經(jīng)廣泛的用于彩色電視機中。VGAW接口電路也叫D-sub,是顯卡上輸出模擬信號的D型接口,如下圖所示,采用了非對稱分布的15腳連接方式,共有15針,分成3排,每排5個孔。把15針的VGAS口連接到顯示器,就可以驅(qū)動顯示器顯示圖像信息。圖3.19VGA接口本論文采用的VGA標準為640x480x60Hz,時鐘頻率25.175MHz;輸出五個信號為RGB三基色信號,行同步信號(HS與場同步信號(V^oVGAffl像顯示是通過行掃描和幀掃描完成的[24]。行掃描:電子束沿水平方向的掃描為行掃描。電子束從左到右的掃描方式為行掃描正程。反之為行掃描逆程。幀掃描:電子束沿垂直方向的掃描為幀掃描。電子束從上到下的掃描方式為幀掃描正程;反之為幀掃描逆程。VGA時序VGA勺工業(yè)顯示標準要求行、場同步都為負極性,顯示過程為:當VS=1HS=1時,為正向掃描過程;當掃描完一行時,行同步HS=0期間,進行消隱,電子束會轉(zhuǎn)移到下一行左邊的起始位置;當480行被掃描完后,場同步VS=0便會產(chǎn)生場同步信號,電子掃描線回到屏幕的左上角,即第一行第一列。圖3.20與3.21分別為行場的時序圖。Backpotch:-b:FmutpofchdActivemdeotime,口DATABackpotch:-b:FmutpofchdActivemdeotime,口DATAHSYNC3.20VGA行時序圖DATAVS\TS:CDATAVS\TS:C3.21VGA場時序圖行數(shù)據(jù)時序是指顯示一行數(shù)據(jù)的時序關(guān)系。從圖3.21中可以看出,要顯示行數(shù)據(jù)需要正確的處理兩件事第一:產(chǎn)生正確的行同步HSYNC寸序。HSYN思一個電子脈沖信號,它的周期公式為e=a+b+c+d,a為低電平時間。其中a、b、c、d都表示時間信號,顯示的分辨率不同對應(yīng)的這些信號的時間長短也會不同第二:產(chǎn)生屏幕顯示的數(shù)據(jù)(DATA信號,其為模擬信號,當系統(tǒng)處于顯示有效數(shù)據(jù)(Activevideo)范圍內(nèi),DATA言號的范圍為0~0.714Vpp的模擬電壓值(RGB),數(shù)據(jù)(DATA采樣頻率的高低會隨著分辨率的不同而不同。場數(shù)據(jù)時序關(guān)系和行時序關(guān)系基本相同,即為顯示一屏幕數(shù)據(jù)的時序。只是場時序的基本單位為一行數(shù)據(jù),而行時序的基本單位為一個點。下圖為本論文所采用VGA標準的參數(shù)圖。麗?(嬲5)撕(微)(陽abcde,0Pqis6」城跑加5后%4816SOO2J3捌10p25圖3.22VGA顯示參數(shù)3.5.3VGA控制模塊的設(shè)計計算機內(nèi)部以數(shù)字方式生成顯示圖像,對于模擬顯示設(shè)備,必須進行數(shù)模轉(zhuǎn)換。本論文所用的數(shù)模轉(zhuǎn)換芯片是DAOADV7123芯片與VG破口連線如下圖所示可以看到其中HSffiVS接入VGAS口,其余接入ADV712犯片的。

‘⑸E」'肉W』惘M」賴范卑?」‘⑸E」'肉W』惘M」賴范卑?」一優(yōu)gVGAGj10一:或3以防1口廠為苒寸山。卜由『9>TOcin:!l!T(Qfi:n:!|:U圖3.23VGA視頻D/A轉(zhuǎn)換接線圖由于上一節(jié)對VGA的顯示時序進行討論,在此對于VGA空制模塊的設(shè)計思路是把圖像的數(shù)據(jù)按照正確的行場時序進行傳輸。具體的設(shè)計方法為:先按照分辨率的要求,用計數(shù)器形成行場同步時序,再判斷計數(shù)器是否計數(shù)到顯示區(qū),然后從SDRAM!面讀取數(shù)據(jù)送到VGA?示器上顯示。其中圖像的D/A轉(zhuǎn)換由ADV7123完成。設(shè)計時需要提供正確的信號以使其工作在需要的狀態(tài)下,VGA空制模塊的設(shè)計框圖如下所示。圖3.24VGA控制模塊設(shè)計原理圖利用50MHz的全局時鐘分頻為25Mhz的時鐘,在VGAM序同步模塊中利用計數(shù)器實現(xiàn)行場信號同步,并輸出HSVS信號,同時VGA空制模塊把數(shù)字RGB?;癁槟MRGB輸入到VGAk進行視頻顯示。VGA模塊測試分析經(jīng)過QuartusII中的嵌入式邏輯分析儀SignalTapII的抓取后,采集到的圖像如下所示。圖3.25VGA時序截圖從上圖可以看出,在VS信號有效時,HS信號經(jīng)過消隱同步后,進行下一行掃描。在VGA空制模塊設(shè)計成功后,整個視頻圖像采集系統(tǒng)的設(shè)計就已完成。圖像采集系統(tǒng)測試與分析圖像數(shù)據(jù)由MT9M01攝像頭通過連接到FPGM發(fā)板上的GPIO通用輸入輸出接口上傳入FPGAFPGA等采集到的圖像數(shù)據(jù)進行處理,然后通過VG破口傳輸給電腦顯示器,最后在電腦顯示器上顯示出采集到的畫面。圖像采集與處理系統(tǒng)的總體圖像如下所示。

圖3.26圖像采集與處理系統(tǒng)總體圖在系統(tǒng)測試中,首先對MT9M01攝像頭進行初始化配置,圖像數(shù)據(jù)從MT9M011傳入,通過FPGAI成對圖像的采集、處理、存儲和顯示。下圖即為系統(tǒng)采集到的畫面,從下圖中可以看到采集到的圖像顯示正確,表明整個系統(tǒng)可以進行正常的視頻圖像采集。圖3.27系統(tǒng)采集效果圖3.6本章小結(jié)本章實現(xiàn)了視頻圖像采集的功能,本章工作的主要內(nèi)容是:在參考國內(nèi)外的相關(guān)文獻的基礎(chǔ)上,結(jié)合本論文的課題需要,采用了Altera公司的EP2C35F672C6芯片作為系統(tǒng)的控制芯片,并且使用MT9M01攝像頭和8M存儲容量的片外SDRAM存儲芯片來搭建了整個視頻圖像采集系統(tǒng),也為后續(xù)的圖像處理算法的實現(xiàn)打下了基礎(chǔ)。本論文是在基于QuartusII9.0的平臺上,采用Verilog硬件編程語言進行設(shè)計的。系統(tǒng)的組成模塊包括:視頻采集模塊、I2C控制器模塊、色彩復原模塊、四端口SDRA棉制器,g塊和VGA1示模塊。并且結(jié)合了QuartusII9.0自帶的嵌入式邏輯分析儀SignalTapR來觀察和分析設(shè)計結(jié)果,通過反復的調(diào)試,完成了系統(tǒng)要求的功能。最后對整個系統(tǒng)進行編譯聯(lián)調(diào),實驗結(jié)果表明整個系統(tǒng)可以正常的進行視頻圖像的采集與顯示功能。第四章基于FPGA勺圖像處理算法的研究圖像處理數(shù)字圖像處理是指將圖像信息轉(zhuǎn)換為數(shù)據(jù)信息,并且利用電腦處理的過程。在上世紀50年代,人們才開始運用圖像處理手段處理圖片[26]。早期的圖像處理通常都是用來改善圖片質(zhì)量的。在圖像處理中,輸入質(zhì)量低的圖像,輸出質(zhì)量高的圖片,隨著數(shù)字圖像處理技術(shù)的發(fā)展,圖像處理技術(shù)發(fā)展到現(xiàn)在已經(jīng)是一門較為成熟的學科了。圖像增強、圖像壓縮、圖像分割等技術(shù)已經(jīng)較為成熟。本文在研究了一些常用圖像處理算法的基礎(chǔ)上,并且根據(jù)FPGA勺特點,對圖像處理算法進行修改,把半透明、灰度變換、中值濾波、Sobel邊緣檢測、腐蝕、膨脹等算法移植到FPG9實現(xiàn),為后續(xù)的復雜圖像處理的實現(xiàn)打下基礎(chǔ)。半透明算法半透明原理AlphaBlending表示圖像的透明混合層度,它可以讓物體產(chǎn)生透明感[27]。在對硬件進行半透明實現(xiàn)時,在像素的RGB通道外,增加了一組通道來控制物體的透明度,即為Alpha通道。Alpha值可以控制像素的透明度層度,可以讓視頻在進行RGBS像顯示時,通過Alpha通道控制圖像的透明程度。假設(shè)有兩幅圖像,分別為A和Bo圖像C為通過圖像B去看圖像A所產(chǎn)生的混合圖像。把Alpha作為圖像B的透明度,取值范圍為[1,0],1為完全透明,0為不透明。其混合公式如下:R(C尸Alpha*R(A)+(1-Alpha)*R(B)(4-1)G(C尸Alpha*G(A)+(1-Alpha)*G(B)(4-2)B(C尸Alpha*B(A)+(1-Alpha)*B(B)(4-3)R(C)、G(C)、B(C)分別為圖像C的RGE&量。從上可以看出,Alpha是控制圖像透明層度的數(shù)值,通過改變Alpha的值就可以得到半透明效果。由于FPG9適用于浮點運算,所以在實現(xiàn)算法時,最好選擇移位運算來代替浮點運算[28]。在此把透明的層度按照2的n次方進行處理,這樣可以快速進行運算。因為本論文的RGB5一個顏色分量都是10位,因此是按1024級進行劃分的,A的權(quán)重=n/1024,B的權(quán)重=(1024-n)/1024,下公式是經(jīng)過改進后適用于本文的半透明算法TOC\o"1-5"\h\zR(C)=(n*R(A)+(1024-n)*R(B))>>10(4-4)G(C)=(n*G(A)+(1024-n)*G(B))>>10(4-5)B(C)=(n*B(A)+(1024-n)*B(B))>>10(4-6)黑白圖像實現(xiàn)在本文中實現(xiàn)半透明算法的具體思路是透過一幅圖片顯示視頻畫面,首先要把一副圖像在VGA!進行顯示。想要在VGA上實現(xiàn)圖片顯示,在VGA?示中,我們需要生成mif/hex文件,然后把文件存入Romt^,卞g據(jù)VGA勺行場時序,實現(xiàn)VGA勺圖像顯示。PicToMif是一款免費軟件,它可以直接把圖片轉(zhuǎn)換為Mif文件,作為FPGA勺rom的輸入文件。通過該軟件可以把一幅圖像轉(zhuǎn)換成易于FPGM現(xiàn)VGA?片顯示的mif格式文件。4.1PicMif界面利用PicMif軟件打開一幅640*480格式的圖片,把圖片轉(zhuǎn)化為黑白圖片的mif格式。轉(zhuǎn)化后的效果圖如下所示:

4.2VGA黑白圖片為了在VGA!面實現(xiàn)圖片的顯示,在此需要把軟件生成的mif文件添加入FPGA的rom中,于是在QuartusII9.0中調(diào)用rom,配置好rom所需的參數(shù),如下圖所示。圖4.3rom設(shè)置界面最后將軟件生成的mif文件添加入rom中。根據(jù)VGA亍場同步時序,實現(xiàn)VGA圖片的顯小。VGAS片顯小如下所小。

圖4.4VGA圖片顯示4.2.3基于FPGA勺半透明算法在把半透明算法移植到FPGA寸,由于mif生成的黑白文件每一點都是1位數(shù),而VGA勺RGE?示是10位寬度。因此在FPGAh實現(xiàn)算法時先要對mif文件中的0和1進行判斷。如黑白圖片的某一點數(shù)據(jù)為0時,把它轉(zhuǎn)化為10位的0,如果為1就轉(zhuǎn)化為10位的1。最后把公式中的n與開發(fā)板上的撥碼開關(guān)對應(yīng)起來,以此實現(xiàn)不同透明度的調(diào)整。按照4.2.1節(jié)中的公式(4)至(6)把圖片與視頻采集圖像按照半透明公式在FPGAS行實現(xiàn)。4.2.4效果驗證配置文件并下載程序,實現(xiàn)的半透明效果如下所示。圖4.5半透明效果圖從圖中可以看出半透明算法已經(jīng)成功移植到FPGAt4.3灰度圖像處理4.3.1灰度圖像在圖像處理領(lǐng)域中,直接對RGB圖像進行圖像處理時,需要處理的數(shù)據(jù)量非常大,而灰度圖像不僅能夠清楚的反應(yīng)圖像特征而且數(shù)據(jù)量相對RG陳說比較小因此把RGBS像轉(zhuǎn)換為灰度圖像進行圖像處理是一種非常重要的圖像處理方法[29:在對RG弗式圖像進行處理時,如果R=G=B那么輸出的圖像就為灰度圖像。灰度圖像每個像素只需在RGB勺三個通道中放入相同的灰度值,便可以進行灰度顯示。將彩色圖進行灰度化一般有如下三種方法。(1)最大值法:讓3個值中的最大值為RGB的值。(2)平均值法:使R、GB的值等于求出的平均值。(3)加權(quán)平均值法:根據(jù)不同情況給RGB配與不同的權(quán)值,然后對其值加權(quán)平均。基于FPGA勺灰度實現(xiàn)本文所采用的灰度變化公式如下Gray=R*0.299+G*0.587+B*0.114(4-7)由于FPGAf適用于浮點運算,因此在進行運算時要盡量避免,在此將整個公式擴大2的16次幕。2的16次幕是65536,本文中用下面的方法計算系數(shù)。0.299*65536=19595.264?19595(4-8)0.587*65536+0.264=38469.896~38469(4-9)0.114*65536+0.896=7471.104+0.896=7472(4-10)四舍五入會造成比較大的誤差,因此把前面計算出的誤差帶到下一步中,舍入方法是去尾法,表達式為Gray=(R*19595+G*38469+B*7472)>>16(4-11)按照上述公式在FPGA?現(xiàn)Gray就避免了浮點運算。圖像灰度化效果測試經(jīng)過編譯下載配置后,灰度效果如下所示圖4.6視頻灰度采集從圖4.6的圖像效果中可以看出視頻灰度化處理完畢4.4圖像降噪目前對于圖像降噪的基本方法是對圖像進行濾波,通過圖像濾波濾除圖像的噪聲,同時盡量保證圖像的畫質(zhì)不變[30]。圖像濾波可以分為兩大類,頻域濾波和空間濾波。頻域濾波就是在圖像的某一種變換域里面對圖像進行濾波。而空間濾波就是在空間域里面對圖象進行濾波。下一節(jié)介紹幾種常用的濾波方法。常用濾波算法(1)均值濾波算法均值濾波是一種典型的線性濾波,它是指給定一個模版,這個模版包括了目標像素周圍的像素皿。把圖像中的目標像素用這個模版中的全體像素的平均值來代替。均值濾波算法可以用下圖來表述,對于每個3*3的像素陣列,中間像素的值,等于邊緣8個像素的平均值。(2)低通濾波法低通濾波是一種常用的頻域濾波方法。對于一幅圖像,它的跳變部分、邊緣以及噪聲部分代表的是圖像的高頻分量,大面積的背景區(qū)域代表的是低頻分量,所以采用濾除高頻分量的低通濾波可以有效去除噪聲[32]。但是圖像的有些細節(jié)部分也存在于高頻區(qū),所以低通濾波的方法同樣也會使圖像的細節(jié)模糊化,低通濾波器的工作流程如下圖所示。圖4.8低通濾波器工作圖圖中F(u,v)是帶有噪聲的原始圖像f(x,y)的傅里葉變換,H(u,v)為低通濾波器的傳遞函數(shù),經(jīng)過濾波器濾波后的G(u,v)=H(u,v).F(u,v)(4-12)最后經(jīng)過傅里葉反變換后得到濾波后的圖像g(x,y)。該方法的計算量比較大,同時處理過程中也丟失了圖像的一些細節(jié)。(3)中值濾波中值濾波是一種基于排序統(tǒng)計理論的非線性信號處理技術(shù),它可以有效的抑制噪聲。中值濾波的基本原理是把要處理的圖像中的目標像素用其鄰域模版中各點像素值的中間值代替,用這種方法可以有效的消除孤立的噪聲畫。具體方法是用某種結(jié)構(gòu)的模版進行滑動,對模版內(nèi)的像素點進行單調(diào)排序,然后輸出中值。平面中值濾波的輸出公式如下g(x,y)=med{f(x-k,y-l),(k,l€W)}(4-13)其中f(x,y)為原始圖像,g(x,y)為處理后的圖像。W為平面濾波模板。通常的濾波模版為3X35X5,也可以是線型或者其他形狀。如下圖所示。圖4.9常用濾波窗口快速中值濾波中值濾波的基本原理是把圖像中的一點的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論