历史上的今天
今天是:2025年06月27日(星期五)
2018年06月27日 | LPC1788和LPC1768时钟配置的差异
2018-06-27 来源:eefocus
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来达到分频的效果。
具体分频配置如下:
史海拾趣
|
本应用文档从元件选择、电路设计和印制电路板的布线等几个方面讨论了电路板级的电磁兼容性(EMC)设计。 本文从以下几个部分进行论述:第一部分:电磁兼容性的概述第二部分:元件选择和电路设计技术第三部分:印制电路板的布线技术附录A:电磁兼容 ...… 查看全部问答> |
|
系列之二我们已经成功的编译了我们的第一个程序,当编译结束后,没有错误的时候,我就会得到编译结果,一个.bin格式的文件。 如下图,编译结果就像我们从网络上下载一个文件一样,IE提示我们,有一个文件已经准备好下载了。 前面我们已经提到,mb ...… 查看全部问答> |
|
参与HELPER2416开发板助学计划:2416开发板真的到手了,有图有真相 本帖最后由 moonyuan 于 2014-7-5 16:19 编辑 参与HELPER2416开发板助学计划 -全家福 -USB转串口,必备配件。其实可以板载USB转串口的吧? -主机 -拆开显示屏后的样子 -核心板 开兴啊。。。 论坛ID:moonyuan提交时间 ...… 查看全部问答> |
|
本帖最后由 DLHNR 于 2015-7-18 14:55 编辑 按照程序的意思,应该会写一个TXT文件在SD卡里。但是里面啥也没有。 检查了一下,卡在这一步上了: while ((mmc_ping() != MMC_SUCCESS)); // Wait till card is inserted 是因为检测不 ...… 查看全部问答> |




