《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于ADSP21060和Virtex II的圖像處理系統(tǒng)設計

基于ADSP21060和Virtex II的圖像處理系統(tǒng)設計

2008-08-25
作者:王宇舟, 賈志宏, 李彥琴, 耿

  摘 要: 介紹一種基于ADSP21060和Virtex II的星載圖像處理系統(tǒng)" title="圖像處理系統(tǒng)">圖像處理系統(tǒng)。分析了圖像處理系統(tǒng)的功能和任務,給出了處理系統(tǒng)的硬件結構、FPGA的功能模塊、DSP的軟件框架和模塊。通過地面原理樣機開發(fā),驗證了系統(tǒng)設計的正確性和高效性。
  關鍵詞: ADSP21060 Virtex II 圖像處理系統(tǒng) 積分器 乒乓結構


  圖像處理系統(tǒng)多采用DSP陣列、DSP加FPGA/CPLD" title="FPGA/CPLD">FPGA/CPLD或單由FPGA/CPLD器件等方式構成。采用DSP陣列構成的圖像處理系統(tǒng),其優(yōu)點是處理功能可以通過軟件靈活修改,其缺點主要有功耗大、體積大、成本高;采用單由FPGA/CPLD等可編程器件構成的系統(tǒng),可以避免DSP陣列系統(tǒng)功耗大、體積大的缺點,并可以根據系統(tǒng)要求,在硬件構造上作靈活的配置,但對于復雜的算法,其設計復雜度急劇上升。正因為如此,當前很多設計選擇DSP加FPGA/CPLD的結構來構造圖像處理系統(tǒng)。本空間太陽望遠鏡星載圖像處理系統(tǒng),正是一種基于DSP和FPGA構造的圖像處理系統(tǒng)。本文討論了系統(tǒng)的功能任務、系統(tǒng)結構、FPGA設計的邏輯模塊、DSP的軟件結構和原理樣機的實驗結果。
1 圖像處理系統(tǒng)的功能和任務
1.1 系統(tǒng)的外圍接口
  系統(tǒng)的外圍接口如圖1。處理系統(tǒng)接收來自CCD單元的圖像數據和同步信號" title="同步信號">同步信號,同時向CCD單元提供復位、曝光開始、數據讀出等控制信號;CEU是一個管理機,管理和控制CCD單元、圖像處理單元和壓縮單元,CEU單元向圖像處理系統(tǒng)發(fā)送各種命令,如CCD標定、正常的觀測測試及觀測數據處理" title="數據處理">數據處理所需要的數據,如觀測模式、時間等;系統(tǒng)將處理完成的數據送到壓縮單元進一步壓縮。


1.2 系統(tǒng)的圖像處理任務
  圖像處理系統(tǒng)的任務是接收CCD傳來的圖像和同步信號,進行圖像積分、輻射校正、幾何校正、磁圖偏陣計算和圖像格式化,然后把數據送到壓縮單元進行壓縮。
  (1)圖像積分:也就是圖像的多幀疊加,其目的是提高信噪比和消除圖像的時間相關性以壓縮數據量??臻g太陽望遠鏡有三個觀測模式,分別是爆發(fā)模式、活動區(qū)模式和寧靜態(tài)模式。經計算,三種觀測模式下圖像積分的幀數分別是:4幀、24幀、240幀;每個模式又順次觀測六個分量,六個分量分別是:SV1、SV2、SQ1、SQ2、SU1、SU2。爆發(fā)模式的觀測時間是30s。30s的時間是這樣安排的:每個分量連續(xù)采集4幀,每秒一幀,然后1s進行偏振光學元件的切換,如此直到六個分量觀測完畢?;顒訁^(qū)模式由6個連續(xù)的爆發(fā)周期構成,觀測時間是3min;而寧靜態(tài)模式又是10次活動區(qū)模式周期構成,觀測周期是30min。
  (2)圖像的輻射校正:圖像由于受到大氣擾動、傳感器自身特性、宇宙射線等輻射的影響,圖像的質量會產生退化,必須進行輻射校正。主要考慮CCD的校正(暗流、偏置、平場)和條紋斑點的消除兩個方面。
  (3)圖像的幾何校正:圖像的幾何校正,成像過程中引起的幾何畸變的校正;由于系統(tǒng)或隨機因素造成圖像產生幾何畸變,必須進行校正。考慮圖像漂移的校正,采用相關技術,求出活動圖像相對于參考圖像的的漂移量,再采用線性內插累加的方式,實現漂移前后圖像的積分問題。根據太陽米粒的存活壽命,幾何校正只對寧靜模式觀測進行,并且是以3min作為校正時間間隔。
  (4)圖像的偏振計算:空間太陽望遠鏡主要進行太陽磁場測量,磁圖的偏振歸算也是重要任務之一。磁場圖像的歸算還可以是數據量壓縮1.5倍。
  (5)圖像格式化:給圖像加上圖像頭,應包括:儀器號、時間、觀測模式、觀測分量等。
