一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

片内晶振校准电路及校准方法与流程

2021-10-09 01:07:00 来源:中国专利 TAG:校准 逐次 集成电路 逼近 算法


1.本发明涉及集成电路技术领域,特别涉及一种基于逐次逼近算法的片 内晶振校准电路及校准方法。


背景技术:

2.实际制造的包含片内晶振的芯片,由于工艺偏差的存在,芯片中晶振 电路产生的时钟信号频率与设计期待的时钟频率存在各种偏差,而对于需 要精准时钟的芯片,内部晶振电路需要进行校准。
3.实际的片内晶振电路可以通过一系列开关来调整片内电路的电容,通 过改变电容来改变时钟频率,进而达到校准时钟频率的目的,这些开关可 以使用寄存器控制。
4.如图1所示,一种常用的测试方法是中控机台通过控制接口发送测试 指令,把待测芯片的片内晶振的时钟信号(输出时钟)输出到中控机台, 中控机台使用参考精准时钟信号与输出的晶振信号进行对比,通过逐步控 制调整片内晶振实现校准,这种校准方法校准时间长,且io口输出的频 率和精度受到io口的限制。
5.例如中国发明专利cn103116124b提供了一种芯片校准方法,该方法 在在时钟比较过程中要找到最优解,对于在一定范围内符合的有效值没有 提供解决方法,且校准过程中步长固定,不利于提高校准效率和提高精 度。


技术实现要素:

6.本发明的目的在于提供一种片内晶振校准电路及校准方法,以解决现 有的片内晶振校准方法校准时间长的问题。
7.为解决上述技术问题,本发明提供一种片内晶振校准电路,包括:
8.时钟比较模块,被配置为比较待校准时钟和参考时钟,以得到比较结 果并向状态控制模块提供比较结果;
9.状态控制模块,被配置为根据比较结果通过逐次逼近算法生成步长控 制信号,以向步长控制模块提供步长控制信号;以及
10.步长控制模块,被配置为根据步长控制信号生成校准信号,以向待校 准晶振提供校准信号。
11.可选的,在所述的片内晶振校准电路中,所述待校准晶振向时钟比较 模块提供待校准时钟;
12.步长控制模块根据步长控制信号生成不同步长的校准信号;以及
13.步长控制模块将不同步长的校准信号提供至待校准晶振,以调节所述 待校准晶振的时钟频率。
14.可选的,在所述的片内晶振校准电路中,还包括中控机台,中控机台 被配置为执行以下动作:
15.通过io接口向时钟比较模块提供参考时钟,以及
16.通过控制接口向时钟比较模块提供目标校准值和读取校准结果。
17.可选的,在所述的片内晶振校准电路中,所述片内晶振校准电路与待 校准晶振共同集成在待测芯片中;
18.所述中控机台位于待测芯片外部。
19.可选的,在所述的片内晶振校准电路中,所述时钟比较模块包括:
20.参考计数器,被配置为由参考时钟驱动以计数;
21.待校准计数器,被配置为由待校准时钟驱动以计数;以及
22.比较器,被配置为比较参考计数器的计数值和待校准计数器的计数值, 以得到比较结果。
23.可选的,在所述的片内晶振校准电路中,状态控制模块包括:
24.控制模块,被配置为根据参考时钟和目标校准值的比较值,换算目标 校准值对应的参考计数器的计数值,以供时钟比较模块将该计数值与待校 准计数器的计数值进行比较;以及
25.逐次逼近算法实现模块,被配置为通过检测时钟比较模块将该计数值 与待校准计数器的计数值进行比较的结果,产生步长控制信号;
26.步长控制模块根据步长控制信号调节待校准晶振,以逐步缩小待校准 时钟与目标时钟频率的误差,逼近目标时钟频率。
27.可选的,在所述的片内晶振校准电路中,逐次逼近算法实现模块控制 各个校准的状态且实现逐次逼近算法的状态转换,逐次逼近算法的实现步 骤如下:
28.校准开始前,在待校准晶振的控制寄存器中存储待校准初始值;
29.时钟比较模块接收到校准开始指令后,开启第一次时钟比较;
30.若待校准初始值对应的计数值大于目标校准值对应的参考计数器的计 数值,则比较结果为待校准时钟快于目标校准值,则逐次逼近算法实现模 块生成第一步长n,步长控制模块在待校准初始值的基础上,以第一步长 n调慢待校准晶振;以及
31.若待校准初始值对应的计数值小于目标校准值对应的参考计数器的计 数值,则比较结果为待校准时钟慢于目标校准值,则逐次逼近算法实现模 块生成第一步长n,步长控制模块在待校准初始值的基础上,以第一步长 n调快待校准晶振。
32.可选的,在所述的片内晶振校准电路中,逐次逼近算法还包括:
33.根据第一次时钟比较的比较结果,以第一步长调整待校准初始值后, 时钟比较模块进行多次时钟比较;
34.若逐次逼近算法实现模块判断得到,某次的比较结果与前次的比较结 果相同则继续以相同方向进一步调整,否则减小步长后进行反方向调整。
35.可选的,在所述的片内晶振校准电路中,逐次逼近算法还包括:
36.步长的减小包括:根据前次调整的步长进行减半。
37.可选的,在所述的片内晶振校准电路中,逐次逼近算法还包括:
38.若待校准初始值对应的计数值等于目标校准值对应的参考计数器的计 数值,或两者差值落入误差范围内后,或连续两次比较结果与前次的比较 结果相异,计算最后两次调整所对应的待校准初始值相加之后的平均值, 作为最终的待校准晶振的控制寄存器的配置值;以及
39.逐次逼近算法执行过程中,若调整待校准晶振的控制寄存器的值溢出, 则以失败标识完成校准。
40.可选的,在所述的片内晶振校准电路中,逐次逼近算法还包括:
41.根据第一次时钟比较的比较结果,以第一步长n调整待校准初始值后, 时钟比较模块进行第i次时钟比较,其中i为大于1的正整数;
42.若逐次逼近算法实现模块判断得到,第i次的比较结果与第i

