TDC7200:高精度时间数字转换器的深度剖析与应用指南

电子说

1.4w人已加入

描述

TDC7200:高精度时间数字转换器的深度剖析与应用指南

在电子设计领域,时间测量的精度和效率至关重要。TDC7200作为一款专为飞行时间应用设计的时间数字转换器(TDC),在诸多领域展现出了卓越的性能。本文将深入探讨TDC7200的特性、应用、工作原理以及设计要点,为电子工程师提供全面的参考。

文件下载:tdc7200.pdf

1. TDC7200特性概览

TDC7200具备一系列令人瞩目的特性,使其在时间测量领域脱颖而出。

  • 高精度测量:分辨率高达55 ps,标准偏差为35 ps,能够实现高精度的时间测量,满足对时间精度要求极高的应用场景。
  • 宽测量范围:支持两种测量模式,模式1的测量范围为12 ns至500 ns,模式2为250 ns至8 ms,可适应不同的时间测量需求。
  • 低功耗设计:在2 SPS的采样率下,功耗仅为0.5 µA,非常适合电池供电的设备,有助于延长设备的续航时间。
  • 多停止信号支持:最多可支持5个停止信号,为复杂的时间测量任务提供了更大的灵活性。
  • 自主多周期平均模式:该模式可优化系统功耗,在测量过程中,主机可以进入睡眠状态,待测量完成后再唤醒,有效降低了整体功耗。
  • 宽电压范围:供电电压范围为2 V至3.6 V,适应不同的电源环境。
  • 工作温度范围广:可在 -40°C至85°C的温度环境下正常工作,具有良好的环境适应性。
  • SPI接口:通过SPI主机接口进行配置和寄存器访问,方便与其他设备进行通信和数据交互。

2. 应用领域

TDC7200的高精度和灵活性使其在多个领域得到了广泛应用。

  • 流量测量:可用于水表、燃气表、热量表等流量测量设备,通过精确测量超声波在流体中的传播时间,实现对流量的准确测量。
  • 磁致伸缩位置/液位传感:在磁致伸缩传感器中,TDC7200可以精确测量超声波在磁致伸缩材料中的传播时间,从而确定位置或液位信息。
  • 无人机飞行时间测量:在无人机的LIDAR和SONAR系统中,TDC7200能够准确测量激光或声波的飞行时间,为无人机的导航和避障提供关键数据。
  • 热量分配器:用于热量分配器中,精确测量热量传递的时间,实现热量的准确分配。

3. 工作原理与功能模块

3.1 功能概述

TDC7200本质上是一个秒表集成电路,用于测量单个起始事件(START引脚的边沿)与多个后续停止事件(STOP引脚的边沿)之间的时间间隔,即飞行时间(TOF)。它内部拥有一个时间基准,能够以皮秒级的精度进行时间测量,这使得它在流量测量等对精度要求极高的应用中表现出色。

3.2 功能模块

3.2.1 LDO(低压差稳压器)

LDO是TDC7200的内部电源电压调节器,为芯片提供稳定的电源。使用时,只需在其输出端连接一个0.4 µF - 2.7 µF(典型值为1 µF)的陶瓷去耦电容,且电容的ESR最大为100 mΩ。如果电容值超出推荐范围,可能会导致芯片故障甚至损坏。

3.2.2 CLOCK(时钟)

TDC7200需要一个外部参考时钟连接到CLOCK引脚。这个外部时钟用于精确校准内部时间基准,因此测量精度在很大程度上依赖于外部时钟的精度。在设备启用(ENABLE = HIGH)时,时钟必须始终可用且稳定。实验表明,随着参考时钟频率的增加,测量结果的标准偏差(即测量不确定性)会降低,因此推荐使用16 MHz的参考时钟以获得最佳性能。

3.2.3 计数器

TDC7200的时间测量依赖于两个计数器:粗计数器(Coarse Counter)和时钟计数器(Clock Counter)。

  • 粗计数器:用于计数环形振荡器(TDC7200的核心时间测量机制)的循环次数,其结果存储在TIME1至TIME6寄存器中。
  • 时钟计数器:仅在测量模式2中使用,用于计数START和STOP事件之间的整数时钟周期数,结果存储在CLOCK_COUNT1至CLOCK_COUNT5寄存器中。