2 圖像處理系統(tǒng)設計
2.1 系統(tǒng)結構

  系統(tǒng)的硬件結構框圖如圖2。FPGA中的硬件模塊,包括積分單元、多路" title="多路">多路開關單元、兩個SDRAM控制器和串口控制器。DSP的所有總線都伸入到FPGA內部。存儲器由兩個SDRAM單元和一個SRAM單元構成,SRAM只供DSP使用。系統(tǒng)接收CCD傳來的圖像,在積分單元進行圖像積分,積分就緒的圖像再由DSP進行輻射校正、幾何校正、偏振計算和圖像格式化等操作,最后通過DSP的片上串口將圖像送到壓縮單元。通過串口單元系統(tǒng)與管理機單元通信,接受管理和控制。由于圖像積分與DSP的數據處理、數據傳送是同時并行進行的,因此積分器和DSP必須采用相互獨立的存儲區(qū)。為了避免圖像在積分器和DSP的存儲區(qū)之間來回進行圖像傳送,在設計中采用多路開關進行存儲區(qū)乒乓方式切換。


2.2 FPGA邏輯模塊
  FPGA內部設計的邏輯模塊主要包括圖像積分單元、通路選擇單元、異步通用串口(UART)單元、兩個SDRAM控制和其它附加邏輯。下面分別介紹各塊的結構,由于SDRAM控制器和串口單元(UART)均采用IP核實現,這里不作詳細介紹。
2.2.1 積分單元
  積分單元主要完成如下功能:(1)按給定的時序接收CCD的圖像,并保存在寄存器中;(2)積分地址產生;(3)存儲器控制;(4)積分操作;(5)積分擴展位清零,當每個分量的第一幀圖像接收時,無須積分,但必須把存儲器的高位(積分擴展位)清零,其它情況不必清零;(6)每幀圖像積分結束,產生Irq信號中斷DSP,以便由DSP進行工作安排。
  積分單元的邏輯框圖如圖3,其輸入輸出如下:(1)CCD輸入數據(CCD data),同步信號——點同步(ps)、行同步(ls)、幀同步(fs);(2)DSP數據、地址和控制總線,irq是積分單元發(fā)給DSP的中斷信號;(3)與存儲器連接的數據、地址和存儲器控制總線——data, mctrl, addr;(4)控制CCD的信號線——reset、start、read。
  圖3充色的方框是DSP存儲器地址映射的寄存器,用于對積分單元進行控制和對DSP數據處理狀態(tài)進行標識;無充色的方框則是積分單元的硬件結構,從CCD送來的數據通過數據寄存器(OP1),作為寄分的第一個操作數,從存儲器送來的數據通過數據寄存器(OP2)作為積分的第二個操作數;從CCD送來的同步信號,送到幀內地址發(fā)生器,作為地址產生信號,并生成存儲器需要的控制信號;CCD送來的OP1被寄存,同時產生地址從內存中取出要進行積分的操作數OP2,然后在點同步信號的下降沿,進行積分運算并存回存儲器。

?


