李 斌,張會新
(中北大學(xué)a.電子測試技術(shù)國家重點實驗室;b.儀器科學(xué)與動態(tài)測試教育部重點實驗室,山西 太原030051)
責(zé)任編輯:魏雨博
隨著空間探測技術(shù)的發(fā)展和生活應(yīng)用中數(shù)字化時代的到來,人們對數(shù)字圖像信息的需求量越來越大,以圖像處理、圖像數(shù)據(jù)傳輸和存儲為重要組成部分的信息技術(shù)取得了快速的發(fā)展。在空間遙測領(lǐng)域圖像信息包括的內(nèi)容豐富、圖像細膩,在經(jīng)過采集裝置轉(zhuǎn)化后形成的數(shù)字量巨大,所以在進行圖像數(shù)據(jù)處理時需要大容量的存儲器和很寬的數(shù)據(jù)傳輸帶寬[1]。然而,在某些無線遙感領(lǐng)域,比如星載遙測和雷達圖像采集等領(lǐng)域,圖像采集的精度高、數(shù)據(jù)量大,采集器本身無法長時間的實時存儲和處理這些大批量的數(shù)據(jù),需要將數(shù)據(jù)傳輸至地面處理,這就需要一種高效的圖像信息傳輸方式。這種傳輸一方面可以將采集器采集到的數(shù)據(jù)進行實時接收存儲,另一方面還可以在采集器空閑時將已經(jīng)存儲的采集數(shù)據(jù)以較低的速度傳至地面。這就有效地解決了圖像采集設(shè)備短時間內(nèi)大量數(shù)據(jù)的傳輸問題,在無線傳輸和遙測采集領(lǐng)域具有廣闊的應(yīng)用前景。本文依靠現(xiàn)有技術(shù)設(shè)計了一種可接收、存儲和轉(zhuǎn)發(fā)圖像數(shù)據(jù)的系統(tǒng),該系統(tǒng)具有處理速度快、設(shè)計靈活性高、有可配置性和可重構(gòu)性的特點[2]。
本系統(tǒng)主要由圖像數(shù)據(jù)采集轉(zhuǎn)發(fā)裝置、地面測試臺及上位機軟件組成。圖像數(shù)據(jù)采集轉(zhuǎn)發(fā)裝置主要完成兩路圖像數(shù)據(jù)的接收、緩存、編幀和轉(zhuǎn)發(fā);地面綜合測試臺主要負責(zé)兩路圖像信號源的提供,以及對裝置的功能及狀態(tài)的測試,并完成對轉(zhuǎn)發(fā)數(shù)據(jù)的接收和上傳上位機處理;配套上位機軟件主要完成轉(zhuǎn)發(fā)圖像數(shù)據(jù)的存儲、顯示和準(zhǔn)確性分析。圖像數(shù)據(jù)采集轉(zhuǎn)發(fā)系統(tǒng)的連接關(guān)系如圖1所示。
圖1 系統(tǒng)連接框圖
如圖2所示,整個裝置電路部分由LVDS接收模塊、基于FPGA的嵌入式SOPC控制系統(tǒng)、數(shù)據(jù)緩存模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊4個部分組成。LVDS圖像數(shù)據(jù)接收模塊使用專用解串芯片,實現(xiàn)串行圖像數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),并存儲到相應(yīng)的圖像緩存中[3]。因系統(tǒng)接收圖像數(shù)據(jù)速率遠大于下發(fā)圖像速率,即數(shù)據(jù)輸入大于數(shù)據(jù)輸出,為了保證單幅圖像數(shù)據(jù)連續(xù)18幀不丟失,單路圖像數(shù)據(jù)緩存的容量至少應(yīng)為18幀圖像的數(shù)據(jù)量。主存儲模塊使用2片容量為32 Mbit的高速PSRAM以保證圖像數(shù)據(jù)的緩存。嵌入式的SOPC軟核是整個系統(tǒng)的中央處理器,控制完成圖像數(shù)據(jù)的解串、編幀、緩存、轉(zhuǎn)發(fā)及其他輔助時序。數(shù)據(jù)轉(zhuǎn)發(fā)模塊需要連續(xù)不間斷地進行數(shù)據(jù)轉(zhuǎn)發(fā),所以系統(tǒng)設(shè)計中采用內(nèi)部FIFO進行轉(zhuǎn)發(fā)數(shù)據(jù)的速率匹配,保證當(dāng)系統(tǒng)正在接收另外一路圖像數(shù)據(jù)時或者在處理其他操作時,下發(fā)數(shù)據(jù)仍然可以無縫傳輸。系統(tǒng)在接收數(shù)據(jù)和將數(shù)據(jù)傳輸至FPGA處理之間進行了隔離,隔離前后采用了不同的電源供電。數(shù)據(jù)轉(zhuǎn)發(fā)模塊在地面測試時與地面測試臺連接,測試臺通過USB將數(shù)據(jù)上傳上位機實現(xiàn)數(shù)據(jù)分析與驗證。
圖2 電路設(shè)計原理框圖
SOPC(可編程的片上系統(tǒng))的硬件系統(tǒng)是指可以完成嵌入式處理器系統(tǒng)搭建的硬件結(jié)構(gòu)。由于整個SOPC系統(tǒng)包括很多模塊,在系統(tǒng)運行時需要大量的程序和數(shù)據(jù)存儲空間,而FPGA內(nèi)部的空間資源在系統(tǒng)設(shè)計中十分寶貴,所以將SOPC系統(tǒng)放在單獨的存儲空間內(nèi)運行。Altera公司的SOPC提供的專用IP核中有SRAM控制器和SDRAM控制器。因此系統(tǒng)設(shè)計時,在FPGA外圍設(shè)計了作為SOPC軟核處理器內(nèi)存的硬件結(jié)構(gòu)SRAM和SDRAM。SRAM和SDRAM在嵌入式系統(tǒng)中經(jīng)常作為程序存儲器或者數(shù)據(jù)存儲器使用,在軟核運行時可以將處理器的程序和數(shù)據(jù)分別放在SRAM和SDRAM中,SRAM和SDRAM的電路如圖3所示。
圖3 SRAM和SDRAM電路設(shè)計
在接收圖像數(shù)據(jù)時,要求接收時鐘與工作時鐘嚴(yán)格同步,而SOPC系統(tǒng)在實現(xiàn)數(shù)據(jù)時鐘同步和接收速度等方面存在不確定性,所以本系統(tǒng)設(shè)計了接收單幅圖像數(shù)據(jù)的前段緩存。由于Altera公司的二代NiosⅡ處理器是基于32位操作系統(tǒng)的,為了不浪費資源和便于同處理器在圖像轉(zhuǎn)存時直接操作,在單幅圖像的緩存設(shè)計上優(yōu)先考慮使用32位的存儲介質(zhì),或者對16位的存儲介質(zhì)并行擴展。從兩類單幅圖像的數(shù)據(jù)量來看,圖像1最大數(shù)據(jù)量為320×240×16 bit的圖像連續(xù)18幅,即320×240×16 bit×18約為2 700 kbyte,圖像2最大數(shù)據(jù)量為320×230×8 bit的圖像連續(xù)8幅,即320×230×8 bit×8約為575 kbyte。按最大單幅數(shù)據(jù)量計算,如果采用雙片存儲介質(zhì)并行擴展設(shè)計,要求單片存儲量不小于1 350 kbyte,并且要求存儲速度時間不大于125 ns。按以上要求本文選用容量為2 M×16 bit的偽靜態(tài)隨機存取存儲器(Pseudo SRAM,PSRAM)RMP216MAAF芯片[4]。
PSRAM的寫時序如圖4所示,由WE信號控制寫操作時,CS信號為低,ZZ信號為高,當(dāng)WE信號為低電平時可以在地址總線的觸發(fā)下實現(xiàn)數(shù)據(jù)的寫入。在設(shè)計中采用字節(jié)寫入的方式,所以LB和UB信號全部為低電平。
PSRAM的讀時序如圖5所示,由地址信號控制讀操作時,CS信號為低,ZZ信號為高,OE信號為低,WE信號為高,在地址信號的觸發(fā)下實現(xiàn)數(shù)據(jù)的讀出。在設(shè)計中采用字節(jié)讀出的方式,所以LB和UB信號為低電平。
本文采用2片PSRAM對圖像數(shù)據(jù)的接收進行并行位寬擴展,這樣就形成了2 M×32 bit容量的單幅圖像數(shù)據(jù)接收端,遠大于任務(wù)要求的最大單幅圖像數(shù)據(jù)量。在LVDS解串器將圖像數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)后,F(xiàn)PGA控制邏輯將相鄰每兩個圖像數(shù)據(jù)合并成一個32位的數(shù)據(jù)寫入PSRAM,在一幅圖像數(shù)據(jù)接收完畢后,中間會間隔3~5 s,在這段時間內(nèi)NiosⅡ處理器會將PSRAM中的圖像數(shù)據(jù)轉(zhuǎn)存至SDRAM中,然后PSRAM再準(zhǔn)備接收第二幅圖像數(shù)據(jù)。數(shù)據(jù)在SDRAM中的存儲是按幀存儲的,在轉(zhuǎn)存圖像數(shù)據(jù)的同時,處理器也在連續(xù)不斷地將SDRAM中的圖像數(shù)據(jù)編幀后轉(zhuǎn)發(fā)至FIFO中。在接收完第二幅圖像后會間隔60 s,這時處理器有足夠的時間完成第二幅圖像的轉(zhuǎn)存和兩幅圖像數(shù)據(jù)的轉(zhuǎn)發(fā)[5]。圖像數(shù)據(jù)如上所述循環(huán)接收,數(shù)據(jù)緩存接收電路連接如圖6所示。
本系統(tǒng)軟件的關(guān)鍵技術(shù)是NiosⅡ軟核程序設(shè)計[6]。軟核程序設(shè)計是在NiosⅡIDE環(huán)境中編寫C語言程序,并結(jié)合軟核外部VHDL模塊完成圖像數(shù)據(jù)的緩存、編幀和轉(zhuǎn)發(fā)[7]。軟核程序流程如圖7所示。
圖7 軟核程序流程圖
NiosⅡ處理器在上電復(fù)位以后,首先進行初始化,然后進入轉(zhuǎn)發(fā)模式,判斷SDRAM中有無圖像數(shù)據(jù),若有將轉(zhuǎn)發(fā)有效數(shù)據(jù),否則轉(zhuǎn)發(fā)自檢數(shù)據(jù);然后再進入轉(zhuǎn)存模式,判斷PSRAM中一幅圖像是否接收完畢,若接收完畢,根據(jù)圖像的類型和這幅圖像的總幀數(shù),進行逐幀轉(zhuǎn)存至SDRAM,否則等待圖像接收完畢。整個過程中處理器程序在連續(xù)不斷地判斷,所以程序的功能是在圖像轉(zhuǎn)存和圖像轉(zhuǎn)發(fā)模式中不斷地切換。
如圖8為計算機終端顯示的轉(zhuǎn)發(fā)圖像數(shù)據(jù),圖9為上位機處理后還原出的圖像。測試結(jié)果顯示,接收數(shù)據(jù)正確無誤,還原圖像清晰完整。
圖8 轉(zhuǎn)發(fā)圖像數(shù)據(jù)(截圖)
圖9 圖像還原(截圖)
本文圍繞遙測圖像采集系統(tǒng)中圖像數(shù)據(jù)的傳輸、接收、存儲和轉(zhuǎn)發(fā)展開研究,提出了采用嵌入式處理器NiosⅡ作為主控制器的設(shè)計方案。結(jié)合實際數(shù)據(jù)存儲應(yīng)用要求,研究了大容量高速PSRAM的存儲特點,采用了并行位寬擴展的數(shù)據(jù)存儲方式,實現(xiàn)了高速圖像數(shù)據(jù)的大容量緩存。測試結(jié)果表明系統(tǒng)工作穩(wěn)定、性能可靠,具有一定的實用性。
[1]王玉峰.基于SOPC的圖像采集處理系統(tǒng)設(shè)計[D].吉林:東北電力大學(xué),2008.
[2]孟令軍,彭晴晴.陣列存儲在遙測圖像采集系統(tǒng)中的應(yīng)用[J].電視技術(shù),2011,35(8):65-67.
[3]陳昱同.基于LVDS的高速遠程測試系統(tǒng)設(shè)計[D].太原:中北大學(xué),2008.
[4]彭晴晴,孟令軍.基于NiosⅡ的PCI Express接口卡的設(shè)計[J].計算機測量與控制,2012(2):523-525.
[5]葛保建.基于SOPC的軟硬件協(xié)同設(shè)計平臺的研究與實現(xiàn)[D].武漢:武漢科技大學(xué),2008.
[6]陳志星.基于NiosⅡ的視頻采集系統(tǒng)設(shè)計[D].武漢:武漢理工大學(xué),2010.
[7]郭錚,劉文怡,馮妮.基于FPGA多通道高速數(shù)據(jù)采集存儲器設(shè)計[J].電視技術(shù),2012,36(17):55-57.