隨著各種高速長時間物理實(shí)驗(yàn)要求的不斷提高,系統(tǒng)對高速的數(shù)據(jù)采集模塊的需求也越來越高,在許多特殊應(yīng)用的場合中,系統(tǒng)也需要對大量突發(fā)的數(shù)據(jù)進(jìn)行采集處理,用FPGA實(shí)現(xiàn)的高刷新率高分辨率圖像采集系統(tǒng),用于船載雷達(dá)圖像記錄。該系統(tǒng)由AD、FPGA、SDRAM組成,AD芯片把雷達(dá)提供的以VGA接口方式給出的圖像信號轉(zhuǎn)換成數(shù)字信號,F(xiàn)PGA控制時序通過整頁突發(fā)的模式寫入SDRAM中,并提供了后續(xù)處理的接口。
中國船級社規(guī)定從2004年開始,在國內(nèi)和國際航行的船舶中都必須安裝船載航行數(shù)據(jù)記錄儀,其中船載雷達(dá)圖像記錄儀是很重要的一部分,船載雷達(dá)圖像按VGA圖像標(biāo)準(zhǔn)輸出,其分辨率在640×480-1280×1024之間,刷新率在60-85Hz之間。目前常見的圖像采集系統(tǒng)多是針對復(fù)合視頻信號的采集,或者是針對CCD圖像信號的采集。這些圖像采集系統(tǒng)并不能滿足雷達(dá)圖像采集的要求,即使少數(shù)針對高分辨率高刷新率圖像的采集系統(tǒng)也是以計(jì)算機(jī)板卡的形式出現(xiàn),運(yùn)行時需要一臺計(jì)算機(jī)。
目前一些速度高達(dá)1GSPS的基于VME總線的數(shù)據(jù)采集系統(tǒng),通過4路,每路采集速度高達(dá)250MHz的系統(tǒng)實(shí)現(xiàn)1GSPS速度的數(shù)據(jù)采集。但由于該類系統(tǒng)中沒有大容量的數(shù)據(jù)緩存,因此并不能實(shí)現(xiàn)高速長時間的數(shù)據(jù)采集。另外一些系統(tǒng)采用一種基于FPGA,使用多SDRAM作為數(shù)據(jù)緩存的采集系統(tǒng)。該類系統(tǒng)解決了長時間高速采集的問題,可以對頻率為100MHz,16bit位寬的數(shù)據(jù)進(jìn)行采集。但是由于它采用了多個FIFO來降低SDRAM的工作頻率,使得該類系統(tǒng)應(yīng)用在需要嚴(yán)格的數(shù)據(jù)同步的高速圖像采集系統(tǒng)中會出現(xiàn)一些數(shù)據(jù)難以同步的問題,還有一種PC板卡形式的高分辨率圖像采集卡,該系統(tǒng)直接對圖像進(jìn)行壓縮后存儲,并通過PCI接口提供給PC,這種形式既不適合船舶上狹小的空間,也不能滿足船舶失事時對數(shù)據(jù)的保護(hù)要求。
本文提出一種高分辨率高刷新率圖像采集系統(tǒng)。該系統(tǒng)使用于嵌入式系統(tǒng)中,不僅體積小,還解決了數(shù)據(jù)保護(hù)的問題,可用于船載雷達(dá)圖像記錄系統(tǒng)。該系統(tǒng)可支持對多達(dá)4路8bit位寬最高采樣率達(dá)120MHz的數(shù)據(jù)通道,或者一路VGA圖像信號,可對采集數(shù)據(jù)進(jìn)行長時間采集存儲。具體的連續(xù)采集時間根據(jù)系統(tǒng)所采用的SDRAM容量大小有所變化。該系統(tǒng)還為數(shù)據(jù)的后續(xù)處理提供了ASRAM接口,使得用于緩存數(shù)據(jù)的SDRAM也可作為后續(xù)處理CPU的系統(tǒng)內(nèi)存。這樣既可以提高數(shù)據(jù)的處理速度,方便后續(xù)針對雷達(dá)圖像的壓縮或者識別處理,也節(jié)省了資源。
采集系統(tǒng)設(shè)計(jì)
系統(tǒng)分析及芯片選擇
首先確定系統(tǒng)要求。目前標(biāo)準(zhǔn)規(guī)定的VGA分辨率從640×480-1280×1024之間可調(diào),刷新率為60-80Hz可調(diào)。系統(tǒng)應(yīng)能接受最高情況為分辨率1280×1024,刷新率60Hz。在這種情況下,圖像像素點(diǎn)頻率為:1280×1024×60=75MHz。
VGA是用于給顯示器等模擬設(shè)備提供圖像信號的模擬接口。它有RGB3個模擬信號分量以及行場同步信號,其中行場同步信號是符合TTL電平的脈沖信號。由于模擬的VGA信號中包含有場同步時間和行同步時間及消隱時間,因此當(dāng)圖像為1280×1024@60Hz的情況下,AD轉(zhuǎn)換后像素點(diǎn)頻率要比實(shí)際算出來的75MHz還高。這么高的采樣率對于AD提出了很高的要求。因此采用Analog Device公司的芯片。AD芯片具有3路采樣精度為8bit的通道,最高采樣率為140MSPS,具有300M的模擬帶寬,并且專門對計(jì)算機(jī)及工作站圖像接口進(jìn)行了優(yōu)化,最高可滿足對分辨率為1280×1024,刷新率為75Hz的視頻進(jìn)行采樣。
由于AD的采樣率比較高,相應(yīng)的輸出數(shù)據(jù)率很也高。在系統(tǒng)要求的最高情況下,象素點(diǎn)頻率為108MHz,相應(yīng)的數(shù)據(jù)率為324Mbit/s(RGB3個分量,每個分量8bit)。同時,由于采集的是圖像數(shù)據(jù),因此系統(tǒng)對行同步要求比較高,因?yàn)槿绻谀骋恍械膱D像數(shù)據(jù)中丟失了某一個或多個點(diǎn)的數(shù)據(jù),整個圖像就會產(chǎn)生傾斜,如圖1所示。圖a為正確采集后得圖像,沒有發(fā)生傾斜;圖b為行采集數(shù)據(jù)小于顯示的水平分辨率;圖c為行采集數(shù)據(jù)大于顯示的水平分辨率。因此需要對每行的數(shù)據(jù)進(jìn)行突發(fā)存儲,保證數(shù)據(jù)不丟失。突發(fā)的長度為圖像的水平分辨率。
從上面的分析可知,AD后數(shù)據(jù)的及時存儲要求很高,在極端條件下系統(tǒng)必須以110MHz左右的頻率進(jìn)行突發(fā)長度為1280×3Byte的存儲。傳統(tǒng)的通過DSP把數(shù)據(jù)存儲到SDRAM的方法不能滿足這么高的速度和這么長的突發(fā)長度。因此我們采用FPGA直接控制SDRAM存儲的方式進(jìn)行??紤]到圖像數(shù)據(jù)的頻率和大小,我們采用工作在133MHz的SDRAM。
由于原始的圖像數(shù)據(jù)量很大,需要占用比較大的存儲空間,因此對采集到的圖像數(shù)據(jù)還要進(jìn)行后續(xù)處理。所以FPGA除了接收AD轉(zhuǎn)換后的數(shù)據(jù)和控制SDRAM之外,還需要為圖像的后續(xù)處理提供接口。
綜上所述FPGA需要實(shí)現(xiàn)如下功能:同步接收AD采集的數(shù)據(jù);讀寫SDRAM;提供后續(xù)圖像處理接口;提供控制接口。
設(shè)計(jì)中采用Altera公司Cyclone系列的FPGA EP1C6。EP1C6具有2個鎖相環(huán),包含5980個邏輯單元,相當(dāng)于12萬門的規(guī)模,同時還包含了最高頻率200MHz,92160bit的內(nèi)部RAM。該芯片的頻率和引腳IO等資源都能很好的滿足本系統(tǒng)的要求。
總體設(shè)計(jì)
采集系統(tǒng)總體框圖如圖2所示。
采集系統(tǒng)由AD、FPGA、SDRAM和主CPU組成。整個系統(tǒng)由CPU控制。進(jìn)行采集時,首先CPU根據(jù)行場同步信號判斷圖像的分辨率和刷新率,并對AD和FPGA進(jìn)行相應(yīng)的設(shè)置。其次,CPU使能FPGA進(jìn)行采集。待采集一幀結(jié)束后,CPU即可對圖像數(shù)據(jù)進(jìn)行處理。
AD模塊能夠采集多種VGA圖像格式,但卻不能自動檢測圖像格式,必須通過它提供的IIC接口進(jìn)行設(shè)置,我們在主CPU中實(shí)現(xiàn)對圖像格式的自動檢測,并對AD模塊進(jìn)行設(shè)置,另外,不同格式的VGA圖像中場同步信號的有效脈沖電平?jīng)]有統(tǒng)一,AD模塊可以對輸入的場同步信號極性進(jìn)行自動檢測并表示在內(nèi)部寄存器中,通過讀取該寄存器可以判斷輸入VGA信號場同步的極性。AD模塊輸出的場同步信號可以實(shí)現(xiàn)對輸入場同步信號的反相。FPGA內(nèi)部的同步邏輯只支持一種有效電平的場同步信號,因此在采集前需要通過讀取AD內(nèi)部的寄存器判斷當(dāng)前輸入同步信號的極性,以確定是否需要設(shè)置AD芯片對場同步信號進(jìn)行反相處理。
為了方便主CPU對FPGA的控制,F(xiàn)PGA提供了IIC接口。主CPU可以通過與AD模塊一樣的IIC接口控制FPGA。設(shè)置采集圖像的大小,圖像存儲起始地址,消隱時間長短等信息,從而保證采集圖像大小精確、完整,同時為了方便主CPU對圖像進(jìn)行后續(xù)的處理,F(xiàn)PGA把存儲圖像的SDRAM轉(zhuǎn)換成ASRAM接口提供給CPU處理,從而把存儲圖像的空間直接映射到了CPU的尋址空間。CPU可以通過DMA快速的對圖像數(shù)據(jù)進(jìn)行讀取和處理,提高系統(tǒng)效率。
FPGA內(nèi)部設(shè)計(jì)
FPGA內(nèi)部模塊如圖3所示。
FPGA內(nèi)部由主控制、SDRAM控制器、AD接口、FIFO、ASRAM接口、IIC等模塊組成。主控制模塊負(fù)責(zé)接收CPU的控制信號和協(xié)調(diào)各個模塊之間的工作,SDRAM控制模塊實(shí)現(xiàn)對SDRAM的操作邏輯。AD接口模塊接收AD模塊輸出的數(shù)據(jù)和同步信號并保證圖像數(shù)據(jù)的行場同步,ASRAM接口模塊轉(zhuǎn)換CPU對ASRAM的操作為對SDRAM的操作指令,IIC邏輯模塊接收CPU對FPGA采集系統(tǒng)的各種參數(shù)設(shè)置和控制。[page]
系統(tǒng)FPGA主要時鐘頻率有SDRAM工作頻率133MHz,由EP1C6自帶的PLL倍頻產(chǎn)生;AD模塊輸出的像素時鐘,由AD芯片內(nèi)部PLL產(chǎn)生,IIC模塊中的時鐘,由CPU產(chǎn)生。其中AD芯片輸出的時鐘根據(jù)不同的輸入圖像格式有比較大的變動范圍,從25-108MHz,而SDRAM的讀寫時鐘固定為133MHz。因此在這兩個不同頻率的時鐘之間必須加FIFO來同步,F(xiàn)IFO使用QuartusII軟件中提供的免費(fèi)IP核,通過使用FPGA內(nèi)部高速RAM來實(shí)現(xiàn)。
AD模塊負(fù)責(zé)與AD芯片的接口邏輯。前面已經(jīng)分析了圖像采集中同步的重要性,如果圖像中的某一行數(shù)據(jù)不完整,那么將影響到整個圖像。AD模塊通過AD芯片輸出的行場同步信號來實(shí)現(xiàn)圖像數(shù)據(jù)的同步,以AD芯片輸出點(diǎn)頻作為FIFO模塊的寫時鐘,行場同步信號的組合邏輯組成FIFO的寫使能。另外,由于模擬的VGA接口存在有行、場同步時間和行、場消隱時間,為了保證圖像采集的精度和完整,AD芯片要求把點(diǎn)頻設(shè)置為比實(shí)際有效點(diǎn)頻大20%-30%,因?yàn)樵贏D轉(zhuǎn)換后的圖像中行幅和場幅往往比實(shí)際圖像大,造成圖像有比較大的黑邊。如圖4所示。為了獲得準(zhǔn)確的圖像數(shù)據(jù),AD模塊設(shè)置了計(jì)數(shù)器可以過濾圖像起始的黑邊。其計(jì)數(shù)值可以通過IIC接口進(jìn)行設(shè)置。
SDRAM有多種不同長度的突發(fā)模式。在本設(shè)計(jì)中由于AD輸出的頻率最高接近110MHz,突發(fā)存儲的長度比較長,為了能保證數(shù)據(jù)能夠及時存儲,工作頻率為133MHz的SDRAM必須工作在整頁突發(fā)的模式,以達(dá)到最高的數(shù)據(jù)吞吐率。
為了提高通用性,本設(shè)計(jì)中把SDRAM接口轉(zhuǎn)換成ASRAM接口提供給主CPU,避免了SDRAM工作頻率和CPU外部時鐘不同時造成的SDRAM控制權(quán)切換的麻煩,提高對各種CPU的兼容性。ASRAM接口邏輯實(shí)現(xiàn)對CPU地址到SDRAM地址的映射及操作時序的轉(zhuǎn)換。主控制模塊產(chǎn)生相應(yīng)的SDRAM控制指令,控制SDRAM讀寫。SDRAM的操作對于CPU來說是透明的。
該采集系統(tǒng)也可對4路8bit的AD通道進(jìn)行采集,因?yàn)镕PGA內(nèi)部的AD邏輯模塊提供了32bit的接口,VGA采集方式只用了其中24bit。采用4路8bit模式時只需把前端AD部分做一些調(diào)整。
實(shí)際應(yīng)用
在中國船級社對船載航行數(shù)據(jù)記錄儀的性能要求中,要求船載航行數(shù)據(jù)記錄儀應(yīng)能連接到欲記錄其圖像的雷達(dá)顯示器的視頻緩存輸出,通過專用的雷達(dá)緩存輸出接口,數(shù)據(jù)記錄儀需記錄一系列單個和整屏的視頻幀。該要求設(shè)計(jì)的顯示器的分辨率應(yīng)在640×350到1280×1024之間,刷新率在60-85Hz之間。采用本設(shè)計(jì)可以完整實(shí)現(xiàn)該要求。
圖5所示為完整的雷達(dá)圖像記錄系統(tǒng)框圖。
總體上系統(tǒng)由本地端系統(tǒng)和遠(yuǎn)程系統(tǒng)兩大部分組成。本地端負(fù)責(zé)對雷達(dá)圖像的采集壓縮和存儲備份。遠(yuǎn)程系統(tǒng)保存雷達(dá)圖像的副本。本地系統(tǒng)由采集、處理、存儲傳輸3大部分組成。采集部分就是前文所述的以FPGA為核心的雷達(dá)圖像采集系統(tǒng)。處理部分采用TI公司C6000系列DSP作為系統(tǒng)的CPU。存儲傳輸部分主芯片則采用了Samsung公司的SOC芯片S3C2410。存儲體則采用了多片大容量的NAND Flash。
遠(yuǎn)程系統(tǒng)與本地系統(tǒng)中的存儲和傳輸部分一樣。它只負(fù)責(zé)對雷達(dá)圖像的存儲。
本地系統(tǒng)和遠(yuǎn)程系統(tǒng)通過485或者以太網(wǎng)相互通信。同時,本地系統(tǒng)和遠(yuǎn)程系統(tǒng)都提供了USB接口。在計(jì)算機(jī)上可以通過USB接口讀取設(shè)備中存儲的圖像,并對設(shè)備參數(shù)進(jìn)行設(shè)置。
本文介紹的高速圖像采集系統(tǒng)完整實(shí)現(xiàn)了預(yù)期的功能,能夠?qū)ψ罡叻直媛蕿?280×1024刷新率為60Hz的雷達(dá)圖像進(jìn)行采集,并通過ASRAM接口把圖像數(shù)據(jù)提供給CPU進(jìn)行后續(xù)處理。
該采集系統(tǒng)適用于嵌入式系統(tǒng)中,成功應(yīng)用于船載雷達(dá)數(shù)據(jù)記錄儀中,實(shí)現(xiàn)對雷達(dá)圖像的采集,通過了實(shí)際測驗(yàn)。主要性能如下:采集圖像分辨率從640×350到1280×1024可調(diào),刷新率從60-85Hz可調(diào),在15s采集一次的情況下可以保存24小時的雷達(dá)圖像,并可以通過USB接口在計(jì)算機(jī)上重現(xiàn)雷達(dá)圖像。
此外,本采集系統(tǒng)實(shí)現(xiàn)了對高速突發(fā)長度長的數(shù)據(jù)的采集,并提供了相對通用的控制和存取接口,使得該系統(tǒng)的應(yīng)用不僅僅局限于雷達(dá)圖像的采集。通過修改前端的AD模塊,該系統(tǒng)還能同時對4路位寬為8bit,采樣率最高位120MHz的AD通道進(jìn)行數(shù)據(jù)采集,使它適用于其他需要高速采集的場合中。具有較強(qiáng)的通用性。
評論
查看更多