CN102486742B - 一种预防SoC振荡器不稳态的方法及装置 - Google Patents
一种预防SoC振荡器不稳态的方法及装置 Download PDFInfo
- Publication number
- CN102486742B CN102486742B CN201010571281.8A CN201010571281A CN102486742B CN 102486742 B CN102486742 B CN 102486742B CN 201010571281 A CN201010571281 A CN 201010571281A CN 102486742 B CN102486742 B CN 102486742B
- Authority
- CN
- China
- Prior art keywords
- house dog
- oscillator
- application program
- program section
- dog
- 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.)
- Active
Links
Landscapes
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明公开了一种预防SoC振荡器不稳态的方法,应用在用户程序中需要切换振荡器频率的位置处,定义该位置前、后两程序段分别为应用程序段一和二,则步骤为:1)振荡器频率调整前,查询看门狗开启记录,若未开启过,则开启看门狗并设置开启记录;若已开启过,则转到应用程序段二;2)振荡器频率调整后,进行循环喂狗操作,若正常,则关闭看门狗,转到应用程序段二;若异常,则复位,重新从应用程序段一开始执行。本发明还公开了实现该方法的装置。该方法及装置利用看门狗监测MCU程序运行状态,当振荡器在频率调整过程中出现不稳态时,看门狗自动复位MCU,从而在不增加硬件开销情况下,避免了由振荡器不稳态引发的芯片工作异常情况。
Description
技术领域
本发明涉及SoC设计领域,尤其涉及一种预防SoC振荡器不稳态的方法。本发明还涉及实现该方法的装置。
背景技术
SoC(SystemonaChip,系统级芯片)片内振荡器是一种常用的提供系统时钟的模拟模块,相对于外部晶振加片内PLL提供系统时钟的硬件方案,片内振荡器具有面积小的优点,因而广泛应用于对时钟频率和精度要求不高的SoC系统中。
为了提高振荡器输出时钟的精度,抵消生产制造过程中难以避免的工艺参数漂移,目前很多振荡器的设计引入了动态调节输出时钟频率的功能,即在振荡器开启时,通过调节振荡器的配置参数,在一定的频率范围内动态调整输出时钟的频率。但是,这也同时引入了新的问题,即如果在频率切换过程中,振荡器的输出时钟有毛刺或者占空比不理想,则基于振荡器输出时钟工作的MCU执行程序很有可能发生异常,甚至程序无法继续执行,进而使整个芯片无法正常工作。为了解决这一问题,可以采用在芯片内增加时钟控制逻辑的方法,使MCU在时钟频率发生切换的时间段内暂时停止执行程序,直至切换后的时钟稳定输出时再继续执行程序,但其缺点是会增加硬件开销,且增加的时钟控制逻辑不具有普适性,不同的SoC系统往往需要设计不同的时钟控制逻辑。
发明内容
本发明要解决的技术问题是提供一种预防SoC振荡器不稳态的方法,它具有良好的移植性,且不会增加硬件开销。
为解决上述技术问题,本发明的预防SoC振荡器不稳态的方法,应用在用户程序中需要切换振荡器频率的位置处,定义该位置前、后的两个程序段分别为应用程序段一和应用程序段二,则该方法包括以下步骤:
1)在应用程序段一执行完毕,振荡器频率调整前,查询看门狗开启记录,若看门狗未被开启过,则转到步骤2);若看门狗已被开启过,则转到应用程序段二;
2)开启看门狗,并设置看门狗开启记录;
3)振荡器频率调整后,进行循环喂狗操作,若操作进行正常,则在操作完成后转到步骤4);若操作发生中断,则自动复位系统,重新从应用程序段一开始执行;
4)关闭看门狗,并转到应用程序段二。
本发明要解决的另一技术问题是提供实现上述方法的装置。
为解决上述技术问题,本发明的预防SoC振荡器不稳态的装置,包括一MCU,该MCU上集成有看门狗和寄存器,看门狗用于监测MCU的程序运行状态;寄存器用于存储看门狗的开启记录,且该寄存器不会因MCU被复位而被复位。
本发明的预防SoC振荡器不稳态的方法及装置,利用看门狗监测MCU的程序运行状态,当振荡器在调整输出时钟频率过程中出现不稳态时,看门狗自动复位MCU,以避免由振荡器不稳态而导致的SoC工作异常的情况发生,与现有的解决方案相比,本发明由于不需要改变SoC系统的时钟控制逻辑电路设计,因此不会增加硬件电路开销,同时由于本发明的方法所对应的程序段相对独立于用户的既有程序,因此具有良好的移植性,能够适用于不同的SoC系统。
附图说明
图1是本发明的程序段与用户应用程序段协同工作的流程示意图;
图2是本发明的方法流程图。
具体实施方式
为对本发明的技术内容、特点与功效有更具体的了解,现结合图示的实施方式,详述如下:
本发明的预防SoC振荡器不稳态的装置,适用于使用输出频率可动态调节的振荡器来提供系统时钟的SoC系统,该装置包括一MCU(MicroControlUnit,微控制单元),该MCU上集成有看门狗(watchdog)定时器和一寄存器,看门狗用于监测MCU程序运行状态,寄存器用于存储看门狗的开启记录,且该寄存器不会因MCU被复位而被复位。
使用上述装置预防SoC振荡器不稳态的方法,是在用户的应用程序中需要切换振荡器频率的位置处嵌入一个程序段。如图1所示,应用程序段一210是该位置前的应用程序段,应用程序段二230是该位置后的应用程序段,本发明的程序段220嵌入到应用程序段一210和应用程序段二230之间。
具体流程请参阅图2所示,上电复位后,MCU开始执行应用程序段一210。当应用程序段一210执行完毕,到达需要切换振荡器频率处时,MCU执行本发明的程序段220,即:
(1)在振荡器切换输出时钟的频率前,MCU首先查询寄存器的状态,如果寄存器的状态记录显示看门狗未曾被开启过,则按照MCU的操作流程,开启看门狗,并将寄存器设置为看门狗开启状态,然后继续执行后续步骤;如果寄存器的状态记录显示看门狗已被开启过,则退出本发明的程序段220,转而执行应用程序段二230;
(2)在振荡器切换输出时钟频率后,按照振荡器频率切换后达到输出稳定所需要的时间要求,确定重新装载看门狗定时器的时间间隔以及装载的次数,进行循环喂狗的操作。在振荡器频率切换过程中,如果输出时钟的频率稳定,则循环喂狗操作会正常进行,操作结束后,按照MCU的操作流程,关闭看门狗,然后MCU在调整后的振荡器频率下马上开始执行应用程序段二230;如果输出时钟的频率不稳定,则循环喂狗操作会由于程序执行时发生诸如跳转错误等异常情况而被中断,此时,看门狗定时器向MCU发送一个复位信号,MCU系统被自动复位,并在调整后的振荡器频率下,重新从应用程序段一210开始执行。
如果发生了看门狗复位MCU系统的情况,则复位后的MCU在执行到本发明程序段220中的步骤(1)时,会在寄存器中查询到看门狗已被开启过的记录,于是MCU将退出本发明程序段220,不再执行后续的步骤(2),而是转到应用程序段二230。
这样,在执行完毕本发明的程序段220后,振荡器频率已经完成了切换,应用程序段二就在调整后的振荡器频率下被执行,如此,不仅达到了动态调整振荡器工作频率的目的,而且避免了因振荡器输出时钟在调整过程中产生毛刺或者占空比不理想等不稳态而影响SoC系统正常工作的问题。而且,由于本发明的程序段与用户开发的其他应用程序没有关联,因此,可以很方便地嵌入到用户既有程序中,从而使该方法具有了良好的移植性,能够应用于大多数使用频率可调振荡器的SoC系统。
以上仅列举了本发明的一个实施例,该实施例仅用于解释本发明,并非用于限制本发明。凡与上述实施例等效的变换与置换,均应属于本发明的保护范围。
Claims (4)
1.一种预防SoC振荡器不稳态的方法,应用在用户程序中需要切换振荡器频率的位置处,定义该位置前、后的两个程序段分别为应用程序段一和应用程序段二,其特征在于,包括以下步骤:
1)在应用程序段一执行完毕,查询看门狗开启记录,若看门狗未被开启过,则转到步骤2);若看门狗已被开启过,则转到应用程序段二;
2)开启看门狗,并设置看门狗开启记录;
3)调整振荡器频率,然后进行循环喂狗操作,若操作进行正常,则在操作完成后转到步骤4);若操作发生中断,则自动复位系统,在调整后的振荡器频率下,重新从应用程序段一开始执行,然后转到步骤1);
4)关闭看门狗,并转到应用程序段二。
2.如权利要求1所述的预防SoC振荡器不稳态的方法,其特征在于:所述看门狗开启记录用一寄存器的状态表示。
3.如权利要求1所述的预防SoC振荡器不稳态的方法,其特征在于:所述步骤3)中,喂狗的次数和时间间隔按照振荡器频率调整后达到稳定输出所需要的时间要求确定。
4.一种实现权利要求1所述方法的装置,其特征在于:包括一微控制单元,该微控制单元上集成有看门狗和寄存器,看门狗用于监测微控制单元的程序运行状态;寄存器用于存储看门狗的开启记录,且该寄存器不会因微控制单元被复位而被复位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010571281.8A CN102486742B (zh) | 2010-12-02 | 2010-12-02 | 一种预防SoC振荡器不稳态的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010571281.8A CN102486742B (zh) | 2010-12-02 | 2010-12-02 | 一种预防SoC振荡器不稳态的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102486742A CN102486742A (zh) | 2012-06-06 |
CN102486742B true CN102486742B (zh) | 2016-04-27 |
Family
ID=46152239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010571281.8A Active CN102486742B (zh) | 2010-12-02 | 2010-12-02 | 一种预防SoC振荡器不稳态的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102486742B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283792A (en) * | 1990-10-19 | 1994-02-01 | Benchmarq Microelectronics, Inc. | Power up/power down controller and power fail detector for processor |
CN1908856A (zh) * | 2005-08-05 | 2007-02-07 | 中兴通讯股份有限公司 | 一种复位电路装置 |
CN101271414A (zh) * | 2008-05-06 | 2008-09-24 | 江苏东大金智建筑智能化系统工程有限公司 | 嵌入式系统的全程喂狗方法 |
CN101510165A (zh) * | 2009-02-25 | 2009-08-19 | 华为技术有限公司 | 看门狗电路的喂狗方法、装置和单板 |
-
2010
- 2010-12-02 CN CN201010571281.8A patent/CN102486742B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283792A (en) * | 1990-10-19 | 1994-02-01 | Benchmarq Microelectronics, Inc. | Power up/power down controller and power fail detector for processor |
CN1908856A (zh) * | 2005-08-05 | 2007-02-07 | 中兴通讯股份有限公司 | 一种复位电路装置 |
CN101271414A (zh) * | 2008-05-06 | 2008-09-24 | 江苏东大金智建筑智能化系统工程有限公司 | 嵌入式系统的全程喂狗方法 |
CN101510165A (zh) * | 2009-02-25 | 2009-08-19 | 华为技术有限公司 | 看门狗电路的喂狗方法、装置和单板 |
Also Published As
Publication number | Publication date |
---|---|
CN102486742A (zh) | 2012-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104834581B (zh) | 一种晶体振荡器的停振监测电路 | |
US20090132846A1 (en) | Virtual machine monitor, virtual machine system and clock distribution method thereof | |
US7971076B2 (en) | Circuitry and method for monitoring a supply voltage | |
WO2017167021A1 (zh) | 异常监控方法及装置 | |
US8549277B2 (en) | Server system including diplexer | |
EP3198361B1 (en) | Hardware controlled power domains with automatic power on request | |
US8930932B2 (en) | In-service software patch | |
CN101510165B (zh) | 看门狗电路的喂狗方法、装置和单板 | |
WO2017148362A1 (zh) | 一种ddr系统的控制系统及控制方法 | |
US20210058957A1 (en) | Method and apparatus for performing scheduling request | |
CN102804101B (zh) | 用于在一个或更多个模块之间顺序地分配电力的系统和方法 | |
CN102486742B (zh) | 一种预防SoC振荡器不稳态的方法及装置 | |
CN104820622A (zh) | 一种共享内存锁管理控制方法及系统 | |
US20150346714A1 (en) | Numerical control device | |
EP2955532B1 (en) | Adaptive voltage scaling circuit and chip | |
US20130266053A1 (en) | Signal selecting circuit and signal selecting method | |
US20100198991A1 (en) | Duplexed field controller | |
CN110827866B (zh) | 一种eeprom上电读写保护电路 | |
WO2016176923A1 (zh) | 一种时钟校准方法、装置及计算机存储介质 | |
CN102751982A (zh) | 一种适用于通信设备背板开销处理的时钟选择电路 | |
US11137794B2 (en) | Systems and methods for synchronization of multiple processors | |
US20170153690A1 (en) | Method for saving energy and electronic device using the same | |
CN101388647B (zh) | 一种延长高稳晶体振荡器使用寿命的系统及其方法 | |
CN105209990A (zh) | 启动限制装置及工作机械 | |
CN108226630B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |