现在在做am335x的功耗部分,发现 core 的供电电流比较大(144ma, 500mhz))左右?如何将低到70-80mA左右,我们的板子没有用到LCD, sgx530, 以太网, pru-icss部分,在uboot下读出电源管理部分的寄存器,发现他们都是处于idle状态。看TRM第8章 CORE 主要供给 wake up, 外设和gfx, 在外设中哪部分的功耗较大呢? 如何才能达到70-80ma的要求?
还有就是在 CLKCTRL寄存器中是不是 STBYST (bit 18)和 IDLEST(bit1:0) 分别为stanby 和 full idle (即 STBYST=1, IDLEST=3)才代表相应的 IP处于 idle状态?
Yaoming Qin:
我觉得可以通过降低CPU的主频
meifeng li:
回复 Yaoming Qin:
降低主频可以降低 mpu电源的电流,目前(500MHz)的电流实测约为 104mA左右,主要是考虑core这部分的电流太多,主要是都是用于外设的。而且在我们的系统中很多外设都没有用(像以太网,LCD, SGX530, SPI等)这部分可降的空间应该比较大才对?
Yaoming Qin:
回复 meifeng li:
对这些外设,如果没有调用,而且如果只是初始化了时钟部分,只是有interface clock在工作,具体耗电怎么样,这个我这边没有仔细研究过,可以关关试试看,请问您用的是什么os
meifeng li:
回复 Yaoming Qin:
用的是Linux,现在在u-boot环境下做试验。读过prm中的相关寄存器,发现大部分都是处于idle状态。试着关掉spi接口(原来是 active的), 电流没有感觉有什么变化。
不知道这么大的电流主要是消耗在什么地方了?
另我就是有点不清楚: 如果外设支持 slave 和 master 协议, 是不是要master 模式处于 standby状态,slave 模式处于 idle 状态。这个外设才算是空闲了?
比如我在uboot环境下读得prcm寄存器器:CM_PER_USB0_CLKCTRL[0x44e0001c] = 0x00030000 ,根据 TRM553页该寄存器的描述, 有CM_PER_USB0_CLKCTRL。STBYST =0 即: Module is functional (not in standby);而CM_PER_USB0_CLKCTRL。IDLEST=3 即 Disable : Module is disabled and cannot be accessed, 那么这个模块现在到底是处于哪种状态?
Yaoming Qin:
回复 meifeng li:
这个我需要时间看看,稍晚回复您
meifeng li:
回复 Yaoming Qin:
好的,先谢了
Yaoming Qin:
回复 meifeng li:
我看了下文档,觉得你说的 如果外设支持 slave 和 master 协议, 是不是要master 模式处于 standby状态,slave 模式处于 idle 状态。这个外设才算是空闲了?, 是对的。这个地方的USB0应该是出于关闭的状态。
关于电流, 您可以把您的用例仿真一下,看仿真出来的值和您测出来的值是否差距很大。
关于仿真的说明在http://processors.wiki.ti.com/index.php/AM335x_Power_Estimation_Tool,上传excel的地址在http://processors.wiki.ti.com/index.php/AM335x_Power_Estimation_Tool