1次的比 较结果相同,则控制步长控制模块生成第一步长n,以使步长控制模块继 续以第一步长n及与第i

1次相同的调节方向调整待校准初始值,直至第j 次的比较结果与第j

1次的比较结果不同,其中j为不小于i的正整数;
43.若逐次逼近算法实现模块判断得到,第j次的比较结果与第j

1次的比 较结果不同,则控制步长控制模块生成第二步长n/2,以使步长控制模块 继续以第二步长n/2及与第j

1次相反的调节方向调整待校准初始值,直至 第k次的比较结果与第k

1次的比较结果不同,其中k为不小于j的正整数;
44.若逐次逼近算法实现模块判断得到,第k次的比较结果与第k

1次的 比较结果不同,则控制步长控制模块生成第三步长n/4,以使步长控制模 块继续以第三步长n/4及与第k

1次相反的调节方向调整待校准初始值, 直至第m次的比较结果与第m

1次的比较结果不同,保存此时待校准晶振 的控制寄存器中存储待校准初始值记作a,其中m为不小于k的正整数; 以及
45.若逐次逼近算法实现模块判断得到,第m次的比较结果与第m

1次的 比较结果不同,则控制步长控制模块生成第四步长n/8,以使步长控制模 块继续以第四步长n/8及与第m

1次相反的调节方向调整待校准初始值, 直至第h次的比较结果与第h

