EFM32片内外设--CMU之MCU跑在32KHz

记得以前有测试过EFM32采用32KHz时钟做为主频时的功耗,但是前几天想再翻一下测试记录,才发现不知道以前是没有做过测试呢还是未留下数据,反正是找不出出来了。算了,再来一次吧。

硬件平台还是选择TGSTK,代码如下:

void main(void)

{

    CHIP_Init()

    CMU_ClockSelectSet(cmuClock_HF, cmuSelect_LFRCO);

    CMU_ClockEnable(cmuClock_GPIO, true);

    GPIO_PinModeSet(gpioPortD, 7, gpioModePushPull, 0);

    while(1)

    {

        unsigned long ulDelay = 3000;

        while(ulDelay--);

        GPIO_PinOutToggle(gpioPortD, 7);

    }

}

eA Profiler一看,哇靠,功耗竟然有144uA。心想应该不至于吧,那么大。如下图所示,感觉是不是哪里没有配置好或则什么没关。高的部分是点灯造成的。暂时先不管。

从程序运行的效果上来说,这盏灯每隔大约1秒多闪烁一次,程序里面的Delay3000,应该差不多。说明MCU是以32KHz的频率在运行。因此将注意力转移至是否是什么外设没有关闭。仔细对比eMode的例程,终于醒悟到,应该是HFRCO没有关闭吧。于是修改一下代码:

void main(void)

{

    CHIP_Init();

    CMU_ClockSelectSet(cmuClock_HF, cmuSelect_LFRCO);

    /* Disable HFRCO */

    CMU_OscillatorEnable(cmuOsc_HFRCO, false, true);

    CMU_ClockEnable(cmuClock_GPIO, true);

    GPIO_PinModeSet(gpioPortD, 7, gpioModePushPull, 0);

    while(1)

    {

        unsigned long ulDelay = 3000;

        while(ulDelay--);

        GPIO_PinOutToggle(gpioPortD, 7);

    }

}

再次用eA Profiler测试,功耗竟然只有40uA左右。足足少了100uA啊。那100uA应该就是HFRCO振荡器本身的功耗了。于是查Datasheet中有关HFRCO的描述:HFRCO在不同的频率下会消耗不同的电,14MHz下面大约消耗77uA77uA3V25度下面的正常值,而目前大约是100uA

鉴于这样的思路,那么如果我不关闭HFRCO,但是将HFRCO设置到1MHz的话,那么也应该能够获得一个较低的功耗吧。测试一下:

void main(void)

{

CHIP_Init();

/*Set HFRCO to 1Mhz*/

    CMU_HFRCOBandSet(cmuHFRCOBand_1MHz);

    CMU_ClockSelectSet(cmuClock_HF, cmuSelect_LFRCO);

    /* Disable HFRCO */

    CMU_OscillatorEnable(cmuOsc_HFRCO, false, true);

    CMU_ClockEnable(cmuClock_GPIO, true);

    GPIO_PinModeSet(gpioPortD, 7, gpioModePushPull, 0);

    while(1)

    {

        unsigned long ulDelay = 3000;

        while(ulDelay--);

        GPIO_PinOutToggle(gpioPortD, 7);

    }

}

呵呵,果然,测试出来的结果是,功耗大约在66uA。查看Datasheet,HFRCO在1MHz下面的静态功耗大约为22uA。 而测量的结果是多了66-40=26uA。 还是蛮符合的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值