ARM11 s3c6410系列教程之一:時鐘
S3C6410的作為ARM11處理器的一種常見型號,與ARM公司和三星公司對MCU的貢獻分不開。閑話少說,現在我們來揭開該處理器的時鐘控制。
本文引用地址:http://www.j9360.com/article/203122.htm對于一個MCU來說,系統時鐘的重要性不言而喻。在該處理器的數據手冊中我們可以看到這樣的介紹:ARM1176JZF-S core clock rate maximum is 533MHz@1.1 V, 667MHz@1.2V (VDDarm),說明該處理器最高可以達到667MHz。還有更振奮人心的消息:The clock generator consists of three PLLs (Phase Locked Loop) which generate high frequency clock signals up to 1.6GHz,在如此高的時鐘頻率工作下,處理器的工作能力得到了大大提高。
我們來看下友善板子的原理圖:

在該原理圖中我們看到提供給S3C6410的時鐘為12MHz。這不禁讓我們感到迷惑,為什么在如此低的時鐘頻率下可以實現達到500MHz-600MHz的時鐘頻率呢?這就是ARM處理器的一個魅力也是讓人不容易理解的地方。其實這是由于該處理器擁有一個相位鎖存器PLL(phase locked loop)。在S3C6410中有三個PLL,一個用于設置ARMCLK,一個用于HCLK和 PCLK,一個用于外圍設備的時鐘設置。ARMCLK用于給ARM核提供時鐘, HCLK用于AXI/AHB總線, PCLK用于 APB 總線。
S3C6410的時鐘控制器可以產生系統需要的各種時鐘信號,如下圖所示:

在上圖的時鐘描述圖中,0通道表示系統默認打開,1通道表示系統默認關閉 。當設定相應寄存器后,打開1通道,同時關閉0通道。從上圖中可以看出,假如使能XTIpll ,時鐘通過0通道經過FINapll利用MUXapll后到達DIVapll后,經過分頻,將12MHz的時鐘頻率提供給ARMCLK,使ARM核工作在12MHz的時鐘頻率下。如果我們通過配置APLL可以使系統工作在更高的頻率。我這個板子是1.1v的核心電壓,所以時鐘頻率只能達到533MHz,若過高,就像電腦的超頻一樣,會產生讓人后悔的結果。我們來分析下APLL如何配置,時系統時鐘達到我們需要的523頻率。

評論