MS1005——激光测距用高精度时间测量(TDC)电路

电子说

1.3w人已加入

描述

产品简述

  MS1005 是一款高精度时间测量(TDC)电路,对比

MS1002 具有更高的精度和更小的封装,适合于高精度

小封装的应用领域。

  MS1005 具有双通道、多脉冲的采样能力、高速 SPI

通讯、多种测量模式,适合于激光雷达和激光测距。

时间测量

主要特点

◼ 双通道单精度模式 60ps

◼ 单通道双精度模式 30ps

◼ 非校准测量范围 3.5ns(0ns)至 25μs

◼ 单精度校准测量范围 3.5ns(0ns)至 16μs

◼ 双精度校准测量范围 3.5ns 至 4μs

◼20ns 最小脉冲间隔,双通道最多可接收 20 个脉冲

◼ 4 线 SPI 通信接口

◼ 工作电压 2.5V 至 3.6V

◼ 工作温度-40°C 至+125°C

◼ QFN20 封装

应用

◼ 激光雷达

◼ 激光测距

◼ 脉冲测量

产品规格分类

时间测量

系统框图

时间测量

管脚图

时间测量

管脚说明

时间测量

内部框图

时间测量

极限参数

  芯片使用中,任何超过极限参数的应用方式会对器件造成永久的损坏,芯片长时间处于极限工作

状态可能会影响器件的可靠性。极限参数只是由一系列极端测试得出,并不代表芯片可以正常工作在

此极限条件下。

时间测量

推荐工作条件

没有特别规定,环境温度为 TA= 25°C ±2°C 。

时间测量

电气参数

直流电特性

VCC= VDD= 3.0V, TJ= -40 到 +85°C。

时间测量

时间测量

如有需求请联系——三亚微科技 王子文(16620966594)

时间测量

功能描述

1. SPI接口

  MS1005 的 SPI 接口是与 4 线制 SPI 兼容的,它需要一个 SerialSelectNot(SSN)信号,从而不能够工

作在 3-线制 SPI 接口。

  SSN 的下降沿或者第一个 SCK 的上升沿将会复位 INTN 管脚(中断管脚)状态。

  从最高位(MSB)开始传输以最低位(LSB)结束。传输是以字节方式完成的。数据传输可以在每个字节

后停止,通过给 SSN 发送一个 LOW-HIGH-LOW 的电平。

时间测量

2. 关闭STOP通道的时序

时间测量

3. 系统复位时序

时间测量

4. 电源电压

  为了达到最佳测量效果,好的电源非常重要。电源应该具有高电容性和低电感性。MS1005 提供两

对电源供应端口:VCC - I/O 供电电压 ,VDD - 内核供电电压。

  所有的 Ground 引脚都应该连接到印刷电路板的地层上。 VCC 和 VDD 应该通过一个电池或者固定

的线性电压调节器给出。不要应用开关式的调节器,避免由于 IO 电压引起的干扰。

  时间数字转换器能够有好的测量效果,完全取决于好的电源供电。芯片测量主要是脉冲式的电

流,因此一个充足的双通滤波非常重要:VCC 47 µF(最小 22 µF),VDD 100 µF(最小 22 µF)。

  电压应用通过一个模拟的调节器给出,我们推荐不要使用开关式的电压调节。

5. 操作码及寄存器

5.1 配置寄存器

MS1005 有 1 组 32 位的配置寄存器。

时间测量

时间测量

如有需求请联系——三亚微科技 王子文(16620966594)

时间测量

6. 时间测量

6.1. 概述

  非校准模式测量范围从 3.5ns 到 25μs(0-25μs 在两个 stop 通道之间测量)。

  校准模式单精度测量范围从 3.5ns 到 16μs(0-16μs 在两个 stop 通道之间测量)。

  校准模式双精度测量范围从 3.5ns 到 4μs(0-4μs 在两个 stop 通道之间测量)。

  单精度模式典型精度为 60ps,2 个 stop 通道相对于 start 通道。

  双精度模式典型精度为 30ps,仅 stop1 通道相对应 start 通道。

  内置特殊防抖技术,使测量时间高度精准。

  20ns 的脉冲之间最小间隔。

  两个 stop 通道可同时采集,且每个 stop 通道最多 10 个脉冲。

  每个 stop 通道可选择上升或下降沿捕获,或者选择上升和下降沿同时捕获。

  自动测量 START 和 STOP 脉冲之间的时间间隔,无需再进行寄存器设置。

  可任意设置溢出时间,从而减少高速测量时溢出时间等待。

  在非校准模式下,可以任意测量比预期脉冲数少的脉冲。

  典型应用: 激光测距、激光雷达、高精度延时测量。

