FPGA控制TDC7200时间间隔测量(一)

文章目录[隐藏]

引言

TDC7200是TI推出的一款测量时间间隔的芯片,具有低至55ps的分辨率、35ps的标准差、具备低功耗模式、高达5个停止脉冲计数以及最低能够在零下40摄氏度工作等优点

TDC芯片介绍

  1. 引脚说明
    在这里插入图片描述
    我们结合官方的手册说明来分别介绍一下它的引脚
    在这里插入图片描述
    (1)ENABLE使能引脚,根据手册上说明,该引脚为高时芯片使能。
    (2)TRIGG触发引脚,根据手册上说明,芯片上电且使能之后会保持低电平,当我们初始化完成之后进入测试环节之后该引脚会拉低,且在芯片接收到START脉冲之后该引脚被拉低。
    (3、4)START、STOP引脚也就是两个需要测量时间间隔的脉冲,START脉冲到来之前TDC将不会响应STOP的脉冲,且根据手册说明我们可以通过配置寄存器来设置STOP脉冲的个数,这个我们后面再详细说。
    (5)CLOCK引脚为时钟引脚,该芯片需要外部提供时钟源,关于时钟源的选择后文再提。
    (6)NC直接悬空即可。
    (7)GND接低。
    (8)INTB引脚,默认情况下为高,为保证该引脚的稳定性我们在设计PCB时最好有一个上拉电阻。当一次测量完成之后该引脚会被拉低,我们可以通过检测这个引脚的电平来判断是否计时完成。
    (9、10、11、12)引脚为芯片控制引脚,TDC7200通过SPI时序读写,CSB为位选引脚,SCK为SPI时钟引脚,DOUT也就是我们常说的MISO引脚,DIN为MOSI引脚。
    (13)VREG引脚为内部LDO稳定提示引脚,按照手册上说明ENABLE引脚拉高后,只有等待该引脚输出电平稳定之后再进行测量工作,不过因为一般来说这个时间相当的短(ps级别),所以我们只需要再ENABLE引脚拉高之后等待个500us甚至5ms之后在进行初始化即可,所以我就在设计PCB时将该引脚连接了一个电容后到地了,当然也可以将这个引脚直接悬空。
    (14)电源供电引脚,根据手册说明,TDC7200供电电压范围为2V到3.6V,所以常规情况下我们选择3.3V即可。

  2. SPI时序说明
    关于SPI时序我们同样结合官方的手册来进行说明。
    在这里插入图片描述
    SPI时序图中规中矩,和我们平时用的其他SPI时序类似,CS拉低选中器件后通过时钟信号来控制数据的写入以及读出,这其中的注意事项只要有以下几点:
    (1)该芯片SCK上升沿为数据写入,下降沿数据读出。
    (2)数据和地址信息均遵循高位在前地位在后(MSB)的原则。
    (3)如下表7.6所示,每一帧数据传输完成之后CS拉高到下一帧数据传输开始CS拉低,在这之间需要有一个延时(帧间间隔t8);CS信号拉低之后需要等待一段时间才能有SCK信号进行数据传输(建立时间t6);CS信号拉高之前和最后一个SCK边沿的时间间隔也有要求(保持时间t7)。剩下的一些时间约束我们这里先不提,后文再解释。
    在这里插入图片描述

  3. 芯片参数选择说明
    在这里插入图片描述

(1)芯片时钟源:由上表说明,芯片时钟源最高频率为16MHz,一般我们使用8M或者16M晶振作为时钟源,当然如果有朋友觉得晶振频率不可靠可以直接使用相应的时钟仪器提供时钟信号。
(2)正如上面我画出来的,START到STOP之间最低的时间间隔为12ns,且每个STOP信号之间的间隔应该大于67ns(当你的STOP脉冲个数>=2时)。
TIPS:TDC7200提供了最多5个脉冲的停止信号,也就是说一个START之后可以有5个STOP信号,TDC会将START信号到这5个STOP信号的时间间隔分别存储在五个不同的寄存器里边。本文仅作演示,所以选择使用一个STOP脉冲。
(3)还有就是TDC提供了两种模式测量,模式一测量时间上下限为12ns到500ns,模式二为250ns到8ms,通过配置寄存器来确定模式。具体的测量细节官方手册介绍的很详细了。我们使用模式一进行测量。
(4)其他参数大家可以参考数据手册,我会在文末附上原文手册和中文参考手册资料链接。

  1. 重要寄存器介绍
    在这里插入图片描述
    上表列出了TDC7200的全部用户可见的寄存器,下面我们挑一些重要的介绍一下。

