单片机PIC16的外设--故障保护时钟监视器解析

单片机PIC16的外设--故障保护时钟监视器解析,第1张

我在使用外部时钟源提供时钟信号的时候,可能会遇到一种尴尬的情况,就是外部时钟源突然就崩溃了,没有一点点预兆。这样就相当于系统就崩了。所以一个健康茁壮的系统,必须要有一个监测调度机构,就像守夜人一样。PIC16就提供了有这样功能的外设------故障保护时钟监视器(FSCM)。

故障保护时钟监视器(FSCM)使得器件在出现外部振荡器或外部时钟故障时,自动调度到内部时钟源继续进行工作。如果选择了振荡器模式,FSCM能在振荡器起振定时器(OST)延时结束后的任一时刻检测振荡器故障。当选择了外部时钟模式时,FSCM能在器件从复位释放后立即检测振荡器故障。

FSCM通过将配置字中的FCMEN位置1来使能。FSCM可用于外部振荡器模式(HS)、外部时钟模式(ECH、ECM、ECL和EXTRC)和辅助振荡器(SOSC)。

故障保护时钟监视器(FSCM)

SCS(在OSCCON寄存器中)= 00,由配置字中的FOSC<1:0>决定时钟来源。

配置字CONFIG1的bit 13(FCMEN)置1,使能故障保护时钟监视器;bit 2-0(FOSC<2:0>)= 010,选用外部晶振作为时钟源。

故障保护条件清除

SCS<1:0> = 1x:

修改OSCCON寄存器中SCS位,以选择内部振荡器模块。这会复位振荡器起振定时器OST并允许其重新工作。

OSFIF = 0:

将PIR2寄存器的OSFIF位清零(发生故障时OSFIF会被硬件置1,触发中断,这里先略过不提)。

SCS<1:0> = 00:

修改OSCCON寄存器的SCS位,以选择FOSC配置字时钟选择。这会启动振荡器起振定时器OST。CPU将继续依靠内部振荡器工作,直到达到OST计数。当OST超时后,时钟模块将切换到外部晶振且故障保护条件将被清除。

单片机PIC16的外设--故障保护时钟监视器解析,第2张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2639235.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-12
下一篇 2022-08-12

发表评论

登录后才能评论

评论列表(0条)

保存