[PSOC™] PSoC4100S Plus WatchdogTimer

[复制链接]
 楼主| IFX_Lingling 发表于 2024-2-20 12:04 | 显示全部楼层 |阅读模式
以PSoC4100S Plus 为例的Watchdog Timer:
特点:1:Watchdog的时钟是由ILO生成的LFCLK提供
         2: Free Running(16bit计数器)
         3: 可以周期性的reset芯片
         4:在active,sleep,deepsleep状态下都可以运行
模块框图如下:

1:
上电以后,watchdog的timer counter会一直计数,这个不需要特别的配置,如果需要stop counter计数,那就需要disable ILO,否则counter会一直计数,
但是code可以设置是否会reset芯片。相关寄存器见下面截图:



2:
如果需要使能reset的功能,那就需要在main.c里面调用:
  1.     /* Start the WDT */
  2.     CySysWdtEnable();
如果需要forward这个中断到cpu,需要在main.c里面调用:
  1.     /* Make sure that interrupt is forwarded to the CPU */
  2.             CySysWdtUnmaskInterrupt();
配置寄存器为:

WDT 在counter 匹配(match)到预先设置值得时候,不会清零,所以需要通过递加的方式设置match值:
  1. /* WDT match value is updated in order to obtain periodic interrupts */
  2.            CySysWdtWriteMatch(CySysWdtReadMatch() + iloMatchCounts);
需要及时的处理掉中断标志:
  1. /* Clear the watchdog interrupt */
  2.            CySysWdtClearInterrupt();
  3.         


这些API都可以在对应的工程里面看底层的寄存器配置。

这款芯片除了提供只能由ILO提供时钟的Watchdog Timer,还提供了三个Additional Timer,这个Additional的timer 可以由WCO或者ILO提供时钟。
Additonal的Timer可以配置成free running或者clear on match(configurable period),可以级联成bit位更高的timer,可以生成中断,但是不能复位芯片。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
tpgf 发表于 2024-5-8 11:25 | 显示全部楼层
看门狗定时器的时钟源都可以选择什么呢
xiaoqizi 发表于 2024-5-8 12:12 | 显示全部楼层
看门狗定时器可以当成普通的定时器来使用吗
木木guainv 发表于 2024-5-8 12:46 | 显示全部楼层
看门狗的配置倒是比较容易 关键是在什么地方喂狗
磨砂 发表于 2024-5-8 13:34 | 显示全部楼层
看门狗的时钟源一定是在深度睡眠下都可以正常运行的时钟源
wowu 发表于 2024-5-8 21:45 | 显示全部楼层
通过循环来延长看门狗的时间 会不会导致定时不准确呢
wakayi 发表于 2024-5-8 22:18 | 显示全部楼层
看门狗定时器能接受的最低的时钟频率是多少呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:
简介:关于英飞凌——我们致力于打造一个更加便利、安全和环保的世界,在赢得自身成功发展的同时,积极践行企业社会责任。

120

主题

208

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部