文獻標識碼: A
文章編號: 0258-7998(2014)09-0027-03
中文引用格式:段志堅,金湘亮.基于FPGA的新型TOF圖像傳感器驅動設計[J].電子技術應用,2014,40(09):27-29+33.
TOF(Time-of-Flight)方法即飛行時間法,其基本原理為光源向目標場景不斷發(fā)射調制過的紅外測量光線并開始計時,光束到達被測物體后發(fā)生反射,有一部分光線按原路徑返回并被探測器接收,此時停止計時。根據光的飛行時間,結合飛行速度即可計算出光源與被測物體之間的距離[1]。
由于傳統(tǒng)的成像系統(tǒng)提供的都是二維的信息,當使用計算機處理和分析這些圖像、標記和追蹤感興趣目標時,無法獲得物體間的前后關系,使得計算機無法理解其相互關系[2],而基于3D-TOF傳感器的攝像系統(tǒng)則輕易解決了這個機器視覺領域的傳統(tǒng)難題,TOF攝像機可直接提供詳細的空間位置關系。與傳統(tǒng)的成像設備相比較,TOF攝像系統(tǒng)能夠很方便地區(qū)分出場景中的前景與后景,從而可以完成復雜目標物體的三維形態(tài)重建,通過掃描設備,能夠以視頻幀速率獲取數量等于傳感器像素的距離數據,進而判斷目標實時姿態(tài)[3]。采用CMOS工藝和普通LED光源,可以使設備以較低成本生成,有廣泛普及的潛力,三維TOF傳感器主要應用在機器人、安全監(jiān)控、多媒體交互、人機接口、測量等領域[4]。
1 3D-TOF圖像傳感器結構和工作時序分析
1.1 新型3D-TOF芯片簡介
PMD PhotoICs 19K-S3是德國PMD公司的一款3D TOF傳感器芯片,也是第一個商業(yè)化的Time-of-Flight 芯片,能夠同時獲取實時的深度和灰度信息,其精度高,功耗低,讀出時鐘能夠達到15 MPixel/s;最大幀率為80 f/s;集成背景光抑制(SBI)功能;所有的復位時序、曝光時序和讀出時序的控制端口都由外部電路提供,增加了設計自由度;提供ROI功能;片上調制驅動;由SPI總線配置,能準確計算出距離信息;在160×120的分辨率下,檢測距離為2 m[5],典型的分辨率能夠達到毫米級別。其結構如圖1所示。
該傳感器主要由像素陣列、模擬輸出以及控制單元三部分組成。其中像素陣列大小為160×120,TOF圖傳感器陣列小的原因是這個傳感器的單個像素面積要比傳統(tǒng)的二維圖像傳感器大;模擬輸出部分能夠同時輸出3個列信號,支持SPI總線配置寄存器,寄存器的配置方式決定了讀出方式是移位寄存器讀出方式還是ROI(Region of Interest)讀出方式。
1.2 工作時序分析
傳感器的總體工作時序如圖2所示,可以看出,得到一幀的深度信息所需要的步驟分為復位、曝光和讀出3步。復位過程主要通過Reset信號與Hold信號來實現,Hold信號為全局保持信號,此信號為低時收集電子,高電平時把每個讀出節(jié)點(readout node)的積分電容斷開,從而達到保持積分時間段里收集的電量值的功能。
TOF傳感器的不同之處在于多了一個相位解調的過程,如圖3所示。Modsel信號為FPGA發(fā)給傳感器的調制信號,其頻率最高可以達到80 MHz。在控制器發(fā)出調制信號Modsel的同時,FPGA還需要給中心波長為850 nm的近紅外LED光源同樣頻率的調制信號,只是這兩個信號之間有一定的相位差,解調相位需要4次曝光的過程,如圖3所示,4次曝光的兩個調試信號的相位差分別為0°、90°、180°以及270°,每次曝光后都會得到一個電量值。經過A/D轉換后,利用式(1)得出最終的距離值d[6]:
其中c為光速, fmod為調制頻率,典型的調制頻率為20 MHz時,理論上的量程為15 m。
圖3 相位測量示意圖
移位寄存器讀出方式如圖4所示。讀出時序由行控制信號與列控制信號組成,end_r與end_c信號為同步信號,用于數據后續(xù)的存儲操作。從圖中可以看出,選中一行后,能同時讀出3列信號,每讀完一行,end_r出現一個脈沖,表明一行讀完,讀完最后一個像素,end_c出現的脈沖就意味著一幀數據已經讀完。
圖4 移位寄存器讀出方式時序
2 FPGA時序設計與仿真
傳感器是整個采集系統(tǒng)的核心,而傳感器的正常工作與否取決于外部信號是否是嚴格按照它的驅動時序提供的,這就需要一個控制器來完成這部分的工作。本文采用FPGA與Verilog語言設計TOF圖像傳感器的驅動時序,最終目的是得到正確的數據以供后面用于距離的計算。
PMD PhotoICs 19K-S3圖像傳感器在進行正常的深度圖像采集時總共需要13個控制信號,這13個控制信號全部都由位于控制板上的FPGA芯片產生。按照自頂向下的設計方法,這些時序設計按照功能可以分為兩個模塊,即參數配置模塊、像素陣列曝光讀出控制模塊。
由于得到一個場景的深度數據需要根據調制信號依次曝光4次,而曝光一次又需要依次分復位、積分、移位讀出3個過程,為了便于控制,把其中的每個過程都分配為有限狀態(tài)機(FSM)中的一個狀態(tài),即:reset,integration以及readout 3個狀態(tài),其狀態(tài)轉換圖如圖5所示,復位曝光以及讀出方式的流程圖如圖6、圖7所示。通過對基本時鐘進行計數,確定狀態(tài)轉換的條件。
圖6 復位曝光流程圖
圖7 寄存器讀出方式流程圖
狀態(tài)圖中的狀態(tài)轉換都由各自狀態(tài)中的計數器得到,計數器的計數參考時鐘是外部100 MHz的晶振時鐘輸入,20 MHz的調制信號通過PLL分頻得到。
3 仿真與數據處理結果
將設計好的所有模塊結合在一起,構成了傳感器完整的驅動程序,用ModelSim 6.5SE進行仿真,其結果如圖8所示。由圖9所示的PC上計算得到的距離信息可以看出傳感器能正確地把光信號轉變成距離信息,所設計的時序符合TOF傳感器控制的要求。
圖8 ModelSim仿真結果
圖9 上位機上顯示采集到的深度數據
本文的設計驗證用到的FPGA芯片是Xilinx公司的Sartan 3系列,設計的時序通過仿真驗證后加載到FPGA中,經過一定的處理后,能夠得到如圖9所示的深度數據。為了驗證數據的正確與否,把這些數據在MATLAB顯示,其結果如圖10所示,能夠驗證時序設計的正確性。程序設計中利用同步時鐘控制全局電路的思想[7],避免競爭與冒險,提高了程序的可靠性;采用模塊化的設計思想,提高程序的可重用性和可移植性,狀態(tài)機的設計方法提高了程序運行的穩(wěn)定性。
圖10 深度數據三維重建結果
參考文獻
[1] SPICKERMANN A,DURINI D,ULFIG W.CMOS 3-D image sensor based on pulse modulated time-of-flight principleand intrinsic lateral drift-field photodiode pixels[C].IEEE Eur.Solid-State Circuits Conference,2011:111-114.
[2] 丁津津,張旭東,高雋.基于TOF技術的3D相機應用研究綜述[J].儀器儀表學報,2010,31(8):1-2.
[3] 潘華東,王其聰,謝斌,等.飛行時間法三維成像攝像機數據處理方法研究[J].浙江大學學報,2010,30(6):9-12.
[4] 王煥欣.新型光電測距與三維成像技術研究[D].合肥:中國科技大學,2009.
[5] PMDTechnologies GmbH.Novel Pixel Architecture with Inherent Background Suppression for 3D Time-of-Flight Imaging[R].SPIE,2005:130-147.
[6] FRANK M,PIAUE M,RAPP H,et al.Theoretical and experimental error analysis of continuous-wave time-of-flight
range cameras[J].Optical Engineering,2009,48(7):32-45.
[7] 吳征,蘇淑靖.基于FPGA+PWM的多路信號發(fā)生器設計[J].電子技術應用,2014,40(3):38-40.