基于CTMU的精确激光测距方案设计
摘要:以Microchip公司PIC24F系列单片机内嵌的CTMU为核心,将CTMU与ADC单元组成基本控制模块,利用CTMU提供脉冲源之间的精确时间差测量功能,提出了一种新的精确激光测距设计方案。并且通过粗粒度时间和细粒度时间组合的计算方法,既扩大了CTMU动态范围,又不损失分辨率。本设计成本低且测距精度高,为现在日益发展的测量距离技术提供了一个新的方法和思路。
关键词:CTMU;恒流源;激光测距;时间测量
引言
目前,激光脉冲测距法具有探测距离远、对光源相干性要求低等优点,被广泛应用于各个领域。它利用激光脉冲持续时间极短、能量相对集中、瞬时功率大的特点,在平均光功率相同的条件下,能够实现长距离测量。但是,如果要求满足一定激光脉冲测距的精度,例如精确到ps级,这就对电子技术提出了更高要求。市场提供的高精度激光传感器虽然可以实现,但是造价太高,不能广泛应用。随着集成电路技术的发展,Microchip公司推出了可以识别脉冲之间精确时间的技术。根据Microchip公司的集成新技术CTMU(Charge Time Measurement Unit)我们采用一片带CTMU的PIC单片机来实现激光脉冲测距仪的所有功能,大大降低了设计难度,缩短了开发周期,降低了功耗和成本,实现了高精度、远距离的动态测量。
1 CTMU的工作原理
1.1 CTMU简介
充电时间测量单元CTMU是一个灵活的模拟模块,它提供脉冲源之间的精确时间差测量及异步脉冲生成。CTMU可与其他片上模拟模块一起,用于精确测量时间、电容、电容的相对变化,或生成具有特定延时的输出脉冲。该模块主要有以下特性:
◆最多16路通道,可用于电容或时间测量输入;
◆具有片上精确电流源;
◆具有4个边沿输入触发源;
◆可实现高精度时间测量;
◆具有与系统时钟异步的外部或内部信号的延时。
CTMU与A/D转换器配合工作,根据具体器件和可用的A/D转换通道数进行时间或电荷测量。如果配置为产生延时,那么CTMU连接到其中一个模拟比较器。电平输入边沿源可以从4个源中选择:两个外部输入、Timerl和输出比较模块1(OCAP1)。CTMU结构框图如图1所示。
CTMU的工作方式是使用固定电流源来对电路进行充电。电路的类型取决于要进行测量的类型。在进行电荷测量的情况下,电流是固定的,向电路施加电流的时间也是固定的。这样只要通过A/D转换测得电压就可以测得电路的电容。在进行时间测量的情况下,电流和电路的
电容都是恒定的,这种情况下,由A/D转换读取的电压可以代表从电流源开始对电路进行充电到停止充电经过的时间。如果CTMU用于产生延时,那么电容和电流源,以及向比较器电路提供的电压都是固定的,信号的延时由将电压充电到比较器门限电压所需的时间决定。
1.2 CTMU的工作原理
简单地说,CTMU是一个片上恒流源,周围的数字电路用于精确控制它的操作。该电流源可在0.55~550μA的4个数值均相差十倍的范围下工作。
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.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所示。
- 基于Virtex5高性能FPGA的脉冲激光测距系统设计(01-02)
- 基于AVR的激光测距机综合性能检测设备设计(02-07)
- “节能之星”EFM32应用方案——手持式激光测距仪(06-25)
- 手持式激光测距仪在矿井下的作用(01-06)
- 手持式激光测距仪的功能参数(01-06)
- 激光测距仪漫反射问题(01-04)