您好,登錄后才能下訂單哦!
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域.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。