写在前面:
本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。



时钟树

RT1052的时钟分配图是长这样子的:
i.MX - RT1052时钟及锁相环(PLL)分析


PLL 锁相环

  • 在这个芯片中有 7个锁相环
    i.MX - RT1052时钟及锁相环(PLL)分析

  • PLL reference clock
    i.MX - RT1052时钟及锁相环(PLL)分析


ARM PLL (PLL1)

当该 PLL从 24 MHz参考时钟合成低抖动时钟时,该 PLL的时钟输出频率范围为 650 MHz至 1.3 GHz。输出频率由 7位寄存器字段 CCM_ANALOG_PLL_ARM [DIV_SELECT]选择。

  计算公式:

    PLL output frequency = Fref * DIV_SEL / 2

i.MX - RT1052时钟及锁相环(PLL)分析


System PLL (PLL2)

该 PLL从 24 MHz参考时钟合成低抖动时钟时,PLL具有一个输出时钟,外加 4个PFD(PFD0/1/2/3)输出。

PFD 是 Phase Fractional Dividers 的缩写,这里翻译为相位分数分频 。尽管此 PLL确实具有 DIV_SELECT寄存器字段,但旨在使该 PLL仅在 528 MHz的默认频率下运行(即这个分频值只是为了满足该 PLL在 528 MHz下运行而设置的)。

i.MX - RT1052时钟及锁相环(PLL)分析


USB1 PLL (PLL3)

该 PLL从 24 MHz参考时钟合成低抖动时钟时,USB1 PLL具有 4个频率可编程的 PFD(相位分数分频器)输出。
USB1 PLL的输出频率为 480 MHz。 即使 USB1 PLL具有 DIV_SELECT寄存器字段,在正常操作中,该PLL仍应始终设置为 480 MHz。

i.MX - RT1052时钟及锁相环(PLL)分析


Audio PLL (PLL4)

Audio PLL从 24 MHz参考时钟合成低抖动时钟时,该 PLL的时钟输出频率范围为 650 MHz至 1.3 GHz。 它具有分数 N合成器。
Audio PLL可以选择 / 1,/ 2,/ 4这三种 post dividers。 可以根据以下公式,通过对 CCM_ANALOG_PLL_AUDIO和 CCM_ANALOG_MISC2寄存器集中的字段进行编程来设置输出频率。

  计算公式:

    PLL output frequency = Fref * (DIV_SELECT + NUM / DENOM)

i.MX - RT1052时钟及锁相环(PLL)分析


Video PLL (PLL5)

Video PLL从 24 MHz参考时钟合成低抖动时钟时,该 PLL的时钟输出频率范围为 650 MHz至 1.3 GHz。 它具有分数N合成器。
Video PLL可以选择 / 1,/ 2,/ 4,/ 8,/ 16这五种 post dividers。 可以通过根据以下公式对 CCM_ANALOG_PLL_VIDEO和 CCM_ANALOG_MISC2寄存器集中的字段进行编程来设置输出频率。

  计算公式:

    PLL output frequency = Fref * (DIV_SELECT + NUM / DENOM)

i.MX - RT1052时钟及锁相环(PLL)分析


Ethernet PLL (PLL6)

该 PLL从 24 MHz参考时钟合成低抖动时钟时,该 PLL产生的参考时钟为:

  • 先做出 500MHz的时基

i.MX - RT1052时钟及锁相环(PLL)分析

  • 通过设置 CCM_ANALOG_PLL_ENET [DIV_SELECT]位字段将 ref_enetpll1编程为 25、50、100和125 MHz
  • ref_enetpll2固定为 25 MHz

i.MX - RT1052时钟及锁相环(PLL)分析


USB2 PLL (PLL7)

USB2 PLL仅通过直接连接由USB UTM接口使用。

i.MX - RT1052时钟及锁相环(PLL)分析

时钟频率参考

i.MX - RT1052时钟及锁相环(PLL)分析

相关文章: