计时方法及计时电路转让专利

申请号 : CN201610623398.3

文献号 : CN106227027B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 尤凯迪卢笙洪宇盛威

申请人 : 芯启源(上海)半导体科技有限公司

摘要 :

本发明的计时方法及计时电路,通过对应参考时钟频率相位周期,每个相位周期包含四个相位,每个相位对应具有计时策略,在第一及第二相位利用其计时策略输出第一目标时间长度,在第三及第四时间段输出第二目标时间长度,并令两者之和为标准目标时间长度的两倍,从而消除现有数字计时电路因精度不够而存在计时误差,并且可通过固定两两相位间的计时值参数来实现归一化以便于统计剩余时间的百分比值,不受参考时钟频率变化的影响,从而简化了相关电路对计时结果的分析和转换过程。

权利要求 :

1.一种计时方法,其特征在于,包括:

根据输入的参考时钟频率f,对应所述参考时钟频率配置至少一个包含依次连续分布的第一相位、第二相位、第三相位及第四相位的相位周期,并结合所设定内容:目标时间长度为X*M个参考时钟周期1/f及Y*N个参考时钟周期1/f之和的计算式、第一基本计数单位M、第二基本计数单位N、第一相位及第二相位共用的计数值A、第一相位及第二相位共用的计数值B、第三相位及第四相位共用的计数值C、和第三相位及第四相位共用的计数值D,来计算并输出连续的第一目标时间长度T1和第二目标时间长度T2,其中,第一目标时间长度T1是通过在第一相位和第二相位对A和B计数得到的,第二目标时间长度T2是通过在第三相位和第四相位对C和D计数得到的;

其中,X,Y为计数值且X及Y之和设定为一固定值;M和N是在若干倍数于该参考时钟周期的时段中最接近于预设基本时间值的两个时段所分别对应的所述若干倍数,且N=M+1;A和C对应X,B和D对应Y;

其中,A、B、C、D的设定方式包括:在X、Y能为整数而令T1及T2等于需输出的标准目标长度时间T的情况下,令A=X,B=Y,C=X,D=Y;或者,在X及Y为非整数的情况下,令A=[X],B=[Y]+1,C=[X]+1,D=[Y],[]表示取整,使得T1与T2之和为两倍的T。

2.根据权利要求1所述的计时方法,其特征在于,在一所述相位周期中的第一相位的计时策略,包括:用Cm和Cn表示当前M和N相应的计数值,在第一相位起始时Cm=A,Cn=B;

比较A和B大小以根据比较结果执行以下策略中的一种:

如果A大于B,将所述M个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期,Cm值减少1;直至Cm等于Cn时,第一相位结束而进入第二相位;

如果A等于B,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第一相位结束而进入第三相位;

如果A小于B,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm减少至0时,第一相位结束而进入第二相位。

3.根据权利要求2所述的计时方法,其特征在于,包括:判断A及B是否为0;

若A为0,则表示不存在第一相位,第一相位结束后进入第二相位;

若B为0,则表示不存在第二相位,第一相位结束后进入第三相位。

4.根据权利要求2所述的计时方法,其特征在于,在一所述相位周期中的第二相位的计时策略,包括:比较Cm和Cn大小以根据比较结果执行以下策略中的一种:

如果Cm等于Cn,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第二相位结束;

如果Cm等于0,将N个参考时钟周期作为计时单位,每经过N个参考时钟周期,Cn值减少

1;直至Cn等于0时,第二相位结束。

5.根据权利要求1所述的计时方法,其特征在于,在一所述相位周期中的第三相位的计时策略,包括:用Cm和Cn表示当前M和N相应的计数值,在第三相位起始时Cm=C,Cn=D;

比较C和D大小以根据比较结果执行以下策略中的一种:

如果C大于D,将所述M个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期,Cm值减少1;直至Cm等于Cn时,第三相位结束而进入第四相位;

如果C等于D,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第三相位结束,且如果存在下一相位周期则进入该周期;

如果C小于D,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm减少至0时,第三相位结束而进入第四相位。

6.根据权利要求5所述的计时方法,其特征在于,包括:判断C及D是否为0;

若C为0,则表示不存在第三相位,进入第四相位;

