No.47386 作者:thl0971 邮件:thl0971@sina.com ID:70254 登陆:1次 文章数:4篇 最后登陆IP: 最后登陆:2007/2/26 17:15:59 注册:2007/2/26 17:15:59 财富:100 发帖时间:2009/4/1 17:47:58 发贴者IP:221.218.190.203 标题:thl0971:【EEWORLD】救火车和你一起学ARM系列活动之三_LPC2103系统模块设置 摘要:No.47386【EEWORLD】救火车和你一起学ARM系列活动之三_LPC2103系统模块设置 在上一个实验中,我们已经让芯片“跑”起来了。但是它是工作在默认的状态,并没能发挥出芯片的性能。我们在这次活动中,研究一下芯片的系统模块配置,使ARM芯片的性能得到充分的发挥。了解芯片的时钟源,为后续的实验打好基础。所以必须先把系统模块设置搞清楚。 在这次活动中,我们的学习目的: 第一、了解LPC2103芯片的时钟系统。分清晶振频率(FOSC)、处理器时钟(Fcclk)、系统外设时钟(Fpclk)、CCO时钟。 第二、通过对锁相环PLL和VPB分频器的配置,实现我们想要的时钟系统。 我们开始。先看下面的图。 2.jpg (8.27 KB) 2009-3-30 17:37 (图一 几种频率的关系。括号里是有关的寄存器名) PLL锁相环:可以通过PLL升频和增强抗干扰性能。 VPB分频器: 对PLL时钟分频,供给片上外设使用。 区分下面四种时钟频率的概念: 晶振频率(FOSC):外部晶振的频率,我们的板子焊的是11.0592M的。 处理器时钟(Fcclk):芯片执行指令的频率。Fcclk = FOSC × PLL倍频。相关寄存器:PLLCFG[4:0]。 VPB时钟(Fpclk):给片内外设提供的时钟频率。Fpclk=Fcclk/PLL分频。相关寄存器:APBDIV CCO时钟:不用管它是干什么的。只要把它设置成156MHz~320MHz就行。相关寄存器:PLLCFG[6:5] 下面是IAR5.4和MDK4.2的起动文件的默认配置。 IAR5.4 MDK3.24 文件名 lpc2xxx_cstartup Startup.s 版本 Revision: 21638 未标识 PLL 锁相环 未设置 默认值为 PLL倍增器值M=1 PLL分频器值P=1 PLLCFG=0x04; PLL倍增器值M=5 PLL分频器值P=2 VPB 分频器 未设置 默认值为VPB总线时钟为处理器时钟的1/4 未设置 默认值为VPB总线时钟为处理器时钟的1/4 我们发现,IAR的起动文件中没有对PLL进行配置,它是工作在默认配置下,没有倍频。相比之下,MDK的默认配置更能发挥出芯片的性能。MDK启用了PLL,ARM指令工作在5倍于晶振频率。我们现在准备在IAR中把PLL配置成6倍频、VPB 2分频的状态。 PLL配置需要的寄存器如下: PLLCON:PLL控制寄存器。控制PLL使能和PLL连接的状态。 PLLCFG:PLL配置寄存器。设置PLL倍频和PLL分频。 PLLSTAT:PLL状态寄存器。只读寄存器,读出PLL状态。 PLLFEED:PLL馈送寄存器。将值0xAA、0x55写入PLLFEED,才能使PLLCON和 PLLCFG的配置生效。 VPB配置需要的寄存器 APBDIV:VPB分频器。 计算频率值: Fosc = 11.0592MHz //外部晶振频率 ......
>>返回讨论的主题
|