This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

5509的低功耗设计



看TI的资料知道5509有不同的idle domain,可以分别激活或者关闭,因为程序里只用到MCBSP1 MCBSP2以及几个IO口,其余不用的想关闭,以节省功耗。但是没有查到这方面的例程,自己抖索了一下,发现在pwrm模块中有宏定义,在程序中添加代码如下:

PWR_ICR_RMK(PWR_ICR_EMIFI_EMIF_DISABLED, PWR_ICR_CLKGENI_CLKGEN_RUNNING, PWR_ICR_PERI_ALL_ACTIVE, PWR_ICR_CACHEI_CACHE_DISABLED, PWR_ICR_DMAI_DMA_DISABLED,PWR_ICR_CPUI_CPU_ACTIVE);

asm(" IDLE");

原意是想把不用的模块关掉,但是运行后,测试DSP功耗,没有丝毫变化。

请问专家,是语句有问题还是处理其他什么原因?谢谢!

  • 需要用PWR_RSET来设置, 如

    PWR_RSET( ICR, PWR_ICR_RMK(PWR_ICR_EMIFI_EMIF_DISABLED, PWR_ICR_CLKGENI_CLKGEN_RUNNING, PWR_ICR_PERI_ALL_ACTIVE, PWR_ICR_CACHEI_CACHE_DISABLED, PWR_ICR_DMAI_DMA_DISABLED,PWR_ICR_CPUI_CPU_ACTIVE));

    可以通过查看ICR, ISTR寄存器看是否设置的正确.