一种高精度振荡器校准系统及其快速校准方法

文档序号:1341306 发布日期:2020-07-17 浏览:37次 >En<

阅读说明:本技术 一种高精度振荡器校准系统及其快速校准方法 (High-precision oscillator calibration system and rapid calibration method thereof ) 是由 唐攀 于 2020-04-17 设计创作,主要内容包括:本发明提供一种高精度振荡器校准系统及其快速校准方法,该系统包括张弛振荡器模块、校准模块、校准控制模块、计数器模块,校准模块耦接至张弛振荡器模块组成高精度RC振荡器,校准控制模块用于接收校准基准信号后,向计数器模块输出计数信号以及控制校准模块的控制参数,张弛振荡器模块用于提供待校准时钟信号的输出,计数器模块基于待校准时钟信号和标准参考时钟信号的偏差得到当前振荡器输出频率。本发明的方法采用上述的系统进行快速校准。本发明可以将平均校准算法收敛速度提升10倍,大幅度节约CP测试时间,可以提供高精度校准算法,保证输出频率的绝对精度。(The invention provides a high-precision oscillator calibration system and a rapid calibration method thereof, the system comprises a relaxation oscillator module, a calibration control module and a counter module, wherein the calibration module is coupled to the relaxation oscillator module to form a high-precision RC oscillator, the calibration control module is used for outputting a counting signal to the counter module and controlling a control parameter of the calibration module after receiving a calibration reference signal, the relaxation oscillator module is used for providing the output of a clock signal to be calibrated, and the counter module obtains the output frequency of a current oscillator based on the deviation of the clock signal to be calibrated and a standard reference clock signal. The method of the invention adopts the system to carry out rapid calibration. The invention can improve the convergence speed of the average calibration algorithm by 10 times, greatly save CP test time, provide a high-precision calibration algorithm and ensure the absolute precision of output frequency.)

一种高精度振荡器校准系统及其快速校准方法

技术领域

本发明涉及半导体集成电路技术领域,尤其涉及一种高精度振荡器校准系统以及应用于该电路的快速校准方法。

背景技术

振荡器是芯片的时钟参考源,主要作用是给系统提供稳定的时钟信号。其中,片内振荡器的输出频率会受到工艺/温度和电压偏差的影响,一般偏差会达到±30%左右,无法应对电路正常工作的需求,需要在CP(Chip Probe)测试的时候校准。

传统的校准方法为逐次逼近算法,通过二进制搜索的方法逐一确定校准控制位的值。该方法的缺点是校准时间较长,每一位校准字的确认都需要固定的时长,在高精度RC振荡器中,对CP测试成本影响较大。

逐次逼近算法中触发逻辑只有一个:参考时钟计数器的计数值cnt_ref达到目标值refCntTarget。设参考时钟频率为refFreq,则触发Timeup信号的总时长T满足:

T=refCntTarget/refFreq

在T时间内,根据振荡器输出振荡器时钟计数值cnt_osc来计算振荡器输出频率oscFreq,满足式(1)、(2):

T=cnt_ref/refFreq=cnt_osc/oscFreq (1)

oscFreq=refFreq*cnt_osc/cnt_ref (2)

从上式可以看出,只有cnt_osc=cnt_ref时,振荡器输出频率才达到目标频率值refFreq。假设校准字有N位宽,则总的校准时长为Ttot,满足式(3):

Ttot=N*T (3)

以上假设的是参考时钟频率与振荡器的目标频率相同,实际使用时可不必相同,根据二者频率偏差调整相应的oscCntTarget和refCntTarget比值即可。

当振荡器输出频率高于目标频率值时,计数器输出值超过oscCntTarget,浪费一定的校准时间。所以可以增加一个触发源,振荡器输出频率计数值达到目标频率值时,也触发Timeup,判断当前频率和目标频率的偏差。可以一定程度上提高校准的速度,其校准总时长为Ttot1,满足式(4):

Ttot1<Ttot (4)

上述改进的方法只有一个优点:加快振荡器频率大于目标频率时的校准速度,如果振荡器频率大幅度低于目标频率值,则对校准速度的提升几乎可以忽略。

发明内容

