文獻標識碼: A
文章編號: 0258-7998(2014)01-0013-03
激光光通信系統中,通信鏈路成功建立主要是由激光通信設備中的APT系統完成的。APT系統利用光電圖像傳感器攝取視頻信號,送入圖像處理單元進行處理和分析,計算目標光斑在每一幀的坐標偏移,控制天線軸的姿態(tài),進而實現通信終端雙方自動瞄準、捕獲和跟蹤。但激光通信環(huán)境復雜,容易受到各種干擾造成跟蹤失敗[1]。目前消除干擾的傳統做法是提高跟蹤帶寬,即利用高幀頻圖像處理設備提高采樣頻率。因此本文提出了一種以高性價比的定點DSP與FPGA芯片作為系統控制單元,以LUPA-300 COMS圖像傳感器作為光電探測單元設計并實現了一套高幀頻激光光斑采集設備。該系統利用LUPA-300靈活的開窗功能,不但滿足粗跟蹤高像素的要求,而且還可以通過開窗降低圖像傳感器的有效像素,提高幀頻率,達到精跟蹤對速度的要求,在激光通信中具有很高的實用價值。
1 系統硬件設計
系統設計的難點在于高速圖像的獲取并在最短的時間內完成圖像的處理。為此,系統選用了LUPA-300高速COMS圖像傳感器作為高速圖像獲取單元實現高速圖像的采集。該款圖像傳感器最大速率為80 Mb/s,在面陣輸出有效像素640×480時,幀頻可達到250 f/s。支持開窗功能,通過3線SPI接口對圖像傳感器進行靈活配置,在窗口面積為128×128時幀頻更可高達3 790 f/s[2]。同時選取高性價比的DSP處理芯片TMS320C6413實現圖像處理工作。該處理器是TMS320C64X系列定點DSP控制器,集成了多個功能單元,可同時執(zhí)行8條指令,其運算能力可達到3 200 MIPS,特別適合用于通信、醫(yī)療和圖像處理設備中。
另外,為了方便控制圖像傳感器,圖像傳感器采集的圖像信息還需要正確地傳輸到DSP中,以實現圖像采集與圖像處理并行運行。圖像傳感器的控制要求控制單元必須有大量的I/O口,如圖像傳感器啟動信號、時鐘信號、幀有效信號和行有效信號等。同時這些控制功能的實現要求系統具有高度的并行性,所以系統還搭載了一塊FPGA。這里采用Xilinx公司Spartan-3AN系列的XC3S200AN,該芯片能提供了256路的I/O口,內部還嵌入大量的Block RAM,可以滿足系統的需要。針對這一設計,給出系統的總體原理框圖如圖1所示。
2.1.2 TMS320C6413中EDMA模塊參數配置
利用EMDA后臺傳輸數據的能力,在不影響或基本不影響CPU處理速度的情況下,做并行數據傳輸[4]。系統中EDMA通道4用來搬移異步緩沖器中的圖像數據到TMS320C6413芯片內存中。為了滿足系統的需要,對EDMA模塊其進行了如下配置:主控寄存器OPT配置為0x1a00060;ESIZE=00b傳輸元素的字長為32 bit,SUM=00b源地址固定不變,DUM=01b按照目的地址元素大小更新,FS=1b事件用作幀同步。其中寄存器控制域的含義可以查閱相關手冊,源地址寄存器0xb0000000,目的地址寄存器0x20400,傳輸計數寄存器0x4000。
2.1.3 TMS320C6413讀取數據過程分析
FPGA每采集完一幀圖像數據,異步緩沖器FIFO根據滿標志位通過DSP外部中斷引腳4觸發(fā)EDMA通道4搬移一幀圖像數據。根據EDMA配置,EMDA通道4在每一個中斷信號產生后搬移一幅128×128 B的圖像數據,通道4完成一幀圖像搬移后等待下一個中斷信號的到來,繼續(xù)搬移圖像數據。EMDA正是通過這種方式使得系統在基本不降低CPU處理圖像數據性能的情況下,實現了連續(xù)圖像數據搬移的工作。
2.2 LUPA-300圖像傳感器控制部分
系統中對LUPA-300圖像傳感器的控制工作是由FPGA完成的。對圖像傳感器的控制需要完成圖像傳感器相應的定制和圖像傳感器的啟動工作。
2.2.1 圖像傳感器的定制
系統上電后,為了使圖像傳感器滿足系統不同的工作的需要,通常需要對圖像傳感器做相應的定制工作。圖像傳感器的定制方式是,由FPGA中的SPI模塊通過圖像傳感器的3線SPI接口按照實際需要,對圖像傳感器里的16個16 bit的寄存器寫入相應的值。為了實現FPGA中SPI模塊的正確通信,完成圖像傳感器的正確配置還需模擬圖像傳感器SPI接口工作時序圖[5]。圖3中SDATA數據線在時鐘信號SCLK的驅動下每傳輸完16 bit數據,SEN就輸出一個高電平完指示一個寄存器的配置。重復此過程,直至16個寄存器配置完成,實現圖像傳感器的定制工作。
2.2.2 圖像傳感器的啟動
圖像傳感器配置完成后,圖像傳感器要實現圖像采集工作(光電轉換)還需要一個啟動時序對其進行啟動。圖像傳感器啟動工作相對簡單,FPGA里面的啟動模塊只需要在圖像傳感器引腳RESET_N給一個至少持續(xù)500 ns的低電平后,將RESET_N拉高就實現了圖像傳感器的啟動工作。
2.2.3 FPGA緩存圖像數據
FPGA通過數據采集模塊來完成對圖像傳感器的數據進行采集并緩存到異步FIFO中等待TMS320C6413的讀出,數據采集模塊主要通過判斷圖像傳感器的幀有效信號(LUPA-300引腳FRAM_VALID)和行有效信號(LUPA-300 引腳LINE_VALID)確定何時對LPUA-300圖像傳感器的DATA<0..7> 8個引腳輸出的數據進行采集(系統只利用了LUPA-300信號線的低8位)。FPGA中的數據采集模塊對圖像傳感器的數據采集工作流圖如圖4所示。
其中,緩沖器的作用由兩個功能完全相同、容量為128×128 B的異步FIFO完成。當圖像傳感器幀有效信號(LUPA-300引腳FRAM_VALID)和行有效信號(LUPA-300引腳LINE_VALID)同時為高電平時,代表LUPA-300圖像傳感器輸出數據有效,FPGA通過數據采集模塊將圖像傳感器轉換的圖像數據緩存到異步FIFO中。在圖像數據緩存開始時,首先判斷FLAG是否為偶數,如果是則將圖像數據緩存到FIFO2中,否則緩存到FIFO1中。一幀圖像數據緩存完成后FLAG加1,圖像采集模塊等待下一幀圖像數據有效準備緩存數據。設計兩個緩沖器的目的在于將圖像數據的存(寫緩沖器動作)與圖像數據的取(讀緩沖器的動作)分開,以提高系統的處理速度。當TMS320C6413讀出FIFO1緩沖器的數據時, FPGA里的數據采集模塊正向FIFO2寫數據。當FIFO2寫完成后,數據采集模塊通過TMS320C6413外部中斷引腳4發(fā)送中斷信號通知EMDA讀取圖像數據到TMS320C6413內存中,緩沖器讀寫操作交替進行。
3 系統測試和分析
程序下載完畢后,利用ISE自帶的Chipscope軟件測試各模塊工作時序是否滿足要求。TMS320C6413 芯片主頻為406.425 6 MHz,EMIF以6分頻時鐘(67.737 6 MHz)通過TMS320C6413 AECLOCKOUT2引腳提供給FPGA,經過FPGA時鐘管理模塊再次分頻到19.353 6 MHz提供給LUPA-300圖像傳感器作為圖像傳感器的時鐘源。在這里系統利用AECLOCKOUT2時鐘引腳作為TMS320C6413訪問FPGA中異步緩沖器的同步時鐘信號。TMS320C6413芯片通過EMIF接口以讀同步FIFO的方式讀出圖像數據,通過自帶的Chipscope軟件對EMIF模塊的實際工作時序進行測試得到如圖5所示時序圖,其中采樣時鐘信號為TMS320C6413芯片AECLOCKOUT2引腳提供的時鐘源。圖5中,通過分析可得,TMS320C6413與FPGA通信的數據速率約為197 Mb/s,其計算過程如式(1)所示:
參考文獻
[1] 盧寧,柯熙政,張華.自由激光通信中APT粗跟蹤研究[J].紅外與激光工程,2010,39(5):943-949.
[2] 楊會玲,楊會偉,王軍.基于PCI Express總線的高幀頻COMS相機圖像采集系統設計[J].電子技術應用,2009,35(4):91-97.
[3] 馬漢波,顏鋼鋒.基于DSP和FPGA的多軸運動控制系統設計[J].電子技術應用,2013,39(3):34-36.
[4] 代少升,袁祥輝.DMA在實時圖像中的應用[J].重慶大學學報,2003,26(12):22-24.
[5] 康寧,王元慶.基于FPGA+DSP的人民幣圖像鑒別平臺設計[J].電子技術應用,2012,38(12):20-22.