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