导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[thl0971]【EEWORLD】救火车和你一起学ARM



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 //外部晶振频率
 ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:29毫秒 最大:7276毫秒 查询6次