本发明的主要目的在于提供一种可以提高RC振荡器校准效率的高精度振荡器校准系统。

本发明的另一目的在于提供一种可以提高RC振荡器校准效率的高精度振荡器校准系统的快速校准方法。

为了实现上述的主要目的,本发明提供的一种高精度振荡器校准系统,其包括张弛振荡器模块、校准模块、校准控制模块、计数器模块,所述校准模块耦接至所述张弛振荡器模块组成高精度RC振荡器,所述校准控制模块用于接收校准基准信号后,向所述计数器模块输出计数信号以及控制所述校准模块的控制参数,所述张弛振荡器模块用于提供待校准时钟信号的输出,所述计数器模块基于待校准时钟信号和标准参考时钟信号的偏差得到当前振荡器输出频率。

进一步的方案中,所述校准模块为电阻/电流源或电容阵列,所述控制参数为电阻/电流源或电容阵列控制字的值。

更进一步的方案中,所述计数器模块用所述张弛振荡器模块产生的待校准时钟信号进行计数,并基于所述待校准时钟信号和所述标准参考时钟信号的偏差得到当前振荡器输出频率。

更进一步的方案中,所述系统还包括存储器,所述存储器与所述校准控制模块电连接。

由此可见,本发明主要包括张弛振荡器模块、校准模块、校准控制模块、计数器模块等,张弛振荡器是振荡器核心部分,用于提供待校准的时钟输出;校准模块设于张弛振荡器内部,用于提供多位控制字;校准控制模块是算法的核心模块,用于控制校准模块的控制字,计数器的启动和清零等;计数器模块用于判断待校准时钟和标准参考时钟的偏差,从而得到当前振荡器输出频率。

所以,本发明可以将平均校准算法收敛速度提升10倍,大幅度节约CP测试时间,可以提供高精度校准算法,保证输出频率的绝对精度。

为了实现上述的另一目的,本发明提供的一种高精度振荡器校准系统的快速校准方法,所述高精度振荡器校准系统是采用上述的高精度振荡器校准系统,所述快速校准方法用于多个校准模块的控制字校准,其包括以下步骤:步骤S1,配置参考时钟频率和校准精度;步骤S2,配置振荡器校准字初始值,清零计数器模块,初始化校准流程控制计数器cnt_cali,启动计数器模块;步骤S3,实时监测计数器模块输出值,并输出Timeup信号,其中,Timeup信号包含三个触发源;步骤S4,判断振荡器输出频率与目标频率的偏差,计算当前校准字的精度;步骤S5,校准完毕,保存当前校准字数值。

进一步的方案是,在步骤S3中,第一触发源a为参考时钟计数值cnt_ref达到目标频率值,第二触发源b为振荡器时钟计数值cnt_osc达到目标频率值,第三触发源c为参考时钟计数值cnt_ref与振荡器时钟计数值cnt_osc不相同。

更进一步的方案是,在步骤S4中,当触发源为第一触发源a时,判断振荡器时钟计数值cnt_osc是否达到目标频率值,如是,则进入步骤S5。

更进一步的方案是,在步骤S4中,当触发源为第二触发源b时,判断参考时钟计数值cnt_ref是否达到目标频率值,如是,则进入步骤S5。

更进一步的方案是,在步骤S4中,当触发源为第三触发源c时,则根据当前振荡器时钟计数值cnt_osc的值判断当前校准字达到的精度。所述快速校准方法还包括步骤S6:根据当前新的计数器cnt_cali,清零计数器模块,清除Timeup信号,启动计数器模块后,进入步骤S3,直到计数器cnt_cali=0,校准结束,保存当前校准字数值,退出校准模式;在步骤S4中,当触发源为第一触发源a时,若振荡器时钟计数值cnt_osc没有达到目标频率值,则可确定振荡器频率低于目标频率值,需要增大校准字,则进入步骤S6,计数器cnt_cali减1;在步骤S4中,当触发源为第二触发源b时,若参考时钟计数值cnt_ref没有达到目标频率值,则可确定振荡器频率高于目标频率值,需要减小校准字,则进入步骤S6,计数器cnt_cali减1;在步骤S4中,当触发源为第三触发源c时,若振荡器时钟计数值cnt_osc大于参考时钟计数值cnt_ref,则确定振荡器频率高于目标频率值,有效精度内的校准值减1,且根据当前校准精度字来确定计数器cnt_cali的数值后,进入步骤S6。

