一种高精度时间测量电路及测量方法转让专利

申请号 : CN201110170259.7

文献号 : CN102253643B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郝振刚单来成邱德华尚绪树桑涛宋金凤刘同强

申请人 : 山东力创科技有限公司

摘要 :

本发明公开了一种高精度时间测量电路及测量方法,包括环形振荡器和与其连接的粗计数器,其特征是:所述环形振荡器和所述粗计数器都连接锁存与编码电路,所述环形振荡器和所述锁存与编码电路都连接校准电路。本电路测量精度高,时间测量的分辨率为一级反相器的延时(在0.35um工艺、25℃、3.3V供电电压下约为50皮秒),该电路采用纯数字电路方式实现,容易在不同工艺上实现,结构简单,可以广泛应用于激光测距,超声波热计量、超声波流量测量等领域。

权利要求 :

1.一种高精度时间测量电路,包括环形振荡器和与其连接的粗计数器,其特征是:所述环形振荡器和所述粗计数器都连接锁存与编码电路,所述环形振荡器和所述锁存与编码电路都连接校准电路;所述校准电路用于输入时间测量的起始、结束信号和参考时钟信号;

所述环形振荡器用于产生测量时间内反相器延时个数,所述粗计数器用于记录测量时间内脉冲上升沿数值和脉冲下降沿数值,所述锁存和编码电路用于锁存所述粗计数器的上升沿计数值、下降沿计数值和当前环形振荡器的反相器状态,并对这三组锁存数据进行编码,输出值为测量时间内反相器延时的个数。

2.根据权利要求1所述高精度时间测量电路,其特征是:所述环形振荡电路包括一个与非门和一组反相器,所述每个反相器的输出连接下一个反相器的输入,所述与非门的一个输入端连接所述校准电路,另一个输入端连接最后一级反相器的输出,所述与非门的输出连接所述第一级反相器的输入;所述校准电路在非校准状态下,校准电路根据外部起始信号和外部结束信号产生时间测量的起始信号和结束信号,在校准状态下,根据参考时钟产生时间测量的起始信号和结束信号。

3.根据权利要求1所述高精度时间测量电路,其特征是:所述粗计数器包括上升沿高速计数器和下降沿高速计数器。

4.根据权利要求3所述高精度时间测量电路,其特征是:所述上升沿高速计数器包括一组上升沿D触发器和一组与门。

5.根据权利要求3所述高精度时间测量电路,其特征是:所述下降沿高速计数器包括一组下降沿D触发器和一组与门。

6.根据权利要求1所述高精度时间测量电路,其特征是:所述锁存与编码电路包括下降沿计数值锁存器、上升沿计数值锁存器、环振状态锁存器和编码电路,所述下降沿计数值锁存器、上升沿计数值锁存器和环振状态锁存器都连接到所述编码电路。

7.根据权利要求1所述一种高精度时间测量电路的测量方法,其特征是:包括以下步骤:(7.1)校准电路接收外部起始信号,环形振荡器开始动作;

(7.2)粗计数器分别记录当前环形振荡器的上升沿个数和下降沿个数;

(7.3)经过被测时间Tt后,校准电路接收外部结束信号,锁存与编码电路分别锁存当前的上升沿计数值Nr、下降沿计数值Nf和当前环形振荡器的状态;

(7.4)编码电路对锁存与编码电路中锁存的三组数据进行编码,输出被测时间Tt内环形振荡器的反相器延时的个数Nt;

(7.5)启动校准电路,测量一个标准信号周期内反相器延时的个数,记录为Ns,则被测时间Tt计算公式为:Tt=Ts×(Nt/Ns)。

8.根据权利要求7所述高精度时间测量电路的测量方法,其特征是:所述步骤(7.4)包括如下步骤:(7.4.1)从锁存的上升沿计数值Nr和下降沿计数值Nf中选出正确的一组数据进行计算,标记为K,K的选择方式具体如下:将所有可能的2n种环振状态按时间先后顺序排列,以环振状态的最低位由1变0的时刻为中心位置,由此往前数(n+1)/2个状态,往后数(n-1)/2个状态,这n个状态定义为一个区间,若锁存的环振状态落在此区间之间之内,K选择Nr,否则选择Nf ;

