1.2.1 恒流源
CTMU的核心是高精度电流源,旨在提供用于测量的恒定基准。范围为0.55μA、5.5μA、55μA和550μA电流源,在每个范围中,可按2%的步幅进行输出微调,最高可调至±62%。利用CTMU电荷测量可以产生小于1 ns的时间测量分辨率,CTMU电流源工作原理如图2所示。
电流源通过外部或内部触发源触发,具有Timer1、输出比较、输入捕获、软件触发和两个外部引脚的任意组合等特性;具有4个边沿输入触发源;具有每个边沿源的极性控制、边沿顺序控制和控制对边沿的响应。
1.2.2 PIC单片机的CTMU与ADC单元
CTMU可以与ADC单元连接实现对电容的电压值采样。PIC MCU A/D转换与CTMU接口电路如图3所示。
2 传输时间激光测距
2.1 CTMU测量时间原理
CTMU用于测量初始发送脉冲和其反射的返回信号之间的往返时间,由此可确定测量距离,精确到1英尺。激光脉冲传输时间测距是通过准确测量激光脉冲发射和接收时刻来实现的,光电探测器件将发射脉冲的小部分激光及探测到的激光回波信号转变为电信号,分别触发测距计数器开始和结束计时,由此获得光脉冲传输时间。经数据计算得到距离值z=C·△T/2。其中,C表示真空中的光速,△T表示激光往返时间。
图4是利用CTMU进行脉冲激光测距的具体原理图。当发出激光脉冲时,电流源对电容CAD进行充电,当接到返回脉冲后,停止充电。
图4中,电容总和C=CAD+CPIN+CSTRAY。其中CPIN为引脚电容,CSTRAY为偏差电容。
时间测量的工作原理基于以下基本公式。
电容中的瞬时电流为I=C·(dv/dt),I和C是常量,所以重新调整公式得dt=(C/I)·dv。积分之后,T=(C/I)·V+K(通常K为0)。
CTMU模块提供了恒定、已知的电流源。A/D转换器用于测量公式中的电压V,电容C为电容总和,因此,T与V成正比。
2.2 CTMU时间分辨率
如果使用的是PIC24F系列单片机,其内部ADC为10位(1 024个计数)。
假设:I=55μA,C=CAD+CPIN+CSTRAY=15 pF,A/D转换参考电压VREF=VDD。
如果VDD=3.0 V,则1个A/D转换计数V=3.0 V/1 024=2.93 mV,CTMU时间分辨率为T=(15 pF/55μA)×2.93 mV=0.799 ns。
因此,分辨率可达到<1 ns。光每米的传播时间为6.6 ns,所以该电路的分辨率为12 mm。若想提高分辨率,还可以选择精度更高的A/D转换器。激光脉冲测距的动态范围:0.799 ns·1 024=818.1 76 ns,因此,选用1 5pF的电容可测量120 m的距离。
为了获得更高的分辨率,可以使用PIC24FJGA310单片机,其内部ADC为12位(4 096个计数),若取I=550μA,C=CAD=4.4 pF,VREF=VDD,且VDD=3.0 V,则1个A/D计数V=3.0 V/4 096=0.732 4 mV,则CTMU时间分辨率为T=(4.4 pF/550μA)×0.732 4 mV=0.006 ns。因此,分辨率可达到<10 ps。
3 设计方案性能分析
3.1 提高分时间辨率的方法
提高分时间辨率的方法包括:降低A/D转换VREF;使用内部CTMU通道(无外部引脚连接);使用外部高分辨率ADC。
3.2 动态范围注意事项
为了维持恒流,CTMU电流源需要一个很小的电压开销通常为VDD-0.5 V,如图5所示。
为了维持恒流,CTMU电流源需要一个很小的电压开销,通常为VDD-0.5 V=2.8 V。将动态范围限制为ADC输入范围的85%,即2.8 V,或使用外部参考电压VREF=2.5 V,这将允许100%的ADC输入范围。CTMU电压开销示意图如图5所示。
3.3 CTMU精度
根据设计,校准之后CTMU电流源的精度为1%。
假设:I=55μA,C=CAD+CPIN+CSTRAY=15 pF,A/D转换VREF=外部2.5 V,动态范围T=(15 pF/55μA)×2.5 V=682 ns,则线性工作范围内的精度为1%×682 ns=6.8 ns。
3.4 测量长时间的方法
通常的方法是增大电容和降低电流,在两种情况下,电容C的充电时间都会变长,延长了时间测量的周期,但是,这两种方法都会降低分辨率。因此,我们使用粗粒度时间和细粒度时间组合的计算方法,就可以实现既扩大CTMU动态范围而又不损失分辨率。
将CTMU与输入捕捉(ICAP)、输出比较(OCMP)或Timer1组合使用。基于指令时钟周期TCY提供“粗粒度”的同步时间间隔(例如,对于PIC24 FJGA310,以16MIPS工作时,指令时钟周期为62.5 ns)。CTMU用于测量“细粒度”的异步时间间隔。
测量总时间=粗粒度时间+细粒度时间,CTMU和ICAP组合长时间测量示例图如图6所示。其中,TICAP=TCY×(8002-2)+(T1-T2)=500μs+(T1- T2)。