若D为0,则表示不存在第四相位,第三相位结束后如果存在下一个相位周期则进入该周期。

7.根据权利要求5所述的计时方法,其特征在于,在一所述相位周期中的第四相位的计时策略,包括:比较Cm和Cn大小以根据比较结果执行以下策略中的一种:

如果Cm等于Cn,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第四相位结束;

如果Cm等于0,将N个参考时钟周期作为计时单位,每经过N个参考时钟周期,Cn值减少

1;直至Cn等于0时,第四相位结束。

8.根据权利要求7所述的计时方法,其特征在于,包括:在有下一相位周期的情况下,在第四相位结束后,进入该下一相位周期。

9.一种计时电路,其特征在于,包括:

控制部件,包括计时器状态机,用于根据输入的参考时钟频率f,对应所述参考时钟频率配置至少一个包含依次连续分布且各自对应有计时策略的第一相位、第二相位、第三相位及第四相位的相位周期,并结合所设定内容:目标时间长度为X*M个参考时钟周期1/f及Y*N个参考时钟周期1/f之和的计算式、第一基本计数单位M、第二基本计数单位N、第一相位及第二相位共用的计数值A、第一相位及第二相位共用的计数值B、第三相位及第四相位共用的计数值C、和第三相位及第四相位共用的计数值D,来计算并输出连续的第一目标时间长度T1和第二目标时间长度T2,其中,第一目标时间长度T1是通过在第一相位和第二相位对A和B计数得到的,第二目标时间长度T2是通过在第三相位和第四相位对C和D计数得到的;其中,X,Y为计数值且X及Y之和设定为一固定值;M和N是在若干倍数于该参考时钟周期的时段中最接近于预设基本时间值的两个时段所分别对应的所述若干倍数,且N=M+1;A和C对应X,B和D对应Y;其中,A、B、C、D的设定方式包括:在X、Y能为整数而令T1及T2等于需输出的标准目标长度时间T的情况下,令A=X,B=Y,C=X,D=Y;或者,在X及Y为非整数的情况下,令A=[X],B=[Y]+1,C=[X]+1,D=[Y],[]表示取整,使得T1与T2之和为两倍的T。

10.根据权利要求9所述的计时电路,其特征在于,在一所述相位周期中的第一相位的计时策略,包括:用Cm和Cn表示当前M和N相应的计数值,在第一相位起始时Cm=A,Cn=B;

比较A和B大小以根据比较结果执行以下策略中的一种:

如果A大于B,将所述M个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期,Cm值减少1;直至Cm等于Cn时,第一相位结束而进入第二相位;

如果A等于B,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第一相位结束而进入第三相位;

如果A小于B,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm减少至0时,第一相位结束而进入第二相位。

11.根据权利要求10所述的计时电路,其特征在于,所述控制部件判断A及B是否为0;

若A为0,则表示不存在第一相位,第一相位结束后进入第二相位;

若B为0,则表示不存在第二相位,第一相位结束后进入第三相位。

12.根据权利要求10所述的计时电路,其特征在于,在一所述相位周期中的第二相位的计时策略,包括:比较Cm和Cn大小以根据比较结果执行以下策略中的一种:

如果Cm等于Cn,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第二相位结束;

如果Cm等于0,将N个参考时钟周期作为计时单位,每经过N个参考时钟周期,Cn值减少

1;直至Cn等于0时,第二相位结束。

13.根据权利要求9所述的计时电路,其特征在于,在一所述相位周期中的第三相位的计时策略,包括:用Cm和Cn表示当前M和N相应的计数值,在第三相位起始时Cm=C,Cn=D;

比较C和D大小以根据比较结果执行以下策略中的一种:

如果C大于D,将所述M个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期,Cm值减少1;直至Cm等于Cn时,第三相位结束而进入第四相位;

如果C等于D,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第三相位结束,且如果存在下一相位周期则进入该周期;

如果C小于D,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm减少至0时,第三相位结束而进入第四相位。

14.根据权利要求13所述的计时电路,其特征在于,包括:判断C及D是否为0;

若C为0,则表示不存在第三相位,进入第四相位;

若D为0,则表示不存在第四相位,第三相位结束后如果存在下一个相位周期则进入该周期。

