前两篇分别介绍了TDC-GPX2的使用详情以及FPGA控制代码,本文将会该处测量精度以及操作过程

测试平台

由于目前没有高精度时间间隔测量的仪器在身边(之前还有过一台SR620,现在没有了),所以将会采用FPGA自身产生两个可控的时间间隔,最后将测量的结果通过ILA打印出来。

启动测量

开始测量之前,我们先检查硬件连接,确保通信引脚(SCK MOSI MISO SSN INTERRUPT)、参考时钟引脚(CLK)、脉冲触发引脚(STOP1)顺利连接到FPGA的引脚上,之后启动VIVADO,生成BIT流文件之后下载到芯片中,此时ILA的显示界面如下所示:

目前所有的值都是初始值,然后我们按下启动测试按键,再来看看ILA的界面:

此时状态已经跳到状态5(等待状态),数据校验值和预期的一致,目前结果值还没有,因为还没有给STOP脉冲。下面我们给出STOP脉冲,根据程序中所给的stop脉冲间距是10个时钟周期(如下所示):

stop_test #(.stop_time(4'd10),      //脉冲间隔.stop_continue(4'd3) //每个脉冲高电平所持续的时间
) u1_stop_test(.sys_clk(sys_clk),.sys_rst_n(sys_rst_n),.stop_en(key2_value),.stop_pulse(stop_pulse3)
);

所以时间间隔应该是(1s/50M)×10=200ns,下面我们给入STOP信号,ILA显示如下:

上述结果第一个参数表示REFID,结果相差1,说明两个STOP脉冲处于相邻的两个时钟周期内,在分析第二个参数,STOP1为00efc2,用十进制表示就是61378ps=61.378ns,STOP2为00ef85,用十进制表示就是61317ps=61.317ns,按照前文所述的计算公式,得到的时间间隔就是:200-61.378+31.317=199.939,测量误差为199.939-200=0.061ns=61ps,下面我们多测几组数据如下所示:
(时间间隔:200ns)

上图中的误差为13ps;

上图中的误差为10ps;

上图中的误差为23ps;
接下来我们更改时间间隔为35个时间间隔,代码如下所示:

stop_test #(.stop_time(16'd35),.stop_continue(16'd3)
) u1_stop_test(.sys_clk(sys_clk),.sys_rst_n(sys_rst_n),.stop_en(key2_value),.stop_pulse(stop_pulse3)
);

测量结果如下所示:
(时间间隔700ns)

上图所测的时间间隔为:700.096ns,误差96ps。

上图所测的时间间隔为:700.130,误差130ps。

上图所测的时间间隔为:700.056,误差56ps。

思考

上面的第二组数据明显误差增大,甚至达到百ps级别,我想这个和基准频率源有关,因为FPGA采用晶振作为时钟源,当周期数提高后,对应的误差也会增大,这就是误差的主要来源。其次,FPGA的DCM时钟管理单元是否可靠还有待考究。

结语

本次实验介绍就到此结束了,如果大家有更好的建议或者本文档写的不到之处,欢迎评论区指出。
以下是本实验的工程链接,
CSDN资源链接:
FPGA控制TDC_GPX2时间间隔测量
百度网盘链接:
链接:https://pan.baidu.com/s/1vWyToTMimA1mgutUf7LGkw?pwd=1146
提取码:1146

