一、核心板原理图
1、32.768khz的晶振,供给RTC使用,其并不会参与整个系统的时钟里面去
- 实时时钟(Real Time Clock)
2、在6U的T16和T17 这两个I上接了一个24MHZ的晶振。
二、7路PPL
这24Mhz的系统时钟通过7路时钟供7种外设使用。这些外设通过这7路PLL和PFD来获取时钟源,然后来生成自己的时钟源。
为了方便生成时钟,6从24MHz晶振生出来7路PLL。这7路PLL中有的又生出来PFD。
PLL1: ARMPLL供给ARM内核。“
PLL2: sysytem PLL,528MHz,528_PLL,此路 PLL 分出了 4路 PFD,分别为
PLL2_PFDO-PFD3
PLL3: USB1PLL.480MHZ480 PLL此路PLL分出了4路PFD分别为PLL3 PFDOPFD3。
PLL4: Audio PLL,主供音频使用。
PLL5: Video PLL,主供视频外设,比如 RGB LCD 接口,和图像处理有关的外设。“
PLL6: ENETPLL,主供网络外设。
PLL7: USB2 PLL.480MHz,无PFD。
PLL1, PLL2,以及PLL2_PFDO-PFD3,PLL3 ,以及PLL3PFDO-PFD3。一般按照时钟树里的值进行配置,参考table18-4。
IMX6ULL参考手册。
外设是如何选取合适的时钟
比如ESAL时钟源选择:
PLL4、PLL3_PFD2、PLL5、PLL3。
三、I.MX6U系统配置
1、系统主频的配置
看时钟树,
(1)要设置ARM 内核主频为528MHz设置CACRR 寄存器的ARM_PODF位为2分频然后设置 PLL1=1056MHz即可。CACRR的 bit3~0为ARM_PODF位可设置0~7,分别对应1~8分频。应该设置CACRR 寄存器的ARM_PODF=1。
(2)设置 PLL1=1056MHz。PLL1=pll1_sw_clk。pll1_sw_clk 有两路可以选择,分别为
pll1_main_clk,和step_ck,通过CCSR 寄存器的 pll1_sw_clk sel 位(bit2)来选择。为0的时候
选择pll1_main_clk,为1的时候选额step_clk。“
(3)在修改 PLL1的时候,也就是设置系统时钟的时候需要给 6ULL一个临时的时钟也
就是step_clk。在修改 PLL1的时候需要将 pll1_sw_ck 切换到 step_clk 上。
(4)设置 step_clk。Step_ck 也有两路来源,由 CCSR 的 step_sel位(bit8)来设置,为0
的时候设置step_clk 为osc=24MHz。为1的时候不重要,不用。
(5)通过CCM_ANALOG_PLL_ARM 寄存器的 DIVSELECT 位(bit6-0)来设置 PLL1的频
率,公式位:
Output =fref*DIV_SEL/2 1056=24*DIV_SEL/2=>DIEV SEL=88。
设置CCM_ANALOGPLL ARM 寄存器的DIV SELECT位=88 即可。PLL1=1056MHz
(6)在切换回 PLL1之前,设置置CACRR 寄存器的ARM_PODF=!! 切记。