LPC1788和LPC1768时钟配置的差异
来源:互联网 发布:js map使用 编辑:程序博客网 时间:2024/05/21 15:40
LPC1788和LPC1768时钟配置的差异
LPC1788和LPC1768的外部晶振都是12M,但是LPC1788可以达到120M,而LPC1768的主频只能达到100M。查资料发现这个和PLL0配置的有关系。锁相环(PLL)的作用是把一个输入频率“放大”后输出,输出的频率在通过CCLKSEL 配置后变成CPU时钟频率。观察LPC1788和LPC1768的主频配置时发现两者的PLL0配置相差挺多的。
1788配置:
1788的PLL原理图:
其中MSEL和PSEL分别是指PLL倍频器值(M)和PLL分频器值(P)。在LPC1788的寄存器PLL0CFG可以设置。Fcco指PLL振荡器的频率。
所以根据上图 PLL的输出频率 PLL_out_clk =PLL_in_clk x M 或PLL_out_clk = Fcco/(2xP)
可以看出PLL输出频率只由PLL_in_clk和M值决定,而P值是用来决定Fcco的(Fcco限制工作范围是156MHz~320MHz)
Keil中LPC1788的时钟配置:
外部晶振为12MHz,可以算出PLL_out_clk = 12MHz x 10 = 120MHz
而LPC1788的主频率 cclk = PLL_out_clk / CCLKDIV = 120MHz / 1 = 120MHz
LPC1788外设时钟的配置:
外设时钟的配置就是在主频后再分频得到的,通过配置CPU 时钟选择寄存器。
LPC1788配置出来的外设时钟都是统一的值。
Keil中外设时钟显示值:
图中的PCLK就是各个外设相同的时钟。
LPC1768时钟配置:
LPC1768的PLL原理图
LPC1788的PLL工作方式不同,LPC1768的PLL是先分频和倍频,Fcco就等于输出的PLL频率。于是 PLL_out_clk = Fcco = PLL_in_clk x M x 2 / N,可以看出PLL输出频率与M值和N值都有关。
Keil中LPC1768时钟配置
外部晶振同样是12MHz, 于是PLL_out_clk = Fcco = 12MHz x100 x 2 / 6 = 400MHz
而LPC1768的主频 CCLK= PLL_out_clk / CCLKSEL = 400MHz / 4 =100MHz
对于LPC1768外设时钟可以通过Keil中的界面进行设置:
其原理就是通过配置寄存器PCLKSEL0和PCLKSEL1来达到分频的效果。
具体分频配置如下:
- LPC1788和LPC1768时钟配置的差异
- LPC1768@100MHz和LPC1788@120MHz的PLL0设置
- LPC1768@100MHz和LPC1788@120MHz的PLL0设置
- LPC1768@100MHz和LPC1788@120MHz的PLL0设置
- LPC1768时钟配置
- 使用LPC1768实现的数字时钟和温度计
- LPC1788系统时钟的设置
- LPC1788系统时钟的设置
- 奔奔 LPC1788 入门学习笔记系列之---LPC1788时钟配置
- LPC1768菜鸟学习之时钟配置
- lpc1768 时钟与定时器
- LPC1768 -- RTC实时时钟
- LPC1768时钟详解
- LPC1788单沿pwm原理和配置
- Keil4 Ulink2调试Cortex-M3 LPC1788的配置
- STM32的时钟简介和配置方法
- 时钟和DDR的配置移植
- lpc1768的网络通讯
- 初涉R语言第四天
- javascript 判断str日期是否是今天,参数diff
- Linux 进程IPC通信实例
- poj 1265 Area
- 现代舞舞者金星
- LPC1788和LPC1768时钟配置的差异
- 最近公共祖先模版
- 从hiredis使用出core谈谈redis多线程的使用
- Java实现的3D计算机图形类库与引擎
- eclipse中的.project 和 .classpath文件的具体作用
- Java日志管理:Logger.getLogger()和LogFactory.getLog()的区别(详解Log4j)
- mac 无法连接android手机进行调试 解决方案
- ActiveMQ学习笔记01 - 客户端与服务器之间的传输连接
- Codeforces Round #254 (Div. 2)