FPGA控制TDC-GPX2时间间隔测量(三)相关推荐

  1. FPGA控制TDC-GPX2时间间隔测量(一)

    距离上一次使用FPGA控制TDC芯片测量时间间隔已经过去一年多了,当时采用的TDC芯片是TI的一款芯片TDC7200,最后测量结果所能达到的精度为百皮秒级别,最近使用入手了AMS生产的TDC-GPX2 ...

  2. FPGA控制ADS1256的ADC采集(三)

    前两篇分别详解了ADS1256的数据手册以及代码分析,这篇文章来介绍一下实际操作以及精准分析.附上上一篇文章的链接:FPGA控制ADS1256的ADC采集(二). 测试 (1)4.69V电压测试 实际 ...

  3. FPGA控制DDS_AD9850输出正弦波(“并行spi”)

    本次介绍ADI公司的数字频率合成(DDS)芯片--AD9850以及如何使用FPGA控制其输出正弦波. 本文分三个部分讲解:一是AD9850芯片介绍,包括基本引脚功能.驱动时序以及相关注意事项:二是基于 ...

  4. 基于FPGA和STM32的相位差测量(含源码)

    目录 1. 前言 2. 正文 2.1 设计要求 2.2 设计方案 2.3 FPGA设计 2.3.1 总体结构 2.3.2 顶层 2.3.3 相位差测量模块 2.3.4 Testbench 2.3.5 ...

  5. TDC综述(一)——基于FPGA的TDC概述

    1.1 高精度时间数字转换器概述(TDC) TDC常被用于测量时间间隔,广泛应用于物理研究.飞行时间测量领域等.虽然分辨率是一个重要的参数,但TDC非线性将直接影响整个系统的精度.此外,全数字锁相环( ...

  6. shineblink ADXL345传感器测量三轴加速度/倾斜角

    ADXL345传感器测量三轴加速度/倾斜角 一.本例程实现功能 二.基本概念 三. 传感器参数配置描述 四.接线图 六.完整代码 七.代码运行结果 八.测量倾斜角 九.ADXL345传感器的低功耗休眠 ...

  7. FPGA 控制 FLASH 之 Startup 原语使用相关链接

    固件远程更新之STARTUPE2原语(fpga控制flash) 上个格式不方便看,看这个转载的: https://blog.csdn.net/Reborn_Lee/article/details/89 ...

  8. (54)FPGA基础编码D触发器(三)

    (54)FPGA基础编码D触发器(三) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA基础编码D触发器(三) 5)技术交流 6)参考资料 2 FPGA入门与 ...

  9. (35)FPGA打两拍、打三拍设计(第7天)

    (35)FPGA打两拍.打三拍设计(第7天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA打两拍.打三拍设计(第7天) 5)技术交流 6)参考资料 2 ...

最新文章

  1. Android stadio 导入不在当前工程目录里的工程
  2. arXiv灌水机:机器自动生成论文标题、摘要信息,还有40+奇妙AI应用
  3. Openstack贡献者须知 — OpenPGP/SSH/CLA贡献者协议
  4. Docker的界面话管理工具
  5. sass部分知识小结
  6. Spring-Cloud中的统一配置中心
  7. VSCode设置ESLint语法检查
  8. 浅析STM32之usbh_def.H
  9. java与sql2005连接数据库_Java链接数据库SQl Server2005
  10. webpack打包压缩混淆_细说webpack系列 3. webpack-cli 零配置打包
  11. zabbix+ldap认证故障解决一例
  12. qq 音乐 python 登录_手把手教你使用Python抓取QQ音乐数据(第四弹)
  13. 利用Apache POI操作ppt模板
  14. 【算法动画图解-5数学】:(1)辗转相除法
  15. 小学计算机网络教室简介,市中小学计算机网络教室(网络学习室)
  16. 使用LSTM神经网络+CTC loss识别freetype库生成的不定长验证码
  17. 什么是自锁开关?自锁开关的工作原理介绍
  18. 面试官:设计模式是什么?
  19. 计算机黑屏的原因及解决办法,电脑黑屏的原因及排除方法大全
  20. 国标GB28181流媒体服务器SIP视频流获取过程

热门文章

  1. zyt-Linux云计算
  2. ZOHO:游刃于快时代的“慢公司”
  3. 18.2 增强型图元文件
  4. Angular真有React开发人员讲得那么差劲?
  5. 河北官方:邯郸涉县致4死5伤煤气泄漏事故涉嫌瞒报
  6. 贺世界智能网联汽车大会-速锐得V8翻开智能驾驶汽车新篇章
  7. MySQL语句和命令大全
  8. java小组的队名,有创意的队名和口号
  9. Android Studio学习#2
  10. android apk是什么文件,apk是什么文件?apk文件肿么打开?