康亞林,郭 杰,吳 迪,肖明艷,傅 霖
(云南師范大學物理與電子信息學院,昆明 650500)
機載光電觀瞄成像裝置是一種安裝在航空器上,并具有導航、目標搜索、瞄準以及穩(wěn)定跟蹤等功能的光電系統(tǒng),相較于普通成像裝置,工業(yè)航空觀瞄成像裝置往往面臨著更加復雜和更加嚴酷的工作環(huán)境,圖像采集系統(tǒng)的性能要求越來越高[1]。早期的工業(yè)航空觀瞄成像裝置很多都是采用CCD 圖像傳感器,由于受到半導體制造工藝水平的限制,CMOS圖像傳感器的性能指標均低于CCD 圖像傳感器的性能指標。但是近年來,CMOS 圖像傳感器以其開發(fā)周期短、功耗小,尤其是高幀頻高分辨率的特點成功進軍工業(yè)、監(jiān)控、航天等領(lǐng)域[2]。電子元器件國產(chǎn)化替代對國防和信息安全建設具有重要意義,特別是依賴進口的航空航天裝備領(lǐng)域。
本文采用國產(chǎn)CMOS 圖像傳感器HT50A、國產(chǎn)可編程邏輯器件T120,設計了機載光電觀瞄成像裝置系統(tǒng)的硬件電路,并編寫了控制軟件。
機載光電觀瞄成像裝置系統(tǒng)主要包括三部分:圖像傳感器模塊、信息處理模塊和Camera-Link接口模塊。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
采用海圖微電子有限公司的HT50A 圖像傳感器。HT50A 是一款2/3 型5 兆像素高分辨率CMOS圖像傳感器,在2464(H)*2048(V)的全分辨率下,幀速率高達61.9 fps。HT50A 圖像傳感器分別需要用到數(shù)字電源1.2 V、模擬電源3.3 V、I/O 數(shù)字電源1.8 V。注意供電的電源要進行充分的解耦,防止噪聲干擾[3]。設計的時候數(shù)字部分電源和模擬部分電源要分開。電源芯片選用線性穩(wěn)壓器LDO,靜態(tài)電流小、電壓穩(wěn)定、輸出紋波小、負載響應快,最重要的是外圍電路簡單。
CMOS圖像傳感器的快門模式由系統(tǒng)所使用的傳感器特性決定,主要分為全局快門和卷簾快門兩種模式[4]。全局快門同時曝光傳感器網(wǎng)格中的所有像素,因此最終數(shù)字圖像的每個像素都是在同一時刻捕獲的。卷簾式快門在第一行曝光結(jié)束后,立即開始讀出數(shù)據(jù),數(shù)據(jù)完全讀出后,下一行開始讀出數(shù)據(jù)。因此卷簾快門的第一行和最后一行像素的捕獲之間存在時間差,這意味會發(fā)生由于使用卷簾快門而導致的移動物體或場景的圖像失真或模糊。全局快門傳感器通常比卷簾快門傳感器尺寸更大、更感光。
本文選用的這款傳感器具有全局快門像素,高分辨率ADC和高速讀數(shù)。滿足智能交通系統(tǒng)、機器視覺和工業(yè)檢測等應用中的高性能和高分辨率要求。
如圖2所示,TXDN0/TXDP0-TXDN7/TXDP7是HT50A的8對LVDS信號通道;TXCP1/TXCN1是隨同8 對信號數(shù)據(jù)的時鐘,即CMOS 輸出的圖像數(shù)據(jù)和時鐘信號;HSYNC 和VSYNC 是CMOS輸出的行場信號;I2C_SCL、I2C_SDA 是I2C 配置圖像傳感器所需要的信號。
圖2 圖像傳感器硬件電路圖
Camera-Link 接口模塊主要包括一個驅(qū)動器和一個接收器。接收器一共需要接收包括1 路LVDS 時鐘信號和4 路LVDS 數(shù)據(jù)信號,然后將傳輸?shù)膱D像數(shù)據(jù)流轉(zhuǎn)換成28 位的CMOS/TTL 并行數(shù)據(jù)和1 位時鐘信號[5]。驅(qū)動器總共需要驅(qū)動5路LVDS數(shù)據(jù)流,其中這5路LVDS數(shù)據(jù)流包括1路專用的LVDS時鐘信號傳輸通道和以7∶1方式串行化的4路LVDS 數(shù)據(jù)流。因此,驅(qū)動器接收端只需要接受28 位單端的數(shù)據(jù)信號和1 位單端的時鐘信號。但是這樣就會占用FPGA的大量IO 管腳和布線資源,不利于機載光電觀瞄成像裝置的低成本和集成化?;诖耍疚囊訤PGA 作為主控芯片,利用FPGA 內(nèi)部資源OSERDES 實現(xiàn)Camera-Link 并串轉(zhuǎn)換模塊。值得注意的是在差分信號之間需要100 Ω 的差分阻抗匹配設置。
根據(jù)實際應用場景使用要求的不同,視頻傳輸模式包括以下三種配置模式:Full 模式、Medium 模式和Base 模式。在Base 傳輸模式下,發(fā)送器可以達到在每一個像素時鐘里發(fā)送24 bits的圖像數(shù)據(jù)和4 bits 的圖像使能信號。Base 模式的最大傳輸速度為2.0 Gb/S @ 85 MHz 。在Medium 傳輸模式下,發(fā)送器能夠發(fā)送36 bits 的圖像數(shù)據(jù)和4 bits 的圖像使能信號在每一個像素時鐘里。Medium 模式的最大傳輸速度為4.8 Gb/S @ 85 MHz 。在Full 傳輸模式下,發(fā)送器可以發(fā)送64 bits 的圖像數(shù)據(jù)和4 bits 的圖像使能信號在每一個像素時鐘。Full模式的最大傳輸速度為5.4 Gb/S@85 MHz。需要根據(jù)觀瞄成像裝置系統(tǒng)輸出的數(shù)據(jù)量的大小來決定使用哪一種配置的傳輸模式,本文所選用的CMOS 圖像傳感器的型號為HT50A,在Normal 工作模式下,本次設計寄存器配置的輸出數(shù)據(jù)位寬12 bit,輸出數(shù)據(jù)格式為RAW 格式,圖像總像素點為2464*2048,輸出圖像大小為1024*768,幀頻可選擇為30幀每秒或60幀每秒,選擇8通道輸出,像素時鐘頻率為78.5 MHz,輸出圖像數(shù)據(jù)量為225 Mbps,故對于圖像視頻數(shù)據(jù)流的接收,選擇Base模式即可滿足。硬件接口如圖3所示。
圖3 Camera-Link接口連接硬件電路圖
信息處理模塊架構(gòu)為FPGA+DDR3+FLASH?,F(xiàn)場可編程門陣列FPGA為易靈思科技有限公司的T120。DDR3 存儲器為西安紫光國芯半導體有限公司的SCB5H1G160AF-13KI。FLASH 為北京兆易創(chuàng)新科技股份有限公司的GD25Q64。
相對于DSP 來說,F(xiàn)PGA 片內(nèi)有大量的邏輯門和觸發(fā)器,硬件集成度高、規(guī)模大、運算效率高;軟件數(shù)據(jù)處理速度快,可以實現(xiàn)更復雜的時序邏輯設計,并進行多次重復程序編程。
信息處理模塊主要需要1.2 V、1.8 V、1.5 V和3.3 V 供電。選用DC-DC 開關(guān)穩(wěn)壓器,經(jīng)濾波后得到的電壓干凈、效率高、帶負載能力強、瞬態(tài)反應比較快。
硬件電路圖如圖4和圖5所示。
圖4 FPGA模塊硬件原理圖
圖5 DDR+FLASH模塊硬件電路圖
圖6 頂層設計結(jié)構(gòu)圖
在本次系統(tǒng)設計中,通過FPGA 內(nèi)部分頻器產(chǎn)生時鐘(SCLK),輸入到圖像傳感器CMOS以便可以進行數(shù)據(jù)同步傳輸,圖像數(shù)據(jù)(SDATA)在FPGA 與CMOS 圖像傳感器之間進行雙向傳輸,同時調(diào)試各種參數(shù)。配置模式選擇主從模式,即配置CMOS 圖像傳感器為從設備,F(xiàn)PGA 為主設備。I2C 控制模塊主要是應用處理器向圖像傳感器中的指定寄存器寫入指定數(shù)據(jù),同時應用處理器從圖像傳感器中讀取某些控制和狀態(tài)數(shù)據(jù)。HT50A 通過I2C 通信協(xié)議接口配置內(nèi)部寄存器,對其進行初始化操作[6]。表1為部分寄存器地址和設置值。
配置的時序圖如圖7 所示,圖8 是I2C 總線的時序仿真圖,仿真結(jié)果完全符合HT50A 手冊上的I2C通信接口寫時序圖。
圖8 I2 C總線仿真時序圖
經(jīng)過串并轉(zhuǎn)換模塊輸出的圖像數(shù)據(jù)需要存儲在DDR3 SDRAM 芯片中,因此就需要設計DDR 控制模塊用來實現(xiàn)對DDR3 的讀寫操作,如圖9所示。在本設計系統(tǒng)中,為了進一步降低軟件開發(fā)難度,增加設計系統(tǒng)的穩(wěn)定性,F(xiàn)PGA與DDR3進行圖像數(shù)據(jù)信息交互所需接口信號是通過調(diào)用IP 核產(chǎn)生的。DDR 控制單元模塊設計通過直接例化MIG 生成新的時鐘單元模塊和DDR 核,wr_ddr3_fifo 模塊設計用來對DDR 進行寫操作,rd_ddr3_fifo 模塊設計用來對DDR 進行讀操作。用戶邏輯首先將圖像數(shù)據(jù)寫入到數(shù)據(jù)FIFO 中,接著再將命令信息寫入到命令FIF0中,這種寫入圖像信息的方式被稱為DDR 寫操作[7]。用戶邏輯要先將命令信息寫入到命令FIF0 中,然后才能將圖像數(shù)據(jù)讀出來,這種讀出圖像數(shù)據(jù)的方式被稱為DDR 讀操作。因此DDR 在進行讀操作時,它的地址必須要和寫操作的地址保持一致。
圖9 DDR讀寫控制流程
串口通信模塊主要用于設置機載光電觀瞄成像裝置的控制參數(shù),主要包括自動曝光、對比度和增益等[8]。
波特率產(chǎn)生器:即需要產(chǎn)生一個時鐘頻率與對應波特率時鐘頻率相同的時鐘信號。例如:當選擇系統(tǒng)時鐘為50 MHz、波特率為115200 bp時,此時波特率產(chǎn)生器需要產(chǎn)生一個模為434的計數(shù)器。
422通訊:以一位低電平標志開始,傳輸八位數(shù)據(jù)位,然后以一位高電平標志結(jié)束。它的發(fā)送模塊和接收模塊可以選擇共用一個波特率產(chǎn)生器。
串口通信的硬件原理圖如圖10 所示,仿真時序圖如圖11所示。
圖10 通訊模塊硬件電路圖
圖11 422通信仿真時序圖
FPGA 采集到所需要的圖像數(shù)據(jù)后,首先要在其內(nèi)部的RAM 中緩沖一下再進行輸出,由于數(shù)據(jù)量很大,為了防止出現(xiàn)數(shù)據(jù)錯亂,影響數(shù)據(jù)傳輸?shù)臏蚀_性,故需要進入DDR3進行數(shù)據(jù)緩沖,最后通過Camera-Link 端口傳遞圖像數(shù)據(jù)到顯示屏成像。
CMOS圖像傳感器的圖像數(shù)據(jù)輸出時序如圖12所示,當幀同步信號(VSYC)電平位低時,正常輸出數(shù)據(jù),即VSYC默認高電平有效。
圖12 圖像傳感器數(shù)據(jù)(LVDS)輸出時序圖
利用DALSA 圖像采集卡來采集輸出的圖像,通過圖像采集軟件可以明顯觀察到此觀瞄成像裝置系統(tǒng)的幀頻為30 fps 和60 fps,輸出圖像的分辨率大小為1024*768,可實時觀察到圖像并且無任何卡頓。如圖13和圖14所示。
圖13 分辨率1024*768(30 fps)
圖14 分辨率1024*768(60 fps)
通過以上的圖片測試,我們可以看出:本次基于FPGA的機載光學觀瞄成像裝置系統(tǒng)設計是可行的,通過驗證在圖像傳感器支持的像素大小和幀率范圍,此次設計輸出圖像大小和幀率可通過寄存器的配置進行調(diào)整,同時也可以進一步加入圖像處理算法來增強圖像質(zhì)量,具有較高的實用性,滿足現(xiàn)實的需求。
本文設計的基于FPGA的機載光電觀瞄成像裝置系統(tǒng),以可編程邏輯器件FPGA作為核心控制器,通過I2C 總線協(xié)議配置圖像傳感器HT50A的寄存器,F(xiàn)PGA 通過同步時鐘信號(包括幀同步信號、行同步信號,以及像素時鐘信號)能夠準確地采集到sensor_data 口輸出的數(shù)據(jù),然后將采集到的圖像數(shù)據(jù)先在DDR3內(nèi)進行數(shù)據(jù)緩存后再通過Camera-Link 端口傳遞到顯示屏成像。通過測試驗證了所設計系統(tǒng)的硬件可行性,系統(tǒng)穩(wěn)定可靠,設計符合預期目標。機載光電觀瞄成像裝置系統(tǒng)的軟件配置都是通過FPGA進行的,后期也可以將圖像處理算法移植到該機載光電觀瞄成像裝置系統(tǒng)軟件中,如邊緣檢測算法、圖像濾波算法、自動白平衡算法等,具有比較高的實用性。