由此可见,本发明提出了新的校准逻辑,根据当前计数值判断校准的有效位数,从而实现跨越式校准,大幅度提升校准速度;可以将平均校准算法收敛速度提升10倍,大幅度节约CP测试时间,可以提供高精度校准算法,保证输出频率的绝对精度。

附图说明

图1是本发明一种高精度振荡器校准系统实施例的原理图。

图2是本发明一种高精度振荡器校准系统的快速校准方法实施例的流程框图。

图3是本发明一种高精度振荡器校准系统的快速校准方法实施例中校准算法的流程框图。

以下结合附图及实施例对本发明作进一步说明。

具体实施方式

一种高精度振荡器校准系统实施例:

参见图1,本发明的高精度振荡器校准系统包括张弛振荡器模块1、校准模块2、校准控制模块3、计数器模块4,校准模块2耦接至张弛振荡器模块1组成高精度RC振荡器,校准控制模块3用于接收校准基准信号后,向计数器模块4输出计数信号以及控制校准模块2的控制参数,张弛振荡器模块1用于提供待校准时钟信号的输出,计数器模块4基于待校准时钟信号和标准参考时钟信号的偏差得到当前振荡器输出频率。

在本实施例中,校准模块2为电阻/电流源或电容阵列,控制参数为电阻/电流源或电容阵列控制字的值。

在本实施例中,计数器模块4用张弛振荡器模块1产生的待校准时钟信号进行计数,并基于待校准时钟信号和标准参考时钟信号的偏差得到当前振荡器输出频率。

在本实施例中,系统还包括存储器5,存储器5与校准控制模块3电连接。其中,存储器5可以是Flash存储器或OTP/eFuse等各类NVM存储器(非易失存储器)。

由此可见,本发明主要包括张弛振荡器模块1、校准模块2、校准控制模块3、计数器模块4等,张弛振荡器是振荡器核心部分,用于提供待校准的时钟输出;校准模块2设于张弛振荡器内部,用于提供多位控制字;校准控制模块3是算法的核心模块,用于控制校准模块2的控制字,计数器的启动和清零等;计数器模块4用于判断待校准时钟和标准参考时钟的偏差,从而得到当前振荡器输出频率。

所以,本发明可以将平均校准算法收敛速度提升10倍,大幅度节约CP测试时间,可以提供高精度校准算法,保证输出频率的绝对精度。

一种高精度振荡器校准系统的快速校准方法实施例:

一种高精度振荡器校准系统的快速校准方法,应用于上述的高精度振荡器校准系统,参见图2,快速校准方法用于多个校准模块2的控制字校准,在该方法进行校准时,首先,执行步骤S1,配置参考时钟频率和校准精度。其中,该步骤用来选择参考时钟的频率和最终的校准精度。

接着,执行步骤S2,配置振荡器校准字初始值,清零计数器模块4,初始化校准流程控制计数器cnt_cali,启动计数器模块4。其中,在步骤S2中,配置振荡器校准字初始值,该初始值一般为中位数。然后,清零计数器模块4,初始化校准流程控制计数器cnt_cali,启动校准,启动计数器模块4。

然后,执行步骤S3,实时监测计数器模块4输出值,并输出Timeup信号,其中,Timeup信号包含三个触发源。具体的,在步骤S3中,第一触发源a为参考时钟计数值cnt_ref达到目标频率值,第二触发源b为振荡器时钟计数值cnt_osc达到目标频率值,第三触发源c为参考时钟计数值cnt_ref与振荡器时钟计数值cnt_osc不相同。

然后,执行步骤S4,判断振荡器输出频率与目标频率的偏差,计算当前校准字的精度。其中,在步骤S4中,当触发源为第一触发源a时,判断振荡器时钟计数值cnt_osc是否达到目标频率值,如是,则进入步骤S5。

在步骤S4中,当触发源为第二触发源b时,判断参考时钟计数值cnt_ref是否达到目标频率值,如是,则进入步骤S5。

