CN104133520A - 一种嵌入式处理器片内振荡器的高精度校准方法 - Google Patents
一种嵌入式处理器片内振荡器的高精度校准方法 Download PDFInfo
- Publication number
- CN104133520A CN104133520A CN201410366240.3A CN201410366240A CN104133520A CN 104133520 A CN104133520 A CN 104133520A CN 201410366240 A CN201410366240 A CN 201410366240A CN 104133520 A CN104133520 A CN 104133520A
- Authority
- CN
- China
- Prior art keywords
- calibration
- clock
- calibrated
- high accuracy
- flush bonding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Electric Clocks (AREA)
Abstract
本发明涉及一种嵌入式处理器片内振荡器的高精度校准方法,该方法利用一个精准的参考时钟源,通过软/硬件配合完成对片内一个或者多个振荡器的校准,同时还可以利用已经完成校准的振荡器输出的时钟对芯片内部其他振荡器进行校准。本发明旨在使用嵌入式芯片内部的处理器,配合较少的硬件资源,完成振荡器的高精度校准,在大幅降低了校准复杂度的同时,提高了校准的精度。
Description
技术领域:
本发明涉及嵌入式处理器片内振荡器的高精度校准方法,尤其是满足该方法的软硬件流程以及硬件实现架构。
背景技术
嵌入式处理器芯片,时钟源一般分为三类:芯片外接时钟、芯片外接晶振、片内振荡器。使用片内振荡器的嵌入式处理器,由于制造工艺的偏差,不同芯片内的振荡器所产生的时钟频率差异较大。为了能够使芯片的时钟频率更为准确,在设计片内振荡器时,一般都会添加控制字(Code)来控制振荡器内部的电流或者电压,或者调节电阻/电容大小,来对时钟频率进行调整,控制字和时钟频率之间的关系为单调(增/减)关系,通过对控制字的控制来调整振荡器的输出频率。现有技术中,对于时钟的校准精度较低,校准复杂度高,所需资源多。
发明内容
本发明要解决的技术问题是:本发明提供了一种嵌入式处理器片内振荡器的高精度校准方法,该方法是使用一个精准的参考时钟源(Ext_ref_clock或In_ref_clock),利用处理器,配合较少的硬件资源,快速的完成对一个或多个时钟振荡器输出时钟(Calib*_clock)的精确校准,还可以利用同一套电路,使用校准好的时钟再对芯片内部其他的时钟(Calib*_clock)进行校准。
本发明要解决的技术问题是:本发明提供一整套软件、硬件交互流程的解决方案。该解决方案中,整个流程受软件控制,每次校准由软件调度硬件电路开始工作,硬件电路完成特定工作之后,通过中断反馈给软件,之后软件再根据目前得到的结果决定是否启动下一次校准,最终完成时钟的校准。
在该校准流程中,使用二分法及递归求最小排序法,进行快速迭代。最多仅需N次迭代,即可完成时钟的校准,同时找到最精确的时钟所对应的控制字。N为时钟振荡器的控制字的BIT数。
本发明提供了硬件设计的电路框图及对应的时序说明,硬件电路主体为两个定时器(Timer1和Timer2),通过两个定时器之间的特定时序关系,握手完成定时,然后上报中断,完成单次定时。
本发明提供的解决方案,为保证校准后的时钟振荡器的精度,需要提供一个高精度的参考时钟源,在此条件下,本发明可以把时钟校准精度提高至几个PPM甚至更低。
若芯片内部有多个需要校准的时钟,可以利用同一套硬件电路,通过参考时钟直接对芯片内部所有待校准的时钟振荡器进行校准。
若芯片内部有多个需要校准的时钟,也可以通过参考时钟先对高频率的内部时钟振荡器进行校准,然后再利用这个已经校准完的高频率时钟振荡器,利用同一套电路,再对芯片内部其他低频率的时钟进行校准。这种方式相对于上文提到的直接利用参考时钟对片内所有时钟校准的方法,在参考时钟频率较低时,可以大幅度降低校准成本、提高精度。
本发明的有益效果是:该方法利用一个精准的参考时钟源,通过软/硬件配合完成对片内一个或者多个振荡器的校准,同时还可以利用已经完成校准的振荡器输出的时钟对芯片内部其他振荡器进行校准。本发明旨在使用嵌入式芯片内部的处理器,配合较少的硬件资源,完成振荡器的高精度校准,在大幅降低了校准复杂度的同时,提高了校准的精度。
附图说明
图1时钟校准实现框图;
图2利用参考时钟对内部待校准时钟Calib_clock校准软件流程图;
图3校准硬件电路实现时序图;
图4利用内部已校准时钟Calib_clock对其它待校准时钟CalibN_clock校准软件流程图;
具体实施方式:
为了使本发明所要解决的技术问题、技术方案及有益效果更佳清楚、明白,以下结合附图和实施例,对本发明进行进一步的详细说明,应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
本发明的整体思路为:通过软件对整体流程的控制,调度硬件电路完成参考时钟和待校准时钟的定时控制,完成定时之后,软件根据回读的定时结果确定时钟频率需要增加还是减少,然后利用二分法配置时钟控制字,同时使用递归求最小排序法保存最接近的控制字及其对应的差值,重复上述操作,直至找到最接近理论值的控制字,完成校准。在完成一个时钟校准之后,可以使用同一套硬件电路,使用参考时钟对片内其他待校准时钟进行校准;或者,也可以利用同一套硬件电路,使用刚才已经完成校准的时钟,再对芯片内其他待校准时钟进行校准。若使用已校准时钟对其他时钟进行校准,则建议先校准高频时钟,再使用高频时钟校准其他低频时钟,但该建议并不限制于本发明。
下文将以时钟控制字(Code)为7bit,且待校准时钟的频率相对于控制字是单调增加为例,讲述具体的实施方式,假设待校准时钟名称为Calib_clock。本发明不限于7bit控制字的说明,也不限于时钟和控制字的关系是单调增加的。
如图1所示,是本发明的软/硬件实现框图100,包括处理器(CPU)101、硬件电路部分104、内部参考时钟107、内部待校准时钟振荡器OSC1108、内部待校准时钟振荡器OSCN 109、存储器(Memory)110。CPU101用于控制整个校准流程,调度硬件电路104部分为其工作完成整个校准过程,硬件电路104包括:定时器Timer1102、定时器Timer2103、Timer1时钟选择单元105、Timer2时钟选择单元106。Timer1和Timer2使用不同的时钟进行计数,
时钟选择单元105和106,根据不同的芯片时钟架构,设计有所差异:
●根据使用参考时钟的不同,Timer1的时钟选择单元有所不同,可以使用芯片外部直接提供的精确参考时钟,也可以使用芯片内部精确的参考时钟,比如晶体振荡器或者PLL输出的时钟。
●根据片内所需校准的时钟个数不同,Timer1和Timer2时钟选择单元不一样,具体根据片内所需校准时钟个数决定。
●若有多个时钟需要校准,则根据校准的方法不同,时钟选择单元不一样:
﹣若使用一个参考时钟(内部或者外部)对片内所有待校准时钟进行校准,则图中111/112则可以不需要,只需要把待校准时钟连接至Timer2的时钟选择单元即可
﹣若先使用一个参考时钟对片内一个待校准时钟进行校准,然后利用已经完成校准的时钟对芯片其他待校准时钟进行校准,则需要把待校准时钟连接至Timer1时钟选择单元上面。
针对硬件电路104部分:利用参考时钟对内部待校准时钟进行校准,Timer1的时钟需要选择参考时钟,用于控制一次校准所用的时间,Timer2用于对被校准的时钟进行计数,得到计数值(M-1),通过中断上报给软件该计数值。假设Timer1计数为N,则单次计数所需的计数时间为T=N*1/fref_clk,其中fref_clk为参考时钟的时钟频率。若使用已经完成校准的时钟对其他待校准时钟进行校准,相反,Timer1则用于内部其他待校准时钟进行定时,Timer2用于内部已完成校准的时钟定时。
首先说明利用参考时钟直接对内部待校准时钟(一个或者多个)进行校准。如图2所示,是本发明的软件流程图,是对图101中CPU执行的详细说明,用于说明时钟校准的整个流程,本发明所使用的校准算法为二分法以及递归求最小排序法,通过二分法进行迭代校准,加快校准的收敛速度,通过递归求最小排序法找到最准确的校准控制字:
步骤一,如图2中201为启动校准的准备动作,设置三个变量,同时配置时钟控制字为变量Mid数值。
步骤二,配置完控制字后需要延时202一段时间,以确保配置控制字之后,振荡器已根据该配置,改变时钟频率,输出的是稳定的时钟。
步骤三,待时钟振荡器输出的时钟稳定之后,启动硬件203(也即启动硬件电路的定时功能),硬件电路单次定时过程时序图如图3所示。
步骤四,软件启动硬件之后,等待硬件触发中断204,待硬件电路完成一次定时计算之后,上报中断给软件。
步骤五,软件收到中断之后,进入205和206的处理,计算Timer2计数值和理论值的差别205,若该差值为0,则代表已经找到最准确的控制字,直接进入步骤八,找到时钟校准Code。否则的话,记录本次和上次差值的最接近的差值,以及该差值所对应的控制字。若是二分法最后一次迭代,也直接进入步骤八,找到时钟校准Code,使用差值最小对应的Code作为本次校准使用的Code。否则的话进入步骤六208。
步骤六,判断Timer2计数值和理论值的差值,若相对于理论值偏小了,则说明待校准时钟慢了,需要增加控制字用于调快待校准时钟210;相反,若相对于理论值偏大了,则说明待校准时钟快了,需要减少控制字用于调慢待校准时钟209。同时更新二分法三个变量,然后进入步骤七。
步骤七,配置新的Code值至时钟振荡器,然后转至步骤二。
步骤八,找到Code值,该值即为时钟校准值,结束校准流程。
本发明在搜索过程中,首先利用了二分法,其次使用了递归求最小排序法,这样既加快了校准的迭代速度,又能够保证找到的校准控制字是最准确的。
如图3所示,为本发明的硬件电路的工作时序图,也即两个Timer的工作时序图。Timer1用于对参考时钟进行计时,Timer2用于对待校准时钟进行计时。软件配置启动硬件203之后,首先该配置同步至参考时钟的时钟域,生成计数使能信号cnt1_enable,Timer1计数至N-1,然后关闭计数使能信号;同时cnt1_enable同步至待校准时钟的时钟域,当该信号有效时,Timer2启动,直至该信号被关闭。当Timer1使能信号关闭时,产生中断信号Interrupt,触发软件回读Timer2的计数值(假设Timer2计数至M-1),用于和理论值比较。
根据上述的校准实现架构,可以得到:
每次定时时间为:其中fref_clk为参考时钟的时钟频率,fcalib_clk为待校准时钟振荡器输出的时钟频率。
从上式可以推导出每次软件回读Timer2的计数值为:
我们要校准的频率理论值为fcalib_clk_theory,回读Timer2的M的理论计数值应为:
由于Timer1和Timer2存在跨时钟处理,两个Timer握手异步处理所带来的误差会有2个fcalib_clk周期的误差,所以实际上Timer2回读的计数值最准确也只可能为:
Mread=Mtheroy±2
在不考虑参考时钟本身的误差的前提下,本装置所带来的校准误差为:
为了最小化2个fcalib_clk周期的误差对校准所带来的影响,需要Mtheory越大越好,这样2个周期的影响就越小。Mtheory需要越大,可通过两方面来实现:(1)增加N,但是这样带来的负面影响是会增加校准时间;(2)增加需要校准时钟频率fcalib_clk_theroy和参考时钟频率fref_clk的比值,在fcalib_clk_theroy固定了的前提下,可通过降低参考时钟的频率来实现。
下面我们以待校准时钟频率为72MHz,参考时钟频率为32768Hz,N=128为例,说明本装置所带来的校准误差大小:
可以得到:
可以看到,通过本装置所带来的误差非常小,若参考时钟非常精准,本装置可以把待校准时钟校准的非常精准,并且还可以通过上述(1)(2)两种方法再提高校准精度。
在完成利用参考时钟对待校准时钟(一个或多个)校准之后,也可以使用同一套硬件,利用已校准时钟对片内其他未校准时钟进行校准:
首先需要把Timer1的时钟切换至待校准时钟CalibN_clock。本次校准,利用Timer1定时至N,回读Timer2的定时值,然后再去校准CalibN_clock。和利用参考时钟校准不同,虽然也是利用Timer1定时,但是由于CalibN_clock每次调整控制字之后,时钟频率会发生变化,所以每次硬件电路定时的时间T都不一样。
如图4为对CalibN_clock的校准流程。对CalibN_clock校准的软件流程大体和对Calib_clock一致,不同点在于软件回读Timer2之后得到Timer2的定时值之后,对控制字的调整不一样:
●若Timer2的回读值小于Timer2的理论值,也即代表Timer1时钟频率快了,由于Timer2的时钟已经是理论时钟,所以需要调慢Timer1的时钟频率409。
●相反,若Timer2的回读值大于Timer2的理论值,也即代表Timer1时钟频率慢了,由于Timer2的时钟已经是理论时钟,所以需要调快Timer1的时钟频率410。
假设待校准的CalibN_clock时钟频率需要校准至32768Hz,和对Calib_clock时钟校准分析类似,通过该校准装置,我们可以得到:
上式中分子为4是因为由于这是第二次校准,需要考虑对Calib_clock校准所带来的误差再叠加对CalibN_clock带来的误差,也即是校准误差为2+2=4个周期。
上述说明示出并描述了本发明的优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应当看作是对其他实施例的排出,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (9)
1.一种嵌入式处理器片内振荡器的高精度校准方法,其特征在于,所述方法包括:
使用一个精准的参考时钟源,利用处理器,配合较少的硬件资源,快速的完成对时钟振荡器的精确校准,还可以利用同一套电路,使用校准好的时钟再对芯片内部其他的时钟进行校准。
2.根据权利要求1所述的一种嵌入式处理器片内振荡器的高精度校准方法,其特征在于,本发明所使用的精准参考时钟源,可以使用芯片内部或者外部的精准参考时钟源。
3.根据权利要求1所述的一种嵌入式处理器片内振荡器的高精度校准方法,其特征在于,所述发明为通过软件/硬件配合完成时钟的校准,校准精度高达几个ppm甚至更低。
4.根据权利要求1~3所述的一种嵌入式处理器片内振荡器的高精度校准方法,其特征在于,所使用的硬件电路资源少,主体为两个定时器(Timer1和Timer2),通过两个定时器之间的特定时序关系,握手完成定时,然后上报中断,完成单次定时。
5.根据权利要求1~3所述的一种嵌入式处理器片内振荡器的高精度校准方法,其特征在于,软件流程内部使用迭代完成校准,迭代所选择的算法为二分法,同时使用递归求最小排序法,使用了比较选择过程,这种流程首先加快了校准的速度,其次提高了校准的精确度。
6.根据权利要求1~5所述的一种嵌入式处理器片内振荡器的高精度校准方法,其特征在于,可以通过同一套硬件电路,利用同样的方法对一个或多个时钟进行校准。
7.根据权利要求1~5所述的一种嵌入式处理器片内振荡器的高精度校准方法,其特征在于,可以通过同一套硬件电路,利用校准好的时钟作为参考时钟源,对片内其他的一个或多个时钟进行校准。这种校准方法可以使得所有待校准的时钟得到高精度的校准。
8.根据权利要求1~7所述的一种嵌入式处理器片内振荡器的高精度校准方法,其特征在于,可以根据需求,任意设定参数,选择适合自己的校准精度要求。
9.根据权利要求1~8所述的一种嵌入式处理器片内振荡器的高精度校准方法,其特征在于,本校准流程可快速收敛,可快速完成校准流程。若对校准速度还有要求,可以通过设定定时器的参数,加快校准速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410366240.3A CN104133520A (zh) | 2014-07-29 | 2014-07-29 | 一种嵌入式处理器片内振荡器的高精度校准方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410366240.3A CN104133520A (zh) | 2014-07-29 | 2014-07-29 | 一种嵌入式处理器片内振荡器的高精度校准方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104133520A true CN104133520A (zh) | 2014-11-05 |
Family
ID=51806234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410366240.3A Pending CN104133520A (zh) | 2014-07-29 | 2014-07-29 | 一种嵌入式处理器片内振荡器的高精度校准方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104133520A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656119A (zh) * | 2015-10-30 | 2017-05-10 | 德克萨斯仪器股份有限公司 | 可数字地重新配置的超高精准内部振荡器 |
CN107196651A (zh) * | 2017-04-24 | 2017-09-22 | 兆讯恒达微电子技术(北京)有限公司 | 应用于f2f解码芯片中的片上时钟校准方法和装置 |
CN107045425B (zh) * | 2017-03-07 | 2020-01-10 | 记忆科技(深圳)有限公司 | 一种高精度计时子系统的实现方法 |
CN111224664A (zh) * | 2020-01-17 | 2020-06-02 | 核芯互联科技(青岛)有限公司 | SoC内置高精度高速振荡器的数字校准方法及装置 |
CN111562809A (zh) * | 2020-04-15 | 2020-08-21 | 漳州市德恒电子有限公司 | 一种应用于四级驱动的机芯稳定性控制方法 |
CN112015229A (zh) * | 2020-08-24 | 2020-12-01 | 合肥智芯半导体有限公司 | 一种可使用调试器实现芯片内部时钟校准的电路 |
CN112187225A (zh) * | 2020-10-09 | 2021-01-05 | 京东方科技集团股份有限公司 | 时钟校准方法及装置 |
CN112506266A (zh) * | 2020-12-01 | 2021-03-16 | 珠海格力电器股份有限公司 | 芯片时钟源的计时校准方法、装置及带有时钟源的芯片 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1763686A (zh) * | 2004-10-01 | 2006-04-26 | 富晶半导体股份有限公司 | 监控时钟校正方法及装置 |
CN102412830A (zh) * | 2010-08-23 | 2012-04-11 | 瑞昱半导体股份有限公司 | 时钟信号合成的方法与装置 |
-
2014
- 2014-07-29 CN CN201410366240.3A patent/CN104133520A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1763686A (zh) * | 2004-10-01 | 2006-04-26 | 富晶半导体股份有限公司 | 监控时钟校正方法及装置 |
CN102412830A (zh) * | 2010-08-23 | 2012-04-11 | 瑞昱半导体股份有限公司 | 时钟信号合成的方法与装置 |
Non-Patent Citations (1)
Title |
---|
刘云等: ""用软件实现并行计算机系统的时钟同步"", 《计算机与数字工程》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656119B (zh) * | 2015-10-30 | 2022-02-08 | 德克萨斯仪器股份有限公司 | 可数字地重新配置的超高精准内部振荡器 |
CN106656119A (zh) * | 2015-10-30 | 2017-05-10 | 德克萨斯仪器股份有限公司 | 可数字地重新配置的超高精准内部振荡器 |
CN107045425B (zh) * | 2017-03-07 | 2020-01-10 | 记忆科技(深圳)有限公司 | 一种高精度计时子系统的实现方法 |
CN107196651A (zh) * | 2017-04-24 | 2017-09-22 | 兆讯恒达微电子技术(北京)有限公司 | 应用于f2f解码芯片中的片上时钟校准方法和装置 |
CN107196651B (zh) * | 2017-04-24 | 2020-08-14 | 兆讯恒达微电子技术(北京)有限公司 | 应用于f2f解码芯片中的片上时钟校准方法和装置 |
CN111224664A (zh) * | 2020-01-17 | 2020-06-02 | 核芯互联科技(青岛)有限公司 | SoC内置高精度高速振荡器的数字校准方法及装置 |
CN111562809A (zh) * | 2020-04-15 | 2020-08-21 | 漳州市德恒电子有限公司 | 一种应用于四级驱动的机芯稳定性控制方法 |
CN111562809B (zh) * | 2020-04-15 | 2023-03-31 | 漳州市德恒电子有限公司 | 一种应用于四级驱动的机芯稳定性控制方法 |
CN112015229A (zh) * | 2020-08-24 | 2020-12-01 | 合肥智芯半导体有限公司 | 一种可使用调试器实现芯片内部时钟校准的电路 |
CN112187225A (zh) * | 2020-10-09 | 2021-01-05 | 京东方科技集团股份有限公司 | 时钟校准方法及装置 |
CN112187225B (zh) * | 2020-10-09 | 2023-11-03 | 京东方科技集团股份有限公司 | 时钟校准方法及装置 |
CN112506266A (zh) * | 2020-12-01 | 2021-03-16 | 珠海格力电器股份有限公司 | 芯片时钟源的计时校准方法、装置及带有时钟源的芯片 |
CN112506266B (zh) * | 2020-12-01 | 2024-04-05 | 珠海格力电器股份有限公司 | 芯片时钟源的计时校准方法、装置及带有时钟源的芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104133520A (zh) | 一种嵌入式处理器片内振荡器的高精度校准方法 | |
TWI474623B (zh) | 內部振盪器對外部頻率參考之自動同步化 | |
CN104901687B (zh) | 时钟频率校准方法和系统 | |
CN111541450B (zh) | 时钟自动校准电路及方法 | |
US9134752B2 (en) | Time measurement device, micro-controller and method of measuring time | |
CN109067394B (zh) | 片上时钟校准装置及校准方法 | |
CN108063617A (zh) | 一种低频rc振荡器的时钟频率校准方法和系统 | |
US11888480B2 (en) | Method and apparatus for synchronizing two systems | |
EP3142287A1 (en) | Synchronising devices | |
US20200259631A1 (en) | Synchronising Devices Using Clock Signal Delay Comparison | |
US9966900B2 (en) | Apparatus for oscillator with improved precision and associated methods | |
US11539355B2 (en) | Systems and methods for generating a controllable-width pulse signal | |
US6747374B2 (en) | Circuit for correcting deviation in oscillating frequency | |
JP2013024855A (ja) | 時間測定方法及びそのシステム | |
CN106383438A (zh) | 一种基于滑动窗口时间扩展高精度驯钟方法 | |
CN113970698A (zh) | 一种校准片外晶振的方法与系统 | |
US20170003708A1 (en) | Method and circuit for adjusting the frequency of a clock signal | |
CN204065907U (zh) | 一种mcu芯片分频时钟校正装置 | |
CN111010174A (zh) | 一种守时计量精度提高方法及电路 | |
CN104753497A (zh) | 一种oscpps修正方法与装置 | |
CN108183709B (zh) | 一种cpt原子钟频率驯服控制方法及设备 | |
CN108199712B (zh) | 一种cpt原子钟频率驯服控制电路 | |
CN110687773B (zh) | 时间统一系统授时精度的测量方法、装置和系统 | |
CN106444966A (zh) | 一种实时时钟rtc调整装置及方法 | |
CN102361445B (zh) | 基于数字频率合成器的高精度协议脉冲发生器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141105 |