6.2. 高精度时间测量原理

  数字式 TDC 应用内部的逻辑门延时来高精度测量时间间隔,下图阐述了这种绝对时间 TDC 的测量

原理结构。该电路结构确保电路以特殊的测量方法,使信号通过逻辑门的时间可以非常精确。最高的

测量精度完全取决于内部通过逻辑门的传播时间。

时间测量

  时间测量是通过一个 start 信号触发,通过内部防抖处理后,TDC 的门电路开始高速计数,直到 stop

信号产生记录计数结果,达到 STOP 预期脉冲数后停止计数。

  3.3V 和 25°C 时,MS1005 的单精度最小分辨率是 60ps。温度和电压对门电路的传播延时时间有很

大的影响。通常是通过校准来补偿由温度和电压变化而引起的误差。在校准过程中,TDC 测量 0.5 个

和 1.5 个时钟周期,相减后得一个时钟周期的 TDC 计数结果,即为校准值。测量范围受计数器大小的

限制,以下是非校准模式下最大测量范围:tyy = 60ps x 442368 ≈ 25µs。

时间测量

  每一个输入端均可以被单独设置成上升沿、下降沿或上下沿同时触发有效。可通过设置寄存器的

bit8-10 位(EG_START,NEG_STOP1,NEG_STOP2)和寄存器的 bit0-1 位(REFDGEx) 来选择触发沿。

  时间测量结束后,MS1005 会自动将各个脉冲的测量结果顺序写到相应的结果寄存器,无需再进

行寄存器操作设置,在计算结果的过程中先计算 STOP1 通道的脉冲,然后计算 STOP2 通道的脉冲,所

以当使用单通道时,必须使用 STOP1。

6.3. 非校准时间测量

6.3.1 非校准时间测量概述

  非校准时间测量,实际上就是应用数字式 TDC 内部的逻辑门延时来实现高精度时间测量,非校准

模式下最大测量范围是 3.5ns-25μs,单精度模式下,可以两个 STOP 通道同时测量,且每个通道最多可

以测量 10 个 STOP 脉冲,双精度模式下,仅 STOP1 通道可以使用。

  非校准时间测量过程中,无需高速时钟参与,所以可以通过寄存器设置来关闭高速时钟

(START_CLKHS=0),在该模式下,测量速度最快,结果寄存器直接输出门延时个数,在非校准模式下结

果寄存器 20 位的有效位,测量时间计算如下,该测量时间受温度和电压影响。

                                             测量时间=RES_X × 60ps (DOUBLE_RES=0)

                                             测量时间=RES_X × 30ps (DOUBLE_RES=1)

  非校准模式下也可以实现时间测量和 CAL 值同时测量,在该模式下需要开启高速时钟

(START_CLKHS=1)和开启自动校准(NO_CAL_AUTO=0),这样就会测量时间的同时会产生一个 Tref× N 周期

的门延时个数,然后将 CAL 值 RES_Tref 存在指定的结果寄存器中。测量时间如下计算,该测量时间和

温度和电压无关,仅和高速时钟抖动有关。

                                             测量时间=RES_X/RES_Tref×Tref× N, N = 1,2,4,8

  非校准模式测量溢出,当溢出时间功能关闭(EN_SEL_TIMO=0)的情况下,溢出时间相当于 TDC 溢

出,也就是要 25μs 后产生溢出,并且状态寄存器 Bit13=1(TDC 溢出);当溢出时间功能开启

(EN_SEL_TIMO=1)的情况下,溢出时间由溢出时间选择(SEL_TIMO)进行设置,溢出时间仅和高速时钟相

关,不受时钟分频(DIV_CLKHS)的影响,例如高速时钟为 8MHz,SEL_TIMO=0 的情况下,溢出时间为

125ns,溢出时状态寄存器 Bit14=1(时间溢出)。

  非校准模式下,当测量脉冲个数小于预期脉冲个数时,可以正常输出测量脉冲的值,虽然这时状

态寄存器溢出,但测量到的脉冲产生的结果是正确的,这种应用可以解决在测距过程中多个不定目标

的问题。

