趙德平,韓建平
(1.沈陽建筑大學(xué) 理學(xué)院,沈陽110168;2.沈陽建筑大學(xué) 信息與控制工程學(xué)院,沈陽110168)
時差法超聲波流量計[1,2]、磁致伸縮傳感器[3]、高精度脈沖激光測距[4,5]、衛(wèi)星及導(dǎo)航定位[6~8]等領(lǐng)域要求測量的時間間隔必須精確到納秒(ns)級,準(zhǔn)確獲取時間間隔直接決定這些系統(tǒng)的測量精度.目前,時間間隔的測量主要有三種方法:模擬法、數(shù)字法和數(shù)字插入法[9,10].
模擬法是通過在待測脈沖時間間隔內(nèi)對積分電容以大電流Ⅰ充電,然后以小電流Ⅰ/k 放電,測出其放電時間k* tm,即可計算出微小時間間隔tm.此方法的優(yōu)點是精度極高,可達(dá)皮秒(ps)級,但電容充放電時間關(guān)系存在非線性現(xiàn)象,約為測量范圍的萬分之一,而且充放電性能受溫度影響較大,可達(dá)10~30 ps/℃,限制了其測量范圍及測量環(huán)境.
數(shù)字法是通過計數(shù)器記錄被測時間間隔脈沖所經(jīng)歷的的基準(zhǔn)時鐘周期數(shù)進(jìn)而計算出兩信號間的時間差,其優(yōu)點是線性好,精度與測量范圍無關(guān).但其測量誤差為正負(fù)一個脈沖,要使精度達(dá)到ns 級,其時鐘頻率就要達(dá)到GHz,市場上很少有如此高的振蕩器,且其穩(wěn)定性也不能得以保證.
數(shù)字插入法[11]是通過采用數(shù)字法結(jié)合不同的插入方法來實現(xiàn)精確的時間測量的,此法將待測的時間間隔分成兩部分:基準(zhǔn)時鐘周期的整數(shù)部分與小數(shù)部分.整數(shù)部分通過粗值計數(shù)器(即數(shù)字法)測出,小數(shù)部分通過插值單元讀出,可實現(xiàn)ps 級分辨率的測量,具有測量范圍大,高線性、高精度等優(yōu)點.
圖1 TDC_GP2 的絕對時間測量架構(gòu)圖Fig.1 Absolute time measurement architecture diagram of TDC_GP2
圖2 TDC_GP2 時間測量原理Fig.2 Time principal structure of TDC_GP2
德國acam 公司推出的新一代高精度測時芯片TDC_GP2[12]就是采用數(shù)字插入法技術(shù),其絕對時間測量架構(gòu)及測量原理如圖1,2所示.粗值計數(shù)器測出開始信號與停止信號之間的基準(zhǔn)時鐘個數(shù)Cc,高速單元用于測量開始信號到相鄰基準(zhǔn)時鐘上升沿的間隔時間Fc1 以及停止信號到相鄰基準(zhǔn)時鐘上升沿的間隔時間Fc2,其測量結(jié)果為精確測量值和粗略測量值的總和,即:
其單次測量的分辨率可達(dá)65 ps.高精度、小尺寸QFN32 封裝、低功耗、小成本等特性使其成為時差測量的理想器件.楊佩[13],姚萬業(yè)[14],紀(jì)榮祎[15]采用單片機控制TDC_GP2 設(shè)計了時差測量系統(tǒng),張黎明[4]采用32 位ARM 處理器控制TDC_GP2 進(jìn)行高精度時間間隔測量.但他們都是針對測量范圍1:ns 級的時間間隔進(jìn)行實驗及測時精度分析,均未對測量范圍2:μs、ms 級的測時精度進(jìn)行過研究.
本文將TDC_GP2 專用測時芯片與高性能主控芯片F(xiàn)PGA Core3S500E 相結(jié)合設(shè)計了精密時間間隔測量系統(tǒng).針對測時芯片的軟硬件設(shè)計的關(guān)鍵技術(shù),測量范圍1 及測量范圍2 從ns 到ms級不同時間間隔測量的精度進(jìn)行系列實驗研究及誤差分析,為時差法超聲波流量計順逆流傳播時間μs 級時差測量,激光脈沖測距ns 級時差測量等應(yīng)用提供一種切實可行的解決方案.
該系統(tǒng)采用Xilinx 的FPGA Core3S500E 作為系統(tǒng)的主控芯片,時間間隔測量模塊的硬件外圍電路如圖3所示,F(xiàn)PGA 通過四線SPI(從機使能信號SSN,時鐘信號SCK,數(shù)據(jù)輸入SI,數(shù)據(jù)輸出SO)與TDC_GP2 相連進(jìn)行數(shù)據(jù)通信,En_Start、En_Stop1 分別是TDC_GP2 的開始信號Start 和停止信號Stop1 的使能控制端.INTN 為計時芯片的中斷信號輸出端,當(dāng)計時芯片的ALU 單元處理完時間間隔數(shù)據(jù)后會將該引腳拉低,此時主控器即可讀取相應(yīng)寄存器中的測量數(shù)據(jù).RSTN 為定時芯片的復(fù)位引腳,低電平有效,芯片工作前,必須通過該信號線對芯片進(jìn)行復(fù)位.其中4MHz 的晶振作為TDC_GP2 的高速基準(zhǔn)時鐘,采用陶瓷晶振時存在較大的頻率誤差,32.768 kHz 的晶振用于對其進(jìn)行校準(zhǔn).采用典型的3.3 V 對芯片進(jìn)行供電,芯片上電后,無源晶振4 MHz 及32.768 kHz正常起振,說明芯片能正常工作.測得的時間間隔數(shù)據(jù)由FPGA 通過串口232 發(fā)送至上位機PC 中,通過MFC 界面進(jìn)行時間數(shù)據(jù)的顯示及保存.
系統(tǒng)采用Verilog HDL 語言,基于SPI 協(xié)議實現(xiàn)FPGA 與TDC_GP2 之間的數(shù)據(jù)通信,其程序流程圖如圖4所示.上電后,首先必須向芯片的RSTN 復(fù)位引腳發(fā)送一個50 ns 以上的低電平信號進(jìn)行復(fù)位,然后再向芯片寫入0x50 對其進(jìn)行軟復(fù)位,否則將導(dǎo)致芯片測量不正常.
TDC_GP2 準(zhǔn)確測時的關(guān)鍵在于準(zhǔn)確配置其內(nèi)部的六個32 位寄存器reg0~reg5[16],如芯片的測量范圍,待測信號Start 和Stop 的敏感沿,中斷源設(shè)置等關(guān)鍵參數(shù)都需通過設(shè)置不同寄存器的相應(yīng)位.芯片的每個寄存器必須單獨尋址,reg0~reg5 的高8 位分別對應(yīng)地址操作碼0x80~0x85,后24 位為相應(yīng)功能的配置值.本文選取Start 及Stop 信號的上升沿作為測時的敏感沿,采用校準(zhǔn)模式進(jìn)行測量,中斷源設(shè)置為ALU 中斷觸發(fā),測量通道為Stop1 通道,采樣一個Stop 脈沖,其測量范圍1 及范圍2 的相應(yīng)寄存器配置如表1所示.需要特別注意的是,在測量范圍2 配置寄存器reg1 中stop1 通道預(yù)期接受的脈沖個數(shù)時,其HINT1 設(shè)置值必須比預(yù)期接收脈沖多1 個,因為Start 也被作為一次采樣計數(shù).
圖3 TDC_GP2 測時的硬件電路圖Fig.3 Time measuring hardware schematics of TDC_GP2
圖4 TDC_GP2 測時程序流程圖Fig.4 Time measuring program flow-chart of TDC_GP2
表1 寄存器配置Table 1 Register settings
寄存器配置完之后,需向TDC 發(fā)送0x03 進(jìn)行校準(zhǔn),0x70 初始化,選通Start 及Stop 通道后,TDC 進(jìn)入測量狀態(tài),等待Start 及Stop 信號,其ALU 單元根據(jù)設(shè)置的采樣通道及采樣脈沖個數(shù)進(jìn)行數(shù)據(jù)計算,計算完成將產(chǎn)生中斷信號,此時FPGA 向TDC 發(fā)送0xb0 操作碼讀取其寄存器reg0 中的數(shù)據(jù),并將數(shù)據(jù)通過串口發(fā)送至上位機.采用校準(zhǔn)模式測量,其數(shù)據(jù)格式為32 位固定浮點數(shù),前16 位為整數(shù)部分,后16 位為小數(shù)部分;上位機MFC 將串口接收的32 位數(shù)據(jù)進(jìn)行換算,轉(zhuǎn)換成十進(jìn)制的浮點數(shù)數(shù)據(jù),并進(jìn)行數(shù)據(jù)的顯示及保存.
本文對TDC_GP2 的測量范圍1 及測量范圍2 分別進(jìn)行時間間隔實驗,采用的基準(zhǔn)時鐘為4MHz,內(nèi)部分頻器數(shù)值設(shè)置為1,由于測量范圍1只有在2* Tref大于被測時間間隔時,ALU 才能正常工作,否則ALU 輸出值為0xFFFFFFFF,并且芯片要求Start 脈沖觸發(fā)沿與Stop 脈沖觸發(fā)沿的時間間隔至少3.5 ns,ALU 單元才能精確計算并產(chǎn)生中斷信號,因此,測量范圍1 可實現(xiàn)3.5~500 ns 的時間間隔測量,測量范圍2 可實現(xiàn)500 ns(2* Tref)~4 ms 的時間間隔測量.為測試該時間間隔測量系統(tǒng)的測時精度,選取Start 及Stop 時間間隔為20 ns~4 ms 之間的共計17 組數(shù)據(jù)進(jìn)行測量,每組測量500 次,其中20 ns,200 ns,20 μs,200 μs 四組實驗數(shù)據(jù)的分布圖如圖5所示.
為準(zhǔn)確評估系統(tǒng)的測時精度,對每組的500個測量數(shù)據(jù)分別進(jìn)行統(tǒng)計分析,分別將各組測量數(shù)據(jù)代入均值計算公式及標(biāo)準(zhǔn)差公式求取不同信號時差對應(yīng)的系統(tǒng)均值及總體標(biāo)準(zhǔn)差,其測量及計算結(jié)果如表2 和表3所示.
圖5 時間間隔為20ns,200 ns,20 μs,200 μs 的測量結(jié)果Fig.5 Measurement results of time interval 20 ns,200 ns,20 μs,200 μs
表2 測量范圍1 測時數(shù)據(jù)Table 2 Time measuring results of measurement range 1
表3 測量范圍2 測時數(shù)據(jù)Table 3 Time measuring results of measurement range 2
對于測量范圍1,表2 中測量誤差與信號時差的關(guān)系曲線如圖6所示,其測量誤差(Δ=μ-t)為ps 級,隨信號時差上下波動,且測量均值都小于理論的信號時差,最小測量誤差為-13ps,最小標(biāo)準(zhǔn)差66ps 與芯片的最小分辨率65ps 幾乎一致.
對于測量范圍2,測量均值都大于理論的信號時差,隨被測信號時差的增大,誤差從ps 增加到了ns 級,對表3 中測量誤差(Δ=μ-t)與信號時差之間的關(guān)系進(jìn)行最小二乘擬合,如圖7所示.?dāng)M合的直線方程為y=19.59×10-5x+8.879×10-5,其斜率為19.59 ×10-5,即系統(tǒng)在量程2 的整個測量范圍內(nèi)的誤差曲線保持較好的線性度,在實際應(yīng)用中,若被測的信號時間間隔較大,可根據(jù)該誤差擬合直線對測量數(shù)據(jù)進(jìn)行實時校正,以提高測量精度.
圖6 測量范圍1 測量誤差與信號時差關(guān)系曲線Fig.6 Relation between measurement error and signal time internal of measurement range 1
圖7 測量范圍2 測量誤差與信號時差擬合曲線Fig.7 Fitting curve between measurement error and signal time internal of measurement range 2
而不論測量范圍1 還是范圍2,其測量的標(biāo)準(zhǔn)差均為ps 級,且對于500 μs 以下的時間間隔測量,標(biāo)準(zhǔn)差隨信號時差上下波動,取TDC_GP2的最小分辨率65 ps 為一個標(biāo)準(zhǔn)偏差σ,500 μs 以下測量數(shù)據(jù)均落在±3σ 之間,因此,測時芯片更加適合于超短時間間隔的測量.
本文通過對TDC_GP2 測量范圍1 及范圍2進(jìn)行大量實驗及測量誤差分析,發(fā)現(xiàn)TDC_GP2 對于ns 級時間間隔的測量,其測量精度均在皮秒級,而500 μs 以上的時間間隔測量,其測量誤差達(dá)到幾百ns.因此,測時芯片更加適合于納微級時間間隔的測量,其精度足以滿足時差法超聲波流量計順逆流傳播時間幾十μs 的時差測量,激光脈沖測距納秒級時差測量,對于較大500 μs 以上的時間間隔測量,其測量誤差為ns 級,但其測量誤差與被測時間間隔成明顯的線性關(guān)系,通過誤差擬合直線方程進(jìn)行實時校準(zhǔn),可更大地發(fā)揮TDC_GP2 的性能.
[1]楊劍.基于FPGA 超聲波流量計的設(shè)計[D].武漢:武漢理工大學(xué),2012.
(Yang J.Design of ultrasonic flowmeter based on FPGA[D].Wuhan:Wuhan University of Technology,2012.)
[2]姚濱濱,張宏建,唐曉宇,等.基于時差法和TDC-GP2的超聲波流量測量方法[J].自動化與儀表,2011,26(8):17-20.
(Yao B B,Zhang H J,Tang X Y,et al.Method of ultrasonic flow rate measure based on delta-T and TDC-GP 2[J].Automation &Instrumentation,2011,26(8):17-20.)
[3]高濤,朱蘊璞,吳蕊,等.TDC-GP2 在磁致伸縮傳感器中的應(yīng)用[J].自動化儀表,2010,31(12):68-71.
(Gao Tao,Zhu Yunpu,Wu Rui,et al.Application of TDC-GP2 in magnetostrictive sensor[J].Process Automation Instrumentation,2010,31(12):68-71.)
[4]張黎明,張毅,趙欣.基于TDC 的激光測距傳感器飛行時間測量研究[J].傳感器與微系統(tǒng),2012,30(12):71-74.
(Zhang L M,Zhang Y,Zhao X.Study on flight time measurement laser ranging sensor based on TDC[J].Transducer and Microsystem Technologies,2012,30(12):71-74.)
[5]楊佩.基于TDC-GP2 的高精度脈沖激光測距系統(tǒng)研究[D].西安:西安電子科技大學(xué),2010.
(Yang P.Research on high-precision pulsed laser ranging system based on TDC _ GP2[D].Xian: Xidian University,2010.)
[6]方明東.基于加法器的全數(shù)字守時系統(tǒng)研究[D].武漢:華中科技大學(xué),2008.
(Fang M D.Research on digital hold-over system based on adder based clock[D].Wuhan:Huazhong University of Science and Technology,2008.)
[7]宣宗強,孫小莉,劉晨,等.衛(wèi)星同步時鐘的設(shè)計[J].西安電子科技大學(xué)學(xué)報,2013,40(4):125-129.
(Xuan Z Q,Sun X L,Liu C et al.Design of the satellite synchronized clock[J].Journal of Xidian University,2013,40(4):125-129.)
[8]田鳴.GPS 校準(zhǔn)的數(shù)字式守時鐘研究[D].武漢:華中科技大學(xué),2011.
(Tian M.Research of GPS disciplined digital timekeeping clock[D].Wuhan:Huazhong University of Science and Technology,2011.)
[9]張延,黃佩誠.高精度時間間隔測量技術(shù)與方法[J].天文學(xué)進(jìn)展,2006,24(1):1-15.
(Zhang Y,Huang P C.High-precision time-interval measurement technique and methods[J].Progress in Astronomy,2006,24(1):1-15.)
[10]孫杰,潘繼飛.高精度時間間隔測量方法綜述[J].計算機測量與控制,2007,15(2):145-148.
(Sun J,Pan J F.Methods of high precision time-interval measurement[J].Computer Measurement & Control 2007,15(2):145-148.)
[11]吳剛,李春來,劉銀年,等.脈沖激光測距系統(tǒng)中高精度時間間隔測量模塊的研究[J].紅外與毫米波學(xué)報,2007,26(3):213.
(Wu G,Li C L,Liu Y N,et al.Study on high resolution time interval measurement module in pulsed laser ranging system[J].Journal of Infrared and Millimeter Waves,2007,26(3):213.)
[12]ACAM Corporation.TDC-GP2 datasheet[M].Germany:ACAM Corporation,2006.
[13]楊佩,徐軍,王菲.基于TDC-GP2 的高精度時差測量系統(tǒng)設(shè)計[J].電子科技,2010,23(7).
(Yang P,Xu J,Wang F.Design of the high-precision time difference measurement system based on TDC-GP2[J].Electronic Science and Technology,2010,23(7).)
[14]姚萬業(yè),龍洋,張東峰,等.基于TDC-GP2 的激光測距飛行時間測量系統(tǒng)[J].工礦自動化,2008(6):47-49.
(Yao W Y,Long Y,Zhang D F,et al.Flight time measurement system of laser ranging based on TDC-GP2[J].Industry and Mine Automation,2008(6):47-49.)
[15]紀(jì)榮祎,趙長明,任學(xué)成,等.脈沖激光測距高精度計時系統(tǒng)的設(shè)計[J].工礦自動化,2010(8):18-22.
(Ji R Y,Zhao C M,Ren X C,et al.Design of high precision time measurement system for laser ranging[J].Industry and Mine Automation,2010(8):18-22.)
[16]Xian Y,Tang Z,Li B.Application of TDC-GP2 in laser range sensor[C]//Future Information Technology Springer Berlin Heidelberg,2014:325-330.