【数据采集专栏】利用TDC提高外部触发精度

目录

简介

TDC是什么


简介

上文讲到触发的硬件电路实现,这节我们来讲如何触发如何在FPGA中进行实现。以及利用TDC提高触发精度

TDC是什么

TDC = 专门测量「两个触发信号之间的时间差」,把时间变成数字,让系统知道:什么时候发生了什么、间隔多久、延迟多少。

我们现在只讨论外部触发

由于采集时钟误差,是采集触发的重大误差之一。外部触发是异步信号,FPGA 系统时钟(例如 50MHz)只能按周期采样,TDC 能测量 "触发沿" 落在两个时钟之间的微小时间差,把精度细分到时钟周期以内。

对于一些高精度的脉冲信号而言,这种误差是不可忽视的。这里我们采用进位链的方式,来进行精准数据采集。

TDC的方式,我们采用FPGA的进位链

Xilinx / Intel FPGA 内部自带超高速进位延迟单元,延迟只有 50~300ps。

它能把一个时钟周期(20ns)切成 60~100 个小格子,每个格子就是精度。

根据对应的精度要求,选择对应的抽头,要求不高的我们采用一抽头就够了,如果精度要求高,那就比所有的抽头都拿出来,当然还需要校准,因为由于时钟的抖动,会产生气泡,

导致TDC的位数不准,所以需要进行校准。当然校准的设计不是我们这节文章索要展示的重点。

这样我们就能精准的指导触发上升沿到来的位置。

  • 外部触发信号一进来,立刻打入一串进位链
  • 进位链像一把超高速尺子
  • 系统时钟采样这把尺子
  • 得到 粗计数(时钟数) + 细计数(进位链位置)
  • 总时间 = 粗时间 + 细时间
  • 触发精度 = 细时间(ps 级)

FPGA 进位链 TDC = 把外部触发的精度从时钟周期,细分到 ps 级,让触发时刻无限精准。

相关推荐
千寻xun6 小时前
二、实战篇-NVME SSD控制之ZYNQ实现(六)-读写NVME SSD硬盘数据
fpga开发·nvme·nvme ssd
千寻xun6 小时前
二、实战篇-NVME SSD控制之ZYNQ实现(三)
fpga开发·nvme ssd·nvme协议
忆锦紫9 小时前
vivado报错及解决【十】
fpga开发·fpga·vivado
喵喵苗9 小时前
FPGA 核心资源解析:FF 触发器(Flip-Flop)—— 时序逻辑的“记忆心脏”
fpga开发
硅农深芯11 小时前
LVDS DC参数详解
fpga开发·lvds·dc参数
忆锦紫13 小时前
vivado报错及解决【十一】
fpga开发·fpga·vivado·xilinx
Saniffer_SH1 天前
NAND技术(二):从 Channel、Die/LUN、P/E Cycle 到 LDPC,一次讲透 NAND 里那些最容易误解的概念
人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·计算机外设·压力测试
千寻xun1 天前
二、实战篇-NVME SSD控制之ZYNQ实现(四)
fpga开发·nvme·nvme ssd
ALINX技术博客1 天前
【黑金云课堂】FPGA技术教程Linux开发:系统进阶-PS DMA
linux·fpga开发
喵喵苗1 天前
FPGA Verilog 入门避坑:寄存器与锁存器的本质区别 & 为什么时序逻辑缺 else 不会生成锁存器
fpga开发