当粗计数器或时钟计数器的值达到相应的溢出寄存器的值时,会触发中断,停止正在进行的测量。此外,时钟计数器停止掩码寄存器(CLOCK_CNTR_STOP_MASK)可以定义掩码窗口的结束,用于抑制错误或不需要的停止触发信号。

4. 测量模式

TDC7200支持两种测量模式:测量模式1和测量模式2。

4.1 测量模式1

适用于测量较短的时间间隔(< 500 ns)。在该模式下,TDC7200使用内部环形振荡器和粗计数器从START到最后一个STOP进行计数。随着测量时间的增加,测量精度会降低,因此不建议用于测量超过500 ns的时间。

4.2 测量模式2

内部环形振荡器仅用于计数总测量时间的小数部分。当接收到START信号后,环形振荡器开始计数,直到时钟的第一个上升沿,然后关闭,时钟计数器开始计数外部时钟输入的时钟周期,直到接收到STOP脉冲,环形振荡器再次开始计数,直到下一个时钟上升沿。

4.3 飞行时间计算

在不同的测量模式下,飞行时间(TOF)的计算方法不同。

  • 测量模式1:$TOF_n = (TIME_n)(normLSB)$,其中$normLSB = frac{(CLOCKperiod)}{(calCount)}$,$calCount = frac{CALIBRATION2 - CALIBRATION1}{(CALIBRATION2_PERIODS) - 1}$。
  • 测量模式2:$TOFn = normLSB (TIME1 - TIME{n+1}) + (CLOCK_COUNT_n)(CLOCKperiod)$,其中$normLSB$和$calCount$的计算方法与测量模式1相同。

5. 校准与功能模式

5.1 校准

为了补偿环境变量(如温度、系统噪声等)对测量结果的影响,TDC7200需要进行校准。校准包括两个外部时钟的测量周期:第一个是测量外部时钟的单个时钟周期;第二个是测量由CONFIG2寄存器中的CALIBRATION2_PERDIOS设置的外部时钟周期数。校准结果存储在CALIBRATION1和CALIBRATION2寄存器中,用于将TIME1至TIME6的测量结果转换为实际的飞行时间。

5.2 功能模式

5.2.1 多周期平均模式

在多周期平均模式下,TDC7200可以自动进行一系列测量,并在完成后向MCU发送中断信号。在等待过程中,MCU可以进入睡眠模式,从而优化系统功耗。用户可以通过配置CONFIG2寄存器中的AVG_CYCLES位来选择平均周期数(1至128)。

5.2.2 START和STOP边沿极性

为了获得最高的测量精度,建议START和STOP输入信号具有相同的边沿极性。在测量模式2中,强烈建议选择“上升沿”作为START和STOP信号的边沿极性,可通过设置CONFIG1寄存器中的START_EDGE和STOP_EDGE位为0来实现。

5.2.3 测量序列

TDC7200的测量序列如下:

  1. 设备上电后,EN引脚需要先置低,然后在VDD供电的情况下进行一次低到高的转换,以正确初始化设备。
  2. MCU通过SPI接口请求启动新的测量。
  3. 在CONFIG1寄存器中设置START_MEAS位后,TDC7200在TRIGG引脚生成触发信号,用于触发相应的超声波模拟前端(如TDC1000)进行测量。
  4. 发送触发信号后,TDC7200启用START引脚,等待接收START脉冲边沿。
  5. 接收到START信号后,TDC重置TRIGG引脚。
  6. 在外部时钟信号的下一个上升沿后,时钟计数器开始计数(测量模式2)。时钟计数器停止掩码寄存器(CLOCK_CNTR_STOP_MASK_H和CLOCK_CNTR_STOP_MASK_L)确定停止掩码窗口的长度。
  7. 达到时钟计数器停止掩码值后,STOP引脚等待接收一个或多个停止触发信号。
  8. 接收到最后一个停止触发信号后,TDC通过中断(INTB引脚)向MCU发出信号,表示寄存器中有新的测量结果。START、STOP和TRIGG引脚被禁用(在多周期平均模式下,TDC将自动生成新的TRIGG信号开始下一个周期)。
  9. MCU检索结果后,可以通过SPI设置START测量位,使用相同的寄存器设置开始新的测量,无需在测量之间将ENABLE引脚置低。
  10. 如果测量间隔较长,可将ENABLE引脚置低,使TDC7200进入最低功耗状态。但再次将ENABLE引脚置高时,设备将恢复默认寄存器设置,需要通过SPI重新配置。

