这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » AT91RM9200,processor频率设定和运行速度的困惑?

共1条 1/1 1 跳转至

AT91RM9200,processor频率设定和运行速度的困惑?

菜鸟
2004-08-08 01:14:50     打赏
个人感觉,9200的CPU频率的设定过程是比较繁琐的,总结一下,是如下的过程:

main clock(外部主晶振)-> PLLA clock-> master clock(MCK)-> processor clock

用到的设定寄存器有两个:PLLAR,MCKR
外部晶振用的是典型的18,43200MHZ,

(1)看了Atmel公司的例程,感觉它的CPU频率设定的不大对:(
PLLAR = 0X20263E04
即: PLLA clock = 18,432000/04 * (0x26+1) =179,712000
MCKR = 0x00000202
即: MCK = PLLA clock
processor clock = 3 * MCK =539,136000 ?????
CPU频率 539M???

(2) 我自己的第1种设定
PLLAR = 0X20263E04
MCKR = 0x00000002
processor clock = MCK =179,712000

(3)我第2种设定
PLLAR = 0X200C3E04
即: PLLA clock = 18,432000/04 * (0x0C+1) =59,904000
MCKR = 0x00000202
即: MCK = PLLA clock
processor clock = 3 * MCK = 179,712000

由于9200没有直接读CPU clock的寄存器,ADS也不支持观察单条语句的执行时间,为了判断CPU的运行速度,我做了一个测试:

for(tt=0;tt<=5000;tt++)
{
for(ttt=0;ttt<=3360;ttt++)//1ms
{
__asm{
NOP;
NOP;
NOP;
NOP;
NOP;
NOP;
NOP;
NOP;
NOP;
NOP;
}
}
}

(1)的设置,在开了Icache,Dcache,完成这个循环用了 12s,不开cache用了 59s
(2)的设置,在开了Icache,Dcache,完成这个循环用了 5s,不开cache用了 20s
(3)的设置,在开了Icache,Dcache,完成这个循环用了 12s,不开cache用了 59s

现在,我有不少困惑:
i Atmel的例程为什么这样设置,对processor clock分析的方法对不对,
ii 2、3两种设置,CPUclock是相同的,为什么运行速度差这么多
iii 9200的速度可以到达 200MPIS,而最快的第2种设定,1S只做了33,600000条指令,33M的速度?
请高手指点,万分谢谢!



关键词: AT91RM9200     processor     频率         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]