打印
[产品应用]

CW32x030 时钟运行中失效检测

[复制链接]
440|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

CW32x030 支持外部时钟(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 时钟。

使用特权

评论回复
沙发
tpgf| | 2025-2-8 12:38 | 只看该作者
CW32x030 支持外部时钟(HSE 和 LSE)运行中失效检测功能

使用特权

评论回复
板凳
chenjun89| | 2025-2-9 09:10 | 只看该作者
这样切换感觉不安全,如果刚好在执行重要任务怎么办。

使用特权

评论回复
地板
xiaoqizi| | 2025-2-10 20:21 | 只看该作者
HSE 时钟运行中失效检测周期通过 [size=0.875]SYSCTRL_HSE.DETCNT 配置,实际时间为 [size=0.875]SYSCTRL_HSE.DETCNT/fLSI,检测时钟个数为 0x20000

使用特权

评论回复
5
木木guainv| | 2025-2-10 23:55 | 只看该作者
LSE 时钟运行中失效检测周期不可配置,固定为 256 个 LSI 时钟周期,检测时钟个数为 128

使用特权

评论回复
6
Jiangxiaopi| | 2025-2-11 11:47 | 只看该作者
外部时钟故障检测功能默认处于关闭状态,此时 HSE/LSE 运行中失效不会产生相应的中断标志

使用特权

评论回复
7
荣陶陶| | 2025-2-11 20:23 | 只看该作者
struct FlashDevice const FlashDevice = {
    FLASH_DRV_VERS,                             // Driver Version, do not modify!
    "MM32F5260 QSPI FlashLoader",              // Device Name
    EXTSPI,                                    // Device Type
    0x90000000,                               // Device Start Address
    0x01000000,                               // Device Size in Bytes (16MB)
    256,                                       // Programming Page Size
    0,                                         // Reserved, must be 0
    0xFF,                                     // Initial Content of Erased Memory
    3000,                                     // Program Page Timeout 100 mSec
    3000,                                     // Erase Sector Timeout 3000 mSec
    // Specify Size and Address of Sectors
    {
        {0x001000, 0x000000},                // Sector Size 4kB (1 Sectors)
    }
};
根据实际情况修改上述结构体中的参数,如芯片容量、扇区大小、页大小、起始地址等,以适配所使用的具体QSPI Flash芯片

使用特权

评论回复
8
Zhiniaocun| | 2025-2-12 17:58 | 只看该作者
如果当前系统时钟来源为 HSE,则当 HSE 出现运行中失效时系统时钟源会自动切换到 HSI 时钟;如果当前系统时钟来源为 LSE,则当 LSE 出现运行中失效时系统时钟源会自动切换到 HSI 时钟

使用特权

评论回复
9
peterLaw| | 2025-2-18 16:48 | 只看该作者
HSE 时钟运行一定要进行检测

使用特权

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

本版积分规则

267

主题

2329

帖子

5

粉丝