这是描述信息

wifi ble双模芯片esp32 h2上市乐鑫科技杭州代理商GD32VF103功耗管理

wifi ble双模芯片esp32 h2上市乐鑫科技杭州代理商GD32VF103功耗管理

wifi ble双模芯片esp32 h2上市乐鑫科技杭州代理商GD32VF103功耗管理

wifi ble双模芯片esp32 h2上市乐鑫科技杭州代理商GD32VF103功耗管理

wifi

wifi ble双模芯片esp32 h2上市乐鑫科技杭州代理商GD32VF103功耗管理,GD32VF103 支持处理器工作频率调节、工作电压调整、控制外设时钟和睡眠管理4 种控制处理器功率的手段。


1.频率调节
GD32VF103 内部有 3 个锁相环电路 PLL、PLL1和 PLL2,以及多个分频器。wifi ble双模芯片esp32 h2上市乐鑫科技杭州代理商处理器的时钟管理单元(RCU)通过配置寄存器 RCU_CFGO 和 RCU_CFGI 调节处理器内部时钟频率。在示例 8.13 中,列出了设置处理器内部时钟的函数。

示例 8.13: 设置处理器时钟。

/*设置 PLL*/
void rcu_pll_config(uint32_t pll_src, uint32_t pll_mul)
{
uint32_t reg = 0U;
reg = RCU_CFGO;
/* PLL时钟倍频 */
reg &= ~(RCU_CFGO_PLLSEL |RCU_CFGO_PLLMF| RCU_CFGO_PLIME_4);
reg = (pll_src|pll_mul);
RCU_CFGO = reg;
}
/*设置 PLL1 * /
void rcu_pll1_config(uint32_t pll_mul)
{
RCU_CFG1 &= ~RCU_CFG1_PLLIMF
RCU_CFG1 = pll_mul;
}

/*设置 PLI2*/

void rcu_pll2_config(uint32_t pll_mul)
{
RCU_CFG1 &= ~RCU_CFG1_PLL2MF;
RCU_CFG1| = pll_mul;
}


2.电压调整
wifi ble双模芯片esp32 h2上市乐鑫科技杭州代理商GD32VF103 处理器利用 RCU 的电压设置寄存器 RCU_DSV,调整处理器内部,1.2V供电区域的工作电压。与 RCU_DSV[1:0]值对应的电压值如表 8.1所列。

表8.1 1.2V供电区域电压设置

RCU_DSV[1:0]    电压/V
00        1.2
01        1.1
10        1.0
11        0.9


3.总线设备使能
GD32VF103 处理器利用 RCU 总线时钟使能存器 RCU_AHBEN、RCU_APBIEN和RCU_APB2EN 管理总线上的外设时钟。wifi ble双模芯片esp32 h2上市乐鑫科技杭州代理商程序运行时,关闭未使用的外设的时钟,使未使用的外设处于静态功耗状态,降低系统能耗。

将总线时钟使能寄存器中与指定外设对应的位置 1,打开该外设时钟。如果将外设对应的位置 0,则关闭总线上设备的时钟。开启和关闭总线设备时钟的函数如示例 8.14 所示。

示例8.14:管理外设时钟。
/*开启外设 periph时钟 */
void rcu_periph clock_enable(rcu_periph_enum periph)
{
RCU_REG_VAL(periph) = BIT(RCU_BIT_POS(periph))
}
/*关闭外设 periph时钟*/
void rcu_periph_clock_disable(rcu_periph_enum periph)
{
RCU_REG_VAL(periph) & = ~BIT(RCU_BIT_POS(periph));
}
4.睡眠状态管理
GD32VF103 处理器支持 4种功耗状态:正常状态、睡眠状态(Sleep)、深度唾眠状态(Deep sleep)和后备状态(Standby)。后备状态功耗低,深度睡眠状态次之,正常状态功耗高。如图8.8所示,处理器执行 wfi/wfe 指令进入低功耗模式。wifi ble双模芯片esp32 h2上市乐鑫科技杭州代理商处理器在执行 wfi/wle时,根据系统控制寄存器和电源管理单元存器(PMU_CTL)控制位,进入不同的低功耗模式。

            NRST    
            --->
            <---    (Standby)
            wfi/wfe    
            STBMOD=1    
            CSR SLEEPVALUE=1    
            WURST=1    
                
        Interupt                EXTI    
(Sleep)    --->
        <---      (Normal)    --->
                            <---        (Deep Sleep)
        wfi/wfe                wfi/wef    
        CSR_SLEEPVALUE=0    STBMOD=0    
                            SCR SLEEPVALUE=1
<---        (Reset)
图8.8 GD32VF103 功耗状态


处理器进入睡眠状态后,如果出现中断请求,则可返回正常工作状态。处理器进入后备状态后,只有复位信号才能使处理器进入正常状态。wifi ble双模芯片esp32 h2上市乐鑫科技杭州代理商处理器在深度睡眠状态时,只能被外部中断请求唤醒。

当处理器没有处理任务或需要长时间等待时,使用 wfi/we 命令进入低功耗状态,降低系统总体能耗。进入低功耗状态的示例函数如示例 8.15 所示。

示例8.15:睡眠模式管理。

/*进人睡眠状态 sleepmodecmd */
void pmu_to_sleepmode(uint8_t sleepmodecmd)
{
clear_csr(0x811,0x1);        //CSR_SLEEPVALUE =0,选择 SLEEP 模式
if(WEI_CMD == sleepmodecmd){        //是否为 WEI命令?
__WFI();            //YES,进人 SLEEP 状态,中断唤醒
}else{        //NO,WFE命令
clear_csr(mstatus,MSTATUS MIE);    //关闭全局中断使能
set_csr(0x810,0x1);    //设置事件唤醒模式
__WEI();        //进入SLEEP 状态,事件唤醒
clear_csr(0x810,0x1);        //取消事件唤醒模式
set_csr(mstatus,MSTATUS MIE);        //使能全局中断
}
}

地址:深圳市宝安区西乡街道麻布社区宝安互联网产业基地A区6栋7栋7706

邮箱:Sales@ferry-semi.com

版权所有©2020  深圳市飞睿科技有限公司  粤ICP备2020098907号    飞睿科技微波雷达wifi模块网站地图

 

免责声明:本网站部分图片和文字内容可能来源于网络,转载目的在于传递更多信息,并不代表本网站赞同其观点或证实其内容的真实性。如涉及作品内容、版权和其它问题,请在30日内与本网站联系,我们将在第一时间删除内容!本站拥有对此声明的最终解释权。