历史上的今天
今天是:2025年03月04日(星期二)
2020年03月04日 | lpc2114系统时钟的设置
2020-03-04 来源:eefocus
LPC2114微控制器的系统时钟有三种:晶振或外部时钟源为Fosc,经PLL调整后供给CPU得时钟为Fcclk,而经VPB分频器后供给外围器件的时钟为Fpclk。
1、对PLL设置
PLL接受的输入时钟频率范围为10MHZ~25MHZ。输入频率经过一个电流控制振荡器(CCO)倍增到范围10MHZ~60MHZ。倍频器可以是从1到32得整数,但实际上由于CPU最高频率得限制,其倍频值不能高于6。CCO得操作频率范围为156MHZ—320MHZ,因此在环中有个额外的倍频器在PLL提供所需要得输出频率时使CCO保持在频率范围内。输出分频器可设置为2、4、8或16分频。由于输出分频器得最小值为2,它保证了PLL输出有50%得占空比。
PLL在芯片复位后被关闭并旁路,它可通过软件使能。程序必须在配置并激活PLL后等待其锁定,然后再连接PLL。
PLL基本操作方法:
①设置PLLCFG寄存器,即倍频值(M)和分频值(P);
②PLLCON=0x01 ,即PLLE位置位,使能PLL部件;
③PLLFEED=0xaa,PLLFEED=0x55,使PLLCON和PLLCFG寄存器得更改生效;
④读取PLLSTAT的值,等待PLL锁定;
⑤PLLCON=0x03,即PLLC位置位,连接PLL时钟;
⑥PLLFEED=0xaa,PLLFEED=0x55,使连接生效。
PLL设置相关计算:
Fcclk=M×Fosc
其中M为1~6,Fcclk<60MHZ.
Fcco=Fcclk×2×P
其中P为2/4/8/16,Fcco为156MHZ~320MHZ。
2、VPB分频器设置
设置VPBDIV值进行分频设置,可设置为Fcclk的1/4,相同,1/2时钟作为Fpclk。
3、位于Target.c中的系统时钟设置代码(一般不需要修改)
PLLCON =0x01;
//PLL被激活但是尚未连接,即PLLE置位,使能PLL部件 [PLLC:PLLE]=01
#if (Fpclk / (Fcclk / 4)) == 1
VPBDIV = 0;
//VPB总线时钟为处理器时钟的1/4,VPBDIV寄存器的[1:0]位,设置VPB时钟速率 00
#endif
#if (Fpclk / (Fcclk / 4)) == 2
VPBDIV = 2; //VPB总线时钟为处理器时钟的1/2 10
#endif
#if (Fpclk / (Fcclk / 4)) == 4
VPBDIV = 1; //VPB总线时钟等于处理器时钟 01
#endif
#if (Fcco / Fcclk) == 2 //P值等于1, 即是PSEL位PLLCFG[6:5] 00
PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);
#endif
#if (Fcco / Fcclk) == 4 //P值等于2 01
PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);
#endif
#if (Fcco / Fcclk) == 8 //P值等于4 10
PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);
#endif
#if (Fcco / Fcclk) == 16 //P值等于8 11
PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);
#endif
PLLFEED = 0xaa;
PLLFEED = 0x55; //使PLLCON和PLLCFG寄存器得更改生效
while((PLLSTAT & (1 << 10)) == 0); //读取PLLSTAT值,等待PLL锁定,PLLSTAT寄存器的第十位位PLOCK,为0时,PLL未锁定;为1时,锁定到指定得频率.
PLLCON = 0x03; //PLL已使能并连接到处理器作为系统时钟源 即PLLC置位,连接PLL时钟 [PLLC:PLLE]=11
PLLFEED = 0xaa;
PLLFEED = 0x55; //使PLLCON和PLLCFG寄存器得更改生效
3、位于config.h中的时钟配置(根据需要自己设定)
#define Fosc 11059200 //晶振(外部时钟源)11.0592MHZ
#define Fcclk (Fosc * 4) //即M=4
#define Fcco (Fcclk * 4) //即P=2
#define Fpclk (Fcclk / 4) * 1 //VPB分频器VPBDIV值, Fcclk的1/4
上一篇:LPC2148的烧录的方法
史海拾趣
|
伙计们: 作为FPGA初学者,或已经工作,但是接触机会不多,又想学好它的人来说,有一个开发板是不错的。 可是这些人一般不会了解哪个好,那个不好。那就请高手来介绍或者指导买哪家的了。 在此,也强烈建议论坛开展一个diyFPGA开发板的活动… 查看全部问答> |
|
我已经从把摄像头采集的数据保存使用 mmap 内存映射来获取了图像,当用write函数得出的是jpeg格式的 我想得到bmp格式的图片怎么做,跪求,急用。谢谢各位。 … 查看全部问答> |
|
用verilog HDL 实现一个网络加密的算法(md5),有没有哪位高手能给点帮助,我邮箱是poppy220@126.com 先谢过啦!^_^ … 查看全部问答> |
|
附件为在使用STM32外设,进行初始化时,各个外设需要对哪些时钟进行配置的列表。希望大家对该文件的内容多提意见,我们将对其进行修改,使得大家在使用STM32时有所帮助。 相关链接:https://bbs.eeworld.com.cn/upfiles/img/20093/200931217123 ...… 查看全部问答> |
|
最近刚刚开始接触STM32,今天调试串口的时候发现一个很无奈的问题,源代码基本都是使用keil自带的demo,就不列举了。修改以下这些设置:/* PLLCLK = 12MHz * 6= 72 MHz */ RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_6 ...… 查看全部问答> |
|
想扩展个NOR FLASH ,SDRAM,FPGA,想问下各位,能实现吗?我是说都用EPI连接?可是手册上说配EPI的模式不同,如何实现?谢谢。 如果用MCU到FPGA,再到SDRAM,,不就多此一举了吗, 如果用I2C的或者SPI的FLASH,程序是不是得先考到RAM里? … 查看全部问答> |