(7.4.2)编码电路根据锁存的环振状态和选定的K值计算出被测时间间隔Nt内反相器延时的个数,计算公式为:Nt =2nK+F,其中F由锁存环振状态以及K的选择得到,F的编码方式具体如下:第一步,将锁存环振状态进行变换,从左侧开始隔位取反,具体方式为:最高位不变,次高位取反,以此类推,变换后的n位二进制数标记为L;

第二步,计算L中1的个数,标记为NUM_ONES;L的最高位标记为Lmsb;

第三步,若Lmsb为0,则F=n-NUM_ONES;若Lmsb=1且K的取值为Nr,则F=n+NUM_ONES;

若Lmsb=1且K的取值为Nf,F=NUM_ONES-n。

说明书 :

一种高精度时间测量电路及测量方法

技术领域

[0001] 本发明涉及电子测量领域,具体的讲,涉及一种高精度时间测量电路及测量方法。

背景技术

[0002] 时间测量是一种将时间间隔转换为数字信号的技术,传统的时间测量多采用脉冲计数的方式进行,即利用一个高速的时钟在被测的时间间隔内计数,依据计数值和脉冲周期计算出时间,这种方式只适用于对计量精度要求不高的场合,精度很难突破ns级别。近年来由于CMOS电路工艺的不断发展,出现了利用信号通过逻辑门的传播延时进行时间测量的新技术,该技术可以将时间测量分辨率提高到一个单位逻辑门的最小延时(在0.35um工艺、25℃、3.3V供电电压下约为50皮秒)。但CMOS工艺下逻辑电路延时容易受电压、温度等外部因素的影响,必须采用一定的校正或补偿措施才能保证测量的精度。由于半导体制造工艺的限制,需要采取复杂的补偿技术才能保证逻辑电路在各种工艺角和应用环境下有稳定的延时,且补偿电路需要针对特定的工艺进行设计,增加了设计难度,不利于电路结构的移植和产品升级,例如授权公告号为CN100539428C的发明专利中提及到的“一种高性能时间数字转换器电路架构”,该电路架构由采用了补偿控制源方式,这种设计方式对实现工艺有很强的依赖性,需要全定制的设计流程,设计复杂度很高。

发明内容