1次的比较结果不同,保存此时待校准晶振 的控制寄存器中存储待校准初始值记作b,其中h为不小于m的正整数。
46.最终的待校准晶振的控制寄存器的配置值为(a b)/2取整后的值。
47.本发明还提供一种片内晶振校准方法,包括:
48.使时钟比较模块对待校准时钟和参考时钟进行比较,以得到比较结果 并向状态控制模块提供比较结果;
49.使状态控制模块根据比较结果通过逐次逼近算法生成步长控制信号, 以向步长控制模块提供步长控制信号;以及
50.使步长控制模块根据步长控制信号生成校准信号,以向待校准晶振提 供校准信号。
51.在本发明提供的片内晶振校准电路及校准方法中,通过比较待校准时 钟和参考时钟得到比较结果,并通过逐次逼近算法生成步长控制信号,根 据步长控制信号生成校准信号,以向待校准晶振提供校准信号,实现了不 同的步长进行校准,校准效率更高。
52.本发明采用了逐次逼近算法,该算法的工作原理为:参考时钟和期待 校准后的时钟(目标校准值)存在一定的关系,从而在参考时钟计数达到 某个值情况下,能换算出待校准时钟的目标校准值,该目标校准值可以从 外面控制接口给出,从而能适应各种工艺的调整。待校准时钟的计数值与 目标校准值比较,产生大于,小于的比较结果。
53.本发明可以实现片内晶振的自动校准,经过逐次逼近后,能找到一定 范围内符合
要求的有效值。通过计算待校准晶振的控制寄存器中存储待校 准初始值a和b的平均值,作为最终的待校准晶振的控制寄存器的配置值, 本发明避免了传统方法中由于时钟偏差,时钟比较过程中的计数值和目标 校准值可能始终不相等而导致校准无法完成的情况。
54.本发明可以根据精度和速度的要求来权衡增加或减少逼近次数,例如 当精度要求较高或速度要求不高时,最小步长可调整至第五步长n/16,反 之,当精度要求不高或速度要求较高时,最小步长可调整至第三步长n/4, 最终配置值以最终2~3个步长对应的待校准初始值来求取平均值,本领域 技术人员可根据工艺需求进行调配,上述方案均在本发明的保护范围内, 通过上述灵活的可选方案,本发明对各种工艺偏差下的适配能力强。
55.本发明的时钟比较模块仅通过少量比较器,以及步长控制模块中仅需 要部分加减法器即可实现校准,在状态控制模块中,仅通过时钟比较结果 维护状态机跳转就可实现,整个片内晶振校准实现比较简单,而且在逐次 逼近的调整中,即使某次时钟意外受到干扰导致比较结果出错,下一步中 也能纠正回来,从而具备一定的容错能力。
附图说明
56.图1是现有的片内晶振校准电路示意图;
57.图2是本发明一实施例片内晶振校准电路示意图;
58.图3是本发明另一实施例片内晶振校准方法示意图;
59.图中所示:10

时钟比较模块;20

步长控制模块;30

状态控制模块; 40

待校准晶振;100

待测芯片;200

中控机台。
具体实施方式
60.下面结合具体实施方式参考附图进一步阐述本发明。
61.应当指出,各附图中的各组件可能为了图解说明而被夸大地示出,而 不一定是比例正确的。在各附图中,给相同或功能相同的组件配备了相同 的附图标记。
62.在本发明中,除非特别指出,“布置在

上”、“布置在

上方”以 及“布置在

之上”并未排除二者之间存在中间物的情况。此外,“布置 在

上或上方”仅仅表示两个部件之间的相对位置关系,而在一定情况下、 如在颠倒产品方向后,也可以转换为“布置在