6.3.2 寄存器设置

主要的设置为:

(1)选择测量预期脉冲个数

        寄存器 bit 31-28 设置 STOP2 预期脉冲个数 HITIN2=0 或者 2-B;

        寄存器 bit 27-24 设置 STOP1 预期脉冲个数 HITIN1=2-B,不能设置为 0;否则无法开启测量。

(2)选择测量精度

        寄存器 bit 18, DOUBLE_RES = 1 选择双精度模式,测量精度为典型 30ps,但仅有一个 stop 通道

      可用。DOUBLE_RES = 0 选择单精度模式,测量精度为典型 60ps,这时两个 stop 通道都可用。

(3)校准选择

        在非校准模式下,校准将关闭,寄存器 bit 13 CALIBRATE=0;

(4)产生 CAL 值

        在非校准模式下,可以选择产生 CAL 值和不产生 CAL 值,寄存器 bit 12 NO_CAL_AUTO=0 时,产

      生 CAL 值,NO_CAL_AUTO=1 时,不产生 CAL 值。

(5)溢出选择

        在非校准模式下,寄存器 bit 7 EN_SEL_TIMO=0 溢出时间关闭,这时溢出时间为 TDC 溢出,当

      EN_SEL_TIMO=1 时开启溢出时间,且溢出时间和寄存器 bit 23-22 SEL_TIMO 设置有关。

(6)选择输入触发方式

        可通过设置寄存器的 Bit 8-10(NEG_X)在每一个输入端口(Start,Stop1,Stop2)边沿触发方式。当

      RFEDGE=0 时,NEG_X=0 则上升沿触发,NEG_X=1 则下降沿发。还可以通过设置寄存器的

      Bit0&1(REFDGE1 & FEDGE2),选择 STOP 由上升沿或下降沿单独触发(RFEDGE=0),还是上升沿和下降

      沿同时触发(RFEDGE=1),当 RFEDGE=1 时,Bit 9-10 选择无效。

(7)中断

        中断引脚 INTN 可以有不同的中断源,在寄存器的 Bits4-6(EN_INT)中进行选择,非校准模式选择

      bit 6 = 1 和 bit 5= 1;

        Reg bit 4 = 1 ALU 已经准备好

        Reg bit 5 = 1 预期脉冲个数全部被接收到

        Reg bit 6 = 1 测量时间溢出

6.3.3 测量流程

时间测量

如有需求请联系——三亚微科技 王子文(16620966594)

时间测量

6.4 校准时间测量

      注:校准测量单精度最大测量范围 16μs,双精度最大测量范围 4μs。

6.4.1 校准时间测量概述

      校准时间测量,在高速振荡器开启情况下进行测量,测量的门延时数量和 Tref 门延时数量通过

ALU 进行计算并输出到结果寄存器。输出的结果为 24 位浮点数,高 8 位为整数位,低 16 位为小数

位。校准模式下最大测量范围是 3.5ns-16μs,单精度模式下,可以两个 STOP 通道同时测量,且每个通

道最多可以测量 10 个 STOP 脉冲,双精度模式下,仅 STOP1 通道可以使用。

      校准时间测量过程中,需要开启高速时钟(START_CLKHS=1)和校准开启(CALIBRATE=1),当产生校准

值关闭(NO_CAL_AUTOCALIBRATE=1)结果寄存器输出非校准值(可参考非校准部分介绍),当产生校准

值开启(NO_CAL_AUTOCALIBRATE=0)时,结果寄存器输出校准后的值 RES_X,测量时间如下计算,被测

时差不能超过 2 ×Tref× DIV_CLKHS。

      测量时间= RES_X × Tref × N, N = 1, 2,4,8;

      在校准时间测量中,必须开启溢出时间功能(EN_SEL_TIMO=1),溢出时间由溢出时间选择

(SEL_TIMO)进行选择溢出时间,这里的时间仅和高速时钟相关,不受时钟分频(DIV_CLKHS)的影响,例

如高速时钟为 8MHz,SEL_TIMO=0 的情况下,溢出时间为 250ns,这时状态寄存器 Bit14=1(时间溢

出)。

      校准模式下,测量脉冲个数必须大于或者等于预期脉冲个数,当测量脉冲小于预期脉冲个数时,

ALU 不进行计算,这时状态寄存器 Bit14=1(时间溢出)。且 EN_ERR_VAL=1 的情况下,结果寄存器 0

