打印
[牛人杂谈]

M261的主电源切换方法

[复制链接]
464|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主


在手册360页有提到选择位的寄存器位置。
然后查看头文件,找到DCDC关键字。

/*---------------------------------------------------------------------------------------------------------*/
/*  PLCTL constant definitions. (Write-Protection Register)                                                */
/*---------------------------------------------------------------------------------------------------------*/
#define SYS_PLCTL_PLSEL_PL0     (0x0UL<<SYS_PLCTL_PLSEL_Pos)   /*!< Set power level to power level 0 */
#define SYS_PLCTL_PLSEL_PL1     (0x1UL<<SYS_PLCTL_PLSEL_Pos)   /*!< Set power level to power level 1 */
#define SYS_PLCTL_MVRS_LDO      (0x0UL<<SYS_PLCTL_MVRS_Pos)    /*!< Set main voltage regulator type to LDO */
#define SYS_PLCTL_MVRS_DCDC     (0x1UL<<SYS_PLCTL_MVRS_Pos)    /*!< Set main voltage regulator type to DCDC */
然后找对应的.c

/**
  * [url=home.php?mod=space&uid=247401]@brief[/url]      Set Main Voltage Regulator Type
  * @param[in]  u32PowerRegulator is main voltage regulator type. Including :
  *             - \ref SYS_PLCTL_MVRS_LDO
  *             - \ref SYS_PLCTL_MVRS_DCDC
  * @retval     0  main voltage regulator type setting is not finished
  * @retval     1  main voltage regulator type setting is finished
  * [url=home.php?mod=space&uid=1543424]@Details[/url]    This function set main voltage regulator type.
  *             The main voltage regulator type setting to DCDC cannot finished if the inductor is not detected.
  *             The register write-protection function should be disabled before using this function.
  */
uint32_t SYS_SetPowerRegulator(uint32_t u32PowerRegulator)
{
    int32_t i32TimeOutCnt = 400;
    uint32_t u32Ret = 1U;
    uint32_t u32PowerRegStatus;

    /* Get main voltage regulator type status */
    u32PowerRegStatus = SYS->PLSTS & SYS_PLSTS_CURMVR_Msk;

    /* Set main voltage regulator type */
    if((u32PowerRegulator == SYS_PLCTL_MVRS_DCDC) && (u32PowerRegStatus == SYS_PLSTS_CURMVR_LDO))
    {

        /* Set main voltage regulator type to DCDC if status is LDO */
        SYS->PLCTL |= SYS_PLCTL_MVRS_Msk;

        /* Wait induction detection and main voltage regulator type change ready */
        while((SYS->PLSTS & SYS_PLSTS_CURMVR_Msk) != SYS_PLSTS_CURMVR_DCDC)
        {
            if(i32TimeOutCnt-- <= 0)
            {
                u32Ret = 0U;    /* Main voltage regulator type change time-out */
                break;
            }
        }

    }
    else if(u32PowerRegulator == SYS_PLCTL_MVRS_LDO)
    {

        /* Set main voltage regulator type to LDO if status is DCDC */
        SYS->PLCTL &= (~SYS_PLCTL_MVRS_Msk);

        /* Wait main voltage regulator type change ready */
        while((SYS->PLSTS & SYS_PLSTS_CURMVR_Msk) != SYS_PLSTS_CURMVR_LDO)
        {
            if(i32TimeOutCnt-- <= 0)
            {
                u32Ret = 0U;    /* Main voltage regulator type change time-out */
                break;
            }
        }

    }

    /* Clear main voltage regulator type change error flag */
    if(SYS->PLSTS & SYS_PLSTS_MVRCERR_Msk)
    {
        SYS->PLSTS = SYS_PLSTS_MVRCERR_Msk;
        u32Ret = 0U;
    }

    return u32Ret;
}


使用特权

评论回复
沙发
734774645|  楼主 | 2020-2-20 18:27 | 只看该作者
这样就可以在LDO和DCDC之间选择了,可以降低功耗。

使用特权

评论回复
板凳
734774645|  楼主 | 2020-2-20 18:28 | 只看该作者
Regarding the power consumption of the NuMicro® M261/M262/M263 series, 97 μA/MHz (LDO mode) and 45 μA/MHz (DC-DC mode) in normal run mode, 2.8 μA in Standby Power-down mode, and less than 2μA in Deep Power-down mode without VBAT. It’s low power, wide supply voltage and fast wake-up features make it suitable for battery-powered IoT applications.

使用特权

评论回复
地板
nbiot| | 2020-2-20 20:09 | 只看该作者
我分别运行了下面和代码,延时30秒后测电流,运行时电流2.5ma,掉电后差不多0.7ma,几乎相同呀,看资料不是区别差不多2倍吗?什么原因呀?
       
SYS_SetPowerRegulator(SYS_PLCTL_MVRS_LDO);

SYS_SetPowerRegulator(SYS_PLCTL_MVRS_DCDC);

使用特权

评论回复
5
643757107| | 2020-2-20 22:49 | 只看该作者
nbiot 发表于 2020-2-20 20:09
我分别运行了下面和代码,延时30秒后测电流,运行时电流2.5ma,掉电后差不多0.7ma,几乎相同呀,看资料不是 ...

45 μA/MHz

你的是多少MHz速度

使用特权

评论回复
6
643757107| | 2020-2-20 22:49 | 只看该作者
掉电不彻底?

使用特权

评论回复
7
nbiot| | 2020-2-21 11:08 | 只看该作者
6MHz

使用特权

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

本版积分规则

199

主题

3480

帖子

14

粉丝