系統時鐘
MINI2440開發板在沒有開啟時鐘前,整個開發板全靠一個12MHz的晶振提供頻率來運行,也就是說CPU,內存,UART等需要用到時鐘頻率的硬件都工作12MHz下,而S3C2440A可以正常工作在400MHz下,兩者速度相差可想而知,就好比牛車和動車。如果CPU工作在12MHz頻率下,開發板的使用效率非常低,所有依賴系統時鐘工作的硬件,其工作效率也很低,比如,我們電腦裡面經常提到的超頻,超頻就是讓CPU工作在更高的頻率下,讓電腦運算速度更快,雖然頻率是越高越好,但是由於硬件特性決定了任何一個設備都不可能無止境的超頻,電腦超頻時要考慮到CPU或主板發熱過大,燒壞的危險,同樣開發板的主板上的外設和CPU也有一個頻率限度,ARM920T內核的S3C2440的最高正常工作頻率如下:
l FCLK:400MHz
l HCLK:100MHz
l PCLK:50MHz
既然如此,那麼怎樣讓CPU工作在400MHz,讓牛車速度提高到動車的速度呢?
1 系統工作時鐘頻率
在對系統時鐘進行提速之前,讓我們先來了解下S3C2440上的工作時鐘頻率,FCLK,HCLK,PCLK,其中FCLK主要為ARM920T內核提供工作頻率,如圖2-44所示:
圖2-44 ARM920T內核結構
HCLK主要為S3C2440 AHB總線(Advanced High performance Bus)上掛接硬件提供工作頻率,AHB總線主要掛接有內存,NAND,LCD控制器等硬件,如圖2-45所示:
圖2-45 S3C2440 AHB總線上掛接硬件
PCLK主要為APB總線提供工作頻率,由圖2-46所示,APB總線主要掛接UART串口,Watchdog等硬件控制器。
圖2-46 S3C2440 APB總線掛接硬件
也就是說,對於一些需要時鐘工作的硬件,如果切斷其時鐘源 ,就不會再工作,從而達到降低功耗的目的,這也是便攜嵌入式設備裡的一個特點。
時鐘源:為了減少外界環境對開發板電磁干擾,降低制作成本,通常開發板的外部晶振時鐘頻率都很低,MINI2440開發板由12MHz的晶振來提供時鐘源,要想讓CPU運行在更高的頻率就要通過時鐘控制邏輯單元PLL(鎖相環)來提高主頻。
S3C2440裡有兩個PLL:MPLL和UPLL,MPLL用來產生FCLK,HCLK,PCLK的高頻工作時鐘,UPLL用來為USB提供工作頻率。
圖2-47系統時鐘初始化時序
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2013-10/91831p2.htm