0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

带32位MCU和高精度ADC的SoC产品-SD93F系列开发指南(十)

杭州晶华微 来源:杭州晶华微 2024-01-25 17:06 次阅读

01

前言

在开发指南(九)中,我们给大家讲解了12位高速SAR ADC,本章节给大家讲解示例程序的最后一个功能:低功耗模式,参考应用手册第12章节。

02

低功耗模式简介

SD93F115 有四种工作模式,NORMAL 正常工作模式,以及 3 种低功耗模式:WAIT、 DOZE、STOP,本例将一一讲解WAIT、 DOZE、STOP模式。

对低功耗模式的描述,如下所示:

1、WAIT模式

执行wait指令进入该模式。所有原本工作的时钟源继续工作,并不被关闭。系统时钟SYS_CLK依然提供,但CPU内核停止工作,不再执行程序。中断可唤醒MCU

当MCU进入WAIT模式,无论系统时钟选择为高频、低频,FLASH自动进入它的待机模式。

从WAIT模式唤醒后,系统时钟保持与进入WAIT模式前一致。

2、DOZE模式

执行doze指令进入该模式。系统时钟SYS_CLK被关闭,CPU内核停止工作。进入DOZE模式,硬件自动关闭IHRC和XTOSC2,ILRC和XTOSC1的状态由软件决定。

从DOZE模式唤醒,自动选择过渡时钟作为系统时钟运行程序。

唤醒后,ILRC、XTOSC1、XTOSC2的最终开启状态和进入低功耗模式前由软件设置的开启状态保持一致(过渡时钟为IHRC/2)。

3、STOP模式

执行stop指令进入该模式。所有时钟源都被关闭,最大限度地降低数字电路功耗。只能通过外部中断、按键中断、定时器0使用外部时钟时产生的中断,或者外部复位、上电/掉电复位来唤醒。

从STOP模式唤醒,自动选择过渡时钟作为系统时钟运行程序。

唤醒后,ILRC、XTOSC1、XTOSC2的最终开启状态与进入低功耗模式前由软件设置的开启状态保持一致。

4、低功耗模式指令

低功耗测试没有专门的寄存器,它只有几个指令:WAIT、STOP、DOZE。打开示例程序,可以在SD931X.h文件中找到这三个指令。如下图1:

eacf80ea-bb60-11ee-8b88-92fbcf53809c.jpg

图1.低功耗指令

5、低功耗模式差异

WAIT模式下由于并没有关闭各模块的时钟源,所以每个模块还是处于工作状态,只是CPU内核停止工作,所以降低功耗有限。

DOZE模式下会硬件关闭IHRC和XTOSC2,ILRC和XTOSC1的状态由软件决定,由于大部分模块已停止工作,所以功耗已经非常低了,但ILRC和XTOSC1没有被关闭,所以还会有几个μA的功耗。

STOP模式下会硬件关闭IHRC、ILRC、XTOSC1、XTOSC2,此时所有模块都已停止工作,这是功耗最低的模式。

eaef0da2-bb60-11ee-8b88-92fbcf53809c.jpg

图2.低功耗模式差异表

注:上述表示为SD93F115-JBS在当前模式下典型值,不同的芯片存在差异。

03

功耗测试

1、软件配置

(1)STOP模式测试程序如下图所示:

eb03137e-bb60-11ee-8b88-92fbcf53809c.jpg

图3.STOP测试程序

注:在测试STOP模式时,需要先把所有IO口进行默认设置,初始化为上拉输入,关闭各种功能如上图所示。同时PWR部分需要最后关闭,防止AVDDR,BG关闭后,影响其他功能的关闭。

(2)DOZE模式测试程序如下图所示:

eb173c46-bb60-11ee-8b88-92fbcf53809c.jpg

图4.DOZE测试程序

(3)WAIT模式测试程序如下图所示:

eb2c2106-bb60-11ee-8b88-92fbcf53809c.jpg

图5.WAIT测试程序

按照上述程序的运行,芯片已进入了相应的低功耗模式,且使能了按键中断唤醒功能,所以在需要的时候可以将芯片唤醒,继续工作,由于不同低功耗模式下的唤醒中断并不一致,所以要选择合适的方式来唤醒芯片,具体唤醒方式见下图6。

