一、时钟管理
在片上系统(SOC)中,不同的模块通常需要工作在不同的时钟频率。为了满足这些需求,芯片将时钟源信号进行稳定、倍频、分频、分发以及屏蔽(gate)等操作,产生不同频率的时钟信号。这些时钟信号和它们的管理电路构成了芯片的时钟体系,驱动着各种各样的功能模块协同工作。
首先我们来看一下时钟管理系统:
IMX6ULL有7个锁相环电路,它们的输入时钟信号称为源时钟信号,可通过寄存器选择,通常为XTALOSC24M产生的24MHZ时钟信号。它们的输出经过进一步选择和分频,形成不同的根时钟信号,分发到各个模块使用。imx6ull 7路PLL具体产生方式如下:
时钟生成部分包含七个PLL。 其中两个PLL每个都配备了四个相位分数分配器(PFDs),以产生额外的频率。每个PFD通过插值其连接的PLL的VCO独立工作。它有效地利用PLLVCO频率,并在N从12到35的输出处产生18/NxFvco。PFD是一种完全数字化的设计,没有模拟元件或反馈回路。频率开关时间比锁相环快得多,因为保持基本锁相环锁定和改变整数N只会改变VCO插值输出的逻辑组合。请注意,PFD不仅允许比PLL更快的频率变化,而且允许在不经历输出时钟禁用/禁用过程的情况下安全地“动态”更改配置。
以下列出了七个PLL:
1.PLL1(ARM_PLL) 用来驱动ARM核心工作 ,最大可编程至1.3GHZ,比芯片最大可支持的频率1.0GHZ要高。
2.PLL2(System_PLL or 528_PLL),在24M外部晶振条件下,以固定22倍频输出528MHZ频率,除了主输出,该PLL还驱动四路PFD(PLL2_PFD0 … PLL2_PFD3).主锁相环输出及其PFD输出作为许多时钟根的输入.这些不需要精确/恒定的频率,可以作为动态频率缩放过程的一部分进行更改.通常,该PLL或其PFD是内部系统总线、内部处理逻辑、DDR接口、NAND/NOR接口模块等的时钟源
3.PLL3(USB1_PLL), PLL3被应用于与USB PHY第一个示例相