USB3300芯片手册:故障保护时钟监视器详解

需积分: 0 16 下载量 192 浏览量 更新于2024-08-08 收藏 8.3MB PDF 举报
"故障保护时钟监视器-usb3300 芯片手册-PIC16F1937 数据手册" 在微控制器设计中,故障保护时钟监视器(FSCM)是一个关键功能,它确保设备在外部振荡器发生故障时仍能继续运行。以PIC16F1937为例,该芯片内置的FSCM能够检测并应对各种外部振荡器模式(如LP、XT、HS、EC、Timer1振荡器和RC)中的故障。 FSCM的工作原理是通过比较外部振荡器和FSCM采样时钟来检测故障。采样时钟由LFINTOSC时钟分频得到,通常是64分频,形成一个约31kHz的频率。故障检测器内部有一个锁存器,当外部时钟的下降沿到来时置1,而在采样时钟的上升沿被清零。如果外部时钟在采样时钟的一个完整半周期结束前变为低电平,那么就认为发生了故障。 当FSCM检测到故障时,它会切换系统时钟到内部时钟源,如INTOSC,并设置PIR2寄存器的OSFIF标志,同时如果PIE2寄存器的OSFIE位也被置1,会产生中断。此时,固件可以介入处理故障,例如重启外部振荡器并恢复正常的时钟源。内部时钟源的速度由OSCON寄存器中的IRCF<3:0>位决定,可以在故障发生前进行配置。 清除FSCM的故障保护条件通常发生在复位、执行SLEEP指令或更改OSCON寄存器中的SCS位之后。如果SCS位被修改,振荡器起振定时器(OST)会重新启动。在OST超时后,故障保护条件会被清除,外部时钟源再次成为系统时钟。清除故障条件是清零OSFIF标志位的前提。 在复位或从休眠模式唤醒时,FSCM会等待振荡器起振定时器的延时结束后开始工作。对于不支持OST的EC或RC时钟模式,FSCM会在复位或唤醒后立即生效。启用FSCM也会启用双速启动功能,确保在OST运行期间,设备始终执行代码。 值得注意的是,由于振荡器的起振时间差异较大,FSCM在起振期间不工作。用户应在适当时间后检查OSCSTAT寄存器的状态位,以确认振荡器是否已成功起振且系统时钟切换完成。 FSCM是微控制器系统可靠性的重要组成部分,它通过监控外部振荡器的健康状况,保证了设备在异常情况下的持续运行能力。在设计和编程微控制器应用时,理解和正确使用FSCM功能至关重要,以确保系统的稳定性和鲁棒性。