This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] [参考译文] [FAQ] AM2634:如何在 MCAL 中配置看门狗(WDG)?

Guru**** 657500 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1240809/faq-am2634-how-to-configure-watchdog-wdg-in-mcal

器件型号:AM2634

我目前正在使用 MCAL 版本 X.Y.Z 如何将看门狗外设配置为所需的到期时间、即之后时间" t "中所示、WDG 必须过期、如果未提供服务、则必须发出 POR 复位。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    根据 AM26/273x TRM、计算过期时间(Texp)的公式  如下  

    /cfs-file/__key/communityserver-discussions-components-files/908/pastedimage1686305409575v1.png

    RTI_DWDPRLD →数字看门狗预加载值
    RTI_FCLK→WDG 外设的输入时钟频率

    在本文中、假设需要1秒的到期时间、并执行以下所有计算。 通常、WDG 与 SYSCLK 计时、即200MHz。 然而、在公式中有一个限制、即 DWDPRLD (数字窗口预加载值)不能超过4095。 因此、必须调整 RTI_FCLK 以使预加载值匹配至小于4095。

    为了匹配1秒到期时间、使用20MHz 时钟频率来进行 WDG、并执行以下计算

    Texp = 1秒、RTI_FCLK = 20MHz

    RTI_DWDPRLD =(20 * 10^6 / 2^13)- 1

                =(20 * 10^6/8192)-1
                = 2440。

    现在、要了解如何在 MCAL 软件中配置上述值、请查看下面的快照

    1.配置以下内容  MCU_ClockDiv  以下位置的值:  WDT0  从0更改为9 (这会将分频器值更改为10 (在内部会生成  +1  表示实现了200MHz/(9+1)= 20Mhz。 配置时钟分频器时需要考虑的一个额外参数是、可以根据硬件规范配置的最大时钟分频器仅为15 (0x0至0xF)。 如果在将时钟除以最大值之后、时钟的要求仍然不匹配、请考虑将时钟源直接更改为较慢的时钟(通常为 XTAL CLK - 25MHz)、而不是更改时钟分频器。

    /cfs-file/__key/communityserver-discussions-components-files/908/pastedimage1686549369912v1.png

    2.在 WDG_PBCfg.c 中,将预加载值配置为2440并启动 WDG_APP 示例。 观察到 WDG 仅每1秒触发一次。

    /cfs-file/__key/communityserver-discussions-components-files/908/pastedimage1686549733040v2.png

    观察结果:

    添加 GPIO 切换以验证 WDG 过期、~1秒 GPIO 切换。

    /cfs-file/__key/communityserver-discussions-components-files/908/pastedimage1686568288668v1.png

    谢谢