基于FPGA多相位时钟TDC设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA多相位时钟TDC设计

基于FPGA多相位时钟TDC设计   摘 要:人类对时间测量最早的需求来源于天文学。天文学一个最重要的任务就是测量时间:从确定日的长短、四季的变化,到制定历法。时至今日,测量时间的需求已经远远超过了天文的范畴。一般来说,人类实际用到的时间都是相对与某一参考的,即都是时间间隔。时间数字转换是测量时间间隔的基本手段。本文介绍了一种利用FPGA实现的高精度多相位时钟TDC。主要介绍了该TDC设计的三个关键问题:稳定的超高速计数器的实现、高精度鉴相器的实现、以及多时钟域数据的处理。最后给出了测试结果。   关键词:时间数字转换;TDC;鉴相器;时间内插   DOI:10.16640/j.cnki.37-1222/t.2016.13.236   0 引言   时间是物质存在和运动的基本属性之一,精密的时间测量是科学研究、工程试验的基本和有效手段,精密的时间测量技术不仅在高能物理、相对论物理等基础研究领域具有重要作用,在诸如航天、雷达、无线通讯、导航测绘以及医疗等工程领域也被普遍使用。如高能物理中的固定靶和对撞试验、飞行时间谱仪、核医疗设备PET、雷达测距、激光测距等都离不开高精密的时间测量技术,其对时间测量的精度达到纳秒甚至皮秒量级。一般TDC实现办法分为模拟和数字两种。模拟的方法包括电流积分技术和时间放大技术,这是早期的时间测量技术,由于需要模拟电路来实现,集成度,稳定性、精度等已经不能满足要求。数字的方法主要包括计数器技术、游标卡尺技术、时间内插技术等。   1 多相位时钟TDC原理   在FPGA中实现TDC某种程度上可以理解成是利用FPGA对开始、停止信号进行采样并记录采到的两个信号的时间间隔。FPGA中时钟允许的最高频率是有限的,利用计数器方法实现TDC的时候,相当于开始、停止信号的采样间隔是一个时钟周期,这样在一个时钟周期内信号何时到达的信息便无法被读取出来。为了挖掘出单个时钟周期内部的时间信息,一个思路便是利用不同相位的时钟去对同一个HIT信号采样,这样相当于把采样周期变为以前的N分之一,而各个移相的时钟还是工作在FPGA允许的频率下。利用多相位时钟实现内插法TDC最大的挑战是鉴相精度和多时钟域数据同步。   1.1 鉴相器   对一个N相位时钟TDC,HIT信号到达N个D触发器,这N个D触发器各自工作在自己的时钟下。假设理想情况下,不考虑任何延迟量,以一个八相位时钟为例,则对应八个D触发器,HIT在到来后,这八个D触发会依据自身的时钟对HIT进行采样,将这八个D触发器的输出在各自时钟下进行Level-to-Pulse转换一下,使得高电平只保留一个时钟周期的p0、p1、p2、p3、p4、p5、p6、p7, HIT信号到来的不同的时间反映到p0、p1、p2、p3、p4、p5、p6、p7出现的先后顺序的不同,这个出现的顺序反应了HIT在八个相位时钟里哪个区间到来。即完成了签相的功能。   上述的分析是假定理想的情况下作出的。签相器的精度直接决定了TDC的精度,签相器的精度是目前这种TDC设计的瓶颈所在。由于HIT信号进入FPGA后要扇出给不同的D触发器,HIT信号到达各个D触发的时间不可能完全一样,同时由于八相位时钟的产生一般是用FPGA内部的PLL或DLL等资源给出,通过全局时钟资源送到FPGA内部的逻辑资源,这个时间也存在差异。综上分析,要提高签相器的工作性能,必须要尽量做到HIT信号扇出到各个D触发器的时间尽量一致,即HIT到各触发器之间的Skew越小越好,这个可以通过对FPGA开发软件,设置约束文件等完成。另外各个相位的时钟到达各自D触发器的Skew也要越小越好,这个可以通过对FPGA时钟管理资源的设置完成。   1.2 多相位时钟同步   鉴相器输出的反映HIT信号到来时间的p0、p1、p2、p3、p4、p5、p6、p7信号。为了解决同步问题,我们设计了多相位计数器,原理与文献中不同的是,这个八相位计数器的频率只限于FPGA内核的速度,而不在受建立时间的限制,从而解决了文献中的超高速计数器的稳定性问题。我们设计时用clk7去抓clk0的输出,则建立时间为7/8时钟周期,用clk6去抓clk7输出的反,建立时间为7/8时钟周期,同理类似,其他触发器的建立时间也是7/8时钟周期。这样多相位时钟的工作频率就只受限于FPGA的内核性能。   2 多相位时钟TDC实现及测试   多相位时钟TDC在Altera公司Cyclone III芯片中实现, HIT信号由普通管脚输入,逻辑设计利用verilog硬件描述语言。在对TDC测试中,TDC所能跑到的最高速度为350MHZ,主要受限于HIT到鉴相器中8个D触发器之间的Skew,当速度在提高时,会出现?G码现象,在350MHZ以下,TDC工作正常,没有?

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档