看门狗(WatchDog)
RP2040 由 Raspberry Pi 设计,具有双核 Arm Cortex-M0+ 处理器和 264KB 内部 RAM,并支持高达 16MB 的片外闪存。 广泛的灵活 I/O 选项包括 I2C、SPI 和独特的可编程 I/O (PIO)。
本实例将演示如何使用看门狗(WatchDog)。
1、看门狗(WatchDog)介绍
看门狗是一个倒数计时器,如果它达到零,它可以重新启动部分芯片。 如果软件陷入无限循环,这可用于重新启动处理器。 程序员必须定期向看门狗写入一个值,以阻止它达到零。
看门狗由rst_n_run
复位,只要数字内核电源 (DVDD) 上电并稳定,并且 RUN 引脚为高电平,就会取消断言。 这允许看门狗复位馈送到上电状态机和复位控制器,如果它们在 WDSEL 寄存器中被选中,则复位它们的依赖项。 WDSEL 寄存器存在于上电状态机和复位控制器中。
1.1 Tick产生
看门狗参考时钟clk_tick
由clk_ref
驱动。 理想情况下,clk_ref 将被配置为使用晶体振荡器,以便它提供准确的参考时钟。 参考时钟在内部被分频以生成一个滴答声(标称 1μs)用作看门狗滴答声。 滴答声是使用TICK
寄存器配置的。
注意:为避免重复逻辑,此滴答也分配给计时器并用作计时器