岱 欽,毛有明,吳凱旋,吳 杰,李業(yè)秋
(沈陽理工大學(xué) 理學(xué)院,遼寧 沈陽110159)
脈沖激光測距因其測量精度高、測量距離遠(yuǎn)、抗干擾能力強(qiáng)等特點(diǎn)被廣泛的應(yīng)用于國防、航天、測繪等領(lǐng)域[1]。時(shí)間間隔的測量精度是提高脈沖激光測距精度的決定性因素之一[2],現(xiàn)有的時(shí)間間隔測量方法主要有數(shù)字計(jì)數(shù)法、模擬法、插值法[3]。文獻(xiàn)[3]提出了使用三角波參考信號實(shí)現(xiàn)時(shí)間間隔測量的方法,借鑒了插值法的思想,克服了模擬法測量范圍受限的缺點(diǎn)。文獻(xiàn)[4]通過調(diào)整延時(shí)芯片和機(jī)械位移產(chǎn)生的電信號的延時(shí)時(shí)間,確定光到達(dá)目標(biāo)所需的時(shí)間,來提高激光測距精度。數(shù)字法可以實(shí)現(xiàn)對微小時(shí)間間隔的精確測量[5],但測量范圍較小;數(shù)字插入法在脈沖激光測距中精度最高,如延遲線插入法具有測量范圍大、測量精度高的優(yōu)點(diǎn)[6],延遲線插入法既可以使用專用芯片實(shí)現(xiàn)也可使用FPGA 內(nèi)部的專用進(jìn)位鏈產(chǎn)生延遲單元[7],影響延遲線插入法測量精度的因素有很多,包括延遲單元的內(nèi)部結(jié)構(gòu)[8]、工作電壓和溫度,當(dāng)FPGA 內(nèi)部延遲線跨越多個LE資源時(shí),延遲單元的非線性更加明顯,難以在低成本FPGA 上實(shí)現(xiàn)線性較好的延遲單元。
與FPGA 延遲線插入法相比,TDC-GP21內(nèi)部的延遲線的延遲時(shí)間嚴(yán)格統(tǒng)一,線性度較高,雙精度模式的測量精度達(dá)45ps,并且通過校準(zhǔn)測量可以補(bǔ)償由于溫度和工作電壓對測量結(jié)果的影響,減小了系統(tǒng)的非線性誤差,系統(tǒng)的積分非線性度<0.1LSB,差分非線性度<0.8LSB。
論文設(shè)計(jì)了基于FPGA 和TDC-GP21的高速精密時(shí)間間隔測量系統(tǒng),通過FPGA 控制TDC完成了時(shí)間間隔測量和校準(zhǔn)補(bǔ)償;設(shè)計(jì)了時(shí)刻鑒別模塊減小了回波信號的漂移誤差;進(jìn)行了時(shí)間間隔測量和激光測距實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明系統(tǒng)線性度較好,可以快速測量微小時(shí)間間隔,能夠在短時(shí)間內(nèi)得到大量精準(zhǔn)的數(shù)據(jù)。
系統(tǒng)時(shí)間間隔測量原理如圖1所示,待測時(shí)間間隔可以表示成Tc=Ts+nTd-Te。
其中nTd為參考時(shí)鐘CLK 的周期數(shù),Ts和Te為觸發(fā)信號與計(jì)數(shù)脈沖CLK 的上升沿之間的時(shí)間差。
圖1 時(shí)間間隔測量原理圖Fig.1 Diagram of time interval measurement
系統(tǒng)通過配置TDC-GP21進(jìn)行校準(zhǔn)測量,對測量環(huán)境進(jìn)行實(shí)時(shí)監(jiān)測,補(bǔ)償由于溫度和電壓變化引起的測量誤差,減小了系統(tǒng)的非線性誤差,校準(zhǔn)測量原理圖如圖2所示。
圖2 校準(zhǔn)測量原理圖Fig.2 System block diagram of calibration
首先通過內(nèi)部延遲單元測量時(shí)間間隔,然后測量外部基準(zhǔn)時(shí)鐘周期T1和T2;最后由TDCGP21內(nèi)部的ALU 單元根據(jù)T1和T2對測量結(jié)果進(jìn)行校準(zhǔn),校準(zhǔn)結(jié)果RES_X 和待測時(shí)間間隔Time表示為如下公式:
其中:RES_X 是32位校準(zhǔn)結(jié)果,是基準(zhǔn)時(shí)鐘的倍數(shù),高16 位為整數(shù),低16 位為小數(shù),CLKSDIV是外部基準(zhǔn)時(shí)鐘Tref的分頻數(shù),系統(tǒng)通過配置CLKSDIV 調(diào)整測量范圍,通過FPGA 構(gòu)建高速乘法器完成后續(xù)數(shù)據(jù)處理。
設(shè)計(jì)以Cyclone II系列FPGA 作為核心控制單元,以TDC-GP21的測量流程為基礎(chǔ)構(gòu)建時(shí)間間隔測量系統(tǒng),系統(tǒng)方框圖如圖3所示。
圖3 時(shí)間間隔測量系統(tǒng)方框圖Fig.3 Diagram of time interval measurement system
首先由FPGA 通過SPI通信模塊對TDC 進(jìn)行配置及初始化,然后產(chǎn)生驅(qū)動脈沖觸發(fā)激光二極管發(fā)射激光窄脈沖信號,并以此脈沖信號作為TDC的開始信號,當(dāng)TDC 收到回波信號后對測量值進(jìn)行校準(zhǔn)測量和ALU 校準(zhǔn),最后將測量結(jié)果存到結(jié)果寄存器中并產(chǎn)生中斷。
FPGA 接收到TDC的中斷標(biāo)志后,系統(tǒng)讀取TDC的狀態(tài)寄存器并判斷TDC 的狀態(tài),當(dāng)TDC溢出時(shí),終端顯示TDC 溢出信息,程序返回初始化階段;當(dāng)待測時(shí)間間隔滿足系統(tǒng)測量范圍時(shí),F(xiàn)PGA 讀取結(jié)果寄存器,然后返回初始化階段,準(zhǔn)備進(jìn)入下一次測量,同時(shí)將測量結(jié)果送到數(shù)據(jù)處理模塊進(jìn)行計(jì)算并將結(jié)果傳送給上位機(jī),在終端上顯示測量結(jié)果。
系統(tǒng)測量周期包括以下幾個部分:初始化TDC;發(fā)射觸發(fā)脈沖;等待回波信號;TDC校準(zhǔn)測量;ALU 校準(zhǔn);讀取TDC 狀態(tài)寄存器;從結(jié)果寄存器讀取32 位數(shù)據(jù)。各階段所用時(shí)間如圖4所示。
圖4 測量周期結(jié)構(gòu)圖Fig.4 Structure of measurement period
由圖4可知,系統(tǒng)完成一次精密測量的時(shí)間包括3部分:FPGA 與TDC-GP21之間的SPI通信時(shí)間、TDC 校準(zhǔn)時(shí)間和等待回波時(shí)間,其中SPI通信時(shí)間是可控的,雖然TDC-GP21 支持SPI串口通信協(xié)議,但是收發(fā)數(shù)據(jù)的位寬不是固定的。針對TDC的每個操作碼的位數(shù)和收發(fā)的數(shù)據(jù)位數(shù)不同的特點(diǎn),避免不必要的通信時(shí)間,系統(tǒng)構(gòu)建多層嵌套狀態(tài)機(jī)控制模塊,通過主狀態(tài)機(jī)完成對測量流程的整體控制,調(diào)用從狀態(tài)機(jī)實(shí)現(xiàn)高速SPI數(shù)據(jù)通信,系統(tǒng)中嵌套了多個從狀態(tài)機(jī),配合TDC-GP21的時(shí)序要求,分別完成收發(fā)8、16和32位的數(shù)據(jù)指令,實(shí)現(xiàn)了各個狀態(tài)機(jī)的高速切換,減少了通信等待時(shí)間,在確保TDC測量精度和測量范圍的前提下,提高了系統(tǒng)的測量頻率。
在脈沖激光測距中,由于大氣湍流,跟瞄抖動,目標(biāo)姿態(tài)變化等因素會引起回波信號幅度小范圍的快速漲落[9],為了消除回波幅值和波形畸變對觸發(fā)時(shí)刻的影響,設(shè)計(jì)了時(shí)刻鑒別模塊對回波信號進(jìn)行處理,減小了漂移誤差。
時(shí)刻鑒別的實(shí)現(xiàn)方法包括前沿時(shí)刻鑒別、恒比定時(shí)時(shí)刻鑒別和零點(diǎn)檢測時(shí)刻鑒別等方法,前沿時(shí)刻鑒別法[10]受回波信號幅值的影響,跳變點(diǎn)的漂移誤差較大,不適用于精確測量。
恒比定時(shí)法將回波信號分成兩路,分別進(jìn)行衰減和延時(shí)處理,通過高速比較器捕捉信號跳變點(diǎn),可以減小激光脈沖信號幅度變化而引起的時(shí)刻鑒別誤差,同時(shí)為了屏蔽噪聲并抑制波形畸變對測量結(jié)果的影響,通常加入偏置電壓以保證比較器的正確觸發(fā)。在未引入偏置電壓前,跳變點(diǎn)只取決于衰減因數(shù)和延遲時(shí)間,與信號幅值無關(guān);但是在引入偏置電壓后,跳變點(diǎn)受到幅值、衰減因數(shù)和偏置電壓的影響會產(chǎn)生漂移誤差,經(jīng)調(diào)試驗(yàn)證,當(dāng)信號幅值在0.5~5V 之間波動時(shí),跳變點(diǎn)的漂移誤差約10ns。針對偏置電壓對跳變點(diǎn)漂移誤差的影響,可以采用偏置開關(guān)補(bǔ)償技術(shù)[9],根據(jù)輸入信號幅度來決定偏置電壓的大小,從而減小時(shí)刻鑒別的的漂移誤差。
高通阻容時(shí)刻鑒別法[11]即零點(diǎn)檢測法,采用高通阻容濾波電路對回波信號進(jìn)行微分變換,將極值點(diǎn)轉(zhuǎn)換為零點(diǎn),此時(shí)跳變點(diǎn)不受信號幅值的影響,與恒定比值時(shí)刻鑒別相比,避免了外加偏置電壓對信號跳變點(diǎn)的影響,經(jīng)調(diào)試驗(yàn)證,當(dāng)信號幅值在0.5~5V 之間波動時(shí),跳變點(diǎn)的漂移誤差小于30ps,滿足設(shè)計(jì)要求,但受噪聲及信號畸變的影響,零點(diǎn)檢測信號會產(chǎn)生多個零點(diǎn),會錯誤的觸發(fā)時(shí)間間隔測量單元,從而降低了系統(tǒng)測量結(jié)果的可靠性。
系統(tǒng)采用高通阻容時(shí)刻鑒別法捕捉信號跳變點(diǎn),通過閾值比較電路產(chǎn)生選通脈沖開啟門電路捕捉正確的觸發(fā)脈沖,采用MAX961作為高速比較器件,有效地抑制了噪聲和波形畸變對跳變點(diǎn)的影響,減小了時(shí)刻鑒別模塊的漂移誤差。圖5所示為受到噪聲和波形畸變影響的回波信號在高通阻容時(shí)刻鑒別單元中的波形變換。
圖5 高通阻容時(shí)刻鑒別波形圖Fig.5 Diagram of CR-h(huán)igh pass time discrimination
實(shí)驗(yàn)采用FPGA 內(nèi)部的PLL 鎖相環(huán)產(chǎn)生100 MHz高速時(shí)鐘信號,作為驅(qū)動脈沖的時(shí)間基準(zhǔn),配置TDC-GP21對100ns時(shí)間間隔進(jìn)行多次重復(fù)測量,驗(yàn)證系統(tǒng)測量精度,測量誤差的概率密度分布和擬合曲線如圖6所示。
圖6 測量誤差及擬合曲線Fig.6 Measured error and fitting curve
由圖6可知,系統(tǒng)測量誤差大多分布在±60 ps之間,測量誤差的擬合曲線近似高斯正態(tài)分布,標(biāo)準(zhǔn)差為46ps,系統(tǒng)測量精度可以控制在±100ps內(nèi)。
進(jìn)行了脈沖激光測距實(shí)驗(yàn),通過FPGA 與TDC-GP21時(shí)間間隔測量系統(tǒng)測量時(shí)間間隔,并通過時(shí)刻鑒別模塊減小系統(tǒng)的非線性誤差,實(shí)驗(yàn)對10 m 距離進(jìn)行了重復(fù)測量,系統(tǒng)測量結(jié)果的分布圖如圖7所示。
圖7 測量結(jié)果分布圖Fig.7 Distribution map of measuring results
從圖7可知,由于激光回波信號受測量環(huán)境等因素的影響會產(chǎn)生非線性失真,測距誤差比時(shí)間間隔測量誤差略大一些,測距結(jié)果分布在9.95~10.05之間,滿足高精度測量要求。
設(shè)計(jì)了基于FPGA 和TDC-GP21的高速高精度時(shí)間間隔測量系統(tǒng),將FPGA 的高頻穩(wěn)定性和TDC-GP21的高精度測量結(jié)合起來,通過校準(zhǔn)測量補(bǔ)償了由于溫度和工作電壓引起的測量誤差;通過多級嵌套狀態(tài)機(jī)實(shí)現(xiàn)了可以自由收發(fā)不同數(shù)據(jù)寬度的SPI通信接口,壓縮了系統(tǒng)通信時(shí)間,提高了系統(tǒng)的測量重頻;分析并設(shè)計(jì)了時(shí)刻鑒別單元,可以準(zhǔn)確捕捉信號跳變點(diǎn),減小了系統(tǒng)的非線性誤差;實(shí)驗(yàn)結(jié)果表明,系統(tǒng)重復(fù)測量頻率達(dá)1Hz,精度達(dá)±100ps,可以快速捕捉微小時(shí)間間隔,可在低成本FPGA 器件上實(shí)現(xiàn)線性度良好的高精度高重頻測量系統(tǒng)。
[1] 黃軍芬,黃民雙,孫亞玲,等.基于偽非均勻采樣的高精度時(shí)間間隔測量方法[J].光電子·激光,2012,23(16):1945-1948.Huang J F,Huang M S,Sun Y L,et al.High precision time-interval measurement method based on pseudonanuniform sampling[J].Journal of Optoelectronics·Laser,2012,23(16):1945-1948.(in Chinese)
[2] 宋建輝,袁峰,丁振良.脈沖激光測距中高精度時(shí)間間隔的測量[J].光學(xué)精密工程,2009,17(5):1046-1050.Song J H,Yuan F,Ding Z L.High precision time interval measurement in pulsed laser ranging[J].Optics and Precision Engineering,2009,17(5):1046-1050.(in Chinese)
[3] 施智勇,潘曉聲,張謙.利用延時(shí)法進(jìn)行高精度脈沖激光測距[J].光學(xué)精密工程,2014,22(2):253-258.Shi ZY,Pan X S,Zhang Q.High-precision pulsed laser measuring distance by time delay method[J].Optics and Precision Engineering,2014,22(2):253-258.
[4] 陳瑞強(qiáng) 江月松.脈沖激光測距的時(shí)間間隔測量方法[J].光學(xué)學(xué)報(bào),2013,33(2):0212004-1-0212004-5.Chen R Q,Jiang Y S.Method of measurement on time-interval in pulsed laser ranging[J].ACTA Optica Sinica 2013,33(2):0212004-1-0212004-5.
[5] 吳剛,李春來,劉銀年.脈沖激光測距系統(tǒng)中高精度時(shí)間間隔測量模塊的研究[J].紅外與毫米波學(xué)報(bào),2007,26(3):214-216.Wu G,Li C L,Liu Y N.Study on high resolution time interval measurement module in pulsed laser ranging system[J].Journal of Infrared And Millimeter Waves,2007,26(3):214-216.(in Chinese)
[6] 邢燕.高精度時(shí)間間隔測量系統(tǒng)[J].電子測量技術(shù),2010,33(5):1-3.Xing Y.High-precision time interval measurement system[J].Electronic Measurement Technology,2010,33(5):1-3.(in Chinese)
[7] 馮志輝,劉恩海,岳永堅(jiān).基于FPGA 延遲線插入法的半導(dǎo)體激光測距[J].光電工程,2010,37(4):53-59.Feng Z H,Liu E H,Yue Y J.FPGA delay-line interpolation method for laser range finding[J].Opto-Electronic Engineering,2010,37(4):53-59.(in Chinese)
[8] 張麗麗,傅江濤,張志勇,等.FPGA 在遠(yuǎn)程激光測距中的應(yīng)用[J].激光與紅外,2010,40(3):288-289.Zhang L L,F(xiàn)u J T,Zhang Z Y,et al.Application of FPGA in long distance laser ranging[J].Laser &Infrared,2010,40(3):288-289.(in Chinese)
[9] 馮國旭,常保成.高精度激光測距技術(shù)研究[J].激光與紅外,2007 37(11):1137-1140.Feng G X,Chang B C.Study of high precision laser ranging technology[J].Laser &Infrared,2007 37(11):1137-1140.(in Chinese)
[10] 紀(jì)榮祎,趙長明,任學(xué)成.脈沖激光測距時(shí)刻鑒別方法的研究[J].激光與紅外,2010,31(11):34-36.Ji R Y,Zhao C M,Ren X C.Study of timing discriminator for pulsed laser rangefinder[J].Laser &Infrared,2010,31(11):34-36.(in Chinese)
[11] 朱福,林一楠.一種提高脈沖激光測距精度的方法[J].光電技術(shù)應(yīng)用,2011,26(2):42-44.Zhu F,Lin Y N.Method to improve accuracy of pulse laser ranging[J].Electro-Optic Technology Application 2011,26(2):42-44.(in Chinese)