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

YunTu Forum

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

YTM32B1MC03 内部看门狗使用

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

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

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

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

      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
                                            25
                                            demo
                                            23
                                            lin stack
                                            13
                                            uds
                                            13
                                            md14
                                            6
                                            yt-link
                                            6
                                            fbl
                                            5
                                            adc模块
                                            4
                                            Online Users
                                            • 登录

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