i.MX6ULL终结者时钟系统和原理分析

本文详细介绍了i.MX6ULL嵌入式处理器的时钟系统,包括主频设置、PPL时钟源、时钟树结构以及内核时钟、PFD时钟、AHB、IPG和PERCLK根时钟的配置方法。通过理解这些原理和步骤,读者可以更好地掌握如何调整和优化芯片的时钟系统。
摘要由CSDN通过智能技术生成

1 i.MX6ULL时钟系统

iMX6ULL的系统主频为528MHz,有些型号可以跑到696MHz,但是默认情况下iMX6ULL 的主频为396MHz。我们想要让iMX6ULL运行时候达到最大性能,就需要将主频上调至最大528MHz,或者更大,其它的外设时钟也要设置到NXP官方推荐的值。
更多关于芯片的时钟可以查阅 《IMX6ULL参考手册.pdf》的第10章“Chapter 10 Clock and Power Management”和第18章“Chapter 18 Clock Controller Module (CCM)”,这两章有详细的讲解。

系统时钟
我们打开核心板原理图,搜索“RTC_XTALI”即可看到如图 1.1内容:
在这里插入图片描述

图 1.1

这里我们可以看到有两个晶振。32.768KHz的晶振是RTC(实时时钟)的时钟源。24MHz晶振是CPU内核及其他外设的时钟源。

PPL(Phase Locked Loop)时钟源
iMX6ULL系列外设所需要的时钟源,都是由24MHz晶振倍频产生的,一共有7组,如图 1.2所示:
在这里插入图片描述

图 1.2

PPL1(ARM_PLL):这个PPL供内核使用,可编程倍频器,最高可达1.3GHz。注意,此频率高于芯片支持的最大频率1.0 GHz。
PPL2(System_PLL或528_PLL):固定22倍频,产生528MHz。这个PPL还分出4路PFD,即PLL2_PFD0~PLL2_PFD3,
528_PLL和PLL2_PFD0~PLL2_PFD3
为各种总线提供时钟。他们不提供精确的或恒定的频率,可以实现动态调频。通常的,528_PLL和PLL2_PFD0~PLL2_PFD3作为系统内部总线,内部逻辑处理单元,DDR接口,NAND/NOR接口模块等的时钟源。
PPL3(USB1_PLL):用于USBPHY(OTG PHY),固定20倍频,同样分出4路PFD,即PLL3_PFD0~PLL3_PFD3,产生了480MHz的VCO频率和24MHz振荡器。主PPL和4路PFD也可作为其他接口时钟输入。
PPL4(Audio PLL):用于音频外设,提供低抖动和高精度音频时钟,频率范围为650MHz~1300MHz,频率分辨率优于1Hz。可以选择1/2/48/16分频。
PPL5(Video PLL):用于标准视频显示外设,提供低抖动和高精度音频时钟,频率范围为650MHz~1300MHz,频率分辨率优于1Hz。该时钟主要用作显示和视频接口的时钟。可以选择1/2/48/16分频。
PPL6(ENET_PLL):固定为20+5/6倍频,产生500MHz,在此基础上产生25/50/100/125MHz网络时钟。
PPL7(USB2_PLL):用于USB2PHY(OTG PHY),固定20倍频,产生了480MHz的VCO频率和24MHz振荡器。

时钟树
如此多的时钟分支都要一一对应不同的外设。我们要参考《IMX6ULL 参考手册.pdf》里的18.3小结“CCM Clock Tree”,来学习如何选择PPL时钟。
在这里插入图片描述

图 1.3

在这里插入图片描述

图 1.4

时钟树整体分为三个部分:CLOCK SWITCHER、CLOCK ROOT GENERATOR和SYSTEM CLOCKS。其中左边的CLOCK_SWITCHER就是我们上一小节讲解的那7路PLL和8路PFD,右边的SYSTEM CLOCKS就是芯片外设,中间的CLOCK ROOT GENERATOR部分的作用就是选择合适的时钟接入外设接口,负

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值