被测对象:S5pv210 +512M DDR2(4*128M) 为核心的一个手持设备
输入电压 10V
uboot 下主频设置 #define CONFIG_CLK_1000_200_166_133
CPU: S5PV210@1000MHz(OK)
APLL = 1000MHz, HclkMsys = 200MHz, PclkMsys = 100MHz
MPLL = 667MHz, EPLL = 80MHz
HclkDsys = 166MHz, PclkDsys = 83MHz
HclkPsys = 133MHz, PclkPsys = 66MHz
SCLKA2M = 200MHz
210ma@10V
uboot 主频设置#define CONFIG_CLK_800_200_166_133
CPU: S5PV210@800MHz(OK)
APLL = 800MHz, HclkMsys = 200MHz, PclkMsys = 100MHz
MPLL = 667MHz, EPLL = 80MHz
HclkDsys = 166MHz, PclkDsys = 83MHz
HclkPsys = 133MHz, PclkPsys = 66MHz
SCLKA2M = 200MHz
依然是210ma@10V
囧!主频降低了200M,功耗一点也没降低,难道这个MPLL才是关键?
APLL 降低到400M 试试!看还低不低。
[ 本帖最后由 Wince.Android 于 2013-10-30 09:50 编辑 ]
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
再看看800M下降低总线时钟
uboot 设置
#define CONFIG_CLK_800_100_166_133 (200---》100)
CPU: S5PV210@800MHz(FAIL)
APLL = 800MHz, HclkMsys = 100MHz, PclkMsys = 50MHz
MPLL = 667MHz, EPLL = 80MHz
HclkDsys = 166MHz, PclkDsys = 83MHz
HclkPsys = 133MHz, PclkPsys = 66MHz
SCLKA2M = 100MHz
功耗依然没什么变化,只是少了几个ma
205ma@10V
囧死了,看来降低频率,不降低电压,是没法节省功耗的。
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
6.7.4.1 Clock Divider Control Register (CLK_DIV0, R/W, Address = 0xE010_0300)
CLK_DIV0 Bit Description Initial State
Reserved [31] Reserved 0
PCLK_PSYS_RATIO [30:28] DIVPCLKP clock divider ratio,
PCLK_PSYS = HCLK_PSYS / (PCLK_PSYS_RATIO + 1)
0x0
HCLK_PSYS_RATIO [27:24] DIVHCLKP clock divider ratio,
HCLK_PSYS = MOUT_PSYS / (HCLK_PSYS_RATIO + 1)
0x0
Reserved [23] Reserved 0
PCLK_DSYS_RATIO [22:20] DIVPCLKD clock divider ratio,
PCLK_DSYS = HCLK_DSYS / (PCLK_DSYS_RATIO + 1)
0x0
HCLK_DSYS_RATIO [19:16] DIVHCLKD clock divider ratio,
HCLK_DSYS = MOUT_DSYS / (HCLK_DSYS_RATIO + 1)
0x0
Reserved [15] Reserved 0
PCLK_MSYS_RATIO [14:12] DIVPCLKM clock divider ratio,
PCLK_MSYS = HCLK_MSYS / (PCLK_MSYS_RATIO + 1)
0x0
Reserved [11] Reserved 0
HCLK_MSYS_RATIO [10:8] DIVHCLKM clock divider ratio,
HCLK_MSYS = ARMCLK / (HCLK_MSYS_RATIO + 1)
0x0
Reserved [7] Reserved 0
A2M_RATIO [6:4] DIVA2M clock divider ratio,
SCLKA2M = SCLKAPLL / (A2M_RATIO + 1)
0x0
Reserved [3] Reserved 0
APLL_RATIO [2:0] DIVAPLL clock divider ratio,
ARMCLK = MOUT_MSYS / (APLL_RATIO + 1)
0x0
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
S5pv210跑400M 跑的速度和以前的2440 有点像
我晕,
这个400M是800M 基础上再分频的。所以肯定不会降低功耗了,不过...........系统真的变慢了,S5pv210跑400M 跑的速度和以前的2440 有点像,囧
******** System Clock Info **********
[OAL] APLL_CLK : 800000000 Hz
[OAL] MPLL_CLK : 667000000 Hz
[OAL] EPLL_CLK : 80000000 Hz
[OAL] VPLL_CLK : 54000000 Hz
[OAL] ARM_CLK : 400000000 Hz
[OAL] HCLK_MSYS : 200000000 Hz
[OAL] PCLK_MSYS : 100000000 Hz
[OAL] HCLK_DSYS : 166750000 Hz
[OAL] PCLK_DSYS : 83375000 Hz
[OAL] HCLK_PSYS : 133400000 Hz
[OAL] PCLK_PSYS : 66700000 Hz
#if defined(CONFIG_CLK_667_166_166_133)
#define APLL_MDIV 0xfa
#define APLL_PDIV 0x6
#define APLL_SDIV 0x1
#elif defined(CONFIG_CLK_533_133_100_100)
#define APLL_MDIV 0x215
#define APLL_PDIV 0x18
#define APLL_SDIV 0x1
#elif defined(CONFIG_CLK_800_200_166_133) || \
defined(CONFIG_CLK_800_100_166_133) || \
defined(CONFIG_CLK_400_200_166_133) || \
defined(CONFIG_CLK_400_100_166_133)
#define APLL_MDIV 0x64 //100
#define APLL_PDIV 0x3
#define APLL_SDIV 0x1
#elif defined(CONFIG_CLK_1000_200_166_133)
#define APLL_MDIV 0x7d //125 1GHZ=125*(24/0x3/(1<<(0x1-1)))=125*8
#define APLL_PDIV 0x3
#define APLL_SDIV 0x1
#endif
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
这个内存的时钟有点奇怪
DMC0 和DMC1 有点不一样的。
DMC0_SEL [25:24] Control MUXDMC0, which is the source clock of DMC0
(00:SCLKA2M, 01:SCLKMPLL, 10:SCLKEPLL, 11:SCLKVPLL)
DMC0_RATIO [31:28] DIVDMC0 clock divider ratio,
SCLK_DMC0 = MOUTDMC0 / (DMC0_RATIO + 1)
CLK_DMC1 [1] Gating all clocks for DMC1
(0: mask, 1: pass)
ACLK_DMC1
PCLK_DMC1
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
不知道这个测试是否还有后文。
如果不能通过降低主频降低功耗,核心板用在手持设备上会有很大的局限性。
如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460