李興國(guó)
(天津工業(yè)大學(xué) 電氣工程與自動(dòng)化學(xué)院,天津300387)
目前,激光脈沖測(cè)距法具有探測(cè)距離遠(yuǎn)、對(duì)光源相干性要求低等優(yōu)點(diǎn),被廣泛應(yīng)用于各個(gè)領(lǐng)域。它利用激光脈沖持續(xù)時(shí)間極短、能量相對(duì)集中、瞬時(shí)功率大的特點(diǎn),在平均光功率相同的條件下,能夠?qū)崿F(xiàn)長(zhǎng)距離測(cè)量。但是,如果要求滿足一定激光脈沖測(cè)距的精度,例如精確到ps級(jí),這就對(duì)電子技術(shù)提出了更高要求。市場(chǎng)提供的高精度激光傳感器雖然可以實(shí)現(xiàn),但是造價(jià)太高,不能廣泛應(yīng)用。隨著集成電路技術(shù)的發(fā)展,Microchip公司推出了可以識(shí)別脈沖之間精確時(shí)間的技術(shù)。根據(jù)Microchip公司的集成新技術(shù)CTMU(Charge Time Measurement Unit),我們采用一片帶CTMU 的PIC單片機(jī)來(lái)實(shí)現(xiàn)激光脈沖測(cè)距儀的所有功能,大大降低了設(shè)計(jì)難度,縮短了開發(fā)周期,降低了功耗和成本,實(shí)現(xiàn)了高精度、遠(yuǎn)距離的動(dòng)態(tài)測(cè)量。
充電時(shí)間測(cè)量單元CTMU 是一個(gè)靈活的模擬模塊,它提供脈沖源之間的精確時(shí)間差測(cè)量及異步脈沖生成。CTMU 可與其他片上模擬模塊一起,用于精確測(cè)量時(shí)間、電容、電容的相對(duì)變化,或生成具有特定延時(shí)的輸出脈沖。該模塊主要有以下特性:
◆最多16路通道,可用于電容或時(shí)間測(cè)量輸入;
◆具有片上精確電流源;
◆具有4個(gè)邊沿輸入觸發(fā)源;
◆可實(shí)現(xiàn)高精度時(shí)間測(cè)量;
◆具有與系統(tǒng)時(shí)鐘異步的外部或內(nèi)部信號(hào)的延時(shí)。
CTMU與A/D轉(zhuǎn)換器配合工作,根據(jù)具體器件和可用的A/D轉(zhuǎn)換通道數(shù)進(jìn)行時(shí)間或電荷測(cè)量。如果配置為產(chǎn)生延時(shí),那么CTMU 連接到其中一個(gè)模擬比較器。電平輸入邊沿源可以從4個(gè)源中選擇:兩個(gè)外部輸入、Timer1和輸出比較模塊1(OCAP1)。CTMU結(jié)構(gòu)框圖如圖1所示。
CTMU 的工作方式是使用固定電流源來(lái)對(duì)電路進(jìn)行充電。電路的類型取決于要進(jìn)行測(cè)量的類型。在進(jìn)行電荷測(cè)量的情況下,電流是固定的,向電路施加電流的時(shí)間也是固定的。這樣只要通過(guò)A/D轉(zhuǎn)換測(cè)得電壓就可以測(cè)得電路的電容。在進(jìn)行時(shí)間測(cè)量的情況下,電流和電路的電容都是恒定的,這種情況下,由A/D轉(zhuǎn)換讀取的電壓可以代表從電流源開始對(duì)電路進(jìn)行充電到停止充電經(jīng)過(guò)的時(shí)間。如果CTMU 用于產(chǎn)生延時(shí),那么電容和電流源,以及向比較器電路提供的電壓都是固定的,信號(hào)的延時(shí)由將電壓充電到比較器門限電壓所需的時(shí)間決定。
圖1 CTMU結(jié)構(gòu)框圖
簡(jiǎn)單地說(shuō),CTMU 是一個(gè)片上恒流源,周圍的數(shù)字電路用于精確控制它的操作。該電流源可在0.55~550μA的4個(gè)數(shù)值均相差十倍的范圍下工作。
1.2.1 恒流源
CTMU 的核心是高精度電流源,旨在提供用于測(cè)量的恒定基準(zhǔn)。范圍為0.55μA、5.5μA、55μA 和550μA 電流源,在每個(gè)范圍中,可按2%的步幅進(jìn)行輸出微調(diào),最高可調(diào)至±62%。利用CTMU 電荷測(cè)量可以產(chǎn)生小于1ns的時(shí)間測(cè)量分辨率,CTMU 電流源工作原理如圖2所示。
電流源通過(guò)外部或內(nèi)部觸發(fā)源觸發(fā),具有Timer1、輸出比較、輸入捕獲、軟件觸發(fā)和兩個(gè)外部引腳的任意組合等特性;具有4個(gè)邊沿輸入觸發(fā)源;具有每個(gè)邊沿源的極性控制、邊沿順序控制和控制對(duì)邊沿的響應(yīng)。
圖2 CTMU電流源工作原理圖
1.2.2 PIC單片機(jī)的CTMU與ADC單元
CTMU 可以與ADC單元連接實(shí)現(xiàn)對(duì)電容的電壓值采樣。PIC MCU A/D轉(zhuǎn)換與CTMU 接口電路如圖3所示。
CTMU 用于測(cè)量初始發(fā)送脈沖和其反射的返回信號(hào)之間的往返時(shí)間,由此可確定測(cè)量距離,精確到1 英尺。激光脈沖傳輸時(shí)間測(cè)距是通過(guò)準(zhǔn)確測(cè)量激光脈沖發(fā)射和接收時(shí)刻來(lái)實(shí)現(xiàn)的,光電探測(cè)器件將發(fā)射脈沖的小部分激光及探測(cè)到的激光回波信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào),分別觸發(fā)測(cè)距計(jì)數(shù)器開始和結(jié)束計(jì)時(shí),由此獲得光脈沖傳輸時(shí)間。經(jīng)數(shù)據(jù)計(jì)算得到距離值z(mì)=C·ΔT/2。其中,C表示真空中的光速,ΔT 表示激光往返時(shí)間。
圖4是利用CTMU 進(jìn)行脈沖激光測(cè)距的具體原理圖。當(dāng)發(fā)出激光脈沖時(shí),電流源對(duì)電容CAD進(jìn)行充電,當(dāng)接到返回脈沖后,停止充電。
圖3 CTMU與ADC接口圖
圖4 CTMU測(cè)量時(shí)間原理圖
圖4中,電容總和C=CAD+CPIN+CSTRAY。其中CPIN為引腳電容,CSTRAY為偏差電容。
時(shí)間測(cè)量的工作原理基于以下基本公式。
電容中的瞬時(shí)電流為I=C·(dv/dt),I和C是常量,所以重新調(diào)整公式得dt=(C/I)·dv。積分之后,T=(C/I)·V+K(通常K 為0)。
CTMU 模塊提供了恒定、已知的電流源。A/D 轉(zhuǎn)換器用于測(cè)量公式中的電壓V,電容C為電容總和,因此,T與V 成正比。
如果使用的是PIC24F 系列單片機(jī),其內(nèi)部ADC 為10位(1 024個(gè)計(jì)數(shù))。
假設(shè):I=55μA,C=CAD+CPIN+CSTRAY=15pF,A/D轉(zhuǎn)換參考電壓VREF=VDD。
如果VDD=3.0V,則1個(gè)A/D 轉(zhuǎn)換計(jì)數(shù)V=3.0V/1 024=2.93 mV,CTMU 時(shí)間分辨率為T=(15pF/55 μA)×2.93mV=0.799ns。
因此,分辨率可達(dá)到<1ns。光每米的傳播時(shí)間為6.6ns,所以該電路的分辨率為12 mm。若想提高分辨率,還可以選擇精度更高的A/D 轉(zhuǎn)換器。激光脈沖測(cè)距的動(dòng)態(tài)范圍:0.799ns·1 024=818.176ns,因此,選用15 pF的電容可測(cè)量120m 的距離。
為了獲得更高的分辨率,可以使用PIC24FJGA310單片機(jī),其內(nèi)部ADC 為12位(4 096 個(gè)計(jì)數(shù)),若取I=550 μA,C=CAD=4.4pF,VREF=VDD,且VDD=3.0V,則1個(gè)A/D計(jì)數(shù)V=3.0V/4 096=0.732 4mV,則CTMU 時(shí)間分辨率為T=(4.4pF/550μA)×0.732 4mV=0.006ns。因此,分辨率可達(dá)到<10ps。
提高分時(shí)間辨率的方法包括:降低A/D轉(zhuǎn)換VREF;使用內(nèi)部CTMU 通道(無(wú)外部引腳連接);使用外部高分辨率ADC。
為了維持恒流,CTMU 電流源需要一個(gè)很小的電壓開銷通常為VDD-0.5V,如圖5所示。
圖5 CTMU電壓開銷示意圖
為了維持恒流,CTMU 電流源需要一個(gè)很小的電壓開銷,通常為VDD-0.5 V=2.8 V。將動(dòng)態(tài)范圍限制為ADC輸入范圍的85%,即2.8 V,或使用外部參考電壓VREF=2.5V,這將允許100%的ADC輸入范圍。CTMU電壓開銷示意圖如圖5所示。
根據(jù)設(shè)計(jì),校準(zhǔn)之后CTMU 電流源的精度為1%。
假設(shè):I=55μA,C=CAD+CPIN+CSTRAY=15pF,A/D轉(zhuǎn)換VREF=外部2.5V,動(dòng)態(tài)范圍T=(15pF/55μA)×2.5V=682ns,則線性工作范圍內(nèi)的精度為1%×682ns=6.8ns
通常的方法是增大電容和降低電流,在兩種情況下,電容C的充電時(shí)間都會(huì)變長(zhǎng),延長(zhǎng)了時(shí)間測(cè)量的周期,但是,這兩種方法都會(huì)降低分辨率。因此,我們使用粗粒度時(shí)間和細(xì)粒度時(shí)間組合的計(jì)算方法,就可以實(shí)現(xiàn)既擴(kuò)大CTMU 動(dòng)態(tài)范圍而又不損失分辨率。
將CTMU 與輸入捕捉(ICAP)、輸出比較(OCMP)或Timer1組合使用?;谥噶顣r(shí)鐘周期TCY 提供“粗粒度”的同步時(shí)間間隔(例如,對(duì)于PIC24FJGA310,以16 MIPS工作時(shí),指令時(shí)鐘周期為62.5ns)。CTMU 用于測(cè)量“細(xì)粒度”的異步時(shí)間間隔。
測(cè)量總時(shí)間=粗粒度時(shí)間+細(xì)粒度時(shí)間,CTMU 和ICAP組合長(zhǎng)時(shí)間測(cè)量示例圖如圖6所示。其中,TICAP=TCY×(8 002-2)+(T1-T2)=500μs+(T1-T2)。
圖6 CTMU和ICAP組合長(zhǎng)時(shí)間測(cè)量示例圖
粗粒度測(cè)量的精度取決于晶振,晶振的精度一般為0.02%。細(xì)粒度測(cè)量500ns 范圍內(nèi)CTMU 的精度為1%,即為1%×(0.500μs/500μs)=0.001%,因此,總精度=粗粒度+細(xì)粒度=0.02%+0.001%=0.021%,由上可知測(cè)量時(shí)間的精度主要由晶振精度決定。
本文基于PIC單片機(jī)的CTMU 技術(shù),提出了一種高精度測(cè)距的實(shí)現(xiàn)方法。該設(shè)計(jì)只要一片PIC單片機(jī),無(wú)需復(fù)雜電路就可實(shí)現(xiàn)激光脈沖測(cè)距,簡(jiǎn)化了設(shè)計(jì),提高了數(shù)據(jù)采集的精度,測(cè)程遠(yuǎn),精度高,價(jià)格合理,操作簡(jiǎn)便,在實(shí)際測(cè)量中將發(fā)揮重要作用。隨著汽車電子技術(shù)的發(fā)展,這種測(cè)量方法為汽車的自適應(yīng)巡航控制(Adaptive Cruise Control,ACC)系統(tǒng)等應(yīng)用提供了新的設(shè)計(jì)思路。
[1]Microchip Technology Inc.CTMU 的用途,2012.
[2]Microchip Technology Inc.PIC24F系列參考手冊(cè),2008.
[3]Jim Bartling.Low-cost,High-Resolution Time-Measurement Application[J].嵌入式系統(tǒng)技術(shù),2011(12):46-47.
[4]劉坤,陳芳.激光測(cè)距方法及激光器的發(fā)展[J].科技信息,2008(30):387-388.
[5]馮其波.光學(xué)測(cè)量技術(shù)與應(yīng)用[M].北京:清華大學(xué)出版社,2008.
[6]吳剛,李春來(lái),劉銀年,等.脈沖激光測(cè)距系統(tǒng)中高精度時(shí)間間隔測(cè)量模塊的研究[J].紅外與毫米波學(xué)報(bào),2007(26):214-216.