首页 » 科学 » IMX.6U 处理器时钟源与时钟树_时钟_分频

IMX.6U 处理器时钟源与时钟树_时钟_分频

落叶飘零 2024-12-16 08:29:04 0

扫一扫用手机浏览

文章目录 [+]

I.MX6U开拓板的系统时钟来源于两部分: 32.768KHz 和24MHz 的晶振,个中 32.768KHz 晶振是 I.MX6U 的 RTC 时钟源, 24MHz 晶振是 I.MX6U 内核和其它外设的时钟源,也是我们重点要剖析的。
I.MX6U 的外设有很多,不同的外设时钟源不同, NXP 将这些外设的时钟源进行了分组,一个有 7 组,这 7 组时钟源都是从 24MHz 晶振 PLL 而来的,因此也叫做 7 组 PLL,这 7 组 PLL构造如图所示:

低级 PLLs 时钟源天生图

IMX.6U 处理器时钟源与时钟树_时钟_分频 IMX.6U 处理器时钟源与时钟树_时钟_分频 科学

上图展示了 7 个 PLL 的关系,我们依次来看一下这 7 个 PLL 都是什么做什么的:①、 ARM_PLL(PLL1),此路 PLL 是供 ARM 内核利用的, ARM 内核时钟便是由此 PLL天生的,此 PLL 通过编程的办法最高可倍频到 1.3GHz。
②、 528_PLL(PLL2),此路 PLL 也叫做 System_PLL,此路 PLL 是固定的 22 倍频,不可编程修正。
因此,此路 PLL 时钟=24MHz 22 = 528MHz,这也是为什么此 PLL 叫做 528_PLL 的缘故原由。
此 PLL 分出了 4 路 PFD,分别为: PLL2_PFD0~PLL2_PFD,这 4 路 PFD 和 528_PLL 共同作为其它很多外设的根时钟源。
常日 528_PLL 和这 4 路 PFD 是 I.MX6U 内部系统总线的时钟源,比如内处理逻辑单元、 DDR 接口、 NAND/NOR 接口等等。
③、 USB1_PLL(PLL3),此路 PLL 紧张用于 USBPHY,此 PLL 也有四路 PFD,为:PLL3_PFD0~PLL3_PFD3,USB1_PLL 是固定的 20 倍频,因此 USB1_PLL=24MHz 20=480MHz。
USB1_PLL虽然紧张用于 USB1PHY,但是其和四路 PFD同样也可以作为其他外设的根时钟源。
④、 USB2_PLL(PLL7,没有写错!
便是 PLL7,虽然序号标为 4,但是实际是 PLL7),看名字就知道此路 PLL是给 USB2PHY利用的。
同样的,此路 PLL固定为 20倍频,因此也是 480MHz。
⑤、 ENET_PLL(PLL6),此路 PLL 固定为 20+5/6 倍频,因此 ENET_PLL=24MHz (20+5/6)= 500MHz。
此路 PLL 用于天生网络所需的时钟,可以在此 PLL 的根本上天生 25/50/100/125MHz的网络时钟。
⑥、 VIDEO_PLL(PLL5),此路 PLL 用于显示干系的外设,比如 LCD,此路 PLL 的倍频可以调度, PLL 的输出范围在 650MHz~1300MHz。
此路 PLL 在终极输出的时候还可以进行分频,可选 1/2/4/8 分频。
⑦、 AUDIO_PLL(PLL4),此路 PLL 用于音频干系的外设,此路 PLL 的倍频可以调度, PLL的输出范围同样也是 650MHz~1300MHz,此路 PLL 在终极输出的时候也可以进行分频,可选1/2/4 分频。
看完了上面7 路 PLL, I.MX6U 的所有外设时钟源都是从这 7 路 PLL 和有些 PLL 的PFD 而来的:

IMX.6U 处理器时钟源与时钟树_时钟_分频 IMX.6U 处理器时钟源与时钟树_时钟_分频 科学
(图片来自网络侵删)

I.MX6U 时钟树

在图中一共有三部分: CLOCK_SWITCHER、 CLOCK ROOT GENERATOR 和SYSTEM CLOCKS。
个中左边的 CLOCK_SWITCHER 便是我们上一小节讲解的那 7 路 PLL 和8 路 PFD,右边的 SYSTEM CLOCKS 便是芯片外设,中间的 CLOCK ROOT GENERATOR 是最繁芜的!
这一部分就像“月老”一样, 给左边的 CLOCK_SWITCHER和右边的 SYSTEM CLOCKS进行牵线搭桥。
外设时钟源是有多路可以选择的, CLOCK ROOT GENERATOR 就卖力从 7 路PLL 和 8 路 PFD 中选择得当的时钟源给外设利用。
详细操作肯定是设置相应的寄存器,我们以ESAI 这个外设为例, ESAI 的时钟图如图所示:

ESAI 时钟

在图中我们分为了 3 部分,这三部分如下:①、此部分是时钟源选择器, ESAI 有 4 个可选的时钟源: PLL4、 PLL5、 PLL3_PFD2 和pll3_sw_clk 。
具 体 选 择 哪 一 路 作 为 ESAI 的 时 钟 源 是 由 寄 存 器 CCM->CSCMR2 的ESAI_CLK_SEL 位来决定的,用户可以自由配置,配置如下图所示:

寄存器 CSCMR2 的 ESAI_CLK_SEL 位

②、此部分是 ESAI 时钟的前级分频,分频值由寄存器 CCM_CS1CDR 的 ESAI_CLK_PRED来确定的,可设置 1~8 分频,如果现在 PLL4=650MHz,我们选择 PLL4 作为 ESAI 时钟,前级分频选择 2 分频,那么此时的时钟便是 650/2=325MHz。
③、此部分又是一个分频器,对②中输出的时钟进一步分频,分频值由寄存器CCM_CS1CDR 的 ESAI_CLK_PODF 来决定,可设置 1~8 分频。
如果我们设置为 8 分频的话,经由此分频器往后的时钟便是 325/8=40.625MHz。
因此终极进入到 ESAI 外设的时钟便是40.625MHz。
上面我们以外设 ESAI 为例讲解了如何根据时钟树来设置外设的时钟频率,其他的外设基本类似的,大家可以自行剖析一下其他的外设。

标签:

相关文章

追赶法在C语言编程中的应用与优化

随着计算机技术的飞速发展,编程语言作为计算机科学与技术领域的基础工具,已经广泛应用于各个行业。C语言作为一门历史悠久、功能强大的编...

科学 2025-01-01 阅读0 评论0