【導讀】此方案主要由兩個部分組成:編碼板和解碼板的開發以及調試。目前,編碼板與解碼板可協同工作。編碼板的作用是完成拍攝數據的無損存儲和實時壓縮,而解碼板是完成壓縮數據的實時解碼和PC回放。
方案名稱:寬幅圖像存儲、壓縮與回放系統的研制與開發。
關鍵技術及創新點:
本項目關鍵技術之一是高速大容量存儲通道的設計,該設計摒棄了當前廣泛采用的由操作系統控制硬盤進行存儲的模式,轉而采用FPGA在硬件底層上直接對硬盤進行控制,同時輔以SDRAM作為大容量高速數據緩存,極大地提高了硬盤的存儲速率。本系統設計的另一亮點,即采用數據傳輸與數據壓縮并行工作的方式,實現壓縮碼流傳輸時間的復用,極大提高了系統效率。在該方式下,數據發送任務由FPGA實現,縮短了DSP在數據發送任務上的時間開銷,做到了圖像壓縮和數據傳送的并行操作,對相機拍攝間隔時間的縮短起到了主要的作用。
技術成熟性和可靠性:
在硬件設計上,本項目在設計之初便考慮了系統可靠性問題,對編碼板和解碼板采用鏡像設計方法,使得系統調試更為簡便,同時也增強了系統的可靠性。在軟件設計上,以FIFO為基礎的接口同步方案以及乒乓操作等數據緩存技術的使用,提高了軟件在數據處理方面的可靠性。同時,基于FPGA的SDRAM、ATA外圍存儲設備控制在本小組所在實驗室已是成熟技術。我們對系統連續進行200次拍照存儲壓縮試驗,所測數據完全正確,這從一個側面驗證了系統的可靠性。
方案基本功能框圖及描述:
1.數據存儲、壓縮和傳輸部分
① 數據存儲
寬幅圖像數據量龐大,單幅圖像約20MB,數據存儲介質采用ATA接口標準的固態硬盤。現行ATA接口標準在PIO模式下的存儲速率理論值為16.7MB/s,而CCD提供的數字接口速率約為25MHz,因此,系統采用SDRAM作為圖像緩存。在硬件結構上,SDRAM和硬盤均由FPGA控制,該模塊實現了一條完整的高速大容量存儲通道,可在2秒內完成單幅原始圖像數據的存儲。
② 數據壓縮
由于數據傳輸采用RS422接口,傳輸速率有限,不能直接將原始數據進行傳輸,因此需要進行圖像壓縮。系統采用專用JPEG2000壓縮芯片ADV202,在DSP控制下讀取硬盤數據,對圖像進行分塊壓縮。
③ 數據傳輸
數據傳輸采用RS422接口,傳輸速率2Mb/s,在圖像壓縮比10:1的情況下,單幅圖像壓縮碼流傳輸時間約8s。本系統采用數據傳輸與數據壓縮并行工作的方式,實現壓縮碼流傳輸時間的復用,極大提高了系統效率。在該方式下,DSP操做ADV202對圖像進行分塊壓縮,并將當前分割圖像壓縮數據快速傳達SRAM,隨后,FPGA操作SRAM從中讀出數據,并按RS422接口標準發送。事實上,在FPGA進行數據傳輸的同時,DSP已經開始下一分割圖像的壓縮。這其實是資源與速度互換原則的體現。
2.圖像回放部分
① 數據接收
數據接收主要由FPGA控制完成,有兩大任務,一是將有效數據從傳輸幀結構中提取出來,二是將壓縮圖像數據和系統參數數據分離。實現時,FPGA控制兩片SRAM乒乓操作實現壓縮數據的接收,其中每片SRAM負責存放一幅完整的圖像壓縮數據,保證輸入數據流和輸出數據流連續不斷,使得數據接收更加高效、穩定。
② 數據解壓
數據解壓部分整體上同數據壓縮部分成鏡像關系,采用專用的JPEG2000壓縮芯片ADV202,在DSP的控制下讀取存儲在SRAM中的壓縮圖像數據,對圖像進行分塊解壓。
③ 數據回放
數據回放部分主要通過PCI接口將圖像解壓數據和系統參數傳至PC進行顯示。PCI接口由PCI9054實現,在PCI局部總線端采用Scatter/Gather DMA模式接收數據。PCI DMA傳輸時序和DSP并不兼容,因此,同步數據接口采用FIFO存取方法,通過FPGA實現從DSP到PCI數據接收端口的時序轉化。
以FPGA為樞紐的硬件平臺開發需要FPGA具有豐富的IO引腳和足夠的邏輯資源。本項目在Spartan3系列的FPGA下進行開發,開發軟件包括ISE8.2,ChipScope以及ModelSim等。
小編推薦閱讀:
我愛快包——電子工程師的外快錢包