打印
[CW32F030系列]

CW32时钟运行中失效检测

[复制链接]
393|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2024-1-9 13:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CW32F030 支持外部时钟(HSE 和 LSE)运行中失效检测功能。在外部时钟稳定运行过程中,时钟检测逻辑持续以一定的检测周期对 HSE 和 LSE 时钟信号进行计数:在检测周期内检测到设定个数的时钟信号则运行正常,否则运行失效。

HSE 时钟的运行中失效检测周期通过 SYSCTRL_HSE.DETCNT 配置,实际时间为 SYSCTRL_HSE.DETCNT/fLSI,检测时钟个数为 0x20000。考虑到时钟都有一定的偏差,为保证检测功能可靠,HSE 检测周期参数 HSE.DETCNT的配置须留有一定的裕量,一般根据 HSE 的运行频率,配置为 8000/fHSE(其中 fHSE 为 HSE 时钟的频率,单位为MHz)。

例:如果 HSE 时钟频率为 4MHz,则 SYSCTRL_HSE.DETCNT 应配置为 2000。
LSE 时钟的运行中失效检测周期不可配置,固定为 256 个 LSI 时钟周期,检测时钟个数为 128。外部时钟故障检测功能默认处于关闭状态,此时 HSE/LSE 运行中失效不会产生相应的中断标志。通过设置SYSCTRL_CR1.HSECCS 为 1 和 SYSCTRL_CR1.LSECCS 为 1,分别使能 HSE 和 LSE 时钟故障检测功能。HSE 或LSE 时钟运行中失效检测还需要设置 SYSCTRL_CR1.LSIEN 为 1 使能内部低速时钟 LSI。
使能外部时钟的故障检测功能后,如果运行过程中检测到 HSE 或者 LSE 失效,则会产生运行中失效标志(对应SYSCTRL_ISR.HSEFAULT 或者 SYSCTRL_ISR.LSEFAULT 被置 1),如果中断使能(对应 SYSCTRL_IER.HSEFAULT或者 SYSCTRL_IER.LSEFAULT 设置为 1),则 CPU 会执行中断服务程序进行时钟运行中失效处理。

如果当前系统时钟来源为 HSE,则当 HSE 出现运行中失效时系统时钟源会自动切换到 HSI 时钟。
如果当前系统时钟来源为 LSE,则当 LSE 出现运行中失效时系统时钟源会自动切换到 HSI 时钟。

使用特权

评论回复
沙发
中国龙芯CDX| | 2024-1-9 13:51 | 只看该作者
时钟检测逻辑是一直检测的嘛?

使用特权

评论回复
板凳
jf101| | 2024-2-25 18:07 | 只看该作者
CW32F030 支持外部时钟(HSE 和 LSE)运行中失效检测功能。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1721

主题

12975

帖子

54

粉丝