摘要:以Microchip公司PIC24F系列單片機(jī)內(nèi)嵌的CTMU為核心,將CTMU與ADC單元組成基本控制模塊,利用CTMU提供脈沖源之間的精確時(shí)間差測(cè)量功能,提出了一種新的精確激光測(cè)距設(shè)計(jì)方案。并且通過(guò)粗粒度時(shí)間和細(xì)粒度時(shí)間組合的計(jì)算方法,既擴(kuò)大了CTMU動(dòng)態(tài)范圍,又不損失分辨率。本設(shè)計(jì)成本低且測(cè)距精度高,為現(xiàn)在日益發(fā)展的測(cè)量距離技術(shù)提供了一個(gè)新的方法和思路。
關(guān)鍵詞:CTMU;恒流源;激光測(cè)距;時(shí)間測(cè)量
引言
目前,激光脈沖測(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ì)難度,縮短了開(kāi)發(fā)周期,降低了功耗和成本,實(shí)現(xiàn)了高精度、遠(yuǎn)距離的動(dòng)態(tài)測(cè)量。
1 CTMU的工作原理
1.1 CTMU簡(jiǎn)介
充電時(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è)外部輸入、Timerl和輸出比較模塊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)換讀取的電壓可以代表從電流源開(kāi)始對(duì)電路進(jìn)行充電到停止充電經(jīng)過(guò)的時(shí)間。如果CTMU用于產(chǎn)生延時(shí),那么電容和電流源,以及向比較器電路提供的電壓都是固定的,信號(hào)的延時(shí)由將電壓充電到比較器門限電壓所需的時(shí)間決定。
1.2 CTMU的工作原理
簡(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)生小于1 ns的時(shí)間測(cè)量分辨率,CTMU電流源工作原理如圖2所示。
電流源通過(guò)外部或內(nèi)部觸發(fā)源觸發(fā),具有Timer1、輸出比較、輸入捕獲、軟件觸發(fā)和兩個(gè)外部引腳的任意組合等特性;具有4個(gè)邊沿輸入觸發(fā)源;具有每個(gè)邊沿源的極性控制、邊沿順序控制和控制對(duì)邊沿的響應(yīng)。
1.2.2 PIC單片機(jī)的CTMU與ADC單元
CTMU可以與ADC單元連接實(shí)現(xiàn)對(duì)電容的電壓值采樣。PIC MCU A/D轉(zhuǎn)換與CTMU接口電路如圖3所示。
2 傳輸時(shí)間激光測(cè)距
2.1 CTMU測(cè)量時(shí)間原理
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ù)器開(kāi)始和結(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)接到返回脈沖后,停止充電。
圖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成正比。
2.2 CTMU時(shí)間分辨率
如果使用的是PIC24F系列單片機(jī),其內(nèi)部ADC為10位(1 024個(gè)計(jì)數(shù))。
假設(shè):I=55μA,C=CAD+CPIN+CSTRAY=15 pF,A/D轉(zhuǎn)換參考電壓VREF=VDD。
如果VDD=3.0 V,則1個(gè)A/D轉(zhuǎn)換計(jì)數(shù)V=3.0 V/1 024=2.93 mV,CTMU時(shí)間分辨率為T=(15 pF/55μA)×2.93 mV=0.799 ns。
因此,分辨率可達(dá)到<1 ns。光每米的傳播時(shí)間為6.6 ns,所以該電路的分辨率為12 mm。若想提高分辨率,還可以選擇精度更高的A/D轉(zhuǎn)換器。激光脈沖測(cè)距的動(dòng)態(tài)范圍:0.799 ns·1 024=818.1 76 ns,因此,選用1 5pF的電容可測(cè)量120 m的距離。
為了獲得更高的分辨率,可以使用PIC24FJGA310單片機(jī),其內(nèi)部ADC為12位(4 096個(gè)計(jì)數(shù)),若取I=550μA,C=CAD=4.4 pF,VREF=VDD,且VDD=3.0 V,則1個(gè)A/D計(jì)數(shù)V=3.0 V/4 096=0.732 4 mV,則CTMU時(shí)間分辨率為T=(4.4 pF/550μA)×0.732 4 mV=0.006 ns。因此,分辨率可達(dá)到<10 ps。
3 設(shè)計(jì)方案性能分析
3.1 提高分時(shí)間辨率的方法
提高分時(shí)間辨率的方法包括:降低A/D轉(zhuǎn)換VREF;使用內(nèi)部CTMU通道(無(wú)外部引腳連接);使用外部高分辨率ADC。
3.2 動(dòng)態(tài)范圍注意事項(xiàng)
為了維持恒流,CTMU電流源需要一個(gè)很小的電壓開(kāi)銷通常為VDD-0.5 V,如圖5所示。
為了維持恒流,CTMU電流源需要一個(gè)很小的電壓開(kāi)銷,通常為VDD-0.5 V=2.8 V。將動(dòng)態(tài)范圍限制為ADC輸入范圍的85%,即2.8 V,或使用外部參考電壓VREF=2.5 V,這將允許100%的ADC輸入范圍。CTMU電壓開(kāi)銷示意圖如圖5所示。
3.3 CTMU精度
根據(jù)設(shè)計(jì),校準(zhǔn)之后CTMU電流源的精度為1%。
假設(shè):I=55μA,C=CAD+CPIN+CSTRAY=15 pF,A/D轉(zhuǎn)換VREF=外部2.5 V,動(dòng)態(tài)范圍T=(15 pF/55μA)×2.5 V=682 ns,則線性工作范圍內(nèi)的精度為1%×682 ns=6.8 ns。
3.4 測(cè)量長(zhǎng)時(shí)間的方法
通常的方法是增大電容和降低電流,在兩種情況下,電容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組合使用。基于指令時(shí)鐘周期TCY提供“粗粒度”的同步時(shí)間間隔(例如,對(duì)于PIC24 FJGA310,以16MIPS工作時(shí),指令時(shí)鐘周期為62.5 ns)。CTMU用于測(cè)量“細(xì)粒度”的異步時(shí)間間隔。
測(cè)量總時(shí)間=粗粒度時(shí)間+細(xì)粒度時(shí)間,CTMU和ICAP組合長(zhǎng)時(shí)間測(cè)量示例圖如圖6所示。其中,TICAP=TCY×(8002-2)+(T1-T2)=500μs+(T1- T2)。
粗粒度測(cè)量的精度取決于晶振,晶振的精度一般為0.02%。細(xì)粒度測(cè)量500 ns范圍內(nèi)CTMU的精度為1%,即為1%×(0.500μs/500 μs)=0.001%,因此,總精度=粗粒度+細(xì)粒度=0.02%+0.001%=0.021%,由上可知測(cè)量時(shí)間的精度主要由晶振精度決定。
結(jié)語(yǔ)
本文基于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ì)思路。