S5PC100的時鐘機制
1. 時鐘域
S5PC100包含三個總線部件分,第一部分包括Cortex-A8,D0_bus和D0_bus的附加模塊。Cortex-A8只支持同步模式,以便Cortex-A8和D0_bus必須同步操作。第二部分包括D1_bus和D1_bus的附加模塊。最後部分,D2域,是低功耗的音頻。
D0域最高可以操作在166MHZ的時鐘頻率下時鐘,D1域最高可以操作在133MHZ的時鐘頻率下(D1域有很多多媒體IPs可以工作在133MHZ下)。D2域最高可以操作在80MHZ的時鐘頻率下。所有三個部分是通過異步橋進行通信的。
下圖是時鐘域的分配圖:
2 時鐘源極其選擇
∗時鐘在S5C100由以下幾類劃分:
∗時鐘來至於引腳, i.e., XusbXTI, XXTI, XXTI27, and XrtcXTI
∗時鐘來至於 時鐘管理單元(CMU), e.g., HCLKD0, HCLKD1, and etc
∗時鐘來至於USB OTG PHY(refer 7.8)
∗時鐘來至於 GPIO 引腳, e.g., XciPCLK, XpwmECLK, and etc
圖二
有圖可以看出:
3. 時鐘產生
圖2的方塊圖顯示了時鐘生成邏輯。一個外部的石英鐘是連接到振盪放大器,鎖相環把一個低頻率的時鐘轉換成一個高頻的時鐘提供給S5PC100。 時鐘發生器模塊有一個內置的邏輯來穩定時鐘頻率,因爲在每個系統復位後都需要一段時間來讓這個系統穩定。
4.總線時鐘域對應的每一個模塊
有圖可知: D0_bus,D1_bus,D2_bus分別給不同的模塊提供時鐘,這裏我們重點關注D0_BUS和D1_BUS這兩個.
5.CPU 和 BUS 時鐘
在 CPU和BUS之間,Cortex-A8只支持同步模式。 D0和D1是通過異步的方式進行通信的。
下圖是D0_BUS和D1_BUS的功能圖:
下圖是D2_BUS的功能圖:
6. 寄存器描述
6.1 PLL Mask寄存器
系統控制器控制PLL,時鐘發生器,電源管理部分和其他依賴於系統的部分,本節描述如何使用系統的特殊的功能寄存器(SFR)控制這些模塊。
這個是時鐘屏蔽寄存器,系統一共有4個PLL,故有4個屏蔽寄存器,如果輸入頻率改變或頻分(乘法)值改變了,鎖相環需要鎖定一段時間。當PLL鎖定時,即使沒有方法來檢,但是PLL指定了一個屏蔽的週期去屏蔽PLL的輸出,屏蔽的週期長短取決於每一個時鐘源。在此期間,鎖相環輸出將被屏蔽了。這就是爲什麼要設置一個屏蔽時間。
注意: 在A/M/E/H中推薦的屏蔽時間是300微秒,PLL的屏蔽值基於輸入時鐘計數的。例如,當輸入時鐘頻率是12MHZ時,屏蔽時間是300微秒,PLL_MASKTIME將爲3600(= 0xe10)。
6.2 PLL 控制寄存器
控制PLL輸出時鐘頻率的,來決定P,M,S 的值
APLL的配置表:
MPLL的配置表:
EPLL的配置表:
HPLL的配置表:
6.3 時鐘源選擇
6.4 時鐘源分頻設置寄存器
|