(1)Configuration Register 1
在这里插入图片描述
这个寄存器主要配置一些初始化参数,bit7配置测量结束后是否校准,bit6我也没看懂这位是怎么用的,但他这边说always 0所以我就默认配置为0了。bit5、4、3则是配置TRIGG、START和STOP引脚的极性的选项。bit2、1是用来配置模式的,bit0用来启动TDC7200测量(放到其他寄存器初始化完毕之后启动测量)。

(2)Configuration Register 2
在这里插入图片描述
这个寄存器也是用来配置初始化选项的,bit7、6用来配置标定周期参数CALIBRATION2_PERIODS,这个参数在后边计算的时候会用到,比如说我配置为00那这个值就是2。bit5、4、3用来配置测量周期,我配置为000就是只测1次。bit2、1、0就是配置有几个停止位的选项了。

(3)Interrupt Mask Register
在这里插入图片描述
这个寄存器我们配置bit0为1,使能测量,bit1为0,关闭粗计数溢出中断,bit2为0,关闭时钟计数溢出中断。

(4、5)Coarse Counter Overflow Value High Register和Coarse Counter Overflow Value Low Register
在这里插入图片描述
在这里插入图片描述
这两个寄存器分别存储粗计数溢出之后的值(高位和低位),高位默认为FF,所以我们可以将其设置为FF也可以不去管他,低位我们设置为00。

(6、7、8)TIME1 Register、CALIBRATION1 Register和CALIBRATION2 Register
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这三个寄存器用来存储测量完成后的结果,具体是什么用的后面计算公式我再来介绍。

  1. 计算方法
    在这里插入图片描述
    这边列出官方给出的计算方法,上式已经写得十分详细了,其中TIMEn(n对应第几个STOP脉冲也就是对应第几个TIME寄存器)、CALIBRATION2和CALIBRATION1就是刚刚最后两个寄存器的的值了。手册上给出了一个计算的例子,如下所示:
    在这里插入图片描述
    这边我只贴上来了mode1的计算方法,mode2计算方法和mode1不相同,大家可以通过手册自行了解。

写在最后

本文先介绍一下TDC7200这款芯片,后面一篇文章再介绍使用FPGA控制TDC进行时间间隔测量的程序部分。

https://blog.csdn.net/qq_46284844/article/details/121719751

附上TDC7200手册百度网盘链接:
链接:https://pan.baidu.com/s/1R0EPgQCCHvTbYs2hQLQJaQ
提取码:8t7n

版权声明:本文为CSDN博主「*Temporary」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_46284844/article/details/121716619

生成海报
点赞 0

*Temporary

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

FPGA控制TDC7200时间间隔测量(一)

引言 TDC7200是TI推出的一款测量时间间隔的芯片,具有低至55ps的分辨率、35ps的标准差、具备低功耗模式、高达5个停止脉冲计数以及最低能够在零下40摄氏度工作等优点 TDC芯片介绍 引脚说明 我们结合官方的手册说明

按键消抖+点亮led灯

前言 本课程是按键消抖的一个扩展内容,主要是通过实验观察按键消抖和不消抖的一个区别。 一、按键消抖 按键抖动:按键抖动通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点

Clock Wizard IP核的使用

Clock Wizard IP核的使用 DCM()实际上就是一个DDL,可以对输入时钟进行相位移动,补偿,产生倍频和时钟分频。 PPL(锁相环) 相当与DCM