基于CPLD的高精度时间间隔测量系统的设计
扫描二维码
随时随地手机看文章
摘 要: 介绍一种宽测量范围的高精度时间测量电路的实现原理和设计方法,通过CPLD内部优化的非门延迟线设计,实现了对时间的精确测量;通过不间断精确校准,保证了在不同温度下的测量精确度。实验数据分析表明,该设计能够达到300 ps的测量分辨率,不同温度环境下测量准确可靠。
关键词: 微时间测量;TDC;门延迟;温度校准
工业的发展对时间测量精度的要求越来越高,传统的精密时间测量技术大致有以下几种方法:直接计数法、扩展法、时间幅度转换法、游标法。微电子技术的发展,为高集成度、低功耗、高分辨率的TDC提供了可能。
电子学方法实现高精度时间测量的技术和原理有多种,从测量范围和测量精度上看,可以分为两大类,一类是高精度的时间测量,其测量分辨率最高可以达到几个皮秒量级,但该类时间测量电路其动态范围一般比较低;另一类为大动态范围高精度时间测量电路。不同的应用场合对时间测量范围和测量精度提出了不同的要求。本文介绍了一种比较折中的方法,即在低动态范围与大动态范围均可得到较佳结果的非门延迟法,此方法为时间数字化(TDC)的一种。
1 非门延迟的工作原理
1.1 延迟线工作原理
抽头延迟线法与差分延迟线法是随着近年来大规模集成电路的应用而发展起来的。抽头延迟线法,也叫时延法。从概念上说,它比较简单。在早期,用同轴线来实现延迟线,但是为了实现高精度测量,需要数目众多的抽头,因而电路庞大,使得这个技术在当时无法推广。随着半导体技术的发展,特别是大规模集成电路的发展,这种方法被移植到集成电路上,得到迅速推广。抽头延迟线是由一组延迟单元组成的,理论上这组延迟单元传播时延相等,都为?子。而时间间隔的测量就是通过关门信号Stop对开门信号Start在延迟线中的传播进行采样实现的。抽头延迟线法的结构多种多样,下面以其中一种为例介绍[1],[2]。
图1是由专用的延迟单元和采样单元实现抽头延线法的电路原理图。一个延迟时间为τ的单元,总是配合一个触发器FF(Flip-Flop)。这里FF是上升沿触发而非电平触发,时间间隔T开始时Start的上升沿在延迟线中传播,结束时用Stop的上升沿对触发器进行采样。触发器电平为高时最高位的位置就决定了测量结果,通过译码实现从时间到数字的转换。但要实现精确测量,输入触发器时钟端的Stop信号的时滞必须很小[4]。
该方法原理简单,但所设计传输门的长度随测量时间长度的增加而增加,长延迟线的制作和性能不能得到很好的保证,因此这种技术常常只是作为内插的基础。在此技术基础上设计改进的方法有锁相环(PLL)法[5]、延迟锁定环(DLL)法、延迟锁定环阵列、进位链延迟法等,在各种设计中都得到一定的应用。但此类方法设计较复杂,需要仔细的布局布线以保证所有单元的延迟相同以及每个单元的输出互连电容匹配,且应充分考虑环路的稳定性。
1.2 延迟方法
在各种门电路结构中,非门是工艺结构最简单的一种门电路[3],在不考虑工艺差别的情况下,电流通过一个门电路所用的时间应为最短,本文选择非门电路作为传输线的延迟。结构如图2所示。为了减少延迟线长度,降低设计复杂度,利用数字电路中奇数个非门通过自身延迟则可组成一个闭环振荡器的结论,在该振荡器的基础之上设计出一个时间测量电路。
启动信号Start高电平触发,启动非门振荡器振荡输出高频频率信号,该信号经过多次分频后进入频率计数器。当停止信号Stop进入时,触发停止振荡器并锁存振荡器、分频器、计数器结果信号。该振荡器、分频器、计数器结果信号进行合成计算后即可得到时间值。
由于CMOS门延时振荡器与工艺参数、供电电压和温度高度相关,因此这样的振荡器需要经常校准以减小误差。该电路中设计了校准电路,校准电路以精确的32.768 kHz时钟作为参照,每次测量前先测量精确的32.768 kHz时钟。
将32.768 kHz的时钟引入到Start/Stop引脚,启动测量基准时钟电路,测量两个上升沿之间的时差,结果存储在结果寄存器中,则单个门延迟的平均时间τ为:
M1:频率计数器值
M2:分频值
M3:振荡环所计值
X1:分频次数
X2:振荡环非门数
通过内部运算即可得到单个门延迟的平均时间。在每次测量前先测量基准时钟,再测量需测时间则可得到较佳的精度,该电路在不同的CPLD芯片中得到的延迟时间不同,在ALTEAR公司的MAXII系列中的EMP570T-
100C5大约为250 ps。
2 仿真实验结果
将精确的32.768 kHz基准时钟通过该电路,仿真结果如图3所示。基准时钟上升沿触发启动振荡器,振荡输出频率约为750 MHz的时钟信号,经过多次分频后进入频率计数器。频率计数器计数结果为(0x057B),级联分频器分频值为(0b1001),振荡环所计值为(0b101)。理论计算得出每个门延迟为226.480 6 ps。
用频率为4 MHz的待测时钟信号通过该电路,仿真结果如图4所示。频率计数器计数结果为(0x000B),级联分频器分频值为(0b0111),振荡环所计值为(0b101)。两个高电平之间的时间差为T=(M1×X1×2×X2+M2×2×X2+M3)×τ(ps);仿真计算得出两个高电平之间的时间差为249 808.101 8 ps。与理论值的差为-191.898 2 ps。
仿真实验显示,该设计的分辨率优于250 ps,考虑到干扰、温度影响和器件差别,其测量分辨率应优于300 ps。在大测量范围应用中只要增加频率计数器的计数长度则可,且不影响频率分辨率。
3 误差分析
通过振荡环仿真结果局部放大图5可以看出,振荡环内部非门的延迟并非为等延迟电路。因为CPLD内部的逻辑互联并非等延迟线,所以非门串联时的时间长度无法一致,由仿真波形观察结果已说明内部编译为非等延迟线,但Quartus II平台在CPLD综合仿真过程中已经充分考虑了门及互连进位链间的延迟,该烧写文件下载入CPLD运行结果与仿真结果几乎一样,故为了提高测量精度,可将仿真结果中每个门的延时比例带入运算过程中进行运算。
改进后用4 MHz的待测时钟信号通过该电路,仿真计算得出信号两个高电平之间的时间差为249 853.397 9 ps。与理论值的差为-146.602 1 ps。可见通过该方法可在一定程度上提高测量精度。
4 实验测试结果、误差分析与改进方法
将32.768 kHz的基准时钟接入该电路,同时将待测信号接入该电路(以4 MHz的频率信号为例),晶体振荡器的频率稳定误差约为±20 ppm,改变测量基准脉冲的个数和外部环境温度,通过实验测试结果得出,将32.768 kHz的基准时钟接入该电路,与仿真的数据比较发现,实验数据在仿真数据之间略有波动;待测脉冲、基准脉冲的个数越多得出单个门延迟越精确;随着温度升高,单个门延迟时间变短;温度变化时,基准时钟与待测信号变化趋势一致,且存在一定的关系。
图6为不同温度下的单非门延时。由图6可以看出,温度越高非门延迟时间越短,理论上温度越高,电子的活跃程度越大,非门延时间变短,实验结果与理论一致。不同温度时非门延迟时间不同,故为了得到稳定精确的测量结果,不能使用相同的非门延迟,因此每次测量待测信号时先测量32.768 kHz的基准时钟,通过基准时钟计算出单个非门的延时时间,再测量待测信号,这样则可消除温度对测量精度的影响,得到精确的测量结果。图7为不同温度下先测基准时钟、再测待测信号所测得的待测信号时间,通过此方法可以消除温度对测量精度的影响。
图8为不同测量脉冲数下的单非门延时,由图8可以看出,连续测量基准脉冲数越多,得到的单次非门延迟越接近于理论值。这是由于在对基准时间进行量化的过程中存在舍掉余数误差,通过测量多个时钟脉冲的方法减小了舍入误差,实验结果与理论分析一致。
同理,在相同条件下测量的待测时钟脉冲数越多,得到的数据经计算得出的待测时钟脉冲时差与理论值越接近。因此,在测量过程中可以通过多次连续测量求平均的方法减小误差。例如,将该设计应用在超声波流量计中,可以连续测量8次回波的方法减小测量误差,实际应用中该方法效果良好。
该设计在测量过程中以精确的32.768 kHz作为基准时钟,该基准时钟一般采用晶体振荡器,晶体振荡器的稳定误差通常约为±20 ppm。因此,可通过选用频率稳定度更高的晶体振荡器(如±5 ppm)以提高测量精度。但该振荡器的价格比±20 ppm的高许多,在设计过程中要综合考虑性价比的问题。
本文介绍的微时间测量方法,不仅大大节省了芯片面积,降低了设计难度,而且达到较高的频率分辨率。这种方法的提出,在低成本且对短时间间隔的测量有较高精度要求的场合,有重要的实际意义。通过改进设计,优化内部逻辑结构,选择更快速度的CPLD,该设计可达到更高的频率分辨率。如需达到100 ps以内的分辨率,可通过此方法设计定制专用的ASIC电路。该设计在一般的应用场合如超声波流量计、红外测距中已经得到实际运用,使用效果良好,测量稳定、精确。
参考文献
[1] 宋健.基于FPGA的精密时间——数字转换电路研究[D]. 中国科学技术大学博士学位论文,2006.
[2] 张延,黄佩诚.高精度时间间隔测量技术与方法[J].天文学进展.2006,24(1):1-15.
[3] TDC-GP2 Universal 2 Channel Time-to-Digital Converter acam-messelectronic FEB,2007.
[4] 于建国,陈明,周渭,等.精密时间间隔测量方法的改进. 宇航计测技术[J],2003,23(3):15-20.
[5] 杨成伟,霍玉晶,何淑芳,等.基于CPLD的脉冲激光测距飞行时间测量.激光与红外[J].2004,34(2):106-108.