CN104122936A - 一种mcu芯片分频时钟校正装置及方法 - Google Patents
一种mcu芯片分频时钟校正装置及方法 Download PDFInfo
- Publication number
- CN104122936A CN104122936A CN201410347218.4A CN201410347218A CN104122936A CN 104122936 A CN104122936 A CN 104122936A CN 201410347218 A CN201410347218 A CN 201410347218A CN 104122936 A CN104122936 A CN 104122936A
- Authority
- CN
- China
- Prior art keywords
- clock
- correcting
- frequency
- chip
- corrected value
- 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.)
- Granted
Links
Landscapes
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Oscillators With Electromechanical Resonators (AREA)
Abstract
本发明公开了一种MCU芯片分频时钟校正装置及方法,其该装置包括有时钟模块,时钟分频电路,校正寄存器,校正接口、存储器及校正装置,其中,时钟模块,时钟分频电路,校正寄存器,校正接口、存储器设置于芯片内部,校正装置设置于芯片外部;在时钟校正时,由外部的校正装置将校正值通过校正接口写入校正寄存器,时钟模块根据校正值调整时钟,经过时钟分频电路将时钟输出,外部校正装置根据时钟输出,调整校正值直到找到时钟偏差最小的校正值,并计算出与实际频率之间的偏差值,将校正值和时钟偏差写入芯片内部存储器中。本发明利用时钟晶振的偏差值来实现时钟精度的提高,可以在现有的时钟振荡器的精度的基础上大大提高时钟精度。克服了由外部设备写入固定校正值的做法所带来精度的限制,且对芯片本身不需要进行电路升级,节省外部晶振和外部IO。
Description
技术领域
本发明涉及一种时钟校正方法,尤其涉及一种MCU芯片的时钟校正装置和方法。
背景技术
现在芯片中,特别是MCU的设计当中通常都会使用时钟校正功能,但是受到成本的限制和工艺技术约束,目前的内部时钟在校正以后仅仅能够达到0.5%~2%的精度,这样的时钟精度水平对于需要异步通信或者是对于时钟精度要求较高的***则往往不够,需要通过精度更加准确外部晶振才能解决,而使用外部晶振会增加硬件成本,而且外部晶振需要增加新的IO,特别是对于设计尺寸较小的***增加新的IO会导致整个硬件面积变大,导致方案不可实现。
专利申请2004100864081提供了一种监控时钟校正方法及装置,该监控时钟校正方法及装置,由外部提供一时钟信号源,并从监控芯片任一输入端输入后,由监控芯片内部的缓存器输出一信号启动校正控制单元,同时也启动两个计数单元,第一计数单元累计外部基准时钟数目,第二计数单元累计监控芯片内部时钟产生组件的时钟数目,第一计数单元累计外部基准时钟数到达一定数目而停止计数时,在同一时间第二计数单元也停止累计由监控芯片内部时钟产生器产生的时钟数目,并产生一中断信号通知监控芯片内部的微处理单元,比较第一计数单元所累计的外部基准时钟数目和第二计数单元所累计的监控芯片内部振荡器产生的时钟数目,即可对监控芯片内部振荡器做校正。
然而当***需要一个高精度的时钟时,同时因为硬件成本和产品尺寸等原因,不能够增加外部晶振时,一个高精度的内部时钟震荡器就成为解决这一问题的好方法。但是要在芯片内部提供高精度的时钟,需要内部增加很多的时钟校正电路,例如要想达到0.5%的精度,目前至少需要校正电阻或者校正电容有8档选择,即校正电阻(电容)值范围2^7~2^0,当需要进一步提高精度,需要将校正档位提高到10档甚至以上,这样校正电阻的范围至少2^9~2^0。而在这样宽的范围内做到器件的匹配是比较困难的,需要增加更多的额外校正电路来提高器件的匹配性。
发明内容
为解决上述问题,本发明的目的在于提供一种MCU芯片分频时钟校正装置及方法,该装置及方法将内部时钟的偏差值保存到芯片,利用该偏差值对分频时钟进行校正,可以在现有的时钟振荡器的精度的基础上大大提高时钟精度。
本发明的另一个目的在于提供一种MCU芯片分频时钟校正装置及方法,该装置及方法节省外部晶振,节省外部IO,简单易实施,不需要增加额外的电路来实现。
为实现上述目的,本发明的技术方案如下。
一种MCU芯片分频时钟校正装置,其特征在于所述装置包括有在时钟模块(内部晶振),时钟分频电路,校正寄存器,校正接口、存储器及校正装置,其中,时钟模块,时钟分频电路,校正寄存器,校正接口、存储器设置于芯片内部,校正装置设置于芯片外部;时钟模块用于产生内部时钟,时钟分频电路用于产生分频时钟,校正寄存器用于配置时钟校正值,时钟模块(内部晶振)连接时钟分频电路,与校正装置进行通讯;校正寄存器连接校正接口,校正接口分别与校正装置和存储器进行通讯;校正接口用于与外部校正装置通信,将校正值写入校正寄存器中,将最后的校正值和偏差写入存储器中;同时,校正寄存器将校正值反馈给时钟模块,外部的校正装置用于时钟采样和时钟的精度计算。
所述存储器,为非易失性存储器。
一种MCU芯片分频时钟校正方法,其特征在于在时钟校正时,由外部的校正装置将校正值通过校正接口写入校正寄存器,时钟模块根据校正值调整时钟,经过时钟分频电路将时钟输出,外部校正装置根据时钟输出,调整校正值直到找到时钟偏差最小的校正值,并计算出与实际频率之间的偏差值,将校正值和时钟偏差写入芯片内部存储器中。本发明利用时钟晶振的偏差值来实现时钟精度的提高,可以在现有的时钟振荡器的精度的基础上大大提高时钟精度。克服了由外部设备写入固定校正值的做法所带来精度的限制,且对芯片本身不需要进行电路升级,节省外部晶振和外部IO。
所述的每一个校正值对应一个时钟偏差,通过对每一个校正值的所对应的时钟偏差比较,可以得到最小的时钟偏差值。
所述时钟模块的偏差可以通过测试输出时钟多个周期的方法达到很高的精度。
进一步,所述精度的调整方法为:
精度=fout/(ftest*N),其中fout为被测试晶振的输出频率,ftest为外部测试电路的时钟,大于等于10*fout,N为被测试晶振的周期;
可以通过增大N值达到想要达到的偏差精度。
更进一步,当实际设置定时器时钟或者是通信频率时,先根据偏差值算出实际的晶振频率,然后可以根据实际的晶振频率调整定时器的分频系数;fdesign为内部晶振的时钟设计值,M为理论上的分频系数,fidv为要求的分频时钟,那么芯片的实际振荡频率为freal=M*fout,先根据实际晶振频率计算出偏差值,delta=freal/fdesign-1,将偏差值写入芯片的存储器中,当实际设置定时器时钟或者是通信频率时可以根据实际的晶振频率调整定时器的分频系数,实际分频系数=fdesign*(1-delta)/fdiv。
在实际应用中,大部分的通信应用或者时钟定时频率较低,例如uart的通信速率一般为9.6KHz或者4.8KHz,而时钟定时的频率更低,一般是计数1秒或者1分钟。主时钟的时钟频率是比较高的,一般达到10MHz~20MHz。两者之间的比值达到1000:1以上,经过偏差校正之后的通信时钟偏差或者定时器时钟偏差就变成主时钟晶振和通信时钟之间的比值,因此经过本发明所实现的MCU芯片分频时钟校正装置和方法之后,实际通信时钟偏差可以达到0.1%以下,时钟定时器的时钟偏差可以达到1*10^(-7)以下,大大提高了实际应用的时钟精度。
附图说明
图1是本发明所实施的硬件结构图。
图2是本发明所实施的时钟校正流程图。
图3是本发明所应用的时钟校正的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1所示,为本发明实现的MCU芯片分频时钟校正装置的电路图,图中所示,在芯片内部一般有内部晶振,时钟分频电路,校正寄存器,校正接口以及存储器,在芯片的外部有校正装置。
其中,时钟模块,时钟分频电路,校正寄存器,校正接口、存储器设置于芯片内部,校正装置设置于芯片外部;时钟模块用于产生内部时钟,时钟分频电路用于产生分频时钟,校正寄存器用于配置时钟校正值,时钟模块(内部晶振)连接时钟分频电路,与校正装置进行通讯;校正寄存器连接校正接口,校正接口分别与校正装置和存储器进行通讯;校正接口用于与外部校正装置通信,将校正值写入校正寄存器中,将最后的校正值和偏差写入存储器中;同时,校正寄存器将校正值反馈给时钟模块,外部的校正装置用于时钟采样和时钟的精度计算。
由于校正过程一般在芯片测试阶段或者是在芯片烧录阶段完成,所述的校正装置,在测试阶段用测试机实现,在烧录阶段则用烧录器实现。
图2所示,校正方法是:在时钟校正时,由外部的校正装置将校正值通过校正接口写入校正寄存器,时钟模块根据校正值调整时钟,经过时钟分频电路将时钟输出,外部校正装置根据时钟输出,调整校正值直到找到时钟偏差最小的校正值,并计算出与实际频率之间的偏差值,将校正值和时钟偏差写入芯片内部存储器中。
所述的每一个校正值对应一个时钟偏差,通过对每一个校正值的所对应的时钟偏差比较,可以得到最小的时钟偏差值。
在实际应用中,考虑到工艺的偏差,内部晶振产生的时钟在没有校正时会有20%的偏差,一般会先对时钟晶振进行时钟校正,如图2所示。时钟通过分频得到一个低速的时钟输出,外部采用一个高速的时钟晶振对该时钟进行采样,当时钟偏快(这里指的是内部晶振,偏快是针对设计值而言的,内部晶振偏快,时钟输出也会随之偏快)时,修改时钟校正值(这个时钟校正值一般是一个多比特的数,具体的位宽在设计时已经确认,例如如果我们的校正值是8比特的话,那么时钟校正值可以从0x00一直到0xFF,每一个校正值都会对应一个不同内部时钟频率,可以通过计算找到最小的值),使时钟输出变慢,当时钟偏慢时,修改时钟校正值,使时钟输出变快。
例如默认的校正值为0x80,校正值增大则时钟频率减慢,校正值减小则时钟频率增快,采用默认校正值测量(测量是将实际时钟频率freal=M*fout和fdesign进行比较)时发现时钟频率偏慢,修改校正值为0x7F,重新测试时钟频率,如果依旧偏慢则再次减小(一般会有一个预设的步长,按照预设的步长进行减小,可以采用预设的步长进行估算,快速得到最佳的校正值)时钟校正值,直至找到时钟偏差最小的校正值为止。
图3所示,在校正的基础上进一步进行时钟偏差的计算,delta=freal/fdesign-1,针对需要的精度时根据实际需求而定选择好校正周期的个数N,并将校正值(最小偏差对应的校正值)和偏差值写到芯片的flash(此处可以是OTP或者EEPROM等非易失性存储器)中保存。当进行时钟分频设置时,将偏差值从flash中读出,计算得出实际的分频值即可。
假设我们目前主时钟的频率为20MHz(fdesign),异步通信速率为4.8KHz,芯片偏差值为-1.002%这样我们可以选择芯片输出一个4.8KHz(理论上的分频系数M为4166)的时钟进行时钟的校正。芯片测试时采用50MHz的时钟(ftest)进行采样,采样的周期为20次(N)。由于采样的时钟和被采样的时钟存在一定的相位偏差,因此会出现一个周期的采样误差,因为采样误差=fdiv/(N*ftest)远远小于校正后的时钟分频精度,因此可以忽略。采样误差为4.8*10^3/(20*50*10^6)=4.8*10^(-6)。因为误差值远远小于校正后的精度可以忽略。时钟输出的分频系数为20*10^6*(1-1.002%)/4.8*10^3=4125,最后时钟输出的偏差为20*10^6*(1-1.002%)/4125/4.8*10^3-1=-2.02^10(-5)。可以看出此时的通信频率精度比较时钟校正的精度有了很大的提高。
如果实际芯片中有多个需要高精度时钟定时的应用,可以考虑针对每一个分频时钟进行单独的时钟偏差计算,然后将每一个分频时钟的偏差都写入芯片的flash当中,设置时钟分频值时选择对应的偏差值进行计算即可。
本发明通过校正结合时钟偏差的计算,能够有效地大幅度提高时钟精度,且节省外部晶振,节省外部IO,简单易实施,不需要增加额外的电路来实现,成本低廉。
总之,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种MCU芯片分频时钟校正装置,其特征在于所述装置包括有时钟模块、时钟分频电路、校正寄存器,校正接口、存储器及校正装置,其中,时钟模块,时钟分频电路,校正寄存器,校正接口、存储器设置于芯片内部,校正装置设置于芯片外部;时钟模块用于产生内部时钟,时钟分频电路用于产生分频时钟,校正寄存器用于配置时钟校正值,时钟模块连接时钟分频电路,与校正装置进行通讯;校正寄存器连接校正接口,校正接口分别与校正装置和存储器进行通讯;校正接口用于与外部校正装置通信,将校正值写入校正寄存器中,将最后的校正值和偏差写入存储器中;同时,校正寄存器将校正值反馈给时钟模块,外部的校正装置用于时钟采样和时钟的精度计算。
2.如权利要求1所述的MCU芯片分频时钟校正装置,其特征在于所述存储器,为非易失性存储器。
3.一种MCU芯片分频时钟校正方法,其特征在于在时钟校正时,由外部的校正装置将校正值通过校正接口写入校正寄存器,时钟模块根据校正值调整时钟,经过时钟分频电路将时钟输出,外部校正装置根据时钟输出,调整校正值直到找到时钟偏差最小的校正值,并计算出与实际频率之间的偏差值,将校正值和时钟偏差写入芯片内部存储器中。
4.如权利要求1所述的MCU芯片分频时钟校正方法,其特征在于所述的每一个校正值对应一个时钟偏差,通过对每一个校正值的所对应的时钟偏差比较,可以得到最小的时钟偏差值。
5.如权利要求1所述的MCU芯片分频时钟校正方法,其特征在于所述时钟模块的偏差可以通过测试输出时钟多个周期的方法达到很高的精度。
6.如权利要求5所述的MCU芯片分频时钟校正方法,其特征在于所述精度的调整方法为:
精度=fout/(ftest*N),其中fout为被测试晶振的输出频率,ftest为外部测试电路的时钟,大于等于10*fout,N为被测试晶振的周期;
可以通过增大N值达到想要达到的偏差精度。
7.如权利要求6所述的MCU芯片分频时钟校正方法,其特征在于当实际设置定时器时钟或者是通信频率时,先根据偏差值算出实际的晶振频率,然后可以根据实际的晶振频率调整定时器的分频系数;fdesign为内部晶振的时钟设计值,M为理论上的分频系数,fidv为要求的分频时钟,那么芯片的实际振荡频率为freal=M*fout,先根据实际晶振频率计算出偏差值,delta = freal/fdesign-1,将偏差值写入芯片的存储器中,当实际设置定时器时钟或者是通信频率时可以根据实际的晶振频率调整定时器的分频系数,实际分频系数=fdesign*(1-delta)/fdiv。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410347218.4A CN104122936B (zh) | 2014-07-21 | 2014-07-21 | 一种mcu芯片分频时钟校正装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410347218.4A CN104122936B (zh) | 2014-07-21 | 2014-07-21 | 一种mcu芯片分频时钟校正装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104122936A true CN104122936A (zh) | 2014-10-29 |
CN104122936B CN104122936B (zh) | 2017-06-13 |
Family
ID=51768388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410347218.4A Active CN104122936B (zh) | 2014-07-21 | 2014-07-21 | 一种mcu芯片分频时钟校正装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104122936B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106066661A (zh) * | 2016-07-12 | 2016-11-02 | 中南大学 | 一种易于实现的SOC内置高精度RC Oscillator的校准*** |
CN106527577A (zh) * | 2015-09-09 | 2017-03-22 | 华为技术有限公司 | 调整时钟信号的方法和装置 |
CN111179996A (zh) * | 2019-12-31 | 2020-05-19 | 苏州普源精电科技有限公司 | 数据校准装置及其校准数据存写方法 |
CN111352023A (zh) * | 2020-03-27 | 2020-06-30 | 歌尔股份有限公司 | 晶振检测方法、装置及计算机可读存储介质 |
CN111522281A (zh) * | 2020-05-27 | 2020-08-11 | 中电海康无锡科技有限公司 | 一种用于mcu晶振修调的控制方法及*** |
CN111665434A (zh) * | 2020-06-29 | 2020-09-15 | 江西联智集成电路有限公司 | 一种soc芯片内部时钟的补偿方法及装置 |
CN112269424A (zh) * | 2020-11-19 | 2021-01-26 | 珠海零边界集成电路有限公司 | 一种芯片时钟频率校准方法、装置、设备和介质 |
TWI775596B (zh) * | 2021-09-01 | 2022-08-21 | 大陸商敦泰電子(深圳)有限公司 | 振盪器校準方法、模組、晶片及電子設備 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040066845A1 (en) * | 2002-10-04 | 2004-04-08 | Leith James William | PWM controller with integrated PLL |
CN103116385A (zh) * | 2013-03-01 | 2013-05-22 | 华为技术有限公司 | 校正电路及实时时钟电路 |
CN204065907U (zh) * | 2014-07-21 | 2014-12-31 | 深圳市芯海科技有限公司 | 一种mcu芯片分频时钟校正装置 |
-
2014
- 2014-07-21 CN CN201410347218.4A patent/CN104122936B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040066845A1 (en) * | 2002-10-04 | 2004-04-08 | Leith James William | PWM controller with integrated PLL |
CN103116385A (zh) * | 2013-03-01 | 2013-05-22 | 华为技术有限公司 | 校正电路及实时时钟电路 |
CN204065907U (zh) * | 2014-07-21 | 2014-12-31 | 深圳市芯海科技有限公司 | 一种mcu芯片分频时钟校正装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106527577A (zh) * | 2015-09-09 | 2017-03-22 | 华为技术有限公司 | 调整时钟信号的方法和装置 |
CN106066661A (zh) * | 2016-07-12 | 2016-11-02 | 中南大学 | 一种易于实现的SOC内置高精度RC Oscillator的校准*** |
CN106066661B (zh) * | 2016-07-12 | 2019-03-08 | 中南大学 | 一种soc内置高精度rc振荡器的校准*** |
CN111179996A (zh) * | 2019-12-31 | 2020-05-19 | 苏州普源精电科技有限公司 | 数据校准装置及其校准数据存写方法 |
CN111352023A (zh) * | 2020-03-27 | 2020-06-30 | 歌尔股份有限公司 | 晶振检测方法、装置及计算机可读存储介质 |
CN111352023B (zh) * | 2020-03-27 | 2022-11-22 | 歌尔股份有限公司 | 晶振检测方法、装置及计算机可读存储介质 |
CN111522281A (zh) * | 2020-05-27 | 2020-08-11 | 中电海康无锡科技有限公司 | 一种用于mcu晶振修调的控制方法及*** |
CN111665434A (zh) * | 2020-06-29 | 2020-09-15 | 江西联智集成电路有限公司 | 一种soc芯片内部时钟的补偿方法及装置 |
CN112269424A (zh) * | 2020-11-19 | 2021-01-26 | 珠海零边界集成电路有限公司 | 一种芯片时钟频率校准方法、装置、设备和介质 |
TWI775596B (zh) * | 2021-09-01 | 2022-08-21 | 大陸商敦泰電子(深圳)有限公司 | 振盪器校準方法、模組、晶片及電子設備 |
Also Published As
Publication number | Publication date |
---|---|
CN104122936B (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104122936A (zh) | 一种mcu芯片分频时钟校正装置及方法 | |
US7839194B2 (en) | Clock circuitry for generating multiple clocks with time-multiplexed duty cycle adjustment | |
US8644085B2 (en) | Duty cycle distortion correction | |
KR20200089769A (ko) | 클록 신호의 dc 성분 오프셋을 이용한 내부 클록 왜곡 교정 | |
US8736329B1 (en) | Systems and methods for providing duty cycle correction | |
CN104410413A (zh) | 原子频标频率修正方法、装置及原子频标 | |
EP2705432A1 (en) | Control circuit and method for testing a memory element | |
CN104584431A (zh) | 调整时钟信号的***和方法 | |
CN104753499B (zh) | 占空比校准电路 | |
CN104901690A (zh) | 一种测试模式下自动校准环振的方法及装置 | |
KR102130171B1 (ko) | 반도체장치 및 반도체시스템 | |
CN102830748A (zh) | 芯片的内部时钟偏差的校准方法及*** | |
CN204065907U (zh) | 一种mcu芯片分频时钟校正装置 | |
CN104283556A (zh) | 时钟延迟检测电路及利用时钟延迟检测电路的半导体装置 | |
US8471617B2 (en) | Duty cycle correction in a delay-locked loop | |
CN104113304B (zh) | 两相互不交叠时钟电路及其方法 | |
CN103336754B (zh) | 一种usb从设备的***时钟自动校准***及方法 | |
CN103973266A (zh) | 振荡器校正电路与方法以及集成电路 | |
CN108988832B (zh) | 用于检测与电子装置相关联的延迟的方法和相应的电子装置 | |
US8917109B2 (en) | Method and device for pulse width estimation | |
US20150371719A1 (en) | Systems and methods for testing performance of memory modules | |
CN103292647B (zh) | 电子***控制电路的时钟校准方法及电子起爆*** | |
US20180083637A1 (en) | Frequency calibration method for digitally controlled oscillator and apparatus using the same | |
US20070170969A1 (en) | Electronic system having a clock signal correcting device | |
US9285828B2 (en) | Memory system with improved bus timing calibration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 518000, A building, block 9, garden city digital garden, 1079 Nanhai Road, Guangdong, Shenzhen, Nanshan District Patentee after: Chipsea Technology (Shenzhen) Co., Ltd. Address before: 518067 Nanshan District, Shenzhen, Nanhai Avenue, garden city, No. 1079, building A, block, floor 9 Patentee before: Xinhai Science and Technology Co., Ltd., Shenzhen City |