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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1L系列
  4. 32B1LE14低功耗测试及问题

32B1LE14低功耗测试及问题

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

    开发环境:32B1LE14 + FreeRtos + YTC
    参考论坛某篇帖子,进入低功耗后,由UART唤醒。

    1- sleep模式: 代码如下

        // .关闭看门狗
        WDG_DRV_Deinit(0);
        
        // .关闭不需要的外设
        ADC_DRV_Reset(0); 
        MPWM_DRV_Deinit(0);
    
        // .进入低功耗(sleep模式,其它模式无法唤醒)    
        POWER_SYS_SetMode(1, POWER_MANAGER_POLICY_AGREEMENT);
        
        // .退出低功耗(复位重启)
        SystemSoftwareReset(); 
    

    实测是可以的,sleep模式下内核停运,代码不再运行。因为退出sleep模式后直接复位处理,挂os也没问题。

    YTC下关闭FXOSC(其它时钟关不了)后,sleep模式下的电流约为1mA(主频3MHz),基本满足需要。

    2- deepsleep或standby模式:
    表现为能进入低功耗,但UART唤醒不了。

    3 - 疑问:

    • 低功耗模式下看门狗会关闭,此时是否存在风险,比如MCU异常,唤醒不了的情况;

    • deepsleep或standby模式唤醒不了,是不是漏了某些设置环节

    1 条回复 最后回复
    0
    • yxydoctorY 离线
      yxydoctorY 离线
      yxydoctor
      写于 最后由 编辑
      #4

      贯彻了两位原厂老师的意见,完美解决standby低功耗问题。

      总结几点:
      1- 唤醒源一定要使能中断,唤醒后在中断回调函数中加代码无效(好像是)。

      2- 进入低功耗前需关闭看门狗,或YTC中WDG不启用低功耗使能。

      3- uart重新定义为io口模式,使能中断,唤醒后系统复位重启。

      4- lpTimer定期唤醒,重置进入低功耗参数,避免万一的开不了机。

      5- 唤醒源区分,如果唤醒后发现uart的rx引脚为低,则做开机处理,否则继续睡觉。

      1 条回复 最后回复
      0
      • DigaD 离线
        DigaD 离线
        Diga
        写于 最后由 编辑
        #2

        关于第一个,如果实在担心,可以开看门狗的中断,中断内去喂狗,喂完狗后进入低功耗。缺点是 MCU 会周期性的被 WDG 唤醒。关于第二个,检查一下 UART 的时钟在低功耗下有没有工作

        1 条回复 最后回复
        0
        • YTCQ_shejiwangY 离线
          YTCQ_shejiwangY 离线
          YTCQ_shejiwang YunTu
          写于 最后由 编辑
          #3

          你还要考虑一下你的外设是否按预期给出唤醒信号。建议你用standby模式,lptimer周期唤醒,检测外设是否还正常。这样就可以兼顾功耗和可靠性。

          1 条回复 最后回复
          0
          • yxydoctorY 离线
            yxydoctorY 离线
            yxydoctor
            写于 最后由 编辑
            #4

            贯彻了两位原厂老师的意见,完美解决standby低功耗问题。

            总结几点:
            1- 唤醒源一定要使能中断,唤醒后在中断回调函数中加代码无效(好像是)。

            2- 进入低功耗前需关闭看门狗,或YTC中WDG不启用低功耗使能。

            3- uart重新定义为io口模式,使能中断,唤醒后系统复位重启。

            4- lpTimer定期唤醒,重置进入低功耗参数,避免万一的开不了机。

            5- 唤醒源区分,如果唤醒后发现uart的rx引脚为低,则做开机处理,否则继续睡觉。

            1 条回复 最后回复
            0
            • ,FrankieF Frankie 将这个主题转为问答主题
            • ,FrankieF Frankie 将这个主题标记为已解决

          • 云途开发生态介绍

            快速上手云途开发生态

          • 云途论坛规则/Yuntu Forum Rules

            发帖前请查看

          • YT CONFIG TOOL调查问卷

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

          • can
            25
            demo
            22
            lin stack
            13
            uds
            13
            md14
            6
            yt-link
            6
            fbl
            5
            adc模块
            4
            Online Users
            limanjiangL
            limanjiang
            • 登录

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