时钟频率校准方法和系统的制作方法

xiaoxiao2020-10-23  15

时钟频率校准方法和系统的制作方法
【技术领域】
[0001] 本发明设及集成电路技术领域,特别是设及一种时钟频率校准方法和系统。
【背景技术】
[0002] 对于使用内部RC振荡器作为时钟的系统,由于内部RC振荡器本身的性质决定,会 存在一定的偏差,如果用来做系统时钟的话,在对时钟频率精度要求高的应用场景下,例如 与高速外设连接或者做音频解码算法时会导致数据错误。
[0003] 现有技术校准时钟频率校准一般需要通过单片机编程控制或者使用从外部USB 模块所获取的SOF(Start-〇f-Frame,帖开始包)信号,由于过程较为复杂,因而容易影响多 时钟频率的校准精度。

【发明内容】

[0004] 基于此,有必要针对现有技术容易影响多时钟频率的校准精度的技术问题,提供 一种时钟频率校准方法和系统。
[0005] 一种时钟频率校准方法,包括如下步骤:
[0006] 启动系统内部的计数器,接收设定周期的外部信号,在捕获到外部信号的上升沿 时,记录所述计数器的计数值ni;
[0007] 继续接收所述外部信号,并在捕获到下一个外部信号的上升沿时,记录所述计数 器的计数值n2;
[000引计算rii和n2的计数差值n;
[0009] 将所述计数差值n代入系统的时钟频率校准公式校准系统的时钟频率;所述时钟 频率校准公式为;
[0010]
[0011] 其中,n为计数差值,Fi为计数器分频,NF为系统内锁相环的分频,F。为系统分频, F2为系统内振荡器的频率,NR康示系统的原倍频系数,《表示系统的时钟频率系数,NRi为 校准后的时钟频率,符号表示乘号。
[0012] 一种时钟频率校准系统,包括:
[0013] 第一捕获模块,用于启动系统内部的计数器,接收设定周期的外部信号,在捕获到 外部信号的上升沿时,记录所述计数器的计数值ni;
[0014] 第二捕获模块,用于继续接收所述外部信号,并在捕获到下一个外部信号的上升 沿时,记录所述计数器的计数值ri2;
[001引计算模块,用于计算ni和n2的计数差值n;
[0016] 校准模块,用于将所述计数差值n代入系统的时钟频率校准公式校准系统的时钟 频率;所述时钟频率校准公式为:
[0017]
[0018] 其中,n为计数差值,Fi为计数器分频,NF为系统内锁相环的分频,F。为系统分频, F2为系统内振荡器的频率,NR康示系统的原倍频系数,《表示系统的时钟频率系数,NRi为 校准后的时钟频率,符号表示乘号。
[0019] 上述时钟频率校准方法和系统,通过启动系统内部的计数器,接收设定周期的外 部信号,在捕获到外部信号的上升沿时,记录所述计数器的计数值ni,并在捕获到下一个外 部信号的上升沿时,记录所述计数器的计数值,再计算ni和n2的计数差值n,将上述计数 差值n代入时钟频率校准公式对系统的时钟频率进行校准,其中无需复杂的单片机编程控 审IJ,也不用外部USB模块,可W提高系统时钟校准的精度和效率。
【附图说明】
[0020] 图1为一个实施例的时钟频率校准方法流程图;
[0021] 图2为一个实施例的USB接口连接示意图;
[0022] 图3为一个实施例的SOF信号示意图;
[0023] 图4为一个实施例的时钟频率校准系统结构示意图。
【具体实施方式】
[0024] 下面结合附图对本发明提供的时钟频率校准方法和系统的【具体实施方式】作详细 描述。
[0025] 参考图1,图1所示为一个实施例的时钟频率校准方法流程图,包括如下步骤:
[0026] S10,启动系统内部的计数器,接收设定周期的外部信号,在捕获到外部信号的上 升沿时,记录所述计数器的计数值ni;
[0027] 上述步骤S10中,外部信号可W通过USB接口从计算机中获取,待校准时钟信号的 系统与计算机可W如图2所示方式进行连接,如图示,计算机USB接口11的D+端连接上述 系统USB接口12的D+端,计算机USB接口11的D-端连接上述系统USB接口12的D-端, 在计算机USB接口11的D+端可W接入上拉电阻,在系统USB接口12的D+端也可W设置 上拉电阻,上述上拉电阻的阻值可W设置为1. 5千欧。
[002引在一个实施例中,上述外部信号的设定周期可W为1ms(毫秒)。
[0029] 在一个实施例中,上述外部信号可W为SOF信号。
[0030] 本实施例的SOF信号可W如图3所示,其周期为T,系统的计数器可W从上述SOF 信号的某个上升沿开始对系统内所有信号的上升沿开始技术,至上述SOF信号的下一个上 升沿开始中断计数,W此获取上述上升沿个数ni或者下述上升沿个数n2。
[0031] 作为一个实施例,本实施例中待校准时钟频率的系统还可W设置超时保护;在开 始捕获上升沿的同时,设置另一个系统的定时器,可W设置为50ms溢出,W保护系统,如果 没有收到外部计算机的校准信号,则产生超时重试机制,将上拉电阻1. 5千欧去掉,然后重 复接收设定周期的外部信号,并捕获系统内信号的上升沿的步骤,避免外部计算机进入挂 起状态,而停止发送SOF信号,可W提高整个捕获过程的稳定性。
[0032] S20,继续接收所述外部信号,并在捕获到下一个外部信号的上升沿时,记录所述 计数器的计数值n,;
[003引 S30,计算rii和n2的计数差值n;
[0034] 在一个实施例中,上述步骤S30可W包括:
[0035]多次获取计数器的计数值niW及相应下一个外部信号的上升沿处计数值n2,并计 算每次ni和n,的计数差值n;
[0036] 将每次所得的计数差值n相加后求平均值W更新所述计数差值n。
[0037] 本实施例中,获取计数器的计数值niW及相应下一个外部信号的上升沿处计数值 112,并计算每次ni和n2的计数差值n,将每次所得的计数差值n相加后求平均值W更新所述 计数差值n,可W减小相关干扰带来的误差,提高所获取的计数差值n的准确性。
[003引 S40,将所述计数差值n代入系统的时钟频率校准公式校准系统的时钟频率;所述 时钟频率校准公式为;
[0039]
[0040] 其中,n为计数差值,Fi为计数器分频,NF为系统内锁相环的分频,F。为系统分频, F2为系统内振荡器的频率,NR康示系统的原倍频系数,《表示系统的时钟频率系数,NRi为 校准后的时钟频率,符号表示乘号。
[0041] 本实施例提供的时钟频率校准方法,通过启动系统内部的计数器,接收设定周期 的外部信号,在捕获到外部信号的上升沿时,记录所述计数器的计数值ni,并在捕获到下一 个外部信号的上升沿时,记录所述计数器的计数值,再计算nx和n2的计数差值n,将上述计 数差值n代入时钟频率校准公式对系统的时钟频率进行校准,其中无需复杂的单片机编程 控制,也不用外部USB模块,可W提高系统时钟校准的精度和效率。
[00创在一个实施例中,系统的时钟频率是通过内部RC振荡器通过化L(锁相环)倍频 出来的时钟频率,而PLL本身的倍频参数是可调节的,因此将偏差值用于调节PLL参数,最 终达到校准系统时钟的目的;
[0043] P化锁相环倍频原理可W包括;振荡器输入到化L后,内部先将输入源分频到 200KHZ(千赫兹)的参考时钟,此处可W通过分频系数NF实现;然后将参考时钟作倍频处 理,升频至240MHz(兆赫兹),再经过固定5分频的分频器,得到48MHz作为系统时钟输入, 该里通过倍频系数NR实现,所W化L的NR,NF可W由W下公式决定:
[0044] F/NF= 200KHZ;其中,F为系统振荡器的输入频率,NF为系统内锁相环的分频;
[0045] 200KHz*NRa= 240MHz;其中,NR。表示系统的原倍频系数;
[0046] 将上述两个公式进行整合可W得到:
[0047] F*NRa/NF= 240MHz;其中,F为系统振荡器的输入频率,NF为系统内锁相环的分 频,NR。表示系统的原倍频系数;
[0048] 经过固定分频5可W得到系统时钟频率:
[0049] F*NRa/NF/5 = 48MHz;其中,F为系统振荡器的输入频率,NF为系统内锁相环的分 频,NR。表示系统的原倍频系数;
[0化0] 由于SOF信号为一连串上升下降沿,所W在捕获第一个上升沿后,计数器需要关 闭捕获功能然后重新打开,计数器为上升沿捕获,在一个SOF信号内部避免重复触发,该里 只需要捕获两个S0F之间的时间;
[0化1] 计数器捕获时间可W通过计算得知:
[0052] 计数器计数加1所花的时间为计数器分频除W系统时钟;W48MHZ系统时钟频率, 计数器一分频为例,计数器计数加1所花的时间是1除W48MHz= 0. 0化S(微秒);
[0053] 时间间隔一般为系统内计数器的计数单位与计数差值的乘积;比如;当系统频率 为48MHz时,计数器单位可W等于计数器分频除W系统时钟频率,即1/48M,此时计数单位 为0. 〇2us(微秒);
[0化4] 两次S0F信号之间计数器的捕获时间差应该为48000,该里前提是系统时钟频率 为准确的48MHz;
[00巧]综上可得;
[0056] 1ms时间间隔产生的计数为1ms除W计数器分频与系统时钟频率的乘积;
[0化7] 若计数器分频为1时有:
[005引 1ms时间间隔产生的计数为1ms与系统时钟频率的乘积;
[0化9] 因此,使用内部振荡器作为化L输入的话,只能根据设计经验值估计内部振荡器 的频率范围在巧MHZ+-20% )的范围内,所W不能准确得知NR,NF的具体配置,则系统均假 设内部振荡器为5MHz作参数配置;
[0060] 根据P化公式可知;5MHz/NF= 200KHZ,则NF为 25 ;
[0061] 200KHz*NR= 240MHz,则NR为 1200 ;
[006引因此基于该样的NF/NR配置的系统时钟,在内部振荡器发生偏差时所得到的系统 时钟必然不是48MHz;捕获时间差也不是48000 ;因此捕获的时间差应该演变为;
[0063] Ni=(F2*NR0/NF) /5 ;其中,Ni为1ms时间间隔产生的计数,NR康示系统的原倍频 系数,F2为系统内振荡器的频率,NF为系统内锁相环的分频;
[0064] 进行相关变换后得到:
[0065] Ni/(F2*NRn/NF)/5 = 1 ;其中,Ni为1ms时间间隔产生的计数,NR康示系统的原倍 频系数,F2为系统内振荡器的频率,NF为系统内锁相环的分频;
[0066] 假设使用默认值NR。,NF配置振荡器,将会产生计数器差值为Ti;
[0067] 校准后使用新的NRi,NF配置振荡器,将会产生计数器差值为T2,T2= 48000 ;
[0068] 可得;
[0069] V(F2*NVNF)/5 =T2/^(F2*NRi/NF)/5 ;其中,Ni为 1ms时间间隔产生的计数,NR。 表示系统的原倍频系数,F2为系统内振荡器的频率,NF为系统内锁相环的分频,NR1为校准 后的时钟频率,Ti为系统默认计数器差值,T2为校准后计数器差值;
[0070] 进一步计算后可得:
[0071] NRi=T1*NR。/%;其中,NR康示系统的原倍频系数,NRi为校准后的时钟频率,T1为 系统默认计数器差值,T2为校准后计数器差值;
[0072] 上述运算过程可W将运算结果作乘2处理,检查运算结果低位,再作除2处理,防 止低位被忽略,提高精度。
[0073] 参考图4,图4所示为一个实施例的时钟频率校准系统结构示意图,包括:
[0074] 第一捕获模块10,用于启动系统内部的计数器,接收设定周期的外部信号,在捕获 到外部信号的上升沿时,记录所述计数器的计数值ni;
[0075] 在一个实施例中,上述设定周期可W为1ms。
[0076] 在一个实施例中,上述外部信号可W为SOF信号。
[0077] 第二捕获模块20,用于继续接收所述外部信号,并在捕获到下一个外部信号的上 升沿时,记录所述计数器的计数值ri2;
[0078] 计算模块30,用于计算ni和n2的计数差值n;
[0079] 在一个实施例中,上述计算模块可W进一步用于:
[0080] 多次获取计数器的计数值niW及相应下一个外部信号的上升沿处计数值n2,并计 算每次ni和ri2的计数差值n;
[0081] 将每次所得的计数差值n相加后求平均值W更新所述计数差值n。
[0082] 校准模块40,用于将所述计数差值n代入系统的时钟频率校准公式校准系统的时 钟频率;所述时钟频率校准公式为:
[0083]
[0084] 其中,n为计数差值,Fi为计数器分频,NF为系统内锁相环的分频,F。为系统分频, F2为系统内振荡器的频率,NR康示系统的原倍频系数,《表示系统的时钟频率系数,NRi为 校准后的时钟频率,符号表示乘号。
[0085] 本发明的时钟频率校准系统与本发明的时钟频率校准方法一一对应,在上述时钟 频率校准方法的实施例阐述的技术特征及其有益效果均适用于时钟频率校准系统的实施 例中,特此声明。
[0086] W上所述实施例的各技术特征可W进行任意的组合,为使描述简洁,未对上述实 施例中的各个技术特征所有可能的组合都进行描述,然而,只要该些技术特征的组合不存 在矛盾,都应当认为是本说明书记载的范围。
[0087] W上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并 不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来 说,在不脱离本发明构思的前提下,还可W做出若干变形和改进,该些都属于本发明的保护 范围。因此,本发明专利的保护范围应W所附权利要求为准。
【主权项】
1. 一种时钟频率校准方法,其特征在于,包括如下步骤: 启动系统内部的计数器,接收设定周期的外部信号,在捕获到外部信号的上升沿时,记 录所述计数器的计数值H1; 继续接收所述外部信号,并在捕获到下一个外部信号的上升沿时,记录所述计数器的 计数值n2; 计算化和η 2的计数差值η ; 将所述计数差值η代入系统的时钟频率校准公式校准系统的时钟频率;所述时钟频率 校准公式为:其中,η为计数差值,匕为计数器分频,NF为系统内锁相环的分频,F ^为系统分频,F 2为 系统内振荡器的频率,NRtl表示系统的原倍频系数,ω表示系统的时钟频率系数,NR1为校准 后的时钟频率,符号" "表示乘号。2. 根据权利要求1所述的时钟频率校准方法,其特征在于,所述计算n JP η 2的计数差 值η的步骤包括: 多次获取计数器的计数值Ii1以及相应下一个外部信号的上升沿处计数值η 2,并计算每 次化和η 2的计数差值η ; 将每次所得的计数差值η相加后求平均值以更新所述计数差值η。3. 根据权利要求1所述的时钟频率校准方法,其特征在于,所述设定周期为lms。4. 根据权利要求1所述的时钟频率校准方法,其特征在于,所述外部信号为SOF信号。5. -种时钟频率校准系统,其特征在于,包括: 第一捕获模块,用于启动系统内部的计数器,接收设定周期的外部信号,在捕获到外部 信号的上升沿时,记录所述计数器的计数值n1; 第二捕获模块,用于继续接收所述外部信号,并在捕获到下一个外部信号的上升沿时, 记录所述计数器的计数值n2; 计算模块,用于计算化和η 2的计数差值η ; 校准模块,用于将所述计数差值η代入系统的时钟频率校准公式校准系统的时钟频 率;所述时钟频率校准公式为:其中,η为计数差值,匕为计数器分频,NF为系统内锁相环的分频,F ^为系统分频,F 2为 系统内振荡器的频率,NRtl表示系统的原倍频系数,ω表示系统的时钟频率系数,NR1为校准 后的时钟频率,符号" "表示乘号。6. 根据权利要求5所述的时钟频率校准系统,其特征在于,所述计算模块进一步用于: 多次获取计数器的计数值Ii1以及相应下一个外部信号的上升沿处计数值η 2,并计算每 次化和η 2的计数差值η ; 将每次所得的计数差值η相加后求平均值以更新所述计数差值η。7. 根据权利要求5所述的时钟频率校准系统,其特征在于,所述设定周期为lms。8.根据权利要求5所述的时钟频率校准系统,其特征在于,所述外部信号为SOF信号。
【专利摘要】本发明涉及一种时钟频率校准方法和系统。上述时钟频率校准方法,包括如下步骤:启动系统内部的计数器,接收设定周期的外部信号,在捕获到外部信号的上升沿时,记录所述计数器的计数值n1;继续接收所述外部信号,并在捕获到下一个外部信号的上升沿时,记录所述计数器的计数值n2;计算n1和n2的计数差值n;将所述计数差值n代入系统的时钟频率校准公式校准系统的时钟频率;其无需复杂的单片机编程控制,也不用外部USB模块,可以提高系统时钟校准的精度和效率。
【IPC分类】G06F13/38, H03L7/085
【公开号】CN104901687
【申请号】CN201510260176
【发明人】蔡秉铨
【申请人】珠海市杰理科技有限公司
【公开日】2015年9月9日
【申请日】2015年5月20日

最新回复(0)