跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YT MCAL
  4. YTM32B1MC03 内部看门狗使用

YTM32B1MC03 内部看门狗使用

已定时 已固定 已锁定 已移动 YT MCAL
25 帖子 3 发布者 342 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • niuyanlinN 离线
    niuyanlinN 离线
    niuyanlin
    编写于 最后由 编辑
    #1

    YTMicro YTM32B1MC03 内部看门狗使用异常情况:
    使用方式:
    前提:使能内部看门狗,配置超时模式,时钟源LPO32K , 超时周期设置200ms,手动模式
    具体配置如下:014170d7-349a-458f-b655-d6389846960b-image.png
    MCU进入standby模式,使用lpTMR定时器100ms周期唤醒MCU,在lpTMR定时器通知函数(中断)进行内部看门狗喂狗操作。
    现象:MCU会发生复位,复位原因:内部看门狗复位。

    1 条回复 最后回复
    0
    • swustS 离线
      swustS 离线
      swust YunTu
      编写于 最后由 编辑
      #2

      可能是唤醒延迟导致,可以先延长复位时间看看

      1 条回复 最后回复
      0
      • niuyanlinN 离线
        niuyanlinN 离线
        niuyanlin
        编写于 最后由 编辑
        #3

        测试下来,从MCU休眠到唤醒的时间和设置的时间差不多,这个你们可以先复现一下。

        1 条回复 最后回复
        0
        • swustS 离线
          swustS 离线
          swust YunTu
          编写于 最后由 编辑
          #4

          最简工程能提供吗?

          1 条回复 最后回复
          0
          • swustS 离线
            swustS 离线
            swust YunTu
            编写于 最后由 编辑
            #5

            你这边也可以同步试一下①延长timeout时间;②进入睡眠前先喂一次狗

            1 条回复 最后回复
            0
            • niuyanlinN 离线
              niuyanlinN 离线
              niuyanlin
              编写于 最后由 编辑
              #6

              延长timeout时间,这个测试过了,是可以的,但具体原因不清楚。

              1 条回复 最后回复
              0
              • niuyanlinN 离线
                niuyanlinN 离线
                niuyanlin
                编写于 最后由 编辑
                #7

                ②进入睡眠前先喂一次狗,这个试过了,MCU还是会复位的。

                1 条回复 最后回复
                0
                • swustS 离线
                  swustS 离线
                  swust YunTu
                  编写于 最后由 编辑
                  #8

                  从MCU休眠到唤醒的时间和设置的时间差不多的话,可能刚好卡在极限时间了,最好多预留一点时间

                  1 条回复 最后回复
                  0
                  • swustS 离线
                    swustS 离线
                    swust YunTu
                    编写于 最后由 编辑
                    #9

                    再一个可能的原因是LPOCLK有一定的偏差,跟理论计算出来的值可能就略有差异。

                    1 条回复 最后回复
                    0
                    • niuyanlinN 离线
                      niuyanlinN 离线
                      niuyanlin
                      编写于 最后由 编辑
                      #10

                      软件中已考虑到LPO时钟的偏差,并进行校准,唤醒时间差不多准的。

                      1 条回复 最后回复
                      0
                      • niuyanlinN 离线
                        niuyanlinN 离线
                        niuyanlin
                        编写于 最后由 编辑
                        #11

                        d1a76a49ac94d5275503e98f20ba5f4.png

                        1 条回复 最后回复
                        0
                        • niuyanlinN 离线
                          niuyanlinN 离线
                          niuyanlin
                          编写于 最后由 编辑
                          #12

                          image.png这条回复有误,进入睡眠前先喂一次狗,MCU也不会发生复位。

                          1 条回复 最后回复
                          0
                          • swustS 离线
                            swustS 离线
                            swust YunTu
                            编写于 最后由 编辑
                            #13

                            那你可以把这个步骤加上,这是休眠唤醒的标准流程

                            1 条回复 最后回复
                            0
                            • niuyanlinN 离线
                              niuyanlinN 离线
                              niuyanlin
                              编写于 最后由 编辑
                              #14

                              具体原因需要你们排查一下。

                              1 条回复 最后回复
                              0
                              • swustS 离线
                                swustS 离线
                                swust YunTu
                                编写于 最后由 编辑
                                #15

                                那你方便的话工程发一下吧,或者给个简化版本

                                niuyanlinN 1 条回复 最后回复
                                0
                                • jiankang_wangJ 离线
                                  jiankang_wangJ 离线
                                  jiankang_wang YunTu
                                  编写于 最后由 编辑
                                  #16

                                  lptmr的中断优先等级是多少?

                                  Mcu进入低功耗会进入临界段保护,要唤醒的话,需要将中断优先级设置为0

                                  1 条回复 最后回复
                                  0
                                  • niuyanlinN 离线
                                    niuyanlinN 离线
                                    niuyanlin
                                    编写于 最后由 编辑
                                    #17

                                    MCU进入standby模式,如果使用lpTMR定时器50ms周期唤醒MCU,内部看门狗超时周期设置200ms,在lpTMR定时器通知函数(中断)进行内部看门狗喂狗操作。现象正常,不会复位。

                                    1 条回复 最后回复
                                    0
                                    • niuyanlinN 离线
                                      niuyanlinN 离线
                                      niuyanlin
                                      回复了swust 最后由 编辑
                                      #18

                                      Appl(1).zip

                                      1 条回复 最后回复
                                      0
                                      • swustS 离线
                                        swustS 离线
                                        swust YunTu
                                        编写于 最后由 编辑
                                        #19

                                        你的IAR版本太高我只能看到部分代码。你的ptmr_ch0 40ms喂狗一次,ptmr_ch2在500ms后进入standby模式,也就是ptmr_ch0过了12.5个周期,此时已经有20ms的时间没有喂狗;睡眠前设置了lptmr的周期为100ms,并且关闭了ptmr,100ms后MCU被中断唤醒,唤醒后由于ptmr呗关闭,只会在lptmr中断中喂狗,因此在一个休眠唤醒周期后的第一次喂狗时间为20+100+100ms=220ms,而你的timeout时间为200ms,所以发生了复位。

                                        1 条回复 最后回复
                                        0
                                        • niuyanlinN 离线
                                          niuyanlinN 离线
                                          niuyanlin
                                          编写于 最后由 编辑
                                          #20

                                          不应该是20ms+100ms吗?为啥是20+100+100ms=220ms?我第一次唤醒是进行喂狗操作了。

                                          1 条回复 最后回复
                                          0

                                        • 云途开发生态介绍

                                          快速上手云途开发生态

                                        • 云途论坛规则/Yuntu Forum Rules

                                          发帖前请查看

                                        • YT CONFIG TOOL调查问卷

                                          帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

                                        • can
                                          20
                                          demo
                                          20
                                          uds
                                          13
                                          lin stack
                                          10
                                          md14
                                          6
                                          fbl
                                          5
                                          yt-link
                                          5
                                          adc模块
                                          4
                                          Online Users
                                          • 登录

                                          • 登录或注册以进行搜索。
                                          • 第一个帖子
                                            最后一个帖子
                                          0
                                          • 版块
                                          • 最新
                                          • 标签
                                          • 热门