[0003] 本发明要解决的技术问题是提供一种高精度时间测量电路及测量方法,该电路采用纯数字电路方式实现,容易在不同工艺上实现,结构简单。
[0004] 本发明采用如下技术方案实现发明目的:
[0005] 一种高精度时间测量电路,包括环形振荡器和与其连接的粗计数器,其特征是:所述环形振荡器和所述粗计数器都连接锁存与编码电路,所述环形振荡器和所述锁存与编码电路都连接校准电路;所述校准电路用于输入时间测量的起始、结束信号和参考时钟信号;所述环形振荡器用于产生测量时间内反相器延时个数,所述粗计数器用于记录测量时间内脉冲上升沿数值和脉冲下降沿数值,所述锁存和编码电路用于锁存所述粗计数器的上升沿计数值、下降沿计数值和当前环形振荡器的反相器状态,并对这三组锁存数据进行编码,输出值为测量时间内反相器延时的个数。
[0006] 作为对本技术方案的进一步限定,所述环形振荡电路包括一个与非门和一组反相器,所述每个反相器的输出连接下一个反相器的输入,所述与非门的一个输入端连接所述校准电路,另一个输入端连接最后一级反相器的输出,所述与非门的输出连接所述第一级反相器的输入。
[0007] 作为对本技术方案的进一步限定,所述粗计数器包括上升沿高速计数器和下降沿高速计数器。
[0008] 作为对本技术方案的进一步限定,所述上升沿高速计数器包括一组上升沿D触发器和一组与门。
[0009] 作为对本技术方案的进一步限定,所述下降沿高速计数器包括一组下降沿D触发器和一组与门。
[0010] 作为对本技术方案的进一步限定,所述锁存与编码电路包括下降沿计数值锁存器、上升沿计数值锁存器、环振状态锁存器和编码电路,所述下降沿计数值锁存器、上升沿计数值锁存器和环振状态锁存器都连接到所述编码电路。
[0011] 本技术方案还提供了一种高精度时间测量方法,其特征是:包括以下步骤:
[0012] (7.1)校准电路接收外部起始信号,环形振荡器开始动作;
[0013] (7.2)粗计数器分别记录当前环形振荡器的上升沿个数和下降沿个数;
[0014] (7.3)经过被测时间Tt后,校准电路接收外部结束信号,锁存与编码电路分别锁存当前的上升沿计数值Nr、下降沿计数值Nf和当前环形振荡器的状态;
[0015] (7.4)编码电路对锁存与编码电路中锁存的三组数据进行编码,输出被测时间Tt内环形振荡器的反相器延时的个数Nt。
[0016] (7.5)启动校准电路,测量一个标准信号周期内反相器延时的个数,记录为Ns,则被测时间Tt计算公式为:Tt=Ts×(Nt/Ns)
[0017] 作为对本技术方案的进一步限定,所述步骤(7.4)包括如下步骤:
[0018] (7.4.1)从锁存的上升沿计数值Nr和下降沿计数值Nf中选出正确的一组数据进行计算,标记为K,K的选择方式具体如下:将所有可能的2n种环振状态按时间先后顺序排列,以环振状态的最低位由1变0的时刻为中心位置,由此往前数(n+1)/2个状态,往后数(n-1)/2个状态,这n个状态定义为一个区间,若锁存的环振状态落在此区间之内,K选择Nr,否则选择Nf;
[0019] (7.4.2)编码电路根据锁存的环振状态和选定的K值计算出被测时间间隔Nt内反相器延时的个数,计算公式为:Nt =2nK+F,其中F由锁存环振状态以及K的选择得到,F的编码方式具体如下:
[0020] 第一步,将锁存环振状态进行变换,从左侧开始隔位取反,具体方式为:最高位不变,次高位取反,以此类推,变换后的n位二进制数标记为L。
[0021] 第二步,计算L中1的个数,标记为NUM_ONES;L的最高位标记为Lmsb。
[0022] 第三步,若Lmsb为0,则F=n-NUM_ONES;若Lmsb=1且K的取值为Nr,则F=n+NUM_ONES;若Lmsb=1且K的取值为Nf,F=NUM_ONES-n。
[0023] 与现有技术相比,本发明的优点和积极效果是:本电路测量精度高,时间测量的分辨率为一级反相器的延时(在0.35um工艺、25℃、3.3V供电电压下约为50皮秒),该电路采用纯数字电路方式实现,容易在不同工艺上实现,结构简单,可以广泛应用于激光测距,超声波热计量、超声波流量测量等领域。

附图说明

[0024] 图1为本发明优选实施例的结构方框图。
[0025] 图2为本发明优选实施例的环形振荡器电路原理图。
[0026] 图3为本发明优选实施例的粗计数器电路原理图。
[0027] 图4为本发明优选实施例的上升沿高速计数器的电路原理图。
[0028] 图5为本发明优选实施例的下降沿高速计数器的电路原理图。
[0029] 图6为本发明优选实施例的锁存和编码电路原理图。
[0030] 图7为本发明优选实施例的校准电路工作波形图。

具体实施方式

