微控制器中的故障保护时钟监视器及其操作机制

需积分: 50 15 下载量 166 浏览量 更新于2024-08-10 收藏 9.33MB PDF 举报
"故障保护时钟监视器-基于激光点云扫描的高精导航地图关键技术研究" 在嵌入式系统设计中,故障保护时钟监视器(FSCM)是一个至关重要的组件,它确保设备在外部振荡器发生故障时仍能保持正常运行。在PIC18F24K20等微控制器中,FSCM提供了可靠的时钟故障检测和恢复机制。本文主要介绍了FSCM的工作原理、功能、操作和清除故障的条件。 2.11 故障保护时钟监视器 FSCM的主要任务是监控外部振荡器,如LP、XT、HS、EC、RC和RCIO模式,确保其稳定运行。启用FSCM是通过设置CONFIG1H配置寄存器的FCMEN位。当外部振荡器出现故障,FSCM能够检测到并切换到内部时钟源,以防止系统停顿。 2.11.1 故障保护检测 FSCM的工作方式是通过比较外部振荡器信号和内部采样时钟。采样时钟来源于LFINTOSC分频,通常是64分频,形成约31kHz的频率。一个内部锁存器在外部时钟下降沿被置1,在采样时钟上升沿被清零。如果外部时钟在一个完整的采样时钟周期内没有变为低电平,那么就会检测到故障。 2.11.2 故障保护操作 当检测到故障时,FSCM会切换到内部时钟源,同时在PIR2寄存器中设置OSFIF标志。如果PIE2寄存器的OSFIE标志也被设置,将触发中断。软件需要处理这个中断,修复可能由时钟故障导致的问题。内部时钟源的选择由OSCON寄存器的IRCF<2:0>位决定,可以在故障发生前预先配置。 2.11.3 故障保护条件清除 清除故障保护条件通常发生在以下两种情况之一:任何复位事件或通过翻转OSCON寄存器的SCS1位。这两个操作都会重新启动振荡器起振延时定时器(OST)。在OST超时后,故障条件被清除,系统自动切换回外部时钟源。故障保护条件的清除并不依赖于清除OSFIF标志。 2.11.4 复位或从休眠中唤醒 FSCM在复位或从休眠状态唤醒后立即开始工作,利用OST来确保时钟的可靠性。需要注意的是,OST不能在EC或RC模式下使用。当FSCM启用时,双速启动也会被启用,使得设备在OST运行期间始终处于代码执行状态。 在使用PIC18F24K20这类微控制器时,了解和充分利用FSCM功能是保证系统鲁棒性和可靠性的关键。在设备启动或从休眠中唤醒后,开发者应检查OSCON寄存器的OSTS位,以确认外部振荡器是否成功起振且系统时钟已正确切换。理解这些机制对于设计高效、可靠的嵌入式系统至关重要。