输出全 F。

6.4.2 寄存器设置

主要的设置为:

(1)选择测量预期脉冲个数

        寄存器 bit 31-28 设置 STOP2 预期脉冲个数 HITIN2=0 或者 2-B;

        寄存器 bit 27-24 设置 STOP1 预期脉冲个数 HITIN1=2-B,不能设置为 0;否则无法开启测量。

(2)选择测量精度

        寄存器 bit 18, DOUBLE_RES = 1 选择双精度模式,测量精度为典型 30ps,但仅有一个 stop 通道

      可用。DOUBLE_RES = 0 选择单精度模式,测量精度为典型 60ps,这时两个 stop 通道都可用。

(3)校准选择

        在校准模式下,高速晶振和校准都必须开启,寄存器 bit 13 CALIBRATE=1 和 bit 19 START_CLKHS=1

(4)产生 CAL 值

        在校准模式下,必须选择产生 CAL 值,寄存器 bit 12 NO_CAL_AUTO=0 时,产生 CAL 值。

(5)溢出选择

        在校准模式下,必须开启溢出,寄存器 bit 7 EN_SEL_TIMO=1 开启溢出时间,且溢出时间和寄存

      器 bit 23-22 SEL_TIMO 设置有关。

(6)选择输入触发方式

        可通过设置寄存器的 Bit 8-10(NEG_X)在每一个输入端口(Start,Stop1,Stop2)边沿触发方式。当

      RFEDGE = 0 时,NEG_X = 0 则上升沿触发,NEG_X = 1 则下降沿发。还可以通过设置寄存器的

      Bit0&1(REFDGE1 & FEDGE2),可以选择 STOP 下降沿单独触发(RFEDGE=0),还是上升沿和下降沿同时

      触发(RFEDGE=1),当 RFEDGE=1 时,Bit 9-10 选择无效。

(7)中断

        中断引脚 INT 可以有不同的中断源,在寄存器的 Bits4-6(EN_INT)中进行选择,由于 Reg bit 5=1 中

      断输出最早,Reg bit 4=1 输出最晚,用户可以根据实际情况进行选择。

        Reg bit 4 = 1 ALU 已经准备好

        Reg bit 5 = 1 预期脉冲个数全部被接收到

        Reg bit 6 = 1 测量时间溢出&TDC 溢出

(8)高速时钟分频

        由于校准测量时间小于 2 ×Tref× DIV_CLKHS(Tref 只与外接高速晶振相关,如外接 4M,则 Tref =

      250ns),所以需要测量时间增长的话,需要设置高速时钟分频,在寄存器的 Bits20-21(DIV_CLKHS)

      中进行设置,但 2 ×Tref× DIV_CLKHS 不能超出测量范围最大值 16μs。

6.4.3 测量流程

时间测量

7. 高速振荡器

  MS1005 在校准模式下需要高速时钟用于校准采样, 通常 MS1005 会需要一个高速时钟单元进行

校准,频率范围 1-8MHz,推荐高速时钟频率为 4MHz。

  晶振在一直起振的状态下,平均工作电流为 220 µA。但是晶振仅在测量时间的时候需要开启,

MS1005 可以通过内部电路控制晶振的开启和关闭。设置是通过设置参数 START_CLKHS 来实现。

START_CLKHS = 0   晶振关闭

                     = 1   晶振持续开启

通过关闭晶振这种方式电流消耗可以大大被降低。

时间测量

8. 快速初始化

  MS1005 提供了快速初始化的功能。设置寄存器的 bit16(EN_FAST_INIT)=1,中断标志会自动初始化

TDC。因此在读出数据时 TDC 就已经准备好进行下次测量了。这种模式只适用于高速应用中。这对于

只有一个 STOP 信号的非校准测量模式下尤其适合。在快速初始化模式下,状态寄存器的值永远是 0,

所以无需再读状态寄存器。

INTN 不同模式下产生时间

  INIT 是整个测试流程的重要标志位,INTN 是和 EN_INT[2:0]来配合使用,不同的中断源输出中断时

间不一样,如下图 tva 的时间为 INTN 产生时间,具体如下:

时间测量

如有需求请联系——三亚微科技 王子文(16620966594)

时间测量

典型应用图

时间测量

MS1002&MS1022&MS1005 主要性能对比

时间测量

封装外形图

QFN20

时间测量

——爱研究芯片的小王

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分