2.2.2 多路開關單元
  多路開關單元如圖4所示。本單元的功能是完成積分總線INT bus和DSP bus與SDRAM1和SDRAM2乒乓連接結構的切換。切換包括三大總線:數據、地址和控制總線。切換通過一位切換控制信號實現,控制信號是DSP地址映射的一個一位寄存器,由DSP控制乒乓切換。
2.3 DSP軟件結構
  軟件部分包括系統(tǒng)軟件框架和各處理軟件模塊、中斷服務程序等;程序的流程和數據處理控制,都依賴于由DSP地址映射的寄存器的狀態(tài)。
2.3.1 DSP在FPGA中的存儲器映像寄存器及其作用
  這一組寄存器都是在FPGA中實現的。作業(yè)(指令)采用16位寄存器,由于DSP地址空間較大,為了方便編程,寄存器不采用拼位的方法。系統(tǒng)的工作受CEU的控制。CEU發(fā)送過來的指令格式如圖5(a),其中DT表示CEU傳來的數據類型,00表示數據、01表示觀測指令、10表示CCD標定、11表示自測。接收時,若是命令則直接寫到JOB或放入命令隊列;若是數據,根據類型存放到相應的位置。Parameters是各種工作狀態(tài)參數,如待機/自測要求的參數、測試的要求(內容、測試選擇)、響應信息要求、觀測模式和次數、CCD標定要求的參數、標定的內容等,以便于DSP查看。


  如圖5(b),當CEU送來命令DT=01時,即為觀測命令。觀測作業(yè)的格式如:00表示無作業(yè)待機、01表示觀測指令、10表示CCD標定、JT=11表示自測;mode是當前觀測模式標志,001表示爆發(fā)模式、010表示活動區(qū)模式、100表示寧靜模式;Observ_Num是連續(xù)觀測同一種模式的次數標志。
  (1)作業(yè)類型寄存器(JOB):標識系統(tǒng)工作內容(作業(yè)類型),如CCD標定、觀測、自測試等;(2)模式寄存器(MODE):標識觀測的模式,爆發(fā)模式、活動區(qū)模式、寧靜模式;(3)觀測次數寄存器(OBSN):用于保存一次作業(yè)的觀測次數;(4)寧靜態(tài)的觀測次數寄存器(RESTN):只用于寧靜模式的觀測,當為寧靜態(tài)模式時,用它來標志3min觀測的次數;(5)幀計數器(FRMN):用于計數爆發(fā)模式、活動區(qū)模式及寧靜模式下的前24幀圖像,以便用于高位清零信號生成和地址高位生成;(6)SW電路控制寄存器(SWCTRL):控制多路開關的切換;(7)reset寄存器(FRST):用于DSP控制FPGA中INT單元的時序邏輯復位,每次觀測結束,必須復位一次;(8)清零標識寄存器(ZERO):由DSP根據FRMN的值修改它,以實現高位的清零任務;(9)分量寄存器(COMPO):由DSP根據FRMN的值修改它,以實現高位地址的形成;(10)作業(yè)結束寄存器(END):當一個作業(yè)結束時,用次寄存器進行標志,以便將程序的PC跳到作業(yè)檢查入口;(11)數據狀態(tài)寄存器(DAST):DSP存儲區(qū)數據狀態(tài)標識:沒有數據、爆發(fā)模式的待處理數據、活動區(qū)模式的待處理數據、寧靜模式的待處理數據、寧靜模式處理好數據及待送出數據等。DSP根據數據狀態(tài)和觀測模式,可以進行相應的處理;(12)相關數據狀態(tài)(CORR):標識相關運算用的數據的狀態(tài)。
