这里首先引入一个概念:
一、时钟域:(CLOCK DOMAINS)
S5PV210 consists of three clock domains, namely, main system (MSYS), display system (DSYS), and peripheral system (PSYS)。
S5PV210包含3个时钟域,分别是主系统(MSYS),显示系统(DSYS),外围设备系统(PSYS)。
• MSYS domain comprises Cortex A8 processor, DRAM memory controllers (DMC0 and DMC1), 3D, internal
SRAM (IRAM, and IROM), INTC, and configuration interface (SPERI). Cortex A8 supports only synchronous
mode, and therefore it must operate synchronously with 200MHz AXI buses.
* MSYS域包括Cortex A8处理器,DRAM存储控制器(DMC0和DMC1),3D,内部SRAM(IRAN和IROM),INTC,配置管理界面(SPERI)。Cortex A8只支持同步的模块,因此它必须与200MHz AXI 总线同步运行。
• DSYS domain comprises display related modules, including FIMC, FIMD, JPEG, and multimedia IPs (all other IPs mentioned in X, L, and T blocks)
* DSYS域包括显示相关的模块,包括FIMC,FIMD,JPEG和多媒体 IP等。
• PSYS domain is used for security, I/O peripherals, and low power audio play .
这个图可以看到S5PV210的时钟来源,最左边可以看到它有四个晶振接口,在设计板子硬件的时候我们可以根据需要来选择使用哪个晶振接口,然后接了晶振之后板子上电相应的模块就能产生振荡,产生原始时钟。然后原始时钟再经过一系列的筛选开关进入相应的PLL电路生成倍频后的高频时钟,高频时钟再经过分频到达芯片内部各模块上。(有些模块再次基础上还会有进一步分频,例如串口等)。
三、PLL:APLL、MPLL、EPLL、VPLL
It is recommended to use 24MHz input clock source for APLL, MPLL, EPLL and VPLL.
S5PV210推荐使用24MHz作为APLL,MPLL,EPLL和VPLL的时钟源。
To generate internal clocks, the following components are used.
• APLL uses FINPLL as input to generate 30MHz ~ 1GHz.
• MPLL uses FINPLL as input to generate 50MHz ~ 2GHz.
• EPLL uses FINPLL as input to generate 10MHz ~ 600MHz.
• VPLL uses FINPLL or SCLK_HDMI27M as input to generate 10MHz ~ 600MHz. This PLL generates 54MHz
video clock.
• USB OTG PHY uses XUSBXTI to generate 30MHz and 48MHz.
• HDMI PHY uses XUSBXTI or XHDMIXTI to generate 54MHz .
上面可以看到相应元件时钟源的频率范围。
In typical S5PV210 applications,
• Cortex A8 and MSYS clock domain uses APLL (that is, ARMCLK, HCLK_MSYS, and PCLK_MSYS).
• DSYS and PSYS clock domain (that is, HCLK_DSYS, HCLK_PSYS, PCLK_DSYS, and PCLK_PSYS) and
other peripheral clocks (that is, audio IPs, SPI, and so on) use MPLL and EPLL.
• Video clocks uses VPLL.
• MSYS clock domain
- freq(ARMCLK) = freq(MOUT_MSYS) / n, where n = 1 ~ 8
- freq(HCLK_MSYS) = freq(ARMCLK) / n, where n = 1 ~ 8
- freq(PCLK_MSYS) = freq(HCLK_MSYS) / n, where n = 1 ~ 8
- freq(HCLK_IMEM) = freq(HCLK_MSYS) / 2
- freq(HCLK_DSYS) = freq(MOUT_DSYS) / n, where n = 1 ~ 16
- freq(PCLK_DSYS) = freq(HCLK_DSYS) / n, where n = 1 ~ 8
• PSYS clock domain
- freq(HCLK_PSYS) = freq(MOUT_PSYS) / n, where n = 1 ~ 16
- freq(PCLK_PSYS) = freq(HCLK_PSYS) / n, where n = 1 ~ 8
- freq(SCLK_ONENAND) = freq(HCLK_PSYS) / n, where n = 1 ~ 8
• freq(ARMCLK) = 1000 MHz // 给CPU内核工作的时钟频率,也就是所谓的主频
• freq(HCLK_MSYS) = 200 MHz // MSYS域的高频时钟
• freq(HCLK_IMEM) = 100 MHz // 给(IROM和IRAM)使用的高频时钟
• freq(PCLK_MSYS) = 100 MHz // MSYS域的低频时钟
• freq(HCLK_DSYS) = 166 MHz // DSYS域的高频时钟
• freq(PCLK_DSYS) = 83 MHz // DSYS域的低频时钟
• freq(HCLK_PSYS) = 133 MHz // PSYS域的高频时钟
• freq(PCLK_PSYS) = 66 MHz // PSYS域的低频时钟
关于其它推荐值可以看S5PV210数据手册P356.这里不详细说明。