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

电子说

1.3w人已加入

描述

产品简述

  MS1205N 是一款高精度时间测量(TDC)电路,具有四通

时间测量

道、多脉冲的采样能力、高速 SPI 通讯、多种测量模式,适合

于激光雷达和激光测距。

主要特点

◼ 单精度模式 60ps

◼ 双精度模式 30ps

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

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

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

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

◼ 4 线 SPI 通信接口

◼ 工作电压 2.5V 至 3.6V

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

◼ QFN40 封装

应用

◼ 激光雷达

◼ 激光测距

◼ 脉冲测量

产品规格分类

时间测量

管脚图

时间测量

管脚说明

时间测量

时间测量

内部框图

时间测量

极限参数

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

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

此极限条件下。

时间测量

推荐工作条件

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

时间测量

*包括晶振管脚 XIN, XOUT

电气参数

直流特性

Vcc = Vdd = 3.0 V, Tj = -40 到 +85°C。

时间测量

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

时间测量

功能描述

1. SPI接口

  MS1205N 有 2 个 SPI 接口,分别控制 1# 和 2#,SPI 接口是与 4 线制 SPI 兼容的,它需要一个 Serial

Select Not(SSN)信号,因此不能工作在 3-线制 SPI 接口。

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

  从最高位(MSB)开始传输,以最低位(LSB)结束。传输是以字节方式完成的。通过给 SSN 发送一个

LOW-HIGH-LOW 的电平,数据传输可以在每个字节后停止。

时间测量

时间测量

4. 电源电压

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

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

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

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

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

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

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

5. 操作码及寄存器

5.1 配置寄存器

MS1205N 有 2×1 组 32 位的配置寄存器,分别对应 1#和 2#的寄存器设置。

时间测量

如有需求请联系——三亚微科技 王子文(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 时,MS1205N 的单精度最小分辨率是 60ps。温度和电压对门电路的传播延时时间有

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

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

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

时间测量

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

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

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

行寄存器操作设置。在计算结果的过程中,先计算 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 测量流程

时间测量

时间测量

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 测量流程

时间测量

典型应用图

时间测量

封装外形图

时间测量

审核编辑 黄宇

——爱研究芯片的小王

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

全部0条评论

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

×
20
完善资料,
赚取积分