15.根据权利要求13所述的计时电路,其特征在于,在一所述相位周期中的第四相位的计时策略,包括:比较Cm和Cn大小以根据比较结果执行以下策略中的一种:

如果Cm等于Cn,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第四相位结束;

如果Cm等于0,将N个参考时钟周期作为计时单位,每经过N个参考时钟周期,Cn值减少

1;直至Cn等于0时,第四相位结束。

16.根据权利要求15所述的计时电路,其特征在于,在有下一相位周期的情况下,在第四相位结束后,进入该下一相位周期。

说明书 :

计时方法及计时电路

技术领域

[0001] 本发明涉及计时电路技术领域,特别是涉及计时方法及计时电路。

背景技术

[0002] 常见计时电路存在以下问题和局限:
[0003] (1)对参考时钟的频率和所需时间长度之间有严格的要求.常见计时电路对参考时钟进行计数,如果参考时钟的频率为24.5MHz,那么该计时电路只能通过计数122或者123次来逼近5毫秒的目标值(122.5次)。可见无论选择哪个计数值,都存在着约20.4ns的误差。如果芯片中的其他电路是通过对由该计时电路产生的5微秒信号进一步计数从而产生更大的时间长度时,那么误差将不断累积。
[0004] (2)由于计数值随参考时钟频率不同而须相应变化,计时器电路无法提供剩余时间百分比。比如在参考时钟频率为25MHz情况下,若目标时间为5毫秒,在计数80次后,计时电路只能指示当前剩余时间为45/125。若参考时钟频率变为30MHz,在计数96次后,计时电路也只能指示当前剩余时间为54/150。在两种情况下,传统计时电路都无法归一化的指示当前剩余时间为目标时间长度的36%。因此对于依赖这种计时器而设计的其他电路,就必须进行额外的转换逻辑来计算出剩余时间百分比值。

发明内容