2.3.2 DSP的存儲器空間分配
  DSP的SYSCON寄存器的15~12位(MSIZE),可以設置以MS0~MS3作為片選信號時,每個分組的空間大小。其公式為:MSIZE=log2(塊大小)-13;取每個塊的大小為16MB,因此MSIZE=1011。
  ·片內空間:0000,0000H~0007,FFFFH;
  ·MS0——數據空間:0040,0000H~13F,FFFFH;數據是倒序放置的,最后一個單元放第一個數據;其中:
  SQa:40,0000~5F,FFFF    SQb:60,0000~7F,FFFF
  SUa:80,0000~9F,FFFF    SUb:a0,0000~bF,FFFF
  SVa:c0,0000~dF,FFFF    SVb:e0,0000~fF,FFFF
  Rest2m:100,0000~11F,FFFF unused:120,0000~13F,FFFF
  ·MS1——SRAM空間:140,0000H~23F,FFFFH;
  ·MS2——CCD參數:240,0000H~33F,FFFFH;放置暗流、偏置和平場圖像3幀2048×1024圖像;
  ·MS3——未使用:340,0000H~43F,FFFFH;
  ·未分組空間:4040,0000~FFFF,FFFF所有存儲器映射的寄存器。
2.3.3 DSP的軟件結構
  DSP的主程序框架如圖6。系統(tǒng)初始化后,進行作業(yè)查詢,根據查詢結果,進行相應的處理任務(CCD標定、自測試、觀測)。圖6中僅以觀測作業(yè)為例進行說明。進入觀測后,首先由DSP對積分單元作相應的設置,設置完成后,積分器開始單獨地積分工作;DSP接著查詢本次觀測是否結束,若結束回到作業(yè)查詢,否則判斷存儲器中數據的狀態(tài),根據數據狀態(tài),進行相應的處理;處理就緒的數據根據FLAG0的標志,可以向壓縮單元傳送數據。三種模式下的圖像處理程序流圖如圖7,圖7中ccdst( )是圖像輻射標定子程序,format()是格式化子程序,內插運算采用線性內插方法,相關運算采用FFT和逆FFT方法。


  除了主程序和數據處理程序外,DSP還有一個重要的中斷子服務,就是積分單元每幀圖像積分完畢的中斷服務程序,其流程框圖如圖8。它根據積分的圖像幀數和觀測模式,判斷觀測是否結束,根據不同的情況設置積分器中相應的寄存器,這些寄存器控制著積分器的工作行為和DSP的數據處理方法。圖8中參考圖像和活動圖像的獲取是在采集到的2048×1024圖像的中心,獲取256×256的子塊,也就是說,相關運算是在兩幀256×256的圖像之間進行的;對于圖像傳送操作,考慮到寧靜模式的數據處理,要求的存儲器比爆發(fā)和活動區(qū)模式要大一倍。為了不把存儲器設計得太大,對于寧靜模式,不再采用乒乓存儲器切換的結構,而是在數據就緒時,利用光學儀器調整的1s時間,將積分就緒的圖像傳到DSP的工作區(qū)內。

?


3 樣機研制和實驗結果
  原理樣機的研制過程中,DSP器件是AD公司ADSP21060,開發(fā)平臺采用VisualDSP2.0。FPGA器件選用Xilinx公司100萬門的Virtex II系列器件,開發(fā)平臺采用ISE6.2。已完成的地面樣機達到了合同的要求。用DSP硬件仿真器對樣機作了軟硬件測試,首先對各接口進行了測試,在保證數據可以正確地接收和發(fā)送后,測試系統(tǒng)的功能。這些測試均在一個專門開發(fā)的地面支持系統(tǒng)測試平臺上進行。經過單元測試,再與其它單元接在一起進行系統(tǒng)級的聯調和系統(tǒng)級測試。結果表明達到設計目標,可以按要求完成系統(tǒng)的各項功能。
參考文獻
1 中科院國家天文臺.德國馬普高層大氣研究所. SST A相報告[R] . 北京:國家天文臺, 1997;1(2):1~30.
2 中科院國家天文臺, 德國航空宇航研究所. SST評估研究報告[R]. 北京:國家天文臺, 1997;30~36.
3 王宇舟.單片FPGA圖像預處理系統(tǒng)的設計與實現. 微型機與應用,2004;23(4)
4 李廣軍,孟憲元. 可編程ASIC設計及應用. 成都:電子科技大學, 2000
5 北京理工大學ASIC研究所. VHDL語言100例詳解[M].北京:清華大學出版社,1999
6 劉書明, 羅軍輝. ADSP SHARC系列DSP應用系統(tǒng)設計[M]. 北京:電子工業(yè)出版社, 2003

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。