时钟的产生:

振荡放大器连接到了外部晶体时钟

锁相环使得低输入频率转换为高频时钟来适应S5PV210要求。它的时钟发生器块还包括一个内置的

逻辑单元,在每个系统复位后来稳定时钟频率。

必须注意使用每个时钟mux开关。对于无干扰的mux开关,必须保证在时钟选择从一种变成另一种的时候

时钟源正在运行。


时钟系统示意图大体解析:在S5PV210数据手册的时钟系统那里,有两张复杂的时钟发生图。

数据手册把晶振和时钟发生器画在了一起(因为它们只有在一起才能工作)。MUX开关是通过寄存器位设置来确定哪条路时钟信号可以走的开关。

DIV分频器是一种把时钟信号分频的设备,由寄存器中的某几个位来控制。

CLOCK SOURCE CONTROL寄存器:时钟源控制寄存器,来设置MUX开关。CLOCK DIV 寄存器设置分频系数。

总之,根据原厂设置的代码了解到你应该做的设置是很重要的。


S5PV210每个模块的最大工作频率:

MSYS域:

200 MHz :MFC, G3D ,TZIC0, TZIC1, TZIC2, TZIC3, VIC0, VIC1, VIC2, VIC3 ,

DMC0, DMC1,AXI_MSYS, AXI_MSFR, AXI_MEM 

100 MHz :IRAM, IROM, TZPC0 

DSYS域:

166 MHz :FIMC0, FIMC1, FIMC2, FIMD, DSIM, CSIS, JPEG, Rotator,  

VP, MIXER, TVENC, HDMI, MDMA, G2D 

83 MHz :DSIM, CSIS, I2C_HDMI_PHY, I2C_HDMI_DDC 

PSYS域:

133 MHz :CSSYS, JTAG, MODEM I/F ,CFCON, NFCON, SROMC, ONENAND 

PDMA0, PDMA1,SECSS ,HSMMC0, HSMMC1, HSMMC2, HSMMC3 ,USB OTG, USB HOST 

66MHz :SYSCON, GPIO, CHIPID, APC, IEC, TZPC1, SPI0, SPI1, I2S1, I2S2, PCM0, 

PCM1, PCM2, AC97, SPDIF, I2C0, I2C2, KEYIF, TSADC, PWM, ST, WDT, RTC, UART 


寄存器设置:

1、APLL_LOCK等锁相环LOCK寄存器

锁相环倍频成稳定的时钟信号是需要时间的,这个寄存器就用来设置倍频的时间(锁定周期,在锁定周期之内不能输出稳定的时钟)。

2、APLL_CONTROL等控制寄存器

设置PLL里面的各种功能,比如PLL使能,PLL锁定指示位,PLL的分频设置。

根据计算公式,当MDIV=0xC8,PDIV=0x3,SDIV=0x1时输出正好为1G。

3、CLOCK SRC寄存器,设置时钟来源,设置MUX开关。

4、CLOCK SRC MASK寄存器,设置时钟源能不能通过MUX开关。(如果关了MASK则MUX无论设置成几时钟信号都过不去。)

5、CLOCK DIV寄存器:设置时钟分频系数。

6、CLK GATE x寄存器是最后的时钟开关,时钟达到相应模块的最后的关口。

7、CLK DIV STATn寄存器以及CLK MUX STATn寄存器,这两个寄存器用来查看DIV和MUX是否已经完成了开关和分频工作。