在步骤S4中,当触发源为第三触发源c时,则根据当前振荡器时钟计数值cnt_osc的值判断当前校准字达到的精度。

然后,执行步骤S5,校准完毕,保存当前校准字数值。

具体的,若触发源是第一触发源a,则此时可以根据振荡器时钟计数值cnt_osc判断是否也达到目标频率值,若达到目标频率值,则校准完毕,保存校准字,退出校准模式。若振荡器时钟计数值cnt_osc没达到目标频率值,则可以说明振荡器频率低于目标频率值,需要增大校准字,进入步骤S6,计数器cnt_cali减1。

若触发源是第二触发源b,当确定参考时钟计数值cnt_ref也达到目标频率值时,则校准完毕,保存校准字,退出校准模式。若参考时钟计数值cnt_ref没有达到目标频率值,则说明振荡器频率高于目标频率值,需要减小校准字,进入步骤S6,计数器cnt_cali减1。

若触发源是第三触发源c,则根据当前振荡器时钟计数值cnt_osc的值判断当前校准字达到的精度,若振荡器时钟计数值cnt_osc比参考时钟计数值cnt_ref大,则说明振荡器频率高于目标频率值,有效精度内的校准值减1,反之不变。当然,下一个计数器cnt_cali值不再是减1,而是根据当前校准精度来判断,进入步骤S6。

在本实施例中,快速校准方法的步骤S6包括:根据当前新的计数器cnt_cali,清零计数器模块4,清除Timeup信号,启动计数器模块4后,进入步骤S3,直到计数器cnt_cali=0,校准结束,保存当前校准字数值,退出校准模式。

在步骤S4中,当触发源为第一触发源a时,若振荡器时钟计数值cnt_osc没有达到目标频率值,则可确定振荡器频率低于目标频率值,需要增大校准字,则进入步骤S6,计数器cnt_cali减1。

在步骤S4中,当触发源为第二触发源b时,若参考时钟计数值cnt_ref没有达到目标频率值,则可确定振荡器频率高于目标频率值,需要减小校准字,则进入步骤S6,计数器cnt_cali减1。

在步骤S4中,当触发源为第三触发源c时,若振荡器时钟计数值cnt_osc大于参考时钟计数值cnt_ref,则确定振荡器频率高于目标频率值,有效精度内的校准值减1,且根据当前校准精度字来确定计数器cnt_cali的数值后,进入步骤S6。

以上校准算法相比于现有的逐次逼近算法,主要改进了触发逻辑,为了进一步提高校准速度,本实施例提出了新的触发源:实时监测两个计数器的计数值,一旦二者出现不相等(偏差为1),则说明频率不同,不需要等到计数值达到目标频率值才触发Timeup。采用该方法可以大幅度提高校准速度,对高位的校准速度增长有指数级的提升,其总校准时长为Ttot2,满足式(5):

Ttot2<<Ttot(5)

上述改进的方法效果明显,但整体思路还是逐次比较,没有跳出N位按位校准的逻辑。当振荡器频率本身很接近目标频率值时,单bit校准的时长将和逐次逼近算法相差不大,后续bit的校准速度虽然很快(置1将导致频率与目标频率值偏差很大,本发明提出的方法将快速得到校准值),但依然需要消费一定的时长,更有效的做法是既然计数值已经与目标频率值接近,说明高位有效,不需要再校准,只需要针对低位再进行校准。本发明提出了新的校准逻辑,根据当前计数值判断校准的有效位数,从而实现跨越式校准,大幅度提升校准速度。

假设校准字目标频率值为caliSet,当前校准字频率值为caliSet1,当前振荡器时钟计数值为cnt_osc,输出频率和校准字的关系满足式(6):

校准的最小精度为1/M,由校准模块2决定。oscFreq0为振荡器初始频率(校准字为2N-1时),校准范围为±2N-1/M(M>2N-1),假设触发Timeup时,cnt_osc比cnt_ref大1,则定时长为T,满足式(7)、(8):

T=cnt_ref/refFreq=(cnt_ref+1)/oscFreq (7)

oscFreq=refFreq*(1+1/cnt_ref) (8)

