CN102486742A - 一种预防SoC振荡器不稳态的方法及装置 - Google Patents

一种预防SoC振荡器不稳态的方法及装置 Download PDF

Info

Publication number
CN102486742A
CN102486742A CN2010105712818A CN201010571281A CN102486742A CN 102486742 A CN102486742 A CN 102486742A CN 2010105712818 A CN2010105712818 A CN 2010105712818A CN 201010571281 A CN201010571281 A CN 201010571281A CN 102486742 A CN102486742 A CN 102486742A
Authority
CN
China
Prior art keywords
oscillator
application program
house dog
program section
watchdog
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
Application number
CN2010105712818A
Other languages
English (en)
Other versions
CN102486742B (zh
Inventor
顾福敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huahong Integrated Circuit Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Huahong Integrated Circuit Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CN201010571281.8A priority Critical patent/CN102486742B/zh
Publication of CN102486742A publication Critical patent/CN102486742A/zh
Application granted granted Critical
Publication of CN102486742B publication Critical patent/CN102486742B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

本发明公开了一种预防SoC振荡器不稳态的方法,应用在用户程序中需要切换振荡器频率的位置处,定义该位置前、后两程序段分别为应用程序段一和二,则步骤为:1)振荡器频率调整前,查询看门狗开启记录,若未开启过,则开启看门狗并设置开启记录;若已开启过,则转到应用程序段二;2)振荡器频率调整后,进行循环喂狗操作,若正常,则关闭看门狗,转到应用程序段二;若异常,则复位,重新从应用程序段一开始执行。本发明还公开了实现该方法的装置。该方法及装置利用看门狗监测MCU程序运行状态,当振荡器在频率调整过程中出现不稳态时,看门狗自动复位MCU,从而在不增加硬件开销情况下,避免了由振荡器不稳态引发的芯片工作异常情况。

Description

一种预防SoC振荡器不稳态的方法及装置
技术领域
本发明涉及SoC设计领域,尤其涉及一种预防SoC振荡器不稳态的方法。本发明还涉及实现该方法的装置。
背景技术
SoC(System on a Chip,系统级芯片)片内振荡器是一种常用的提供系统时钟的模拟模块,相对于外部晶振加片内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(Micro Control Unit,微控制单元),该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);若操作发生中断,则自动复位系统,重新从应用程序段一开始执行;
4)关闭看门狗,并转到应用程序段二。
2.如权利要求1所述的预防SoC振荡器不稳态的方法,其特征在于:所述看门狗开启记录用一寄存器的状态表示。
3.如权利要求1所述的预防SoC振荡器不稳态的方法,其特征在于:所述步骤3)中,喂狗的次数和时间间隔按照振荡器频率调整后达到稳定输出所需要的时间要求确定。
4.一种实现权利要求1所述方法的装置,其特征在于:包括一微控制单元,该微控制单元上集成有看门狗和寄存器,看门狗用于监测微控制单元的程序运行状态;寄存器用于存储看门狗的开启记录,且该寄存器不会因微控制单元被复位而被复位。
CN201010571281.8A 2010-12-02 2010-12-02 一种预防SoC振荡器不稳态的方法及装置 Active CN102486742B (zh)

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 true CN102486742A (zh) 2012-06-06
CN102486742B 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)

* Cited by examiner, † Cited by third party
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 华为技术有限公司 看门狗电路的喂狗方法、装置和单板

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
CN102486742B (zh) 2016-04-27

Similar Documents

Publication Publication Date Title
CN102931655B (zh) 一种动态调节电压和频率的电路控制系统和方法
EP2787664B1 (en) Time synchronization method and apparatus
US20090132846A1 (en) Virtual machine monitor, virtual machine system and clock distribution method thereof
EP3208998B1 (en) Method, apparatus and system for executing distributed transaction resources
CN101814077B (zh) 一种基于oci 9的数据库访问中间件
CN104834581B (zh) 一种晶体振荡器的停振监测电路
US7971076B2 (en) Circuitry and method for monitoring a supply voltage
US20140101651A1 (en) In-Service Software Patch
US8996850B2 (en) Server system and auto-reset method of the same
US9401710B2 (en) Active diode having improved transistor turn-off control method
CN103699471A (zh) 一种计算机硬件温度控制方法及装置
WO2016197685A1 (zh) 一种芯片供电控制方法、装置及通信设备
CN112305997B (zh) 一种基于多进程的多通道数控系统的控制方法及系统
EP1928195B1 (en) Frequency control during network search by a multi-rat mobile radio communications device
CN102486742A (zh) 一种预防SoC振荡器不稳态的方法及装置
CN105573854A (zh) 一种实现终端应用处理的方法及装置
CN109962489B (zh) 一种mppt误判的校正控制方法及系统
US8060769B2 (en) Duplexed field controller
US20140312690A1 (en) System and method for sequentially distributing power among one or more modules
US20130266053A1 (en) Signal selecting circuit and signal selecting method
CN102044291B (zh) 半导体器件及其操作方法
CN101786203B (zh) 激光器变功率工作装置、打孔设备及其方法
TW201724746A (zh) 頻率調整方法、電路和用於頻率調整的全數位鎖相回路
US8471612B1 (en) Signal value storage circuitry with transition error detector
CN102570945B (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