下或下方”,反之亦然。
63.在本发明中,各实施例仅仅旨在说明本发明的方案,而不应被理解为 限制性的。
64.在本发明中,除非特别指出,量词“一个”、“一”并未排除多个元 素的场景。
65.在此还应当指出,在本发明的实施例中,为清楚、简单起见,可能示 出了仅仅一部分部件或组件,但是本领域的普通技术人员能够理解,在本 发明的教导下,可根据具体场景需要添加所需的部件或组件。另外,除非 另行说明,本发明的不同实施例中的特征可以相互组合。例如,可以用第 二实施例中的某特征替换第一实施例中相对应或功能相同或相似的特征, 所得到的实施例同样落入本技术的公开范围或记载范围。
66.在此还应当指出,在本发明的范围内,“相同”、“相等”、“等于
”ꢀ
等措辞并不意味着二者数值绝对相等,而是允许一定的合理误差,也就是 说,所述措辞也涵盖了“基本上相同”、“基本上相等”、“基本上等 于”。以此类推,在本发明中,表方向的术语“垂直于”、“平行于”等 等同样涵盖了“基本上垂直于”、“基本上平行于”的含义。
待校准晶振,以逐步缩小待校准时钟与目标时钟频率的误差,逼近目标时 钟频率。
78.在本发明的一个实施例中,在所述的片内晶振校准电路中,逐次逼近 算法实现模块控制各个校准的状态且实现逐次逼近算法的状态转换,逐次 逼近算法的实现步骤如图3所示,包括:校准开始前,在待校准晶振40的 控制寄存器中存储待校准初始值;时钟比较模块10接收到校准开始指令后, 开启第一次时钟比较;若待校准初始值对应的计数值大于目标校准值对应 的参考计数器的计数值,则比较结果为待校准时钟快于目标校准值,则逐 次逼近算法实现模块生成第一步长n,步长控制模块20在待校准初始值的 基础上,以第一步长n调慢待校准晶振40;以及若待校准初始值对应的计 数值小于目标校准值对应的参考计数器的计数值,则比较结果为待校准时 钟慢于目标校准值,则逐次逼近算法实现模块生成第一步长n,步长控制 模块20在待校准初始值的基础上,以第一步长n调快待校准晶振40。
79.在本发明的一个实施例中,如图3所示,在所述的片内晶振校准电路 中,逐次逼近算法还包括:根据第一次时钟比较的比较结果,以第一步长 n调整待校准初始值后,时钟比较模块10进行第i次时钟比较,其中i为 大于1的正整数;若逐次逼近算法实现模块判断得到,某次的比较结果与 前次的比较结果相同则继续以相同方向进一步调整,否则减小步长后进行 反方向调整。步长的减小包括:根据前次调整的步长进行减半。
80.在本发明的一个实施例中,若待校准初始值对应的计数值等于目标校 准值对应的参考计数器的计数值,或两者差值落入误差范围内后,或连续 两次比较结果与前次的比较结果相异,计算最后两次调整所对应的待校准 初始值相加之后的平均值,作为最终的待校准晶振的控制寄存器的配置值; 以及逐次逼近算法执行过程中,若调整待校准晶振的控制寄存器的值溢出, 则以失败标识完成校准。
81.在本发明的一个实施例中,根据第一次时钟比较的比较结果,以第一 步长n调整待校准初始值后,时钟比较模块进行第i次时钟比较,其中i 为大于1的正整数;若逐次逼近算法实现模块判断得到,第i次的比较结 果与第i

1次的比较结果相同,则控制步长控制模块20生成第一步长n, 以使步长控制模块20继续以第一步长n及与第i

1次相同的调节方向调整 待校准初始值,直至第j次的比较结果与第j

1次的比较结果不同,其中j 为不小于i的正整数;若逐次逼近算法实现模块判断得到,第j次的比较结 果与第j

1次的比较结果不同,则控制步长控制模块20生成第二步长n/2, 以使步长控制模块20继续以第一步长n/2及与第j

1次相反的调节方向调 整待校准初始值,直至第k次的比较结果与第k

1次的比较结果不同,其 中k为不小于j的正整数;若逐次逼近算法实现模块判断得到,第k次的 比较结果与第k

1次的比较结果不同,则控制步长控制模块20生成第二步 长n/4,以使步长控制模块20继续以第一步长n/4及与第k

1次相反的调 节方向调整待校准初始值,直至第m次的比较结果与第m

1次的比较结果 不同,保存此时待校准晶振40的控制寄存器中存储待校准初始值记作a, 其中m为不小于k的正整数;以及若逐次逼近算法实现模块判断得到,第 m次的比较结果与第m

