一种晶体振荡器的停振监测电路的制作方法

文档序号:8502112阅读:438来源:国知局
一种晶体振荡器的停振监测电路的制作方法
【技术领域】
一种晶体振荡器的停振监测电路的设计方法,涉及集成电路中数字电路设计,属于微电子技术与应用领域。
【背景技术】
振荡器可分为RC振荡器、LC振荡器和晶体振荡器,在芯片中常用的有RC振荡器和晶体振荡器。RC振荡器性能稳定,一般不会出现停振故障,但是精确度低;晶体振荡器精确度高,但是性能不稳定,会出现停振故障。一般在集成电路设计中,晶体振荡器用作片外振荡器,RC振荡器用作片内振荡器,软件可以选择使用片外的晶体振荡器还是片内的RC振荡器。由于晶体振荡器性能不稳定,会出现停振故障,为了使芯片能够在晶体振荡器出现停振故障后仍可以正常工作,需要在芯片内设计一个监测电路,监测晶体振荡器是否工作正常,若正在使用晶体振荡器时,晶体振荡器出现停振现象,监测电路能发出停振信号,然后将时钟自动切换到片内RC振荡器输出的时钟。
[0003]本文所设计的电路主要监测晶体振荡的停振故障,以及晶体振荡器出现停振故障时对时钟的处理。

【发明内容】

一种晶体振荡器的停振监测电路的设计方法,包括振荡器的监测方法、监测电路的启停条件控制、振荡器停振后对系统时钟的处理、振荡器停振后向处理发出中断信号、监测电路发出的时钟失败信号。
优选的停振监测电路,其特征在于利用片内的高频振荡器OSCl和片内低频时钟0SC2来监测晶体振荡器XO是否正常工作,振荡器OSCl的频率高于0SC2和晶体振荡器XO时钟频率的2倍。
在停振监测电路中,利用高频振荡器OSCl输出的时钟对低频振荡器0SC2和晶体振荡器XO的时钟进行采样,当振荡器0SC2和晶体振荡器XO正常振荡时,得到跳变的时钟沿。在监测电路中设置一个寄存器,振荡器0SC2的时钟的上升沿将寄存器设置为低电平,晶体振荡器XO的时钟下降沿将寄存器设置为高电平,在0SC2的时钟下降沿监测寄存器的值,若此时寄存器为高电平,则晶体振荡器运行正常,若此时寄存器为低电平,则晶体振荡器已经停止了振荡。
优选的停振监测电路的启停控制,其特征在于可以由软件控制监测电路的启停。只有软件激活了停振监测电路并且晶体振荡器输出时钟稳定后,监测电路才开始监测晶体振荡器是否工作正常,软件控制增加了停振监测电路使用的灵活性,不使用晶体振荡器时,可以将监测电路关闭,可以降低功耗。
优选的晶体振荡器XO停振后对系统时钟的处理,其特征在于当晶体振荡器XO停止振荡后,时钟切换模块将晶体振荡器XO所提供的时钟快速切换到振荡器OSCl或振荡器0SC2输出的时钟。 优选的晶体振荡器停振后向处理器发出的中断请求,其特征在于:当停振信号变为高电平后产生CPU中断申请,CPU进行相应的中断处理。
监测电路向外发出时钟失败事件,该失败事件可以用于特殊事件的处理。比如在一些含有PWM模块的芯片中,可以将此时钟失败事件作为PWM的刹车信号,避免PWM处于混乱状态而导致烧坏其他器件。
【附图说明】
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明具体实施例中的时钟安全系统框图;
图2为本发明具体实施例中的晶体振荡器停振监测电路结构图;
图3为本发明具体实施例中的晶体振荡器停止振荡时产生中断申请的电路结构图;
图4为本发明具体实施例中的晶体振荡器停止振荡时产生时钟失败信号的电路结构图;
【具体实施方式】
晶体振荡器输出的时钟精确度尚,可以为芯片提供尚精度的时钟,但是晶体振荡器性能不稳定,会出现停振故障,所以在芯片设计时需要增加晶体振荡器的停振监测电路,当晶体振荡器出现停振故障时,监测电路发出停振信号,芯片将时钟切换到备用振荡器输出的时钟,这样芯片可以继续正常工作。
晶体振荡器的停振监测电路以及相应的时钟处理模块可以统称为时钟安全系统,如图1所示。时钟安全系统包括晶体振荡器XO 100、晶体振荡器的停振监测电路304、中断处理模块301、特殊事件处理模块305、时钟切换模块303、片内高频振荡器0SC1302和片内低频振荡器0SC2306.整个时钟安全系统共同完成晶体振荡器停振故障的处理。
监测电路如图2所示,电路由三部分组成:时钟沿检测电路401、寄存器设置电路402和停振信号产生电路403。其中时钟沿检测电路包括片内低频振荡器0SC2时钟上升沿监测电路501和晶体振荡器XO时钟下降沿监测电路502。在监测电路中设置一个寄存器R 503,利用振荡器OSCl输出的时钟对0SC2时钟和晶体振荡器XO的时钟进行采样,得到晶体振荡器XO和振荡器0SC2时钟的跳变沿,振荡器0SC2时钟的上升沿将寄存器R设置为低电平,晶体振荡器XO的时钟下降沿将寄存器R设置为高电平。403为停振信号产生信号,在片内低频振荡器0SC2时钟低电平半周期内监测寄存器R 503的值,若此时寄存器R为低电平,则晶体振荡器运行正常,若此时寄存器R为高电平,则晶体振荡器已经停止了振荡,若此时软件激活了监测电路,则产生晶体振荡器XO的停振信号。
为了更方便的控制监测电路的启停,增加了软件开关,若通过软件配置寄存器关闭监测电路,则监测电路不起作用,无论晶体振荡器有没有停振,监测电路都不会发出停振信号。
若芯片正在使用晶体振荡器的输出时钟作为时钟源,当晶体振荡器出现故障停振时,芯片中各个模块的时钟停止振荡,使用此时钟的模块停止工作,为了使相应的模块能自动恢复工作,监测电路自动将相应模块的时钟源由晶体振荡器XO输出的时钟切换至振荡器OSCl或0C2输出的时钟。
当晶体振荡器XO停振时,时钟切换的具体步骤为:
①监测电路将停振信号置为有效电平;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1