S3C6410 内部含有 3 个 PLL,APLL、MPLL 和 EPLL。
APLL 产生的时钟主要提供给 ARM1176 核,同时也可以控制 SYNCMUX 开关,使 APLL 出来的时钟作为 HCLK 和 PCLK 的源。
MPLL 产生的时钟主要提供给周边 AXI、AHB 和 APB 总线,HCLK 和 PCLK 时钟频率也可以从这里分频出去。
EPLL 产生的时钟提供给需要特殊频率的设备,如 UART/IIC/IIS等。
S3C6410X consists of AXI bus, AHB bus, and APB bus to optimize the performance requirements. Internal IPs are connected to appropriate bus systems to meet their I/O bandwidth and operating performance. When they are attached to AXI bus or AHB bus, the operating speed can be up to maximum 133MHz. While they are attached to APB bus, the maximum operating speed can be up to 66MHz.
对于 S3C6410,有一个比较特殊的时钟 HCLKX2。
HCLKX2 clocks are supplied to two DDR controllers, DDR0 and DDR1, of S3C6410X. The operating speed can be up to maximum 266MHz to send and to receive data through DDR controllers. Each HCLKX2 clock can be masked independently to reduce redundant power dissipation on clock distribution network when the operation is not required. All AHB bus clocks are generated from DIVHCLK clock divider. The generated clocks can be masked independently to reduce redundant power dissipation. HCLK_GATE register controls the mask operation of HCLKX2 and HCLK.
DDR 控制器比较特殊,它采用的是 HCLKX2 时钟,但这并不是说 DDR SDRAM 的时钟是 HCLKX2,这点千万要记住。对于 DDR SDRAM 来说,它属于 APH 总线的外设,因此它采用的是 HCLK 时钟。
S3C6410 内部有很有 IP 模块,如何判断 IP 模块所属的总线和所用的时钟?在 6410 中有三个寄存器, HCLK_GATE、PCLK_GATE 和 SCLK_GATE 可以用来判断各个模块需要使用哪一个时钟频率。
S3C6410 系统时钟初始化步骤:
1.设置同步或异步模式;
2.设置时钟分频系数;
3.设置 PLL 控制器;
4.选择 PLL 输出时钟为系统时钟源。
相关资料下载:
Tiny6410 时钟初始化:
——忠于梦想 勇于实践 linux_xpj@opencores.org
阅读(3137) | 评论(0) | 转发(1) |