1次的比较结果不同,则控制步长控制模块20生成 第二步长n/8,以使步长控制模块20继续以第一步长n/8及与第m

1次相 反的调节方向调整待校准初始值,直至第h次的比较结果与第h

1次的比 较结果不同,保存此时待校准晶振40的控制寄存器中存储待校准初始值记 作b,其中h为不小于m的正整数。
82.在本发明的一个实施例中,在所述的片内晶振校准电路中,逐次逼近 算法还包
括:计算待校准晶振40的控制寄存器中存储待校准初始值a和b 的平均值,作为最终的待校准晶振40的控制寄存器的配置值;以及逐次逼 近算法执行过程中,若调整待校准晶振40的控制寄存器的值溢出,则以失 败标识完成校准。
83.本发明还提供一种片内晶振校准方法,包括:使时钟比较模块10对待 校准时钟和参考时钟进行比较,以得到比较结果并向状态控制模块30提供 比较结果;使状态控制模块30根据比较结果通过逐次逼近算法生成步长控 制信号,以向步长控制模块20提供步长控制信号;以及使步长控制模块 20根据步长控制信号生成校准信号,以向待校准晶振40提供校准信号。
84.在本发明提供的片内晶振校准电路及校准方法中,通过比较待校准时 钟和参考时钟得到比较结果,并通过逐次逼近算法生成步长控制信号,根 据步长控制信号生成校准信号,以向待校准晶振40提供校准信号,实现了 不同的步长进行校准,校准效率更高。
85.本发明采用了逐次逼近算法,该算法的工作原理为:参考时钟和期待 校准后的时钟(目标校准值)存在一定的关系,从而在参考时钟计数达到 某个值情况下,能换算出待校准时钟的目标校准值,该目标校准值可以从 外面控制接口给出,从而能适应各种工艺的调整。待校准时钟的计数值与 目标校准值比较,产生大于、小于的比较结果。
86.本发明可以实现片内晶振的自动校准,经过逐次逼近后,能找到一定 范围内符合要求的有效值。通过计算待校准晶振40的控制寄存器中存储待 校准初始值a和b的平均值,作为最终的待校准晶振40的控制寄存器的配 置值,即最终的待校准晶振的控制寄存器的配置值为(a b)/2取整后的值。 本发明避免了传统方法中由于时钟偏差,时钟比较过程中的计数值和目标 校准值可能始终不相等而导致校准无法完成的情况。
87.在本发明的一些实施例中,可以根据精度和速度的要求来权衡增加或 减少逼近次数,例如当精度要求较高或速度要求不高时,最小步长可调整 至第五步长n/16、

