微控制器中的故障保护时钟监视器机制

需积分: 27 7 下载量 101 浏览量 更新于2024-08-09 收藏 7.77MB PDF 举报
"故障保护时钟监视器-r for data science solutions" 在微控制器设计中,故障保护时钟监视器(FSCM)是一个关键组件,它确保设备在外部振荡器出现故障时仍能继续运行。在 PIC16F1947 这样的微控制器中,FSCM 提供了一种机制来检测并应对时钟源的失效,以防止系统崩溃。 FSCM 的主要功能是通过比较外部振荡器和内部生成的采样时钟来检测故障。当配置字寄存器中的 FCMEN 位被设置为 1 时,FSCM 被启用,它适用于所有外部振荡器模式,包括 LP、XT、HS、EC、Timer1 振荡器以及 RC 模式。FSCM 的工作原理基于一个内部的锁存器,该锁存器会在外部时钟的下降沿被置 1,然后在采样时钟的上升沿被清零。如果外部时钟在采样时钟的一个完整半周期内变为低电平,那么就会检测到故障。 当故障发生时,FSCM 将切换设备的时钟源到内部时钟源,同时在 PIR2 寄存器中设置 OSFIF 标志,并根据 PIE2 寄存器中的 OSFIE 位,如果被置 1,可能会触发中断。这样,固件可以介入处理由故障时钟导致的问题。系统时钟将保持使用内部时钟源,直到固件成功重启外部振荡器并切换回外部时钟。 清除故障保护条件通常发生在复位、执行 SLEEP 指令或修改 OSCCON 寄存器中的 SCS 位之后。OST(振荡器起振定时器)在这些情况下会被重新启动。如果在 OST 超时并成功切换到外部时钟源之后,故障条件仍未消除,OSFIF 标志会由硬件再次置 1。 FSCM 在复位或从休眠模式唤醒后也会发挥作用。OST 在这些场景下会被启动,但是不与 EC 或 RC 时钟模式一起使用。因此,FSCM 在复位或唤醒后立即生效。启用 FSCM 同时也会启用双速启动,保证在 OST 运行期间,设备始终能够执行代码。 在使用 FSCM 时,用户应当注意检查 OSCSTAT 寄存器的状态位,以验证振荡器是否成功起振以及系统时钟切换是否已完成。考虑到振荡器起振时间的广泛范围,FSCM 在振荡器起振期间不会工作。这确保了在适当的时间点进行有效的故障检测。 最后,需要注意的是,虽然中文文档提供了方便,但英文原版文档是最终的技术参考,以确保准确理解和应用 Microchip 的产品。此外,对于涉及生命维持和生命安全的应用,使用 Microchip 器件的风险由购买方承担。在使用 Microchip 技术的知识产权时,必须遵守相关的许可条款和条件。