根据振荡器频率与校准字直接的关系得到式(9):

所以推出参考时钟频率满足式(10):

因为振荡器目标频率为参考时钟频率,则参考时钟频率又满足(11):

可以得到当前校准字频率值与目标频率值的关系,如式(12):

假设M与2N相当(一般校准范围±50%足够),cnt_ref=2k,当前校准字与目标校准字的偏差最大为式(13):

上式需要N-1-k+2=N+1-k位来表示,说明当参考时钟计数值cnt_ref达到2k时,至少N-(N+1-k)=k-1位有效,剩余N-k+1位待校准。

综上分析,当Timeup触发源为两计数值不相同时,可以根据参考时钟计数值cnt_ref的值来判断当前校准字的有效位,比如cnt_ref为1027,则有效位达到9bit,剩余需要校准的为低N-9位。

在实际应用中,假设振荡器校准位数为12bit,则为了达到足够的校准精度,计数器目标频率值要达到2^12=4096。假设参考时钟频率和振荡器的目标校准频率相同,则校准的目标是振荡器的计数值和参考时钟的计数值相同。假设振荡器未校准前频率为oscFreq0=7.876543MHz,默认校准字caliSet=2048,M=4000,N=12(根据电路实际情况建模)。参考时钟频率refFreq=8.0MHz,参见式(6)。

接下来结合参数、数据等具体阐述一个较为优选的实施方案。

具体的,参见图3,首先,配置参考时钟频率为8MHz,校准精度为1/4096。

接着,配置振荡器校准字初始值caliSet=2048,计数器cnt_cali=12,清零两个计数器。然后配置CaliStart=1,启动校准。

实时监测两个计数器的计数值。此处振荡器输出频率低于目标频率值,所以cnt_osc<cnt_ref,当cnt_ref第一次超过cnt_osc时,cnt_ref=cnt_osc+1。代入公式(1)可知此时cnt_ref=65(26=64),触发源为第三触发源c。

当触发源为第三触发源c,cnt_ref=65,cnt_osc=64,振荡器输出频率低于目标频率值,至少5位有效,则caliSet高5位有效,cnt_cali=12-5=7,caliSet置位第7位,caliSet=12’b1000_0100_0000。然后,清零计数器,cnt_cali=7,重启计数。caliSet=2112,根据模型(公式(6)),此时振荡器输出频率为8.002567MHz,cnt_ref=cnt_osc-1,cnt_ref=3115(211=2048),触发源为第三触发源c。

触发源为第三触发源c,cnt_ref=3115,cnt_osc=3116,振荡器输出频率高于目标频率值,至少10位有效,caliSet高10位减1,cnt_cali=12-10=2,caliSet置位第2位,caliSet=12’b1000_0011_1110。然后,清零计数器,cnt_cali=2,重启计数。

caliSet=2110,此时振荡器频率为7.998629MHz,频率低于目标频率值,如果触发源是第三触发源c,则cnt_osc=cnt_ref-1,计算得到cnt_ref=5836>校准精度4096,所以实际触发源为第一触发源a(参考时钟快,先达到目标频率值)。

当触发源为第一触发源a时,此时cnt_osc也达到目标频率值,校准结束。最终校准字caliSet=12’b1000_0011_1110,最终振荡器输出频率为7.998629MHz,最终精度为0.017%<0.024%(1/4096),达到校准的精度要求。

最后,将校准字写入存储器5中。

以上示例说明,采用本方案后,校准的循环次数只有3次,而且每次循环的时间也远远低于传统逐次逼近的方案,可大幅度减少校准时间,在精度要求高的场合提升作用更加明显。

由此可见,本发明提出了新的校准逻辑,根据当前计数值判断校准的有效位数,从而实现跨越式校准,大幅度提升校准速度;可以将平均校准算法收敛速度提升10倍,大幅度节约CP测试时间,可以提供高精度校准算法,保证输出频率的绝对精度。

需要说明的是,以上仅为本发明的优选实施例,但发明的设计构思并不局限于此,凡利用此构思对本发明做出的非实质性修改,也均落入本发明的保护范围之内。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:量子干涉装置、原子振荡器、电子设备以及移动体

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类