、或第l步长n/2
l
‑1,反之,当精度要求不高或速度 要求较高时,最小步长可调整至第三步长n/4,最终配置值以最终2~3个 步长对应的待校准初始值来求取平均值。在本发明的实施例中,两个相邻 步长可以不是减半的关系,只需要满足后一步长小于前一步长即落入本发 明的保护范围。本领域技术人员可根据工艺需求进行调配,上述方案均在 本发明的保护范围内,通过上述灵活的可选方案,本发明对各种工艺偏差 下的适配能力强。
88.本发明的时钟比较模块10仅通过少量比较器,以及步长控制模块20 中仅需要部分加减法器即可实现校准,在状态控制模块30中,仅通过时钟 比较结果维护状态机跳转就可实现,整个片内晶振校准实现比较简单,而 且在逐次逼近的调整中,即使某次时钟意外受到干扰导致比较结果出错, 下一步中也能纠正回来,从而具备一定的容错能力。
89.具体的,本发明时钟比较模块10里面定义了参考时钟和待校准时钟驱 动的计数器和比较器。状态控制模块30包含控制和逐次逼近算法的实现模 块,通过检测时钟比较模块10的结果,产生步长控制信号。步长控制模块 20根据状态控制模块30的控制来调整步长,输出给待校准晶振40,调整 晶振的频率。状态控制模块30控制各个校准的状态且实现逐次逼近算法的 状态转换如图3所示。该算法的实现步骤如下:
90.校准开始时,待校准晶振40的控制寄存器存在某一初始值。接收到校 准开始指令后,开启一次时钟比较,如果计数值大于目标值说明待校准时 钟偏快,则以待校准晶振40的控制寄存器的初始值的基础上,以较大步长 n来向下调整,如果计数值小于目标值说明
待校准时钟偏慢,则以较大步 长n来向上调整。以下步骤以计数值大于目标值为例继续说明后续过程, 计数值小于目标值的过程与之相反。
91.当以步长n向下调整后,再一次进行时钟比较,如果计数值仍大于目 标值,则继续以步长n向下调整晶振频率,直到计数值小于目标值为止然 后进入步骤3。此过程中如果调整寄存器值溢出则以失败标识完成校准。
92.经过步骤2调整后,以步长n/2向上调整晶振频率,再一次进行时钟 比较,如果计数值仍小于目标值,则继续以步长n/2向上调整晶振频率, 直到计数值大于目标值为止然后进入步骤4。此过程中如果调整寄存器值 溢出则以失败标识完成校准。
93.经过步骤3调整后,以步长n/4向下调整晶振频率,再一次进行时钟 比较,如果计数值仍大于目标值,则继续以步长n/4向下调整晶振频率, 直到计数值小于目标值为止进入步骤5。此过程中如果调整寄存器值溢出 则以失败标识完成校准。
94.经过步骤4调整后,保存步骤4的寄存器校准值,以步长n/8向上调 整晶振频率,再一次进行时钟比较,如果计数值仍小于目标值,则继续以 步长n/8向上调整晶振频率,直到计数值大于目标值为止,保存寄存器值 进入步骤6。此过程中如果调整寄存器值溢出则以失败标识完成校准。
95.在步骤6中,对保存的步骤4的寄存器值和保存的步骤5的寄存器值 求平均得到平均值,作为最终的校准寄存器的配置值。
96.本发明可以实现片内晶振的自动校准,经过逐次逼近后,能找到一定 范围内符合要求的有效值。本发明避免了传统方法中由于时钟偏差,时钟 比较过程中的计数值和目标值可能始终不相等而导致校准无法完成的情况。 本发明可以根据精度和速度的要求来权衡增加或减少逼近次数,对各种工 艺偏差下的适配能力强。本发明实现中时钟比较模块10仅通过少量比较器, 在步长产生模块中仅需要部分加减法器,在状态控制中,通过时钟比较结 果维护状态机跳转就可实现,整个模块实现比较简单,而且在逐次逼近的 调整中,即使某次时钟意外受到干扰导致比较结果出错,下一步中也能纠 正回来,从而具备一定的容错能力。以上方案可以增加或减少步长的调整 次数,比如增加n/16和n/32步长的调整,从而实现更高的精度,或减少 步长的调整次数,提高校准速度。
97.本发明提供了一种基于逐次逼近算法的片内晶振的自动校准方法,先 基于较大步长进行调整,从而加速逼近有效值的速度,然后基于较小步长 逐步调整,从而增大调整精度,经过几次调整后即可求得目标值附近的值, 本发明对时钟比较模块10的需求很简单,只需要知道大于或小于的关系即 可,从而减小了硬件实现的复杂度。本发明的步长通过不同状态进行相应 增加或减小即可,减小了硬件实现的复杂度。
98.综上,上述实施例对片内晶振校准电路及校准方法的不同构型进行了 详细说明,当然,本发明包括但不局限于上述实施中所列举的构型,任何 在上述实施例提供的构型基础上进行变换的内容,均属于本发明所保护的 范围。本领域技术人员可以根据上述实施例的内容举一反三。
99.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的 都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即 可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所以 描述的比较简单,相关之处参见方法部分说明即可。
100.上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何 限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰, 均属于权利要求书的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