本发明属于集成电路技术领域,具体涉及一种集成电路信号时间信息的测量电路及方法。
背景技术:
在集成电路中,有时候需要精确测量信号的时间信息,例如到达时间信息或信号脉冲宽度信息。一般的做法是通过计数器进行计数,用计数结果评价信号到达时间或持续脉宽。为了提高精度,一般的做法是通过提高时钟频率,从而使计数的精度增加。
但是,集成电路因为受限于工艺实现的原因,无法无限提高计数时钟频率,因此计时精度也就无法继续提高。
但是在某些特殊应用条件下,单纯依靠普通的数字电路计数器进行计数,难以达到所需的计时精度,例如,在测距应用中,有时候需要测量无线电信号在空中飞行的时间,此时,因为测距距离等于光速和时间的乘积,因此,计时精度稍有误差,就会导致测距结果产生很大误差。
技术实现要素:
为了克服上述问题,本发明可以对信号到达时间或脉宽测量进行更高精度的测量,而且电路结构简单,易于在普通的集成电路制造工艺上实现。
采用如下的技术方案:
一种集成电路信号时间信息的测量电路,包括n个d触发器和一个计数器,
其中,
待测信号输入每个d触发器的d端和计数器,时钟信号输入每个d触发器的ck端和计数器,其中,
待测信号同时输入每个d触发器的d端和计数器,时钟信号到达每个d触发器的ck端的时间依次增加tclk/n,
或时钟信号同时输入每个d触发器的ck端和计数器,待测信号到达每个d触发器的d端的时间依次增加tclk/n,
其中,tclk为时钟信号的周期,
在跳变时刻所处时钟信号周期的末端时刻,对每个d触发器的输出q端进行快照捕捉后,计算得到待测信号的信号转变过程长度。
优选地,当待测信号同时输入每个d触发器的d端和计数器,时钟信号到达每个d触发器的ck端的时间依次增加tclk/n时,设待测信号在第ca-1个时钟中间某个位置第一次跳变,在第cm 1个时钟中间某个位置第二次跳变,令第ca-1个时钟的末端时刻为t1,第cm 1个时钟的末端时刻为t2,第一次跳变的时刻到t1之间的时长记为p0,第ca个时钟起点至第cm个时钟末端的时长记为p1,第cm个时钟末端时刻至第二次跳变之间的时长记为p2,第二次跳变至t2之间的时长记为p3,待测信号的信号转变过程长度记为ts,则ts=p0 p1 p2,其中,p1=[(cm-ca) 1]*tclk;
p0=[(!q1@t1 !q2@t1 !q3@t1 ...!qn-1@t1 !qn@t1)/n]*tclk;
其中,!表示取反,q1表示第一个d触发器的q端输出,@t1表示在t1时刻进行快照捕捉,以此类推;
p2=tclk-p3=tclk-[(q1@t2 q2@t2 q3@t2 ...qn-1@t2 qn@t2)/n]*tclk;
则,
优选地,所述时钟信号同时输入每个d触发器的ck端和计数器,待测信号到达每个d触发器的d端的时间依次增加tclk/n时,设待测信号在第ca-1个时钟中间某个位置第一次跳变,记第一次跳变时刻为ta,在第cm个时钟中间某个位置第二次跳变,记第二次跳变时刻为tb,待测信号的信号转变过程长度即为tb-ta,令第ca-1个时钟的末端时刻为ta,第cm个时钟的末端时刻为tb,ta到ta之间的时长记为k0,tb到tb之间的时长记为k1,ta时刻的时间为ca-1*tclk-k0,tb时刻的时间为:cm*tclk-k1,其中,
k0=[(!q1@ta !q2@ta !q3@ta ...!qn-1@ta !qn@ta)/n]*tclk;
其中,!表示取反,q1表示第一个d触发器的q端输出,@ta表示在ta时刻进行快照捕捉,以此类推;
k1=[(q1@tb q2@tb q3@tb ...qn-1@tb qn@tb)/n]*tclk;
则,
优选地,n个d触发器中的每个d触发器还均与m个d触发器并联,m为偶数,m 1个d触发器并联后,每个d触发器的q端输出均输入0/1个数判别电路,所述0/1个数判别电路对输入信号的0信号和1信号个数进行判别,0信号的个数多于1信号的个数,则输出0,否则输出1。
优选地,所述0/1个数判别电路包括m 1个与门和一个或门,每个与门的输入连接d触发器的q端输出,每个与门的输出均输入或门。
基于上述目的,本发明还提供了一种集成电路信号时间信息的测量方法,采用上述集成电路信号时间信息的测量电路,方法为将待测信号同时输入每个d触发器的d端和计数器,时钟信号到达每个d触发器的ck端的时间依次增加tclk/n;或将时钟信号同时输入每个d触发器的ck端和计数器,待测信号到达每个d触发器的d端的时间依次增加tclk/n,
其中,tclk为时钟信号的周期,
在跳变时刻所处时钟信号周期的末端时刻,对每个d触发器的输出q端进行快照捕捉后,计算得到待测信号的信号转变过程长度。
优选地,当待测信号同时输入每个d触发器的d端和计数器,时钟信号到达每个d触发器的ck端的时间依次增加tclk/n时,设待测信号在第ca-1个时钟中间某个位置第一次跳变,在第cm 1个时钟中间某个位置第二次跳变,令第ca-1个时钟的末端时刻为t1,第cm 1个时钟的末端时刻为t2,第一次跳变的时刻到t1之间的时长记为p0,第ca个时钟起点至第cm个时钟末端的时长记为p1,第cm个时钟末端时刻至第二次跳变之间的时长记为p2,第二次跳变至t2之间的时长记为p3,待测信号的信号转变过程长度记为ts,则ts=p0 p1 p2,其中,p1=[(cm-ca) 1]*tclk;
p0=[(!q1@t1 !q2@t1 !q3@t1 ...!qn-1@t1 !qn@t1)/n]*tclk;
其中,!表示取反,q1表示第一个d触发器的q端输出,@t1表示在t1时刻进行快照捕捉,以此类推;
p2=tclk-p3=tclk-[(q1@t2 q2@t2 q3@t2 ...qn-1@t2 qn@t2)/n]*tclk;
则,
优选地,当时钟信号同时输入每个d触发器的ck端和计数器,待测信号到达每个d触发器的d端的时间依次增加tclk/n时,设待测信号在第ca-1个时钟中间某个位置第一次跳变,记第一次跳变时刻为ta,在第cm个时钟中间某个位置第二次跳变,记第二次跳变时刻为tb,待测信号的信号转变过程长度即为tb-ta,令第ca-1个时钟的末端时刻为ta,第cm个时钟的末端时刻为tb,ta到ta之间的时长记为k0,tb到tb之间的时长记为k1,ta时刻的时间为ca-1*tclk-k0,tb时刻的时间为:cm*tclk-k1,其中,
k0=[(!q1@ta !q2@ta !q3@ta ...!qn-1@ta !qn@ta)/n]*tclk;
其中,!表示取反,q1表示第一个d触发器的q端输出,@ta表示在ta时刻点进行快照捕捉,以此类推;
k1=[(q1@tb q2@tb q3@tb ...qn-1@tb qn@tb)/n]*tclk;
则,
优选地,n个d触发器中的每个d触发器还均与m个d触发器并联,m为偶数,m 1个d触发器并联后,每个d触发器的q端输出均输入0/1个数判别电路,所述0/1个数判别电路对输入信号的0信号和1信号个数进行判别,0信号的个数多于1信号的个数,则输出0,否则输出1。
优选地,所述0/1个数判别电路包括m 1个与门和一个或门,每个与门的输入连接d触发器的q端输出,每个与门的输出均输入或门。
采用本发明具有如下的有益效果:可以大幅提高对信号的计时精度,假如集成电路设计工作在tclk周期之上,以传统方式对信号进行计时,则得到的信号计时误差就在[-tclk, tclk]之间。但是如果使用本发明使用的新型电路结构,只需要增加n个触发器,就可以让计时精度提高到[-tclk/n, tclk/n]之间。也就是说,让计时精度提高了n倍。以上叙述中,n的取值根据需要达到的时间测量精度以及tclk的周期来决定。例如,如果tclk工作在100ns周期上,但是需要达到[-1ns, 1ns]的时间测量精度,就需要取n值为100。此外,n的取值还要考虑具体采用的集成电路工艺制程,不可能无限增大n值。
以测距应用为例,假如测距芯片设计工作在100mhz,如果用普通的计数器工作,那么理论计时误差会在[-10ns, 10ns]之间,根据距离等于光速乘以时间可知,测得的距离误差会在[-3m, 3m]之间。如果使用了本发明提供的新型电路结构,在不提高测距芯片工作频率的情况下,假如只增加10个触发器,可以让理论计时误差会提高到[-lns, lns]之间,从而让距离误差减小到[-30cm, 30cm]之间。
附图说明
图1为本发明实施例1的集成电路信号时间信息的测量电路结构框图;
图2为本发明实施例1的集成电路信号时间信息的测量电路中信号示意图;
图3为本发明实施例2的集成电路信号时间信息的测量电路结构框图;
图4为本发明实施例2的集成电路信号时间信息的测量电路中信号示意图;
图5为本发明实施例3的集成电路信号时间信息的测量电路结构框图;
图6为本发明实施例3的集成电路信号时间信息的测量电路中触发模块结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
一种集成电路信号时间信息的测量电路,包括n个d触发器10和一个计数器20,其中,
待测信号输入每个d触发器10的d端和计数器20,时钟信号输入每个d触发器10的ck端和计数器20,其中,
待测信号同时输入每个d触发器10的d端和计数器20,时钟信号到达每个d触发器10的ck端的时间依次增加tclk/n,
或时钟信号同时输入每个d触发器10的ck端和计数器20,待测信号到达每个d触发器10的d端的时间依次增加tclk/n,
其中,tclk为时钟信号的周期,
在跳变时刻所处时钟信号周期的末端时刻,对每个d触发器10的输出q端进行快照捕捉后,计算得到待测信号的信号转变过程长度。
参见图1,首先,计数器20会对信号s进行计数,得到精度与clk时钟匹配的计量结果,结果体现在计数器20的输出cntvalue中。
其次,信号s被送入d触发器10的阵列中所有的d触发器10的d端,d触发器10的阵列满足以下条件:
a)信号s到所有的d触发器10的d端的时间是相同的;
b)所有d触发器10的ck端,都来自于时钟信号clk,但是对时钟信号clk到达每个d触发器10的时间,做严格控制,以clk到达第一个d触发器10记为d触发器1,时间作为参考时间0点,标记为t0,则控制clk到达所有d触发器10的时间,为如下表所示:
参见图2,我们以测量信号s上的脉冲宽度为例,当待测信号s同时输入每个d触发器10的d端和计数器20,时钟信号到达每个d触发器10的ck端的时间依次增加tclk/n时,设待测信号在第ca-1个时钟(本实施例中为c2)中间某个位置第一次跳变,在第cm 1个时钟中间某个位置第二次跳变,令第c2个时钟的末端时刻为t1,第cm 1个时钟的末端时刻为t2,第一次跳变的时刻到t1之间的时长记为p0,第c3个时钟起点至第cm个时钟末端的时长记为p1,第cm个时钟末端时刻至第二次跳变之间的时长记为p2,第二次跳变至t2之间的时长记为p3,待测信号的信号转变过程长度记为ts,则ts=p0 p1 p2,其中,p1=[(cm-c3) 1]*tclk;
p0=[(!q1@t1 !q2@t1 !q3@t1 ...!qn-1@t1 !qn@t1)/n]*tclk;
其中,!表示取反,q1表示第一个d触发器10的q端输出,@t1表示在t1时刻进行快照捕捉,以此类推;
p2=tclk-p3=tclk-[(q1@t2 q2@t2 q3@t2 ...qn-1@t2 qn@t2)/n]*tclk;
则,
实施例2
参见图3,首先,计数器20会对信号a进行计数,得到精度与clk时钟匹配的计量结果,结果体现在计数器20的输出cntvalue中。
其次,信号a被送入d触发器10的阵列中所有的d触发器10的d端,d触发器10阵列满足以下条件:
a)clk信号到所有的d触发器10的ck端的时间是相同的;
b)所有d触发器10的d端,都来自于待测信号a,但是对信号a到达每个d触发器10的时间,做严格控制,以信号a到达d第一个触发器(记为d触发器1)的d端时间作为参考时间0点,标记为t0,则控制a信号到达所有d触发器10的d端时间,为如下表所示:
参见图4,我们以给信号a跳变时间点打时间标签为例,阐述上述电路的工作原理。
信号a为待测输入信号,信号a发生了两次状态变化,第一次状态变化发生在计数器20计数值等于c2的时候,第二次状态变化发生在计数器20计数值为cm的时候。
时钟信号clk同时输入每个d触发器10的ck端和计数器20,待测信号到达每个d触发器10的d端的时间依次增加tclk/n时,设待测信号在第ca-1个时钟(本实施例中为第c2个时钟)中间某个位置第一次跳变,记第一次跳变时刻为ta,在第cm个时钟中间某个位置第二次跳变,记第二次跳变时刻为tb,待测信号的信号转变过程长度即为tb-ta,令第c2个时钟的末端时刻为ta,第cm个时钟的末端时刻为tb,ta到ta之间的时长记为k0,tb到tb之间的时长记为k1,ta时刻的时间为c2*tclk-k0,tb时刻的时间为:cm*tclk-k1,其中,
k0=[(!q1@ta !q2@ta !q3@ta ...!qn-1@ta !qn@ta)/n]*tclk;
其中,!表示取反,q1表示第一个d触发器10的q端输出,@ta表示在ta时刻进行快照捕捉,以此类推;
k1=[(q1@tb q2@tb q3@tb ...qn-1@tb qn@tb)/n]*tclk;
则,
实施例3
参见图5、图6,为了让上述电路工作更加可靠稳定,可以通过增加一些器件,进一步对电路结构进行如下优化,以下优化对于上述实施例1、实施例2均适用,此处以实施例1为例进行说明。n个d触发器10中的每个d触发器10还均与m个d触发器10并联,m为偶数,m 1个d触发器10并联后,每个d触发器10的q端输出均输入0/1个数判别电路31,0/1个数判别电路31对输入信号的0信号和1信号个数进行判别,0信号的个数多于1信号的个数,则输出0,否则输出1。上述m 1个d触发器10并联后与0/1个数判别电路31连接,组成的称为触发模块30。
0/1个数判别电路31包括m 1个与门32和一个或门33,每个与门32的输入连接d触发器10的q端输出,每个与门32的输出均输入或门33。
本实施例中采用3个d触发器10并联后分别输出x、y、z给0/1个数判别电路31,0/1个数判别电路31中包括3个与门32和一个或门33,等效表达式为:qout=(z&y)|(z&x)|(y&x),只有当x、y、z三个信号中,有两个或3个为1的情况下,qout才为1,否则qout为0。
经过上述优化之后,能有效减小亚稳态问题对电路精度的不良影响,电路抗干扰能力大大增强,能够更加稳定可靠的工作。上述触发模块30也可以使用更多d触发器10实现该功能,为了避免0信号个数和1信号个数一样多的情况,需要确保前级d触发器10的个数为奇数个,故如前述,一个d触发器10与m个d触发器10并联,组成的m 1个d触发器10,m为偶数,即m 1为奇数。0/1个数判别电路31中的与门32和或门33亦可根据使用d触发器10个数的增多进行扩展。
方法实施例参见装置实施例,不再赘述。
应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。
1.一种集成电路信号时间信息的测量电路,其特征在于,包括n个d触发器和一个计数器,其中,
待测信号输入每个d触发器的d端和计数器,时钟信号输入每个d触发器的ck端和计数器,其中,
待测信号同时输入每个d触发器的d端和计数器,时钟信号到达每个d触发器的ck端的时间依次增加tclk/n,
或时钟信号同时输入每个d触发器的ck端和计数器,待测信号到达每个d触发器的d端的时间依次增加tclk/n,
其中,tclk为时钟信号的周期,
在跳变时刻所处时钟信号周期的末端时刻,对每个d触发器的输出q端进行快照捕捉后,计算得到待测信号的信号转变过程长度。
2.根据权利要求1所述的一种集成电路信号时间信息的测量电路,其特征在于,当待测信号同时输入每个d触发器的d端和计数器,时钟信号到达每个d触发器的ck端的时间依次增加tclk/n时,设待测信号在第ca-1个时钟中间某个位置第一次跳变,在第cm 1个时钟中间某个位置第二次跳变,令第ca-1个时钟的末端时刻为t1,第cm 1个时钟的末端时刻为t2,第一次跳变的时刻到t1之间的时长记为p0,第ca个时钟起点至第cm个时钟末端的时长记为p1,第cm个时钟末端时刻至第二次跳变之间的时长记为p2,第二次跳变至t2之间的时长记为p3,待测信号的信号转变过程长度记为ts,则ts=p0 p1 p2,其中,p1=[(cm-ca) 1]*tclk;
p0=[(!q1@t1 !q2@t1 !q3@t1 ...!qn-1@t1 !qn@t1)/n]*tclk;
其中,!表示取反,q1表示第一个d触发器的q端输出,@t1表示在t1时刻进行快照捕捉,以此类推;
p2=tclk-p3=tclk-[(q1@t2 q2@t2 q3@t2 ...qn-1@t2 qn@t2)/n]*tclk;
则,
3.根据权利要求1所述的一种集成电路信号时间信息的测量电路,其特征在于,所述时钟信号同时输入每个d触发器的ck端和计数器,待测信号到达每个d触发器的d端的时间依次增加tclk/n时,设待测信号在第ca-1个时钟中间某个位置第一次跳变,记第一次跳变时刻为ta,在第cm个时钟中间某个位置第二次跳变,记第二次跳变时刻为tb,待测信号的信号转变过程长度即为tb-ta,令第ca-1个时钟的末端时刻为ta,第cm个时钟的末端时刻为tb,ta到ta之间的时长记为k0,tb到tb之间的时长记为k1,ta时刻的时间为ca-1*tclk-k0,tb时刻的时间为:cm*tclk-k1,其中,
k0=[(!q1@ta !q2@ta !q3@ta ...!qn-1@ta !qn@ta)/n]*tclk;
其中,!表示取反,q1表示第一个d触发器的q端输出,@ta表示在ta时刻进行快照捕捉,以此类推;
k1=[(q1@tb q2@tb q3@tb ...qn-1@tb qn@tb)/n]*tclk;
则,
4.根据权利要求1所述的一种集成电路信号时间信息的测量电路,其特征在于,n个d触发器中的每个d触发器还均与m个d触发器并联,m为偶数,m 1个d触发器并联后,每个d触发器的q端输出均输入0/1个数判别电路,所述0/1个数判别电路对输入信号的0信号和1信号个数进行判别,0信号的个数多于1信号的个数,则输出0,否则输出1。
5.根据权利要求4所述的一种集成电路信号时间信息的测量电路,其特征在于,所述0/1个数判别电路包括m 1个与门和一个或门,每个与门的输入连接d触发器的q端输出,每个与门的输出均输入或门。
6.一种集成电路信号时间信息的测量方法,其特征在于,采用权利要求1-5之一所述的集成电路信号时间信息的测量电路,方法为将待测信号同时输入每个d触发器的d端和计数器,时钟信号到达每个d触发器的ck端的时间依次增加tclk/n;或将时钟信号同时输入每个d触发器的ck端和计数器,待测信号到达每个d触发器的d端的时间依次增加tclk/n,
其中,tclk为时钟信号的周期,
在跳变时刻所处时钟信号周期的末端时刻,对每个d触发器的输出q端进行快照捕捉后,计算得到待测信号的信号转变过程长度。
7.根据权利要求6所述的一种集成电路信号时间信息的测量方法,其特征在于,当待测信号同时输入每个d触发器的d端和计数器,时钟信号到达每个d触发器的ck端的时间依次增加tclk/n时,设待测信号在第ca-1个时钟中间某个位置第一次跳变,在第cm 1个时钟中间某个位置第二次跳变,令第ca-1个时钟的末端时刻为t1,第cm 1个时钟的末端时刻为t2,第一次跳变的时刻到t1之间的时长记为p0,第ca个时钟起点至第cm个时钟末端的时长记为p1,第cm个时钟末端时刻至第二次跳变之间的时长记为p2,第二次跳变至t2之间的时长记为p3,待测信号的信号转变过程长度记为ts,则ts=p0 p1 p2,其中,p1=[(cm-ca) 1]*tclk;
p0=[(!q1@t1 !q2@t1 !q3@t1 ...!qn-1@t1 !qn@t1)/n]*tclk;
其中,!表示取反,q1表示第一个d触发器的q端输出,@t1表示在t1时刻进行快照捕捉,以此类推;
p2=tclk-p3=tclk-[(q1@t2 q2@t2 q3@t2 ...qn-1@t2 qn@t2)/n]*tclk;
则,
8.根据权利要求6所述的一种集成电路信号时间信息的测量方法,其特征在于,当时钟信号同时输入每个d触发器的ck端和计数器,待测信号到达每个d触发器的d端的时间依次增加tclk/n时,设待测信号在第ca-1个时钟中间某个位置第一次跳变,记第一次跳变时刻为ta,在第cm个时钟中间某个位置第二次跳变,记第二次跳变时刻为tb,待测信号的信号转变过程长度即为tb-ta,令第ca-1个时钟的末端时刻为ta,第cm个时钟的末端时刻为tb,ta到ta之间的时长记为k0,tb到tb之间的时长记为k1,ta时刻的时间为ca-1*tclk-k0,tb时刻的时间为:cm*tclk-k1,其中,
k0=[(!q1@ta !q2@ta !q3@ta ...!qn-1@ta !qn@ta)/n]*tclk;
其中,!表示取反,q1表示第一个d触发器的q端输出,@ta表示在ta时刻点进行快照捕捉,以此类推;
k1=[(q1@tb q2@tb q3@tb ...qn-1@tb qn@tb)/n]*tclk;
则,
9.根据权利要求6所述的一种集成电路信号时间信息的测量方法,其特征在于,n个d触发器中的每个d触发器还均与m个d触发器并联,m为偶数,m 1个d触发器并联后,每个d触发器的q端输出均输入0/1个数判别电路,所述0/1个数判别电路对输入信号的0信号和1信号个数进行判别,0信号的个数多于1信号的个数,则输出0,否则输出1。
10.根据权利要求9所述的一种集成电路信号时间信息的测量方法,其特征在于,所述0/1个数判别电路包括m 1个与门和一个或门,每个与门的输入连接d触发器的q端输出,每个与门的输出均输入或门。
技术总结