个人感觉,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的速度?
请高手指点,万分谢谢!
打赏帖 | |
---|---|
【OZONE】使用方法总结被打赏20分 | |
【S32K314】芯片启动流程分析被打赏20分 | |
【LP-MSPM0L1306】适配 RT-Thread Nano被打赏20分 | |
今天的咸鱼也是曾经鱼跃龙门的天纵之才,中流击水,浪遏飞舟,粪土当年万户侯,数风流人物,还看今朝,被打赏5分 | |
分享一种检测按键状态的方法被打赏20分 | |
周末总结一下,STM32C0系列的开发经验被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下定时器配置被打赏20分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下PWM配置被打赏20分 | |
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 |