[0031] 下面结合附图和优选实施例对本发明作更进一步的详细描述。
[0032] 参见图1-图7,本发明包括校准电路、环形振荡器、锁存和编码电路和粗计数器,所述环形振荡器连接粗计数器,所述环形振荡器和所述粗计数器都连接锁存与编码电路,所述环形振荡器和所述锁存与编码电路都连接校准电路。
[0033] 所述校准电路用于输入时间测量的起始、结束信号和参考时钟信号;所述环形振荡器用于产生测量时间内反相器延时个数;所述粗计数器用于记录测量时间内脉冲上升沿数值和脉冲下降沿数值;所述锁存和编码电路用于锁存所述粗计数器的上升沿计数值、下降沿计数值和当前环形振荡器的反相器状态,并对这三组锁存数据进行编码,输出值为测量时间内反相器延时的个数。
[0034] 在非校准状态下,校准电路根据外部起始信号和外部结束信号产生时间测量的起始信号和结束信号,在校准状态下,根据参考时钟产生时间测量的起始信号和结束信号,校准电路是根据图7所示的波形设计,现有技术实现此波形的电路都可作为校准电路,在此不再赘述。
[0035] 所述环形振荡电路包括一个与非门和一组反相器,所述每个反相器的输出连接下一个反相器的输入,所述与非门的一个输入端连接所述校准电路,另一个输入端连接最后一级反相器的输出,所述与非门的输出连接所述第一级反相器的输入。所述环形振荡电路包括1个与非门和n-1个反相器,其中n为奇数,与非门和每个反相器的传播延时均为t,在使能信号有效的情况下,相当于一个由n个反相器构成的环形振荡器,环形振荡器输出时钟周期为2nt。
[0036] 所述粗计数器包括上升沿高速计数器和下降沿高速计数器,计数时钟为环形振荡器的输出时钟,它输出两个数值:上升沿计数器的计数值和下降沿计数器的计数值。
[0037] 如图4所示,以6位计数器为例,所述上升沿高速计数器包括6个上升沿D触发器和部分组合逻辑,其连接方式保证了时钟上升沿到来时,计数值的各个位同时变化,最大程度减少了毛刺。
[0038] 如图5所示,以6位计数器为例,所述下降沿高速计数器包括6个下降沿D触发器和部分组合逻辑,其连接方式保证了时钟下降沿到来时,计数值的各个位同时变化,最大程度减少了毛刺。
[0039] 所述锁存与编码电路包括下降沿计数值锁存器、上升沿计数值锁存器、环振状态锁存器和编码电路,所述下降沿计数值锁存器、上升沿计数值锁存器和环振状态锁存器都连接到所述编码电路。在时间测量的结束时刻,时间测量的结束信号将当前环形振荡器中的每个反相器的状态锁存到环振状态锁存器中,同时将当前粗计数器的上升沿计数值和下降沿计数值分别锁存到上升沿计数值锁存器和下降沿计数值锁存器中,这两组锁存值分别标记为Nr和Nf,编码电路对这三组锁存数据进行编码,输出值为时间起始信号到结束信号这段时间内反相器延时的个数。锁存器的锁存时钟与被锁存的数据之间为异步关系,因此Nr和Nf两组锁存值有较高的出错几率,本发明所述的电路结构保证了这两组锁存值最多只有一组出现错误,编码电路设计了特殊的编码方式,从Nr和Nf中选出正确的一组数据进行计算,标记为K,K的选择方式具体如下:将所有可能的2n种环振状态按时间先后顺序排列,以环振状态的最低位由1变0的时刻(即环振时钟下降沿)为中心位置,由此往前数(n+1)/2个状态,往后数(n-1)/2个状态,这n个状态定义为一个区间,若锁存的环振状态落在此区间之内,K选择Nr,否则选择Nf。编码电路根据锁存的环振状态和选定的K值计算出被测时间间隔内反相器延时的个数,Nt的计算公式为:Nt=2nK+F。其中F由锁存环振状态以及K的选择得到,F的编码方式如下:
[0040] 第一步,将锁存环振状态进行变换,从左侧开始隔位取反,具体方式为:最高位不变,次高位取反,以此类推,变换后的n位二进制数标记为L。
[0041] 第二步,计算L中1的个数,标记为NUM_ONES;L的最高位标记为Lmsb。
[0042] 第三步,若Lmsb为0,则F=n-NUM_ONES;若Lmsb=1且K的取值为Nr,则F=n+NUM_ONES;若Lmsb=1且K的取值为Nf,F=NUM_ONES-n。
[0043] 以n=15为例,一个可行的编码表如下表所示:
[0044]锁存环振状态 K L NUM_ONES F
0010_1010_1010_101 Nf 0111_1111_1111_111 14 1
0110_1010_1010_101 Nf 0011_1111_1111_111 13 2
0100_1010_1010_101 Nf 0001_1111_1111_111 12 3
0101_1010_1010_101 Nf 0000_1111_1111_111 11 4
0101_0010_1010_101 Nf 0000_0111_1111_111 10 5
0101_0110_1010_101 Nf 0000_0011_1111_111 9 6
0101_0100_1010_101 Nr 0000_0001_1111_111 8 7
0101_0101_1010_101 Nr 0000_0000_1111_111 7 8
0101_0101_0010_101 Nr 0000_0000_0111_111 6 9
0101_0101_0110_101 Nr 0000_0000_0011_111 5 10
0101_0101_0100_101 Nr 0000_0000_0001_111 4 11
0101_0101_0101_101 Nr 0000_0000_0000_111 3 12
0101_0101_0101_001 Nr 0000_0000_0000_011 2 13
0101_0101_0101_011 Nr 0000_0000_0000_001 1 14
0101_0101_0101_010 Nr 0000_0000_0000_000 0 15
1101_0101_0101_010 Nr 1000_0000_0000_000 1 16
1001_0101_0101_010 Nr 1100_0000_0000_000 2 17
1011_0101_0101_010 Nr 1110_0000_0000_000 3 18
1010_0101_0101_010 Nr 1111_0000_0000_000 4 19
1010_1101_0101_010 Nr 1111_1000_0000_000 5 20
1010_1001_0101_010 Nr 1111_1100_0000_000 6 21
1010_1011_0101_010 Nf 1111_1110_0000_000 7 -8
1010_1010_0101_010 Nf 1111_1111_0000_000 8 -7
1010_1010_1101_010 Nf 1111_1111_1000_000 9 -6
1010_1010_1001_010 Nf 1111_1111_1100_000 10 -5
1010_1010_1011_010 Nf 1111_1111_1110_000 11 -4
1010_1010_1010_010 Nf 1111_1111_1111_000 12 -3
1010_1010_1010_110 Nf 1111_1111_1111_100 13 -2
1010_1010_1010_100 Nf 1111_1111_1111_110 14 -1
1010_1010_1010_101 Nf 1111_1111_1111_111 15 0
[0045] 本技术方案还提供了一种高精度时间测量方法,其特征是:包括以下步骤:
[0046] (7.1)校准电路接收外部起始信号,环形振荡器开始动作;
[0047] (7.2)粗计数器分别记录当前环形振荡器的上升沿个数和下降沿个数;
[0048] (7.3)经过被测时间Tt后,校准电路接收外部结束信号,锁存与编码电路分别锁存当前的上升沿计数值Nr、下降沿计数值Nf和当前环形振荡器的状态;
[0049] (7.4)编码电路对锁存与编码电路中锁存的三组数据进行编码,输出被测时间Tt内环形振荡器的反相器延时的个数Nt。
[0050] (7.5)启动校准电路,测量一个标准信号周期内反相器延时的个数,记录为Ns,则被测时间Tt计算公式为:Tt=Ts×(Nt/Ns)
[0051] 所述步骤(7.4)包括如下步骤:
[0052] (7.4.1)从锁存的上升沿计数值Nr和下降沿计数值Nf中选出正确的一组数据进行计算,标记为K,K的选择方式具体如下:将所有可能的2n种环振状态按时间先后顺序排列,以环振状态的最低位由1变0的时刻 (即环振时钟下降沿)为中心位置,由此往前数(n+1)/2个状态,往后数(n-1)/2个状态,这n个状态定义为一个区间,若锁存的环振状态落在此区间之内,K选择Nr,否则选择Nf;
[0053] (7.4.2)编码电路根据锁存的环振状态和选定的K值计算出被测时间间隔Nt内反相器延时的个数,计算公式为:Nt =2nK+F,其中F由锁存环振状态以及K的选择得到,F的编码方式具体如下:
[0054] 第一步,将锁存环振状态进行变换,从左侧开始隔位取反,具体方式为:最高位不变,次高位取反,以此类推,变换后的n位二进制数标记为L。
[0055] 第二步,计算L中1的个数,标记为NUM_ONES;L的最高位标记为Lmsb。
[0056] 第三步,若Lmsb为0,则F=n-NUM_ONES;若Lmsb=1且K的取值为Nr,则F=n+NUM_ONES;若Lmsb=1且K的取值为Nf,F=NUM_ONES-n。
[0057] 当然,上述说明并非对本发明的限制,本发明也不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也属于本发明的保护范围。