mini2440的MPLL和UPLL

Posted souroot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mini2440的MPLL和UPLL相关的知识,希望对你有一定的参考价值。

S3C2440有两个PLL(phase locked loop)一个是MPLL,一个是UPLL。MPLL用于CPU及其他外围器件,UPLL用于USB。用于产生FCLK, HCLK, PCLK三种频率,这三种频率分别有不同的用途: 

1.FCLK是CPU提供的时钟信号。 
HCLK是为AHB总线提供的时钟信号, Advanced High-performance Bus,主要用于高速外设,比如内存控制器,中断控制器,LCD控制器, DMA 等。 

从S3C2440的DataSheet里可以看到,S3C2440最大支持400MHz的主频,但是这并不意味着一定工作在400MHz下面,可以通过设定MPLL, UPLL寄存器来设定CPU的工作频率。 
尽管在CPU上电(power-on)或者复位(reset)后,MPLL就开始进入工作状态,但是此时MPLL的输出(Mpll)并不作为系统的时钟,而是直接使用外部信号EXTCLK或者外部时钟晶振作为系统时钟。直到软件初始化MPLL寄存器(rMPLLCON),写入了有效的值过后,系统才开始使用MPLL的输出(Mpll)作为系统时钟。虽然很多时候我们不必重新设置MPLL寄存器(rMPLLCON)新的值,但是为了使系统使用其输出作为时钟信号,在软件初始化系统部分,还是要向rMPLLCON写入一个有效的旧的值。这样子才使系统处于正确的工作状态。

 

2.HCLK是为AHB总线提供的时钟信号, Advanced High-performance Bus,主要用于高速外设,比如内存控制器,中断控制器,LCD控制器, DMA 等。 

3.PCLK是为APB总线提供的时钟信号,Advanced Peripherals Bus,主要用于低速外设,比如看门狗,UART控制器, IIS, I2C, SDI/MMC, GPIO,RTC and SPI等。

以上是关于mini2440的MPLL和UPLL的主要内容,如果未能解决你的问题,请参考以下文章

最近研究ARM嵌入式,想问问精智的JZ2440和mini2440这两块开发板的区别在哪里!

[mini2440] 使用 miniTool 给 mini2440 刷机

使用keil SDK方式点亮mini2440的led灯

[Mini2440] 编译 linux-2.6.32.2 内核

内核搭建完整的mini2440开发板驱动开发环境(仿照JZ2440驱动开发环境搭建)

[Mini2440 - 011] 配置编译 linux-2.6 内核