一种基于TDC-GP21的精密时间自动测量电路及方法
技术领域
本发明涉及测试技术领域,特别涉及一种应用于手持式数字示波表中的对触发点与采样点之间的时间间隔(△t)进行精确测量的电路和方法。
背景技术
传统的示波表多用双斜式内插技术来实现精密时间的测量,双斜式内插技术是利用电容的充放电路将微小的时间间隔展宽来测量时间。图1所示为传统的双斜式内插电路,该电路是一个快速放电(下降斜坡)、慢速充电(上升斜坡)的双斜式积分电路,因为电容器101的每次充放电电荷相等,即t充×I充=t放×I放,所以则内插增益G=I放/I充=t充/t放,扩展后的波形经过比较器102的整形,作为闸门信号加到精密内插计数器103,对内插时钟Ti进行计数,计数值为i,则时间间隔Δt=i×Ti/G。
然而,双斜式内插技术在测量精密时间间隔时存在以下问题:1)双斜式内插技术多采用模拟电路来实现,其器件布局空间大,成本高、功耗大,不适合手持式示波表;2)由于电容充放电时间的非线性,导致测量的结果存在零点误差和非线性误差;3)电容充放电性能受温度的影响非常巨大,对示波表整机的温度特性要求非常严格;4)在连续测量时,电路的测量反应速度较慢,示波表的波形更新率较慢。
发明内容
本发明提出一种基于TDC-GP21的精密时间自动测量电路,解决了现有技术中采用双斜式内插技术测量精密时间间隔,空间大、成本高、功耗大,测量的结果存在零点误差和非线性误差,示波表整机的温度特性要求非常严格,在连续测量时电路的测量反应速度较慢的问题。
本发明的技术方案是这样实现的:
一种基于TDC-GP21的精密时间自动测量电路,包括:第一触发器,其置位端耦接到高电平,时钟端耦接到触发信号,输出端输出第一触发信号;延时器,其输入端耦接到所述触发信号,对所述触发信号进行延时操作,输出端输出延时信号;第二触发器,其置位端耦接到所述第一触发器的输出端,时钟端耦接到所述延时器的输出端,其输出端输出第二触发信号;复用器,其输入端耦接到所述第二触发器的输出端,对所述第二触发信号进行一分二输出;第三触发器,其置位端耦接到所述复用器的第二输出端,时钟端耦接到采样时钟,输出端输出第三触发信号;第四触发器,其置位端耦接到所述第三触发器的输出端,时钟端耦接到所述采样时钟,输出端输出第四触发信号;TDC-GP21芯片,其启动端耦接到所述复用器的第一输出端,其停止端耦接到所述第四触发器的输出端;FPGA芯片,输出4路SPI读写时序信号到TDC-GP21芯片的输入端,用于配置TDC-GP21芯片的寄存器,并输出采集触发信号到所述第一触发器和第二触发器的复位端。
可选地,所述采样时钟的频率为156.25MHz。
可选地,所述FPGA芯片为XC5VLX50芯片。
可选地,所述第一触发器、第二触发器、第三触发器和第四触发器为ON Semiconductor公司的MC100LVEL31DTG芯片。
可选地,所述延时器为ON Semiconductor公司的MC100LVEL16DTG芯片。
可选地,所述复用器为ON Semiconductor公司的MC100LVEL11DTG芯片。
本发明还提供了一种基于TDC-GP21的精密时间自动测量方法,该方法使用上述基于TDC-GP21的精密时间自动测量电路进行测量,包括以下步骤:通过FPGA芯片对TDC-GP21芯片的寄存器进行配置;通过FPGA芯片向TDC-GP21芯片发送代码“INIT”以初始化TDC-GP21芯片,TDC-GP21芯片准备好接收启动信号和停止信号;通过FPGA芯片向TDC-GP21芯片发送Start TOF命令,触发一次时间测量;在测量结束时,运算器开始依照HIT1和HIT2的设置处理数据并把结果送入输出寄存器;通过FPGA芯片向TDC-GP21芯片发送代码“10110ADR”读取数据,TDC-GP21芯片从最高有效位开始输出结果。
可选地,所述通过FPGA芯片对TDC-GP21芯片的寄存器进行配置的步骤具体包括:选择测量模式1并选择双精度模式;每个通道接收的脉冲数设置为停止端STOP通道1接收1个脉冲;选择4MHz高速时钟;选择校准测量并设置为自动更新校准数据;数据计算方式是ALU计算两个信号的时间差,设置为1st Stop Ch1-Start;中断方式设置为被设置的脉冲个数全部被接收到或者TDC-GP21芯片测量单元溢出产生中断;寄存器设置为REG0=0x22466000,REG1=0x01410001,REG2=0x60000002,REG3=0x38000003,REG4=0x20000004,REG5=0x05,REG6=0x00001006。
本发明的有益效果是:
(1)电路结构简单、成本低、功耗小,适合于小型化、低功耗的手持式数字示波表;
(2)测量精度高、线性度好,测量时间精度可达45ps;
(3)具有自动校准功能,能自动补偿因电压和温度的变化引起的误差;
(4)测量速度快,使数字示波表的波形更新率显著提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为传统的双斜式内插技术的电路示意图;
图2为本发明的基于TDC-GP21的精密时间自动测量电路的示意图;
图3为本发明的基于TDC-GP21的精密时间自动测量电路精密时间△t生成的时序图;
图4为本发明的一种基于TDC-GP21的精密时间自动测量方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明的基于TDC-GP21的精密时间自动测量电路的示意图。
如图2所示,本发明的一种基于TDC-GP21的精密时间自动测量电路,包括:第一触发器201,其置位端D耦接到高电平VCC,时钟端C耦接到触发信号TCK,输出端Q输出第一触发信号;延时器202,其输入端D耦接到触发信号TCK,对触发信号进行延时操作,输出端Q输出延时信号;第二触发器203,其置位端D耦接到第一触发器201的输出端Q,其时钟端C耦接到延时器202的输出端Q,第二触发器203的输出端Q输出第二触发信号;复用器204,其输入端D耦接到第二触发器203的输出端Q,对第二触发信号进行一分二输出;第三触发器205,其置位端D耦接到复用器204的第二输出端Q2,时钟端C耦接到采样时钟SAMPLE_CLK,输出端Q输出第三触发信号;第四触发器206,其置位端D耦接到第三触发器205的输出端,时钟端C耦接到采样时钟SAMPLE_CLK,输出端Q输出第四触发信号T_STOP;TDC-GP21芯片207,其启动端START耦接到复用器204的第一输出端Q1,将复用器204的第一输出端Q1输出的T_START信号作为启动信号,其停止端STOP耦接到第四触发器206的输出端Q,将第四触发信号T_STOP作为停止信号;FPGA芯片208,输出4路SPI读写时序信号到TDC-GP21芯片207的输入端SSN、SCK、SI和SO,用于配置TDC-GP21芯片207的寄存器,并输出采集触发信号到第一触发器201和第二触发器203的复位端R,例如FPGA芯片可以为XC5VLX50芯片。
图2中的触发信号TCK是来自比较器(图2中未示出)的信号,频率范围为DC~500MHz,采样时钟SAMPLE_CLK是系统降速的采样时钟,频率为156.25MHz,是ADC时钟(1.25GHz)的8分频,触发点和采样点之间的时间间隔为△t,即触发信号TCK和采样时钟SAMPLE_CLK两信号之间的时间间隔,0<△t<6.4ns。基于TDC-GP21的精密时间测量电路主要包括精密时间间隔△t的生成电路和精密时间间隔△t的测量电路两个部分。
精密时间间隔△t的生成电路采用ON Semiconductor公司的高速PECL的逻辑门电路来实现,其中,第一触发器、第二触发器、第三触发器和第四触发器为MC100LVEL31DTG芯片,延时器为MC100LVEL16DTG芯片,1分2的复用器为MC100LVEL11DTG芯片。高速比较器(图2中未示出)产生的触发信号TCK作为时钟信号经过第一触发器201产生快速的边沿信号,即第一触发信号,该边沿信号作为第二触发器203的信号输入,在TCK时钟二次同步作用下,经过复用器204实现1分2输出。两级D触发器的主要作用是产生高稳定的快速的边沿信号,防止单个触发器在锁存的过程中,进入亚稳态,导致边沿的不稳定。经过复用器MC100LVEL11DTG输出的2路信号,第一输出端Q1输出的T_START信号送到TDC-GP21芯片207的启动端START,作为精密时间测量的启动信号,第二输出端Q2输出的另一路信号经过2个D触发器在采样时钟SAMPLE_CLK的作用下进行同步的采集,产生高稳定的边沿信号T_STOP,即第四触发信号,送到TDC-GP21芯片的停止端STOP,作为精密时间测量的停止信号。由于TDC-GP21芯片的测量时间范围是3.5ns~2.5μs,所以△t通过第四触发器206预展宽成△t+T,以满足后端TDC-GP21芯片的测量范围的要求。图3中示出了精密时间△t生成的时序图。
本发明还提供了一种使用图1中电路进行精密时间自动测量的方法,图4为本发明的一种基于TDC-GP21的精密时间自动测量方法的流程图。
如图4所示,本发明的一种基于TDC-GP21的精密时间自动测量方法包括以下步骤:
首先,通过FPGA芯片对TDC-GP21芯片的寄存器进行配置。具体地,选择测量模式1并选择双精度模式;每个通道接收的脉冲数设置为停止端STOP通道1接收1个脉冲;选择4MHz高速时钟;选择校准测量并设置为自动更新校准数据;数据计算方式是运算器ALU计算两个信号的时间差,设置为1st Stop Ch1-Start;中断方式设置为被设置的脉冲个数全部被接收到或者TDC测量单元溢出产生中断;寄存器设置为REG0=0x22466000,REG1=0x01410001,REG2=0x60000002,REG3=0x38000003,REG4=0x20000004,REG5=0x05,REG6=0x00001006。
然后,通过FPGA芯片向TDC-GP21芯片发送代码“INIT”以初始化TDC-GP21芯片,TDC-GP21芯片准备好接收启动信号和停止信号。
再然后,通过FPGA芯片向TDC-GP21芯片发送Start_TOF命令,触发一次时间测量,开始测量。具体地,初始化之后TDC-GP21芯片的高速测量单元接收到启动信号T_START后开始工作直到达到设置的采样数,即停止端STOP通道接收到1个脉冲信号后才停止工作,或者,遇到测量溢出即超时的情况(约为2.4μs)才停止工作。时间测量原始数据就存储在TDC-GP21芯片内部,如果采用校准模式,则测量完时差之后TDC-GP21芯片开始测量一个和两个内部基准时钟周期(Tref/1,2或4),校准原始数据Cal1和Cal2也被存储TDC-GP21芯片内部。
接下来,在测量结束时,运算器ALU开始依照HIT1和HIT2的设置处理数据并把结果送入输出寄存器。如果进行校准,则运算器ALU依据进行计算并传输32位的固定浮点数到输出寄存器。校准测量模式下计算公式为:
RES_X=(HIT1-HIT2)/(Cal2-Cal1);
Time=RES_X×Tref×2ClkHSDiv=RES_X×Tref×N with N=1,2or 4;
其中,RES_X为TDC-GP21芯片时间间隔测量的计数值,Tref为参考时钟周期(4M高速时钟),ClkHSDiv为参考时钟分频因数。
再接下来,通过FPGA芯片向TDC-GP21芯片发送代码“10110ADR”读取数据,TDC-GP21芯片从最高有效位开始输出结果。具体地,校准数据是以2的补码形式出现的32位固定浮点数,进行32次循环,TDC-GP21芯片从最高有效位(MSB)开始输出结果。
最后,TDC-GP21芯片在进行下次测量之前必须通过发送代码“INIT”再次初始化以便于TDC-GP21芯片可以接收新的START和STOP信号。
本发明的基于TDC-GP21的精密时间自动测量电路具有以下优点:1)电路结构简单、成本低、功耗小,适合于小型化、低功耗的手持式数字示波表;2)测量精度高、线性度好,测量时间精度可达45ps;3)具有自动校准功能,能自动补偿因电压和温度的变化引起的误差;4)测量速度快,使数字示波表的波形更新率显著提高。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。