打印
[N32L4xx]

N32L403低功耗测试

[复制链接]
506|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lovelessing|  楼主 | 2023-1-10 14:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
N32L403低功耗测试,只焊接芯片最小单元,VDD处3.3V供电standby模式下电流最低9uA,这个数值是不是正常的,如何进一步降低待机电流,待机操作步骤如下
log_info("\r\n  MCU Goto Standby!\r\n");
        //LED_ON;
        LORA_PWR_OFF;
        TIM_Enable(TIM1, DISABLE);
        TIM_Enable(TIM6, DISABLE);
        ADC_Enable(ADC, DISABLE);
        DMA_EnableChannel(DMA_CH1, DISABLE);
        USART_Enable(USART1, DISABLE);//log
        USART_Enable(USART2, DISABLE);
        
        GPIO_InitType GPIO_InitStructure;
        GPIO_InitStruct(&GPIO_InitStructure);
        GPIO_InitStructure.Pin        = GPIO_PIN_15;
        GPIO_InitStructure.GPIO_Pull = GPIO_No_Pull;
        GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Input;
        GPIO_InitPeripheral(GPIOA, &GPIO_InitStructure);
        GPIO_InitStructure.Pin        = GPIO_PIN_7;
        GPIO_InitPeripheral(GPIOB, &GPIO_InitStructure);
        //372uA
//        GPIOA->PMODE = 0x00000000;GPIOA->PUPD = 0x00000000;
//        GPIOB->PMODE = 0x00000000;GPIOB->PUPD = 0x00000000;
//        GPIOC->PMODE = 0x00000000;GPIOC->PUPD = 0x00000000;
//        GPIOD->PMODE = 0x00000000;GPIOD->PUPD = 0x00000000;
        RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA | RCC_APB2_PERIPH_GPIOB | \
                                RCC_APB2_PERIPH_GPIOC | RCC_APB2_PERIPH_GPIOD | \
                                RCC_APB2_PERIPH_TIM1  | RCC_APB2_PERIPH_AFIO  | \
                                RCC_APB2_PERIPH_USART1, DISABLE);
        RCC_EnableAHBPeriphClk(RCC_AHB_PERIPH_ADC | RCC_AHB_PERIPH_DMA, DISABLE);
        RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_TIM6 | RCC_APB1_PERIPH_USART2, DISABLE);
        if(RESET == RCC_GetFlagStatus(RCC_CTRLSTS_FLAG_MSIRD))
        {
            RCC_ConfigMsi(RCC_MSI_ENABLE, RCC_MSI_RANGE_100K);
            while(SUCCESS != RCC_WaitMsiStable());
        }
        RCC_EnableHsi(DISABLE);
        RCC_EnableMsi(DISABLE);
        RCC_EnablePll(DISABLE);
        Wakeup_Pin_Config();
        /* Enable PWR and BKP clock */
        RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_PWR, ENABLE);
        /* Enable WKUP pin */
        PWR_WakeUpPinEnable(WAKEUP_PIN1,ENABLE);
        //DBG_ConfigPeriph(DBG_STDBY,ENABLE);
        
        /* Check if the Wake-Up flag is set */
        if (PWR_GetFlagStatus(1,PWR_STBY_FLAG) != RESET)
        {
            /* Clear Wake Up flag */
            PWR_ClearFlag(PWR_STBY_FLAG);
        }
            /* Check if the Wake-Up flag is set */
        if (PWR_GetFlagStatus(1,PWR_WKUP1_FLAG) != RESET)
        {
            /* Clear Wake Up flag */
            PWR_ClearFlag(PWR_WKUP1_FLAG);
        }
        
        //507uA
        /* Request to enter STANDBY mode */
        PWR_EnterSTANDBYMode(PWR_STOPENTRY_WFI,PWR_CTRL3_RAM2RET);
        
        //空片最低8.1uA,平均9uA
还有寄存器方式设定所有IO为输入电流反而加大了

使用特权

评论回复
沙发
sy12138| | 2023-1-10 14:32 | 只看该作者
外部电路有漏电流进来吧,我这边在开发板上跑demo实测是1uA多

使用特权

评论回复
板凳
lovelessing|  楼主 | 2023-1-10 14:46 | 只看该作者
sy12138 发表于 2023-1-10 14:32
外部电路有漏电流进来吧,我这边在开发板上跑demo实测是1uA多

只有芯片和外围电容,ldo都没有,直接3.3V供电测试的

使用特权

评论回复
地板
lovelessing|  楼主 | 2023-1-10 17:11 | 只看该作者
手册上说除了IO都输入外,所有IO还要连到静态电平,悬空还会增加功耗嘛

使用特权

评论回复
5
chenjun89| | 2023-1-10 19:40 | 只看该作者
看看芯片数据手册描述不就知道了吗

使用特权

评论回复
6
lovelessing|  楼主 | 2023-1-11 09:19 | 只看该作者
chenjun89 发表于 2023-1-10 19:40
看看芯片数据手册描述不就知道了吗

手册也写的standby不到2uA,但是测试做不到啊,也没有最低功耗测试的demo,就是不清楚哪里没有彻底关掉嘛

使用特权

评论回复
7
lovelessing|  楼主 | 2023-1-11 11:06 | 只看该作者
sy12138 发表于 2023-1-10 14:32
外部电路有漏电流进来吧,我这边在开发板上跑demo实测是1uA多

你的测试程序方便参考下嘛,sdk里面的例子不是最低功耗

使用特权

评论回复
8
sy12138| | 2023-1-11 14:19 | 只看该作者
lovelessing 发表于 2023-1-11 11:06
你的测试程序方便参考下嘛,sdk里面的例子不是最低功耗

我跑的就是demo,不过我用的是裸片测的,你有外围电路的话建议在进入低功耗之前把GPIO全部配置为模拟输入模式

使用特权

评论回复
9
lovelessing|  楼主 | 2023-1-12 09:32 | 只看该作者
sy12138 发表于 2023-1-11 14:19
我跑的就是demo,不过我用的是裸片测的,你有外围电路的话建议在进入低功耗之前把GPIO全部配置为模拟输入 ...

多谢,IO全换成模拟输入功耗降了非常大,测试只有0.9uA,应该是表有误差,但是效果已经很不错了,之前一直是设置PMODE为0的浮空输入,学习到了,非常感谢

使用特权

评论回复
10
sy12138| | 2023-1-12 09:46 | 只看该作者
lovelessing 发表于 2023-1-12 09:32
多谢,IO全换成模拟输入功耗降了非常大,测试只有0.9uA,应该是表有误差,但是效果已经很不错了,之前一 ...

好的,有外围电路的话建议配置IO模拟输入

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

130

帖子

2

粉丝