故障保护时钟监视器:FSCM原理与应用实例

需积分: 3 71 下载量 62 浏览量 更新于2024-08-08 收藏 8.12MB PDF 举报
故障保护时钟监视器(FSCM)是专为单片机设计的一种功能,它旨在确保在外部振荡器发生故障时,单片机能够通过内部振荡器模块继续执行任务,从而保证系统的稳定性和可靠性。FSCM通常集成在像PIC18F45K80这样的微控制器中,特别是在那些对时钟稳定性有高要求的应用中。 启用FSCM时,LF-INTOSC振荡器负责持续监测外设时钟,并在检测到故障时切换为备用时钟。这种时钟监视通过创建一个64分频的采样时钟信号实现,它确保了足够的时钟间隔,以便在故障期间至少有一个外设时钟周期。当采样时钟下降沿与CM锁存器的1状态同时出现时,FSCM会识别到时钟故障,触发一系列操作,包括中断、时钟源切换、WDT(看门狗定时器)复位等。 特别地,FSCM与WDT的关系体现在它们都使用INTOSC作为时钟源。当发生故障导致时钟源切换到INTOSC时,可能会对代码执行速度造成显著影响。如果WDT配置有较小的预分频值,时钟速度下降可能导致WDT超时,进而复位整个系统。因此,FSCM故障事件也会触发WDT复位,从故障发生时开始重新计数,以减少错误超时的风险。 要退出故障保护模式,可以通过复位或进入低功耗管理模式来结束。在复位后,控制器会按照配置寄存器1H中的设置选择主时钟源,并在主时钟准备好之前,由INTOSC多路开关提供系统时钟。之后,时钟源会切换回正常工作状态,FSCM再次监控外设时钟。 在某些极端情况下,如果主时钟源始终无法就绪,单片机将继续使用INTOSC作为临时时钟源。直到进入低功耗模式,OSSCON寄存器才会恢复至正常状态。 故障保护时钟监视器是微控制器设计中的关键组件,它确保了系统在面对外部时钟故障时的鲁棒性和恢复能力,同时需谨慎处理与WDT和其他时钟相关的配置,以避免不必要的复位和潜在的性能问题。在使用这些功能时,用户应遵循Microchip Technology Inc.的官方文档,了解其限制和最佳实践。