文獻標識碼: A
文章編號: 0258-7998(2012)06-0024-03
全景圖像實時處理系統(tǒng)可以獲取周圍方向上的場景圖像,可廣泛應用于軍事偵察,、視頻監(jiān)控,、機器人視覺等領域[1]。
對于高分辨率折反射全景圖像處理系統(tǒng),,如果按照分辨率為2 048×2 048,、幀率為15 f/s、每個像素為8 bit的灰度來計算,,相機的數據吞吐量為480 Mb/s,。在圖像采集、緩存,、解算以及顯示輸出過程中,,需要選擇合適的算法進行大量的計算,一般單獨的處理器組成的嵌入式系統(tǒng)很難完成高分辨,、實時性的圖像快速采集[2],,因此需采取多個并行嵌入式處理器結構完成折反射全景成像處理[3-4]。
本文利用并行嵌入式處理結構,,設計了基于FPGA和DSP的雙核全景圖像處理系統(tǒng),。主要包括基于FPGA的SDRAM控制器設計以及采用雙SDRAM在乒乓模式下輪流存儲采集圖像的策略,實現了高速全景圖像的存儲,。在FPGA與DSP之間建立合理的握手機制,,避免在同一時刻對同一個SDRAM進行讀和寫;設計了DSP與FPGA通信接口,,實現了二者之間的高速數據通信,。本系統(tǒng)為后續(xù)算法處理提供了更加充足的時間裕度,,為高速實時圖像處理提供了堅實的基礎。
1 全景圖像處理系統(tǒng)結構
DSP+FPGA構成的高分辨率折反射全景圖像處理系統(tǒng)的結構如圖1所示,。由Camera Link 接口的CCD相機采集的灰度圖像數據經過LVDS串并轉換芯片轉換,,在FPGA的控制下,完成圖像的采集,通過FPGA進行乒乓緩存操作,,64 bit SDRAM控制器完成對緩存器的突發(fā)式讀寫控制,,為整個系統(tǒng)提供高速緩存器;FPGA利用DSP的EMIF接口將已經存儲的圖像數據以DMA方式傳送給DSP,,DSP接收數據后完成全景圖像柱面展開,、分割識別等算法;DSP再通過EMIF接口把數據以DMA方式傳送回FPGA,;利用FPGA把數據寫入到緩存器中,,最后發(fā)送到顯示器進行顯示。
2 乒乓緩存模式下SDRAM控制器的設計及實現
2.1 SDRAM控制器的結構設計
SDRAM控制器的結構組成包括:系統(tǒng)控制接口模塊,、命令接口與解析模塊,、刷新模塊、操作信號生成模塊,、數據通路模塊,。其中,系統(tǒng)控制接口模塊用以接收系統(tǒng)的控制信號從而產生相應的CMD命令組合,;命令接口與解析模塊用以接收CMD命令解碼并生成相應操作指令,;操作信號生成模塊用以接收操作指令,并根據相關時序生成對SDRAM的操作信號,;數據通路模塊用以控制數據流的方向以及產生有效的數據輸入輸出,;刷新模塊包含在命令接口與解析模塊中用以產生刷新以及自動刷新邏輯。
2.1.1 系統(tǒng)控制接口模塊
該模塊包含初始化進程以及系統(tǒng)指令分析機制,。初始化進程要完成對SDRAM器件和SDRAM控制器的初始化,,以保持SDRAM控制器與外部SDRAM器件的工作模式匹配[5]。初始化完成后,,系統(tǒng)的指令分析機制就可以接收并且分析外部數據,、地址、控制信號以及從命令接口與解析模塊返回的命令響應信號(CMDACK),,從而以此產生對應的CMD命令和SADDR地址信息給命令接口與解析模塊,。此外,SADDR是分時復用的,,在初始化階段SADDR用來傳輸用戶設定的工作模式控制字,而正常讀寫操作中,,SADDR又可作為分時復用的地址線傳輸SDRAM所需要的row、column以及Bank地址,。
2.1.2 命令接口與解析模塊
此模塊對由系統(tǒng)控制接口模塊接收到的CMD命令進行判斷并解碼,,其輸出就是發(fā)送給下一級即操作信號生成模塊的操作指令,。同一時刻只允許輸出一個有效操作指令。該模塊中含有模式寄存器用來預設控制器的模式參數,,為控制提供具體的依據,。
2.1.3 操作信號生成模塊
此模塊根據命令接口和解析模塊發(fā)送過來的操作指令,按照SDRAM讀寫時序規(guī)范產生操作動作以及相應的操作信號,。程序中,,CMD命令WRITEA和READA是實際上隱含了ACTIVE命令的WRITE和READ,,它的實際工作過程是:當該模塊收到do_write或do_read指令后,,其反饋給命令接口及解析模塊的CMDACK置為1,表示響應命令標志,,同時發(fā)出ACTIVE激活操作,;緊接著產生一個延時動作,經過初始化時配置規(guī)定的CAS Latency延時時間后再進行寫或讀操作,。
2.1.4 數據通路模塊
此模塊在OE信號控制下,,保持數據的輸入輸出和相應的操作指令在時序上同步,并且根據SDRAM器件的時序參數加入一定的延時以滿足宏觀的時序符合數據手冊的要求,。當OE=1時,,數據由控制器經過DQ引腳寫入SDRAM器件;當OE=0時,,數據由SDRAM器件的DQ引腳讀入到控制器,。
2.2 乒乓緩存模式
將輸入數據流通過輸入數據選擇單元實時地分配到兩個數據緩存區(qū)。分別利用兩組SDRAM作為乒緩存器和乓緩存器,,使用“空間換取時間”的方法,,使兩組緩存器在同一時間分別作為讀和寫的緩存,達到并行的目的,。
在乒狀態(tài)時,,乒乓操作控制器向SDRAM B中寫入數據,與此同時從SDRAM A中讀取狀態(tài)交換之前已經存入的數據,;在乓狀態(tài)時,,乒乓操作控制器向SDRAM A中寫入數據,同時從SDRAM B中讀取狀態(tài)交換之前已經存入的數據,,同時乒乓操作控制與其他的采集,、算法和顯示模塊進行數據交換。乒乓緩存結構如圖2所示,。
2.3 SDRAM控制器實現及時序仿真
SDRAM控制器實現:SDRAM控制模塊與FPGA端的SDRAM存儲器相連,,以FullPage模式從FPGA端的SDRAM存儲器中高速讀寫數據;觸發(fā)FullPage的REFRESH的命令,,既保證數據不丟失,,也能保證刷新的完成,。在發(fā)出FullPage命令以后,必須給出一段空操作的延時或讀操作,。時序仿真分別如圖3,、圖4、圖5所示,。
3 DSP與FPGA的數據通信
為了提高數據傳輸的吞吐量,,DSP與FPGA之間使用DMA方式進行數據傳輸[6],每次突發(fā)傳輸一行圖像數據,,使傳輸速率最大化,。DSP采用EMIF接口,EMIF數據接口可以配置為多種傳輸方式并且可以DMA傳輸,,而且是無縫接口,。由于DSP與FPGA是跨時鐘域系統(tǒng),所以必須利用FPGA做好跨時鐘域處理,,使用FIFO作為接口進行數據緩存,。
FPGA將采集到的數據經過預處理之后以64 bit的數據寬度開始向DSP傳送,同時FPGA通過發(fā)出脈沖沿觸發(fā)DSP外部中斷管腳來觸發(fā)DSP的全局中斷,。全局中斷觸發(fā)EDMA把外部數據傳送給DSP內部的RAM,,當EDMA(接收)傳輸完成后,DSP的EDMA傳輸事件管理器會觸發(fā)“EDMA傳輸完成中斷”,,此時DSP可以進行相應的算法處理并且將處理后的目標數據存放到內部RAM中,;然后再觸發(fā)EDMA(發(fā)送)數據傳輸,通過EMIF數據接口將處理后的數據傳回給FPGA,。數據流向示意圖如圖6所示,。
DSP與FPGA之間傳輸數據通信速率為100 MHz,傳輸一行圖像數據時間為2.56 ?滋s(傳回仍然為2.56 ?滋s),。由于前端每一行數據的采集時間為30.85 ?滋s,,留給處理每行數據的算法時間為25.73 ?滋s,因此,,在DSP的算法程序必須使用效率更高的線性匯編,,才能滿足時間冗余度。
4 系統(tǒng)實現及結果
實驗采用ALTERA公司的CycloneII系列的EP2C35-F672-8 FPGA以及2片Hynix公司的32 bit SDRAM HY57V283220LTP-7,,其中電路板由直流穩(wěn)壓源供電,。由2 048×2 048的4百萬像素,每秒15幀的Camera Link 接口的CCD相機采集得到的灰度圖像數據經過LVDS差分串行信號轉并行芯片DS90CR288A進行轉換,,FPGA通過該控制器進行整頁突發(fā)寫操作將圖像數據寫入到SDRAM A器件中,。在乒乓緩存作用下,控制器將進行突發(fā)讀操作,,將SDRAM B中的圖像數據通過DMA方式與DSP進行數據交換,。DSP接收數據后完成全景圖像解算,,然后將數據通過DMA方式傳送回FPGA,最后再將數據經過LVDS并行轉串行轉換芯片DS90C385A轉換為Camera Link信號,輸出到Camera Link接口的液晶顯示器上,,以1 024×768的分辨率進行實時顯示,。實驗采集的全景圖如圖7所示。
本文設計了一種基于DSP+FPGA的全景圖像處理系統(tǒng),,該系統(tǒng)設計的高效的64 bit SDRAM控制器完成了對緩存器的突發(fā)式讀寫控制,,以解決由于高分辨率和高幀率導致的數據傳輸速率高,以及必須給算法的解算預留足夠時間的問題,;通過FPGA進行乒乓緩存操作,,系統(tǒng)提供了高速緩存器,保證了DSP與FPGA協(xié)調地并行工作,,解決了某些要求連續(xù)不間斷的時序要求,;設計了用于DSP與FPGA通信的FPGA端接口模塊和DSP端接口程序,。調試結果表明,,系統(tǒng)可以穩(wěn)定可靠地完成高分辨率全景圖像的采集、緩存,、處理和顯示,。
參考文獻
[1] NAYAR S K.Catadioptric omnidirectional camera[C]. Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition.San Juan.PR:IEEE Press,1997.
[2] 陳立棟,,張茂軍,,王煒,等.異構雙核的高分辨率折反射全景高速處理系統(tǒng)[J].電子與信息學報,,2009,,31(4):822-826.
[3] 譚志剛.全景環(huán)形成像的嵌入式DSP處理研究[D].杭州:浙江大學,2005.
[4] Yan Luxin,,Zhang Tianxu,,Zhong Sheng.A DSP+FPGA-based parallel architecture for real-time image processing[C].Proceedings of the 6th World Congress on Intelligent Control and Automation,Dalian,,China,,Jun.21-23,2006:10022-10025.
[5] 曹華,,鄧彬.使用Verilog實現基于FPGA的SDRAM控制器[J].今日電子,,2005(1):53-55.
[6] 李樂,熊志輝,,王斌,,等.DSP+FPGA折反射全景視頻處理系統(tǒng)中雙核高速數據通信[J].電子與信息學報,2010,,32(3):649-654.