[0005] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种计时方法及计时电路,用于解决现有技术中数字计时电路存在误差且由于参考时钟频率变化而难以归一化显示剩余时间百分比值的问题。
[0006] 为实现上述目的及其他相关目的,本发明提供一种计时方法,包括:根据输入的参考时钟频率f,对应所述参考时钟频率配置至少一个包含依次连续分布且各自对应有计时策略的第一相位、第二相位、第三相位及第四相位的相位周期,并结合所设定内容:目标时间长度为X*M个参考时钟周期1/f及Y*N个参考时钟周期1/f之和的计算式、第一基本计数单位M、第二基本计数单位N、第一相位及第二相位共用的计数值A、第一相位及第二相位共用的计数值B、第三相位及第四相位共用的计数值C、和第三相位及第四相位共用的计数值D,来计算并输出连续的第一目标时间长度T1和第二目标时间长度T2,其中,第一目标时间长度T1是通过在第一相位和第二相位对A和B计数得到的,第二目标时间长度T2是通过在第三相位和第四相位对C和D计数得到的;其中,X,Y为计数值且X及Y之和设定为一固定值;M和N是在若干倍数于该参考时钟周期的时段中最接近于预设基本时间值的两个时段所分别对应的所述若干倍数,且N=M+1;A和C对应X,B和D对应Y;其中,A、B、C、D的设定方式包括:在X、Y能为整数而令T1及T2等于需输出的标准目标长度时间T的情况下,令A=X,B=Y,C=X,D=Y;或者,在X及Y为非整数的情况下,令A=[X],B=[Y]+1,C=[X]+1,D=[Y],[]表示取整,使得T1与T2之和为两倍的T。
[0007] 于本发明的一实施例中,在一所述相位周期中的第一相位的计时策略,包括:用Cm和Cn表示当前M和N相应的计数值,在第一相位起始时Cm=A,Cn=B;比较A和B大小以根据比较结果执行以下策略中的一种:如果A大于B,将所述M个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期,Cm值减少1;直至Cm等于Cn时,第一相位结束而进入第二相位;如果A等于B,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第一相位结束而进入第三相位;如果A小于B,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm减少至0时,第一相位结束而进入第二相位。
[0008] 于本发明的一实施例中,所述的计时方法,包括:判断A及B是否为0;若A为0,则表示不存在第一相位,第一相位结束后进入第二相位;若B为0,则表示不存在第二相位,第一相位结束后进入第三相位。
[0009] 于本发明的一实施例中,在一所述相位周期中的第二相位的计时策略,包括:比较Cm和Cn大小以根据比较结果执行以下策略中的一种:如果Cm等于Cn,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第二相位结束;如果Cm等于0,将N个参考时钟周期作为计时单位,每经过N个参考时钟周期,Cn值减少1;直至Cn等于0时,第二相位结束。
[0010] 于本发明的一实施例中,在一所述相位周期中的第三相位的计时策略,包括:用Cm和Cn表示当前M和N相应的计数值,在第三相位起始时Cm=C,Cn=D;比较C和D大小以根据比较结果执行以下策略中的一种:如果C大于D,将所述M个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期,Cm值减少1;直至Cm等于Cn时,第三相位结束而进入第四相位;如果C等于D,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第三相位结束,且如果存在下一相位周期则进入该周期;如果C小于D,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm减少至0时,第三相位结束而进入第四相位。
[0011] 于本发明的一实施例中,所述的计时方法,包括:判断C及D是否为0;若C为0,则表示不存在第三相位,进入第四相位;若D为0,则表示不存在第四相位。在有下一相位周期的情况下,在第三相位结束后,进入下一相位周期。
[0012] 于本发明的一实施例中,在一所述相位周期中的第四相位的计时策略,包括:比较Cm和Cn大小以根据比较结果执行以下策略中的一种:如果Cm等于Cn,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第四相位结束;如果Cm等于0,将N个参考时钟周期作为计时单位,每经过N个参考时钟周期,Cn值减少1;直至Cn等于0时,第四相位结束。
[0013] 于本发明的一实施例中,所述的计时方法,包括:在有下一相位周期的情况下,在第四相位结束后,进入该下一相位周期。
[0014] 为实现上述目的及其他相关目的,本发明提供一种计时电路,包括:控制部件,包括计时器状态机,用于根据输入的参考时钟频率f,对应所述参考时钟频率配置至少一个包含依次连续分布且各自对应有计时策略的第一相位、第二相位、第三相位及第四相位的相位周期,并结合所设定内容:目标时间长度为X*M个参考时钟周期1/f及Y*N个参考时钟周期1/f之和的计算式、第一基本计数单位M、第二基本计数单位N、第一相位及第二相位共用的计数值A、第一相位及第二相位共用的计数值B、第三相位及第四相位共用的计数值C、和第三相位及第四相位共用的计数值D,来计算并输出连续的第一目标时间长度T1和第二目标时间长度T2,其中,第一目标时间长度T1是通过在第一相位和第二相位对A和B计数得到的,第二目标时间长度T2是通过在第三相位和第四相位对C和D计数得到的;其中,X,Y为计数值且X及Y之和设定为一固定值;M和N是在若干倍数于该参考时钟周期的时段中最接近于预设基本时间值的两个时段所分别对应的所述若干倍数,且N=M+1;A和C对应X,B和D对应Y;其中,A、B、C、D的设定方式包括:在X、Y能为整数而令T1及T2等于需输出的标准目标长度时间T的情况下,令A=X,B=Y,C=X,D=Y;或者,在X及Y为非整数的情况下,令A=[X],B=[Y]+1,C=[X]+1,D=[Y],[]表示取整,使得T1与T2之和为两倍的T。
[0015] 于本发明的一实施例中,在一所述相位周期中的第一相位的计时策略,包括:用Cm和Cn表示当前M和N相应的计数值,在第一相位起始时Cm=A,Cn=B;比较A和B大小以根据比较结果执行以下策略中的一种:如果A大于B,将所述M个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期,Cm值减少1;直至Cm等于Cn时,第一相位结束而进入第二相位;如果A等于B,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第一相位结束而进入第三相位;如果A小于B,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm减少至0时,第一相位结束而进入第二相位。
[0016] 于本发明的一实施例中,所述控制部件判断A及B是否为0;若A为0,则表示不存在第一相位,第一相位结束后进入第二相位;若B为0,则表示不存在第二相位,第一相位结束后进入第三相位。
[0017] 于本发明的一实施例中,在一所述相位周期中的第二相位的计时策略,包括:比较Cm和Cn大小以根据比较结果执行以下策略中的一种:如果Cm等于Cn,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第二相位结束;如果Cm等于0,将N个参考时钟周期作为计时单位,每经过N个参考时钟周期,Cn值减少1;直至Cn等于0时,第二相位结束。
[0018] 于本发明的一实施例中,在一所述相位周期中的第三相位的计时策略,包括:用Cm和Cn表示当前M和N相应的计数值,在第三相位起始时Cm=C,Cn=D;比较C和D大小以根据比较结果执行以下策略中的一种:如果C大于D,将所述M个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期,Cm值减少1;直至Cm等于Cn时,第三相位结束而进入第四相位;如果C等于D,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第三相位结束,且如果存在下一相位周期则进入该周期;如果C小于D,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm减少至0时,第三相位结束而进入第四相位。
[0019] 于本发明的一实施例中,所述的计时方法,包括:判断C及D是否为0;若C为0,则表示不存在第三相位,进入第四相位;若D为0,则表示不存在第四相位。在有下一相位周期的情况下,在第三相位结束后,进入下一相位周期。
[0020] 于本发明的一实施例中,在一所述相位周期中的第四相位的计时策略,包括:比较Cm和Cn大小以根据比较结果执行以下策略中的一种:如果Cm等于Cn,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第四相位结束;如果Cm等于0,将N个参考时钟周期作为计时单位,每经过N个参考时钟周期,Cn值减少1;直至Cn等于0时,第四相位结束。
[0021] 于本发明的一实施例中,在有下一相位周期的情况下,在第四相位结束后,进入该下一相位周期。
[0022] 如上所述,本发明的计时方法及计时电路,具有以下有益效果:与常见计时电路相比,在参考时钟频率精度在0.5MHz时,消除了积累的计时误差,从而提供了更加精准的计时结果;不受参考时钟频率变化的影响,该计时电路可以显示当前计时周期内剩余时间的百分比值,从而简化了相关电路对计时结果的分析和转换过程。

