李海濤 阮林波 田 耕 田曉霞 渠紅光
(強脈沖輻射環(huán)境模擬與效應(yīng)國家重點實驗室,陜西 西安 710024;西北核技術(shù)研究所,陜西 西安 710024)
微小位移精確測量在工程、材料、精密機械等領(lǐng)域有著重要的應(yīng)用,微小位移測量技術(shù)可以分為兩大類:一是電學(xué)測量技術(shù);二是光學(xué)測量技術(shù)[1]。電學(xué)測量技術(shù)主要通過測量位移引起的各種電效應(yīng),從而獲得位移信息的參數(shù);光學(xué)測量技術(shù)主要分為衍射法、干涉法和光電傳感器測量等。目前,微小位移測量主要采用光學(xué)方法,其中衍射法和干涉法測量精度高,可以達(dá)到納米級[2],但是價格昂貴、結(jié)構(gòu)復(fù)雜。相對而言,光電傳感器方法價格便宜、結(jié)構(gòu)簡單,其測量精度主要取決于傳感器的靈敏度,靈敏度一般為微米級[3]。
本文提出了一種基于幾何光學(xué)原理的測量方法。該方法可以在低成本下實現(xiàn)基于線陣電荷耦合器件(charge couple device,CCD)的微小位移精確測量。線陣CCD把光信號轉(zhuǎn)換為模擬電信號,通過初級信號調(diào)理、數(shù)據(jù)采集、存儲等實現(xiàn)數(shù)字化處理;采用RS-485總線進(jìn)行多點通信和遠(yuǎn)距離傳輸;最后通過USB2.0接口實現(xiàn)與計算機的通信,并利用統(tǒng)計算法對輸出進(jìn)行分析和判定,實現(xiàn)了對數(shù)據(jù)的實時處理。
微小位移測量系統(tǒng)由水平線激光源、線陣CCD單元、數(shù)據(jù)處理單元、網(wǎng)絡(luò)通信單元和PC機等組成。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)Fig.1 Overall structure of the system
水平線激光源發(fā)出一字線激光,照射到各個線陣CCD單元;線陣CCD感應(yīng)一字線激光并輸出相應(yīng)信號。當(dāng)出現(xiàn)待測量的微小位移時,線陣CCD的輸出信號會相應(yīng)變化,輸出信號進(jìn)入數(shù)據(jù)采集單元;數(shù)據(jù)處理單元對信號進(jìn)行數(shù)字化處理,得到微小位移信息,并通過網(wǎng)絡(luò)通信單元將位移信息傳輸?shù)接嬎銠C。PC控制程序用于設(shè)定系統(tǒng)參數(shù)、接收并處理數(shù)字信號等。
電荷耦合器件(CCD)是一種以電荷為信號載體的微型圖像傳感器,具有光電轉(zhuǎn)換、信號電荷存儲、轉(zhuǎn)移及讀取等功能。CCD從芯片結(jié)構(gòu)上可分為面陣CCD和線陣CCD兩種類型[4],系統(tǒng)采用的線陣CCD為TOSHIBA公司的TCD2703D。該器件具有高靈敏度、低暗電流、高分辨率等特點,像元為光電二極管,單像元尺寸9.325 μm ×9.325 μm,有效長度為69.9 mm。針對紅、綠、藍(lán)光,TCD2703D有2路共6幀輸出,每幀輸出3894×16 bits的數(shù)據(jù)。在使用TCD2703D時,在其前方加放紅光濾光片,只處理紅光輸出。放置濾光片具有以下作用:一是使進(jìn)入線陣CCD的光為紅光,二是減少外部雜散光的干擾。
TCD2703D有5路驅(qū)動信號,分別是電荷轉(zhuǎn)移信號SH、兩相時鐘信號φ1A和φ2A、箝位信號CP和復(fù)位信號RS。這5路驅(qū)動信號之間有非常嚴(yán)格的時序和相位關(guān)系[5],具體如圖2所示。在正常周期中,每一個φ1A低電平(φ2A高電平)期間必須包含一個高電平RS和高電平CP信號,CP滯后于RS;非正常周期中RS和CP信號電平為低電平。
圖2 TCD2703D驅(qū)動信號圖Fig.2 The drive signal of TCD2703D
TCD2703D驅(qū)動信號由FPGA內(nèi)部邏輯產(chǎn)生,通過VHDL編程實現(xiàn),實現(xiàn)的TCD2703D驅(qū)動脈沖如圖3所示。該驅(qū)動脈沖可以實現(xiàn)線陣CCD的驅(qū)動。
圖3 FPGA輸出的TCD2703D驅(qū)動脈沖圖Fig.3 The drive pulses output from FPGA for TCD2703D
數(shù)據(jù)處理單元包括初級信號調(diào)理、數(shù)據(jù)采集、存儲等模塊,主要實現(xiàn)以下幾個功能:對TCD2703D輸出的模擬信號進(jìn)行調(diào)理[6];對調(diào)理后的信號進(jìn)行數(shù)字化處理;對得到的數(shù)字信號進(jìn)行存儲,以便后續(xù)處理。
根據(jù)TCD2703D輸出信號的特性,需要先對每一幀的輸出信號進(jìn)行初級處理。初級信號調(diào)理單元主要采用閾值調(diào)節(jié),調(diào)節(jié)后的信號進(jìn)入到數(shù)據(jù)采集處理單元。由于TCD2703D的靈敏度很高,受自然光和雜散光等的影響較大,需要精心調(diào)節(jié)閾值以降低干擾,這對確定CCD輸出信號的位置有很大影響[7]。
FPGA是數(shù)據(jù)處理單元的核心元件,F(xiàn)PGA選用ALTERA公司的Cyclone系列的EP1C6Q144。在系統(tǒng)中,F(xiàn)PGA主要實現(xiàn)以下功能。
①正確輸出TCD2703D的驅(qū)動脈沖。
②TCD2703D每一幀的輸出經(jīng)過初級信號調(diào)理單元,在信號超過閾值后會輸出矩形脈沖串;在FPGA中,通過計算得到矩形脈沖發(fā)生的中心位置,并將該位置數(shù)據(jù)存儲到SRAM中,正常工作時,每秒向SRAM中記錄5000個數(shù)據(jù)。
③SRAM的I/O端口是復(fù)用的,為了防止端口數(shù)據(jù)之間的讀寫沖突,使用FPGA控制SRAM中數(shù)據(jù)的寫入和讀出。
④在FPGA中,采用硬件實現(xiàn)中值濾波,所設(shè)計的硬件電路能夠快速、高效地對算法進(jìn)行實現(xiàn),使處理后的數(shù)據(jù)更加準(zhǔn)確。
經(jīng)過FPGA處理后,位置數(shù)據(jù)信息被存儲到片外SRAM中,系統(tǒng)使用的數(shù)據(jù)存儲芯片容量為64 kB×16 bits。使用片外SRAM基于以下考慮:首先是增大可連續(xù)采樣的時間;其次是降低了成本,利于應(yīng)用,便于擴展。
整個系統(tǒng)通信采用的主從結(jié)構(gòu)如圖4所示,即主機可以和每一個從機進(jìn)行通信,各從機之間不能進(jìn)行數(shù)據(jù)通信。網(wǎng)絡(luò)通信單元主要由C8051芯片、FT232芯片、RS-485芯片等組成。
圖4 系統(tǒng)的通信結(jié)構(gòu)圖Fig.4 Structure of the systematic communication
網(wǎng)絡(luò)通信單元具體結(jié)構(gòu)如圖5所示。FT232芯片實現(xiàn)USB接口和RS-232、RS-485接口之間的轉(zhuǎn)換[8];RS-485芯片實現(xiàn)RS-232接口和RS-485接口之間的轉(zhuǎn)換;C8051作為MCU,主要控制這些芯片之間的時序,防止發(fā)生總線沖突,造成通信癱瘓。
圖5 網(wǎng)絡(luò)通信單元的組成圖Fig.5 Composition of the network communication unit
網(wǎng)絡(luò)通信單元主要有以下幾個作用。
①下行:計算機發(fā)出的USB指令經(jīng)FT232芯片和RS-485芯片后轉(zhuǎn)換成RS-485,并遠(yuǎn)距離地將指令傳送到各個CCD單元。
②上行:SRAM中存儲的數(shù)據(jù)在MCU中轉(zhuǎn)成RS-232,再由RS-485芯片轉(zhuǎn)成RS-485,經(jīng)過遠(yuǎn)距離傳輸后由FT232轉(zhuǎn)換成USB,并和計算機進(jìn)行通信。
③使用MCU控制不同CCD單元的時序,防止總線沖突。
在CCD單元和計算機之間,使用RS-485通信,主要實現(xiàn)以下功能:一是實現(xiàn)遠(yuǎn)程傳輸;二是實現(xiàn)多站能力。RS-485具有良好的抗噪聲干擾性、傳輸距離遠(yuǎn)和多站能力等優(yōu)點,RS-485總線一般最大支持32個節(jié)點,如果使用特制的RS-485芯片,可以支持128或256個節(jié)點,最大可以支持400個節(jié)點。本系統(tǒng)使用的芯片可以支持32個節(jié)點[9]。在長線傳輸數(shù)據(jù)時,要使用阻抗匹配的RS-485專用電纜,這樣可以減少因衰減和噪聲等因素造成的信號失真[10]。
RS-485是一種半雙工通信,發(fā)送和接收共用同一物理信道,在任意時刻只允許一臺從機處于發(fā)送狀態(tài),要求應(yīng)答的從機在偵聽到總線上呼叫信號時信號已經(jīng)發(fā)送完畢,并且在沒有其他從機發(fā)出應(yīng)答信號的情況下才能應(yīng)答。半雙工通信對主機和從機的發(fā)送和接收時序有嚴(yán)格的要求,如果時序上配合不好,就會發(fā)生總線沖突,嚴(yán)重的可能會導(dǎo)致整個系統(tǒng)通信癱瘓。為了防止這種情況發(fā)生,可以采用以下措施:①使用MCU對通信時序做精確控制;②發(fā)送信號和接收信號要足夠?qū)挘WC能夠完整地接收一幀數(shù)據(jù);③任意兩個從機的發(fā)送信號在時間上完全分開,避免總線爭端。
PC控程序是在VB6.0的平臺下編程實現(xiàn)的,其主要功能包括:采樣率的設(shè)置、記錄時間的設(shè)置、觸發(fā)方式的設(shè)置、波形數(shù)據(jù)顯示和振動模擬等。PC控制程序流程如圖6所示。
圖6 PC控制程序流程圖Fig.6 The flowchart of the PC control
本系統(tǒng)采用FPGA實現(xiàn)線陣CCD高速驅(qū)動和輸出數(shù)據(jù)處理等功能,線陣CCD數(shù)據(jù)傳輸率為(5000×5000)bit/s;使用RS-485總線實現(xiàn)分布式系統(tǒng)和數(shù)據(jù)遠(yuǎn)距離傳輸,系統(tǒng)可以支持32個CCD單元節(jié)點,節(jié)點數(shù)據(jù)的傳輸距離超過1 km;基于VB平臺編寫PC控制程序,實現(xiàn)對硬件電路參數(shù)設(shè)定和對CCD輸出信號的分析、處理和顯示等功能。研制的系統(tǒng)已應(yīng)用于一維微小形變的測量之中,實際測量精度達(dá)到100 μm[11]。
[1]Areny R,Webster J.Sensors and signal conditioning[M].2nd edition.Wiley:Interscience,2000.
[2]溫?zé)铈茫麒づd,柴世杰,等.基于線陣CCD的位移監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[J].儀表技術(shù)與傳感器,2010(5):66-68.
[3]曾為,陳培峰,李超.基于PSD的微小位移測量研究[J].光學(xué)與光電技術(shù),2006,4(2):54 -56.
[4]薛巍,吳勝利,張小寧,等.一種低成本線陣CCD驅(qū)動與數(shù)據(jù)采集處理系統(tǒng)的研究[J].光學(xué)技術(shù),2008(34):190-192.
[5]Toshiba,Inc.TCD2703D[EB/OL].[2002 - 11 - 04].http://www.toshiba.com.
[6]王鑫,陳驥,曹久大,等.線陣CCD高速數(shù)據(jù)采集與實時處理系統(tǒng)[J].光電子激光,2008,9(2):174 -177.
[7]Beckwith T,Mmrangoni R,Lienhard J.Mechanical measurements[M].5th edition.Wesley:Longman,1993.
[8]FTDI Ltd.FT232R USB UART IC[EB/OL].[2012 -03 -28].http://www.ftdichip.com.
[9]霍宏發(fā),李明,蔣陽,等.大型平臺變形量實時監(jiān)測的光電測量方法[J].光電工程,2009,11(36):1 -4.
[10]陳鳴慰,袁作林,季鵬.基于RS232/485協(xié)議的數(shù)據(jù)采集系統(tǒng)[J].微處理機,2009(4):86 -87.
[11]阮林波,李海濤,田耕,等.基于線陣CCD的可擴展式非接觸微小位移測量方法及裝置:中國,201110267091.1[P].2011-10-26.