eb3916e0-bb60-11ee-8b88-92fbcf53809c.jpg

图6.唤醒方式

本例采用的是按键中断唤醒,配置方式如下图所示:

eb42f372-bb60-11ee-8b88-92fbcf53809c.jpg

图7. 按键中断配置程序

需要注意在中断服务函数中及时清除中断标志位。

2、低功耗模式功耗测试

(1)STOP模式功耗

eb65e576-bb60-11ee-8b88-92fbcf53809c.jpg

图8. STOP模式功耗

(2)DOZE模式功耗

eb78558a-bb60-11ee-8b88-92fbcf53809c.jpg

图9. DOZE模式功耗

(3)WAIT模式功耗

eb8c93b0-bb60-11ee-8b88-92fbcf53809c.jpg

图10. WAIT模式功耗

(3)NORMAL模式功耗

eb9c733e-bb60-11ee-8b88-92fbcf53809c.jpg

图11.正常工作模式功耗

04

开发问题简析

开发过程中要特别注意以下几点:

1、不要上电直接进入低功耗模式,至少要做个模式进入选择或者使能低功耗唤醒。特别注意:如果上电直接进了低功耗模式,且没有设置低功耗唤醒,芯片会一直处于低功耗状态,CKLink显示连接失败,此时可通过以下方法先按住BOOT键不放,然后按下RESET键,再放开BOOT键即可强制唤醒低功耗模式,再连接调试器下载正确的程序。

2、在进入低功耗之前,建议大家手动关闭已开启的功能,如功耗测试异常可能是部分模块关闭异常,或者外围电路影响,需具体分析。

3、若是开启了独立看门狗,其不可在低功耗模式下工作。

05

总结

低功耗模式的合理运用可以大幅降低不必要的能量损耗,选择合适的唤醒方式,可以在不同方案上灵活使用。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16018

    浏览量

    343639
  • 寄存器
    +关注

    关注

    30

    文章

    5031

    浏览量

    117734
  • CLK
    CLK
    +关注

    关注

    0

    文章

    122

    浏览量

    16912
  • 定时器中断
    +关注

    关注

    0

    文章

    46

    浏览量

    11025
  • 系统时钟
    +关注

    关注

    1

    文章

    30

    浏览量

    9013

原文标题:带32位MCU和高精度ADC的SoC产品----SD93F系列开发指南(十)

