搜索
bottom↓
回复: 4

LPC2103系统模块设置

[复制链接]

出0入0汤圆

发表于 2009-4-1 16:18:08 | 显示全部楼层 |阅读模式
我们的学习目的:
第一、了解LPC2103芯片的时钟系统。分清晶振频率(FOSC)、处理器时钟(Fcclk)、系统外设时钟(Fpclk)、CCO时钟。
第二、通过对锁相环PLL和VPB分频器的配置,实现我们想要的时钟系统。

PLL锁相环:可以通过PLL升频和增强抗干扰性能。
VPB分频器: 对PLL时钟分频,供给片上外设使用。

区分下面四种时钟频率的概念:
晶振频率(FOSC):外部晶振的频率,我们的板子焊的是11.0592M的。
处理器时钟(Fcclk):芯片执行指令的频率。Fcclk = FOSC × PLL倍频。相关寄存器:PLLCFG[4:0]。
VPB时钟(Fpclk):给片内外设提供的时钟频率。Fpclk=Fcclk/PLL分频。相关寄存器:VPBDIV
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 //外部晶振频率
Fcclk = 11.0592*6 = 66.3552MHz    //必须低于芯片的最高频率70MHz
Fpclk = Fcclk/4 = 16.5888MHz      
Fcco = 66.3552*2*P = 265.4208MHz
//必须在156MHz~320MHz之间

设置过程。
先对PLLCFG设置,PLLCON置成使能,但不连接的状态。等待PLL频率锁定以后,最后把PLL设置成连接入状态,把经过PLL倍增的频率接入,作为系统时钟使用。

下面是程序例子,在main函数中调用。
void Init_VPB_PLL()
{
    //Fosc = 11.0592MHz
    //Fcclk = 11.0592*6 = 66.3552MHz
    //Fcco = 66.3552*2*P =265.4208MHz
    //Fpclk =16.5888MHz
   
   // 配置VPB分频器相关寄存器
    APBDIV = 0x00; // Fcclk * 1/4   


  //配置PLL锁相环相关寄存器
    PLLCFG = 0x25; // 0 01 00101  分频器值(P=2) 倍增器值(M=6)
    PLLCON = 0x01; // PLLE=1 PLL使能 但PLL未连接
    PLLFEED = 0xAA;// 0xAA 和0x55,为固定数据,写入以后。配置才会生效。
    PLLFEED = 0x55;

    while((PLLSTAT&(1<<10))==0);

    PLLCON = 0x03; //PLLE=1 PLLC=1 PLL使能并连接
    PLLFEED = 0xAA;
    PLLFEED = 0x55;
}

下面是main函数调用
   1+1.JPG (63.72 KB)

2009-3-30 17:37
PLL说明和设置详细内容请参考如下文档:
user.manual.lpc2101.lpc2102.lpc2103.PDF      46-53(英文原版)      
LPC2101_2102_2103_01-user_cn.PDF             19-24页 (周立功翻译)
ARM嵌入式系统基础教程+周立功 电子文档        158-164页(周立功翻译)
我们把上面程序加入上一个实验的程序中。结果发现,发光二极管闪动明显加快,这就是调置倍频的结果。


转自:http://bbs.eeworld.com.cn/thread-74386-1-1.html

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2010-1-14 20:17:41 | 显示全部楼层
不错,mark

出0入0汤圆

发表于 2010-3-21 01:49:57 | 显示全部楼层
就是这样的,最近在学习周公的LPC2103!

出0入0汤圆

发表于 2010-4-24 21:31:05 | 显示全部楼层
人过留名。

出0入0汤圆

发表于 2010-9-16 09:41:48 | 显示全部楼层
顶一下!!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 19:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表