6. 编程与寄存器映射

6.1 串行外设接口(SPI)

TDC7200通过SPI接口进行参数配置和数据读写。SPI接口由数据输入(DIN)、数据输出(DOUT)、串行接口时钟(SCLK)和片选信号(CSB)组成。通信支持写和读事务,写事务包括一个写命令字节和一个数据字节,读事务包括一个读命令字节和8或24个SCLK周期。

6.2 寄存器映射

TDC7200拥有多个寄存器,用于配置设备参数和存储测量结果。这些寄存器包括配置寄存器(CONFIG1和CONFIG2)、中断状态寄存器(INT_STATUS)、中断掩码寄存器(INT_MASK)、计数器溢出寄存器(COARSE_CNTR_OVF_H、COARSE_CNTR_OVF_L、CLOCK_CNTR_OVF_H、CLOCK_CNTR_OVF_L)、时钟计数器停止掩码寄存器(CLOCK_CNTR_STOP_MASK_H、CLOCK_CNTR_STOP_MASK_L)、测量结果寄存器(TIME1至TIME6、CLOCK_COUNT1至CLOCK_COUNT5、CALIBRATION1、CALIBRATION2)等。

7. 应用与设计要点

7.1 应用示例:流量测量

在流量测量应用中,TDC7200与TDC1000超声波模拟前端配合使用。通过测量超声波在流体中的上下游飞行时间差,可以计算出流体的流速和流量。具体步骤如下:

  1. MCU配置TDC7200和TDC1000,并通过SPI接口向TDC7200发送测量开始命令。
  2. TDC7200向TDC1000发送触发脉冲,TDC1000驱动发射换能器,同时产生同步的START脉冲,启动TDC7200的计数器。
  3. 接收换能器接收到有效回波脉冲后,TDC1000在STOP引脚产生STOP脉冲,停止TDC7200的计数器。
  4. 重复上述步骤进行上下游测量,计算飞行时间差,进而计算出流体的流速和流量。

7.2 设计要点

7.2.1 电源供应

TDC7200的模拟电路设计工作在2 V至3.6 V的输入电压范围内。建议在VDD引脚附近放置一个100 nF的陶瓷旁路电容,并使用一个大于1 µF的电解或钽电容作为大容量电容,以提供稳定的电源。

7.2.2 布局设计

  • 层叠顺序:在4层电路板设计中,推荐的层叠顺序为信号层、接地层、电源层和信号层。
  • 旁路电容:旁路电容应靠近VDD引脚放置,以减少电源噪声。
  • 信号走线:START和STOP信号的走线长度应匹配,避免不必要的过孔,保持走线短而直接,以减少PCB上的寄生电容。SPI信号走线应靠近放置,并在DOUT源端(靠近TDC7200)和DIN、SCLK、CSB源端(靠近主MCU)放置串联电阻。

总结

TDC7200作为一款高精度的时间数字转换器,凭借其卓越的性能和丰富的功能,在多个领域展现出了巨大的应用潜力。通过深入了解其特性、工作原理和设计要点,电子工程师可以更好地将其应用于实际项目中,实现高精度的时间测量和流量测量等功能。在设计过程中,需要注意电源供应、布局设计等方面的要点,以确保设备的稳定性和性能。你在使用TDC7200的过程中遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。

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

全部0条评论

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

×
20
完善资料,
赚取积分