ARM cortex a 之時鐘系統1

ARM cortex a系列的時鐘系統是一個非常複雜而且麻煩的東西,下面我們首先明確一些概念和東西。

本部分主要介紹一下時鐘系統的初始化工作,以及裏面的一些原理。

S5PV210的時鐘系統是一個非常麻煩的東西,首先需要時鐘信號的產生,時鐘發生器只有和晶振一起工作才能產生時鐘信號,這兩個單獨使用的話是沒有任何作用的。


時鐘系統分爲三個大域:即主系統(MSYS),顯示系統(DSYS),和外圍系統(PSYS)。

(1)MSYS域包括cortexA8處理器,DRAM內存控制器(DMC0和DMC1),3D,內部SRAM((IRAM, and IROM),

INTC和配置接口(SPERI)。cortex—A8僅支持同步模式,因此它必須在200 mhz 的AXI總線上同步操作。

(2)DSYS域包含顯示相關模塊,包括FIMC FIMD,JPEG,多媒體IPs(所有在X,L,T模塊中提到的“IPs”),

(3)PSYS域用於安全、I/O設備,和低功耗音頻。


時鐘的來源:

1、從時鐘信號來,比如XRTCXTI, XXTI, XUSBXTI, 以及 XHDMIXTI

2、從CMU來,例如ARMCLK, HCLK, PCLK

3、從USB協議中來

4、從GPIO中輸入

內部外設的時鐘來源源於:晶振+時鐘發生器+PLL鎖相環+分頻電路

特別提示:XUSBXTI中,推薦使用24 mhz晶振因爲iROM設計的是基於24 mhz的時鐘輸入。

HDMI:高清晰度多媒體接口(High Definition Multimedia Interface)

AMBA(Advanced Microcontroller Bus Architecture)協議,是一種面向高性能、高帶寬、低延遲的片內總線。

它的地址/控制和數據相位是分離的,支持不對齊的數據傳輸。AXI:一種總線協議。


內部時鐘生成,使用以下組件:

APLL以FINPLL作爲輸入來產生30MHz ~ 1GHz的時鐘

MPLL以FINPLL作爲輸入來產生50MHz ~ 2GHz的時鐘

EPLL以FINPLL作爲輸入來產生10MHz ~ 600MHz的時鐘

VPLL使用FINPLL或SCLK_HDMI27M作爲輸入來生成10MHz~600MHz的時鐘,該鎖相環生成54 mhz的電子時鐘。 

USB OTG PHY使用XUSBXTI來產生30MHz和48MHz的時鐘 

HDMI PHY使用XUSBXTI或者XHDMIXTI來產生54MHz


Cortex A8和MSYS域使用APLL(即ARMCLK, HCLK_MSYS, 和PCLK_MSYS)

DSYS和PSYS clock域(即HCLK_DSYS,HCLK_PSYS,PCLK_DSYS,PCLK_PSYS)和其他外圍時鐘(即audio IPs, SPI,等)使用MPLL和EPLL

Video時鐘(電子/視頻時鐘使用VPLL

時鐘控制器允許繞過PLL來獲得低頻時鐘信號,而且也可以通過軟件編程來控制時鐘和功能模塊的連接和斷開。


各個時鐘的典型值:

 freq(ARMCLK)       = 1000 MHz 

 freq(HCLK_MSYS)     = 200 MHz 

 freq(HCLK_IMEM)     = 100 MHz 

 freq(PCLK_MSYS)     = 100 MHz 

 freq(HCLK_DSYS)     = 166 MHz 

 freq(PCLK_DSYS)     = 83 MHz 

 freq(HCLK_PSYS)     = 133 MHz 

 freq(PCLK_PSYS)     = 66 MHz 

 freq(SCLK_ONENAND)   = 133 MHz, 166 MHz


PLL鎖相環(頻率加倍電路)

 APLL可以驅動MSYS域和DSYS域. 可以產生達到1 GHz, 49:51佔空比的時鐘. 

 MPLL可以驅動MSYS域和DSYS域.它提供 2 GHz和40:60佔空比的時鐘. 

 EPLL主要用來產生音頻時鐘. 

 VPLL主要用來產生視頻系統操作時鐘,54 MHz.  

 比如典型設置中, APLL驅動MSYS域,MPLL驅動DSYS域. 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章