附图说明

[0023] 图1显示为本发明的计时电路于一实施例中的逻辑功能示意图。
[0024] 图2显示为本发明的计时电路于一实施例中输出计时的时序状态示意图。
[0025] 图3显示为本发明的计时电路于一实施例中实际输出剩余时间百分比和理论值的比对示意图。

具体实施方式

[0026] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0027] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0028] 本发明提供的计时电路及其计时方法,通过在参考时钟频率的依次连续的四个相位的分别执行计时策略,使得第一相位和第二相位所计时间和第三相位和第四相位所计时间之和能抵消误差,从而实现。
[0029] 请参阅图1,显示本发明所提供计时电路的逻辑功能图,该计时电路可包括控制部件(可通过例如CPU、MCU、SOC、CPLD等实现),从而通过程序控制来实现计时器状态机,从而根据图中的输入(参考时钟,获取其频率f)并结合设定的参数(M、N、A、B、C、D)来计算获得输出(所需输出的标准目标时间长度T,及剩余时间百分比的统计结果)。
[0030] 具体的,以下介绍本发明计时电路进行参数设定及计时的原理:
[0031] 设参考时钟频率为f,则参考时钟周期为1/f,且设基本计时单位为t(其可为一预设基本时间值),进而计算若干倍数于该参考时钟周期的时段中最接近于t的两个时段,对应该两个时段的若干倍数的值表示为M和N,其为整数,则N=M+1,两个时段表示为M/f和N/f,可分别作为第一基本计数单位和第二基本计数单位,分别乘以计数值X和Y来构成所需输出的时间,即目标时间长度T=X*M/f+Y*N/f,其中X,和Y需实现为整数,且为了实现百分比统计显示剩余时间,可将X+Y设为一固定值,因此,在此情况下要无误差地满足T的输出则X,Y理论上可能会为非整数的实数。
[0032] 举例来讲,若t=100ns,f=24.5MHz,则对应参考时钟周期为40.82ns,对应最接近100ns的两个时段分别为两倍参考时钟周期即2*40.82=81.64ns和三倍参考时钟周期即3*
40.82=122.46ns,则M=2,N=3,进而可以81.64ns和122.46ns,T可表示为X*81.64+Y*
122.46,若需输出的T设为0.5us且为实现百分比统计而将X+Y设为一固定值例如50,则解联立方程:X*81.64ns+Y*122.46ns=0.5us,X+Y=50;可得X=27.5,Y=22.5;而在数字电路中并无法实现27.5次和22.5次的计数。
[0033] 因此,本发明采用了四相位计数的方法,请一并参阅图1及图2,即所述控制部件可在参考时钟频率配置4个连续相位:第一相位、第二相位、第三相位及第四相位,通过第一相位和第二相位实现第一目标时间长度T1的输出,通过第三相位和第四相位实现第二目标时间长度T2的输出,实现T1的计数值和实现T2的计数值分配方式不同,从而令两者产生相反且大小相同的误差,从而T1和T2之和抵消误差而达成2倍的所需的标准目标时间长度。
[0034] 具体的,举例来说,在第一相位和第二相位使用计数值A和B,即T1=A*M/f+B*N/f,若承接前述举例,则T1=A*81.64ns+B*122.46ns,A+B=50;而在第三相位和第四相位使用计数值C和D,即T2=C*M/f+D*N/f,若承接前述举例,则T2=C*81.64ns+D*122.46ns,C+D=50;可根据X=27.5,Y=22.5设A=28,B=22,C=27,D=23,令T1相对于T=0.5us有-20.4ns的误差,且令T2相对于T有+20.4ns的误差,T1+T2则恰好消除了误差而得到2倍的T,解决现有技术中数字电路实现的计时电路精度不够而导致计时误差的问题;并且优选的,A+B和C+D均为固定值50,且A+B+C+D=100,使得计时电路可统计剩余计数次数n/100,从而直接实现剩余时间的百分比输出(可通过显示部件,例如LCD或LED显示器等实现显示),而不受频率变化的限制。
[0035] 当然,若X,Y计算结果为整数,则可直接设置A=C=X,B=D=Y。
[0036] 总结以上实例,可以推导出以下计时策略:若参考时钟频率为f,相应的时钟周期则为1/f,且根据基本计时单位t,M值为[t*f]而N值为[t*f]+1([]表示取整,取整函数是指不超过实数x的最大整数称为x的整数部分,记作[x])。
[0037] 若目标时间长度为T,进而求解方程X*[t*f]*(1/f)+Y*([t*f]+1)*(1/f)=T和X+Y=50,可得X和Y的唯一解;
[0038] 判断X和Y是否为整数;
[0039] 若X和Y为整数,则A=X;B=Y;C=X;D=Y;
[0040] 若X和Y不为整数,则A=[X];B=[Y]+1;C=[X]+1;D=[Y]。
[0041] 控制部件可利用对应每个相位所配置的计时策略来设定所需的计数值。
[0042] 从上文参数推导中可以发现,在前两个或后两个相位中,A+B和C+D的和都为固定值50,然而A和B(或C和D)并不一定相等;在保证计时控制状态机尽量简单的前提下,为了得到更准确的剩余时间百分比,还可利用各个相位分别所具有的计时策略来合理安排计数:
[0043] a)第一相位的计时策略:
[0044] 用Cm和Cn表示当前M和N相应的计数值,在第一相位起始时Cm=A,Cn=B;比较A和B大小以根据比较结果执行以下策略中的一种:
[0045] 如果A大于B,将所述M个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期,Cm值减少1;直至Cm等于Cn时,第一相位结束而进入第二相位;
[0046] 如果A等于B,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第一相位结束而进入第三相位;
[0047] 如果A小于B,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm减少至0时,第一相位结束而进入第二相位。
[0048] 所述第一相位结束后,一般是进入第二相位,但若第二相位不存在则可进入第三相位;因此可提供进一步的判断机制:所述控制部件还可判断A及B是否为0;若A为0,则表示不存在第一相位,第一相位结束后进入第二相位;若B为0,则表示不存在第二相位,第一相位结束后进入第三相位。
[0049] b)第二相位的计时策略:
[0050] 比较Cm和Cn大小以根据比较结果执行以下策略中的一种:
[0051] 如果Cm等于Cn,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第二相位结束;
[0052] 如果Cm等于0,将N个参考时钟周期作为计时单位,每经过N个参考时钟周期,Cn值减少1;直至Cn等于0时,第二相位结束。
[0053] 第二相位结束后默认根据次序进入第三相位。
[0054] b)与第一相位的计时策略的原理大致相同的是,第三相位的计时策略:
[0055] 用Cm和Cn表示当前M和N相应的计数值,在第三相位起始时Cm=C,Cn=D;比较C和D大小以根据比较结果执行以下策略中的一种:
[0056] 如果C大于D,将所述M个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期,Cm值减少1;直至Cm等于Cn时,第三相位结束而进入第四相位;
[0057] 如果C等于D,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第三相位结束,且如果存在下一相位周期则进入该周期;
[0058] 如果C小于D,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm减少至0时,第三相位结束而进入第四相位。
[0059] d)与第二相位的计时策略的原理大致相同的是,第四相位的计时策略:
[0060] 比较Cm和Cn大小以根据比较结果执行以下策略中的一种:
[0061] 如果Cm等于Cn,轮流将M个和N个参考时钟周期作为计时单位进行计数,以在每经过M个参考时钟周期时令Cm的值减少1,以及在每经过N个参考时钟周期时令Cn的值减少1;直至Cm和Cn都减少至0时,第四相位结束;
[0062] 如果Cm等于0,将N个参考时钟周期作为计时单位,每经过N个参考时钟周期,Cn值减少1;直至Cn等于0时,第四相位结束。
[0063] 于本发明的一实施例中,在有下一相位周期的情况下,在第四相位结束后,进入该下一相位周期。
[0064] 因为采用了两种基本计数单位,M(值为[t*f])和N(值为[t*f]+1)乘以参考时钟周期来逼近理想的基本计时单位t,所以最理想的计时策略是基于M和N的计时相互交叉,均匀分布,比如在参考时钟频率是24MHz时,在第一及第二相位的总共50次计数内,需要以M为单位的计数30次,以N为单位的计数为20次,那么一种比较理想的计时策略就应该是每五次计数中按照“M-N-M-N-M”这样的交替次序进行。
[0065] 然由于M和N的值随参考时钟频率变化而改变,组合的可能性非常多,想要实现理想的计时策略,其硬件成本将非常高。
[0066] 因此,在上述实例中,以N为单位的逼近t的第二基本计时长度是大于M的,所以优选地需要优先按照M来计时,上述例子中,M=30,N=20,可先按照M来计数10次而减少至20次,之后轮流计数M和N各20次,这样所输出的剩余时间百分比值会比理论值(即以t为基本计数单位,而通过一个计数值进行计时所计算得到的剩余时间百分比值)更少;但是,如果M的计数值一开始就比N的少,那么就先轮流计数,当M的计数次数减少到0后,再按照N来计数;这种计数方式也可以保证最后输出的剩余时间百分比比理论值少。
[0067] 从图3即可了解,按照本发明提供的上述计数方式就能保证最后输出的剩余时间百分比比理论值少。
[0068] 之所以要采用“能保证最后输出的剩余时间百分比比理论值少”的“悲观值”的计数方式,是因为,后续相关电路会根据当前剩余时间百分比来决定其是否要进行某些操作或者运算;如果不输出“悲观值”,那么比如在实际只剩49%时间的时候,电路所显示的当前剩余时间百分比可能是51%,导致了明明后续电路在剩余时间不足(只有49%)的情况下,仍然开始了某项需要50%时间才能完成的操作或者计算,从而最终导致该操作或者计算无法正确及时完成。
[0069] 优选的,本发明的技术方案可应用在USB(通用串行总线)的芯片设计中,在USB芯片设计中,需要对周期为125微秒的micro-frame(微时间段)进行计时,并且协议层电路需要获知当前micro-frame(微时间段)所剩时间的百分比值,因此本发明提出的四相位的计时电路满足了该芯片设计所需的上述计时功能。
[0070] 综上所述,本发明的计时方法及计时电路,具有以下有益效果:与常见计时电路相比,在参考时钟频率精度在0.5MHz时,消除了积累的计时误差,从而提供了更加精准的计时结果;不受参考时钟频率变化的影响,该计时电路可以显示当前计时周期内剩余时间的百分比值,从而简化了相关电路对计时结果的分析和转换过程。
[0071] 本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0072] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。