文章出处:【微信号:杭州晶华微,微信公众号:杭州晶华微】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    带32位MCU高精度ADCSoC产品----SD93F系列开发指南(五)

    我们简单介绍了PWM功能的使用,本章我们再结合LCD显示功能介绍一下实时时钟RTC功能,参考应用手册第14章节。 RTC结构图     我们首先来看一下RTC的功能框图,如下图1: 图1. RTC结构图结构框图 从图中我们看到RTC模块整体分为RTC时钟源选择、时间初值设置、闹钟设置、中断控制和RTC使能控制构成,在时钟源、时间初值、闹钟和中断都配置完成后打开RTC使能,即可开始自动计时。
    发表于 09-05 13:59 481次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>----<b class='flag-5'>SD93F</b><b class='flag-5'>系列</b><b class='flag-5'>开发指南</b>(五)

    带32位MCU高精度ADCSoC产品(三)

    开发指南(二)中,我们简单介绍了按键中断的使用方法,由于示例程序的各个测试内容都有使用到LCD显示,所以本章先给大家讲解一下LCD显示的基本使用方法,参考应用手册第25章节。
    的头像 发表于 09-22 15:26 1298次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>(三)

    带32位MCU高精度ADCSoC产品----SD93F系列开发指南(一)

    示例程序是以SD93F115-JBS芯片编写,包含了按键中断、RTC中断、SD ADC、SAR ADC、RTC、DAC、低压检测、LCD显示、休眠测试等多个基础功能综合的一个程序,配合
    发表于 02-24 10:11 2372次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>----<b class='flag-5'>SD93F</b><b class='flag-5'>系列</b><b class='flag-5'>开发指南</b>(一)

    带32位MCU高精度ADCSoC产品----SD93F系列开发指南(三)

    的头像 发表于 05-27 10:28 4383次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>----<b class='flag-5'>SD93F</b><b class='flag-5'>系列</b><b class='flag-5'>开发指南</b>(三)

    带32位MCU高精度ADCSoC产品(二)

    带32位MCU高精度ADCSoC产品----SD93F
    的头像 发表于 09-22 14:02 2562次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>(二)

    带32位MCU高精度ADCSoC产品(四)

    开发指南(三)中,我们简单介绍了LCD显示的基本用法,本章我们介绍一下PWM功能的相关内容,更多细节内容参考SD93F115应用手册第21章节。
    的头像 发表于 09-22 16:42 1734次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>(四)

    带32位MCU高精度ADCSoC产品(五)

    开发指南(四)中,我们简单介绍了PWM功能的使用,本章我们再结合LCD显示功能介绍一下实时时钟RTC功能,参考应用手册第14章节。
    发表于 09-22 16:58 826次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>(五)

    带32位MCU高精度ADCSoC产品-SD93F系列开发指南(八)

    开发指南(七)中,我们简单介绍了LBT模块中低电压检测功能的测试,本章我们讲解一下24位高精度SD ADC的使用方法,详细寄存器资料参考应用手册第27章节。
    的头像 发表于 12-15 17:07 555次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>-<b class='flag-5'>SD93F</b><b class='flag-5'>系列</b><b class='flag-5'>开发指南</b>(八)

    带32位MCU高精度ADCSoC产品-SD93F系列开发指南(九)

    开发指南(八)中,我们给大家讲解了24位高精度ADCSD ADC,本章我们再给大家讲解12位高速AD
    的头像 发表于 01-12 17:14 1143次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b>-<b class='flag-5'>SD93F</b><b class='flag-5'>系列</b><b class='flag-5'>开发指南</b>(九)

    2 差分通道高精度ADC

    2 差分通道高精度ADC实时时钟,24*4 液晶的SOC特点 差分 2 通道或单端4 通道、高精度
    发表于 06-29 16:06

    MCU开发指南

    锦锐MCU开发指南:CA51F3系列一、锦锐MCU简介二、CA51F3
    发表于 11-04 08:47

    带32位MCU高精度ADCSoC产品 ----SD93F系列开发指南(六)

    01. 前言 在开发指南(五)中,我们简单介绍了RTC实时时钟功能的使用,本章我们结合LBT模块和内部OPA、OPB两路运放介绍一下DAC的相关功能,详细寄存器资料参考应用手册第11章节和第26章节
    发表于 12-01 10:17 491次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b> ----<b class='flag-5'>SD93F</b><b class='flag-5'>系列</b><b class='flag-5'>开发指南</b>(六)

    带32位MCU高精度ADCSoC产品 ----SD93F系列开发指南(六)

    01.前言 在开发指南(五)中,我们简单介绍了RTC实时时钟功能的使用,本章我们结合LBT模块和内部OPA、OPB两路运放介绍一下DAC的相关功能,详细寄存器资料参考应用手册第11章节和第26章节
    的头像 发表于 12-01 13:23 736次阅读
    带32位<b class='flag-5'>MCU</b>和<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>的<b class='flag-5'>SoC</b><b class='flag-5'>产品</b> ----<b class='flag-5'>SD93F</b><b class='flag-5'>系列</b><b class='flag-5'>开发指南</b>(六)

    基于DT5M4765系列MCU带24位高精度ADC+LCD驱动)开发的便携式血氧仪

    基于DT5M4765系列MCU带24位高精度ADC+LCD驱动)开发的便携式血氧仪
    发表于 01-31 09:33 915次阅读
    基于DT5M4765<b class='flag-5'>系列</b>(<b class='flag-5'>MCU</b>带24位<b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>+LCD驱动)<b class='flag-5'>开发</b>的便携式血氧仪

    HPM系列MCU 高精度ADC之误差分析和设计指南

    电子发烧友网站提供《HPM系列MCU 高精度ADC之误差分析和设计指南.pdf》资料免费下载
    发表于 09-19 15:45 0次下载
    HPM<b class='flag-5'>系列</b><b class='flag-5'>MCU</b> <b class='flag-5'>高精度</b><b class='flag-5'>ADC</b>之误差分析和设计<b class='flag-5'>指南</b>