目前FPGA TDC已经在项目上得到了应用,但是具体使用的时候根据项目的要求,使用的“方法”不尽相同,这里记录一种类似原始Start/Stop TDC的使用方式。
所谓TDC简单来说就是测量时间间隔,那么我们系统中具体来说就是测量每一个随机脉冲到达的时间。所以就需要一个时间参考。这样系统中需要两类TDC,一种用于测量时间参考脉冲,即Start,另外一种就是测量目标脉冲,即Stop脉冲。
一般一次应用start只产生一个脉冲,但是系统中有多个FPGA,或者多个子板,那么每个TDC的通道的coarse time起始的时间就不一定一致,相差一个时钟周期是非常可能的。因为启动coare time的命令是由主机发布的,所以这个命令在各个不同FPGA中同步到系统时钟的时候必然存在差异。
我们可以想象,如果这时候没有Start脉冲,而是直接测量stop脉冲,那么两个本来同一时刻发生的stop事件,被送到不同的FPGA的时候,会由于上述同步误差造成测量时间的巨大误差。
那么为什么说有start信号就可以解决这个问题呢?这是因为每一个FPGA只有一个Start信号,所以同一个FPGA内的stop信号的时间参考是相同的。测量结果是:
(TCstop+TFstop) - (TCstart+TFstart)
由于TC上的误差在同一个FPGA内stop和start是一样的,所以上述公式会将这个误差“剔除”。
文章评论(0条评论)
登录后参与讨论