田海軍+楊婷+趙楊輝



摘 要: 時間間隔測量系統采用基于時間數字轉換芯片TDC?GP22實現了高精度脈沖激光測距。采用高性能STM32單片機作為主控器,SPLLL90_3半導體激光二極管,AD500?9作為接收的光電探測器。測量結果通過SPI通信接口傳送給單片機,經單片機處理后的數據傳給LCD12864顯示器。測試結果表明,該測量方法精度可達65 ps,系統結構簡單、可行性高。
關鍵詞: 時間間隔測量; TDC?GP22; 高精度脈沖激光測距; 光電探測器
中圖分類號: TN835?34; TP212.9 文獻標識碼: A 文章編號: 1004?373X(2017)04?0155?04
Design of high?precision time interval measuring system for pulsed laser range finding
TIAN Haijun, YANG Ting, ZHAO Yanghui
(School of Automation Engineering, Northeast Electric Power University, Jilin 132000, China)
Abstract: In the time interval measurement system, the time digital converter chip TDC?GP22 is adopted to realize the high?precision pulsed laser range finding, the high?performance microcomputer STM32 is taken as the main controller, and the semiconductor laser diode SPLLL90?3 and AD500?9 are served as the receiving photoelectric detectors. The measured results are transmitted to the microcontroller through SPI communication interface, and then the processed data is transmitted to the display LCD12864. The test results indicate that the precision of the measuring method can reach up to 65 ps, and the system has simple structure and high feasibility.
Keywords: time interval measurement; TDC?GP22; high?precision pulsed laser range finding; photoelectric detector
0 引 言
脈沖激光測距具有測距精度高、探測距離遠、峰值功率高、對光源相干性要求低等特點,廣泛用于工業、民用、航天、醫藥等領域。目前激光測距方法有脈沖測距法、光子計數測距法和三角測距法。相比后兩者,脈沖測距法測程長、精度高、反應時間短及沒有光圈。脈沖的工作波長、上升時間、寬度、占空比、峰值功率及大氣折射率影響時間間隔測量精度,其中脈沖寬度越窄精度越高,脈沖功率越大測程越長。在火電廠激光煤礦地質測量系統中需要對煤堆高度進行精確測量。實踐中,通過時間間隔測量儀器測量激光飛行的時間間隔,測量占空比和功率會限制時間間隔的測量。因此,在激光煤礦地質測量系統中時間間隔測量單元在整個系統中起著關鍵作用。本文提出了一種脈沖激光測距中高精度時間間隔測量系統的設計,TDC?GP22[1]芯片記錄激光接收和發射的時間信號差值,單片機STM32通過接口技術讀取測量結果并將結果送入顯示器,以實現距離測量。
1 脈沖激光測距系統
脈沖激光測距系統工作原理即單片機控制激光發射裝置發射占空比一定的激光脈沖,其中一小部分能量到達接收電路,然后光電探測器將微弱的光脈沖信號變成電脈沖信號并看作Start信號觸發時差測量。激光的大部分能量在空間中傳播,遇到目標物后反射傳播到達接收電路,看作Stop信號結束測量,至此完成時差測量[2]。TDC?GP22芯片記錄Start脈沖到Stop脈沖之間的時差,用于計算目標物到發射端的距離[3?4]。在上面的測量中,除了TDC?GP22芯片的時間間隔精度外,還有很多因素影響距離測量精度[5],比如光的傳輸介質、光束的散射程度以及接收單元的靈敏度等。圖1為激光測距系統的結構框圖。
2 TDC?GP22芯片的工作原理
德國ACAM公司生產的TDC?GP22芯片是CMOS結構設計的高精度時間數字轉換芯片,時間間隔由邏輯門的傳輸延遲來量化,通過測量兩個或多個脈沖之間的時間間隔進行精確測量[6]。TDC?GP22芯片的系統結構主要由TDC模塊、溫度測量模塊、ALU算術邏輯模塊、控制時鐘模塊及串行接口模塊等組成。TDC?GP22芯片有兩種測量范圍,每個測量范圍的分辨率均能達到65 ps,測量范圍1為0~1.8 μs;測量范圍2為500 ns~4 ms。根據本系統測量要求,選擇芯片的測量范圍1實現高精度時間間隔測量。
TDC時間數字轉換單元由信號通過門電路的傳輸延遲實現高精度時間測量[7?9]。首先進行系統初始化,由Start接收到有效脈沖信號觸發,并在接收到Stop有效脈沖信號后結束工作。Start信號和Stop信號之間的時間間隔由粗值計數器的計數值和環形振蕩器的位置計算出來。
溫度和電壓對TDC時間測量系統有較大影響,因此通過測量一個時間間隔和外部脈沖,對比兩者之間的測量值校準消除溫度和電壓變化帶來的誤差。在校準時,TDC?GP22芯片能產生穩定的時鐘信號,當其對外部信號測量完成后,再測量1倍的Cal1內部基準時鐘周期和2倍的Cal2內部基準時鐘周期。參考時鐘周期值分別為Cal1,Cal2,參考時鐘信號是RefClk,即可得出Cal1, Cal2的值。
通過下式計算可得出校準之后的精確時間差:
式中:RES_X為TDC時間間隔計數值;t為TDC校準時間測量值。
3 系統硬件設計
3.1 激光發射電路設計
采用DALLLA公司生產的DS1040可編程脈沖發生器,DS1040芯片的P0~P2引腳分別與單片機的PA4~PA6引腳相連,通過單片機的I/O口輸出高低電平控制DS1040。驅動芯片采用東芝公司的EL7104C芯片,具有高速、響應時間短、供電電流小、單通道的特點,通過內部電路集成的增壓電路來增大輸入電壓。電容C1,C2濾除電源帶來的雜波。為了防止大電流燒壞芯片,電阻R1起限流作用。激光二極管采用OSRAM公司的SPLLL90_3,它是一款集成度高、體積小、低功耗的激光器,中心波長為905 nm、輸出峰值功率為70 W,主要應用在激光測距領域內。激光發射電路如圖2所示。
3.2 激光接收電路和鑒時電路設計
激光接收電路和鑒時測量電路設計如圖3所示,光電探測器選擇Silicon Sensor公司生產的AD500?9雪崩二極管[10]實現光電轉換,它具有響應時間快、探測靈敏度高、增益大的特點,可提高測量精度和減少噪音干擾,因此把它看作脈沖計數單元的觸發信號。為保證探測器采集的數據不丟失,采用德州公司生產的UA733放大器將雪崩二極管轉換的電脈沖信號放大,它具有較高的穩定性、低相位失真和快速的信息處理能力,能夠對信號放大10~400倍。為了提高信噪比,在接收模塊中采用MAX913比較器,它是一款高速低耗的電平輸出比較器,通過設定電平值濾波。
在鑒時電路中,時間數字芯片TDC?GP22通過外接32.768 kHz基準時鐘和4 MHz的石英晶振來控制和校準時鐘。微控制器選用STM32F103C8T6單片機,工作最高頻率為72 MHz,FLASH程序存儲器是64 KB和高達20 KB的SRAM,多達9個通信接口,其中包括2個I2C接口和2個SPI接口。支持2種JTAG接口調試模式和串行單線調試,能滿足低功耗要求。STM32系列單片機具有豐富的庫函數、成本低、功耗低、性能高的優點,因此易于開發產品。單片機主要對TDC?GP22芯片的時間控制和寄存器配置,時間測量結果通過SPI接口技術送入單片機,對整個系統進行控制。
在圖3中TDC?GP22芯片的Stop1和Stop2端口控制脈沖的接收和發射信號,RSTN中斷輸入信號引腳和單片機的PA9引腳相連,低電平有效,未工作前芯片要復位。TDC?GP22的SSN,SO,SI,SCK引腳分別與單片機的PA4~PA7引腳相連,使用SPI1接口進行數據通信。EN_START,EN_STOP1,EN_STOP2引腳分別與單片機的PC13~PC15引腳相連,INTN引腳接地。JTCK,JTMS,JNRST,JTDI,JTDI,RET引腳看作JTAG的引腳,為單片機調試和下載程序使用。在使用STM32系列單片機時需注意,所有VSS引腳須接地、VDD引腳須接VCC。
4 軟件設計
系統軟件設計流程圖如圖4所示,系統初始化包括LCD初始化、寄存器配置、TDC?GP22初始化。在未工作前,TDC?GP22芯片的en_start和en_stop引腳低電平有效,未選通Start和Stop通道。在對TDC?GP22寄存器配置完成之后,分別設置每個通道的采樣個數和測量范圍并確定ALU的計算方法。單片機給TDC?GP22發送開啟命令,確保TDC?GP22進入測量狀態,一旦TDC?GP22的start通道接收到有效信號時,此信號看作激光的一部分能量。
當反射的激光信號到達接收單元時,反射光線對信號進行處理后,TDC?GP22的Stop通道開始測量,在完成一次測量之后關閉Start和Stop通道。校準TDC?GP22之后,單片機在中斷響應到來后會讀取寄存器數值,若沒溢出,則TDC?GP22會記錄出時間間隔測量值。數據校準格式是16進制的32位浮點數,每8位數據通過單片機的SPI口讀取一次,即分4次讀出校準值。若有6次的數據一樣,則認為測量結果正確,若不正確則刪除,重新校準TDC?GP22并繼續測量。為了提高測量精度,在整個測量系統中需要每次對TDC?GP22初始化。在單片機系統設計中,C語言編寫的特點是易于維護、編寫代碼的效率及其重復率高等,因此C語言在單片機系統設計中得到了廣泛的應用。
5 實驗結果
文中實現了脈沖激光測距中高精度時間間隔測量系統的設計,基于 TDC?GP22的測量范圍1和測量范圍2
進行了大量的實驗測試。
分別計算出每組數據的平均值和標準差,繪制脈沖時間?測量誤差曲線如圖5所示。
6 結 論
測試結果表明,系統標準差的均值約為68 ps,與TDC?GP22標準相差3 ps。這是由于傳感器的制造工藝及外部因素難免出現一些誤差,致使測量誤差增加。該系統有效地提高了脈沖飛行時間的測量精度和穩定性,優化了系統的性能和電路結構,滿足了脈沖激光測距系統的精度要求。
參考文獻
[1] 楊佩,徐軍,王菲.基于TDC?GP2的高精度時間間隔測量系統的設計[J].電子科技,2010,23(7):45?48.
[2] 宋建輝,袁峰,丁振良.脈沖激光測距中高精度時間間隔的測量[J].光學精密工程,2009,17(5):1046?1050.
[3] 紀榮袆,趙長明,任學成.脈沖激光測距時刻鑒別方法的研究[J].紅外,2010,31(11):34?37.
[4] 張黎明,張毅,趙欣.基于TDC的激光測距傳感器飛行時間測量[J].傳感器與微系統,2011,30(12):71?74.
[5] 楊成偉,陳千頌,林彥.脈沖激光測距時間間隔測量及誤差分析[J].紅外與激光工程,2003,32(2):132?136.
[6] HSIAO M J, HUANG J R, CHANG T Y. A built?in parametric timing measurement unit [J]. IEEE design and test of computers, 2004, 21(4): 322?330.
[7] 施智勇,潘曉聲,張謙.利用延時法進行高精度脈沖激光測距[J].光學精密工程,2014,22(2):253?258.
[8] 仲峰,萬莉萍,岳宇軍.高精度時間測量芯片TDC?GP2在激光測距中的應用[J].工業控制計算機,2007,20(4):69?70.
[9] 岱欽,耿岳,李業秋,等.利用TDC?GP21的高精度激光脈沖飛行時間測量技術[J].紅外與激光工程,2013,42(7):1706?1709.
[10] 萬小強.基于AD500型APD的激光測距硬件電路的研究[D].武漢:武漢理工大學,2012.