0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ARM内核及8路PFD频率怎么配置

汽车电子技术 来源:程序猿搬砖 作者:坏人 2023-03-02 16:23 次阅读

芯片要工作就需要读取指令,解析指令然后运行指令,需要在某种固定的周期性运动的设备驱动下有条不紊的进行,它就是频率

默认情况下I.MX6ULL工作在默认频率下(396MHz),工作频率相对保守。为了更好发挥I.MX6ULL的性能,需要对它的时钟频率进行配置。I.MX6ULL开发手册标注的内核最高频率支持528MHz,实际上它还可以超频到696MHz。

配置内核频率

I.MX6ULL支持24MHz32.768kHz两个OSC,32.768为低频率,目前使用的所有时钟来源都是24MHz

图片从上面这张图可以看出,pll1_sw_clk是进入到内核频率的,通过CCSRpll1_sw_clk_sel来选择到底使用哪一路作为最终进入ARM内核频率。step_clk在这里通过CCSRstep_sel选择为与OSC相同频率24MHz,它主要是用于在配置pll1_main_clk时的备用频率使用。

  • 读取CCSR的第2位值,如果是0表示当前选择的是pll1_main_clk,需要将它切换到step_clk,同时将step_clk选择成24MHz频率
/// CCM->CCSR的第二位判断是否选择的是pll1_main_clk(值是0)
if (((CCM->CCSR >> 2) & 0x1) == 0)
{
    /// 需要先切换时钟源到24MHz晶振
    CCM->CCSR &= ~(1 << 8);
    CCM->CCSR |= (1 << 2);
}
  • 配置CCM_ANALOG_PLL_ARMn寄存器

    /// bit 13: enable register
      /// 配置(696MHz)
      CCM_ANALOG->PLL_ARM = (1 << 13) | (58);
      /// 分频器配置为1
      CCM->CACRR = 0;
      /// 将时钟源切换回CCSR的第二位判断是否选择的是pll1_main_clk
      CCM->CCSR &= ~(1 << 2);
    

    这里配置了一个超频数值696MHz

    8路FPD配置

    • BYPASS_CLK_ SRC(15 - 14)配置成0x0,即选择使用24MHz作为时钟源
    • ENABLE(13)配置成1即使能时钟频率输出
    • DIV_SELECT按公式(PLL output frequency = Fref * DIV_SEL/2)配置
    • CCMCACRR的1-3位配置分频器的值
    • 配置完成切换回pll1_main_clk

到目前为止,会使用到的PLL除了内核以外还有PLL2PLL3PLL2PLL3是固定的频率,但他们都各分出去了4路FPD是可以灵活配置的。图片上面红色框里面看到的就是。分别有两个寄存器控制,PLL2CCM_ANALOG_PFD_528n, PLL3CCM_ANALOG_PFD_480n。配置的公式是 528(480) * 18 / 实际频率,具体配置代码如下:

/// 配置PPL2(528MHz)的PFD0 ~ FPD3
int reg = CCM_ANALOG->PFD_528;
/// PFD0: 352MHz
reg |= (27 << 0);
/// PFD1: 594MHz
reg |= (16 << 8);
/// PFD2: 396MHz
reg |= (24 << 16);
/// PFD3: 297MHz
reg |= (32 << 24);
CCM_ANALOG->PFD_528 = reg;
/// 配置PPL3(480MHz)的PFD0 ~ FPD3
reg = CCM_ANALOG->PFD_480;
/// PFD0: 720MHz
reg |= (12 << 0);
/// PFD1: 540MHz
reg |= (16 << 8);
/// PFD2: 508.2MHz
reg |= (17 << 16);
// PFD3: 454.7MHz
reg |= (19 << 24);
CCM_ANALOG->PFD_480 = reg;

配置完成后,烧写后可看到实验07中的LED0BEEP闪灯与响声的频率更高了,这是由于内核工作在了更高的频率。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47838

    浏览量

    409667
  • 频率
    +关注

    关注

    4

    文章

    1272

    浏览量

    58518
  • 指令
    +关注

    关注

    1

    文章

    580

    浏览量

    35382
收藏 人收藏

    评论

    相关推荐

    arm内核结构

    ARM内核结构有4个功能模块T、D、M、I,可供生产厂商根据不同用户的要求来配置生产ARM内核结构芯片。本文详细讲解了什么是
    发表于 01-03 13:45 1w次阅读

    赛灵思发布1GHz频率ARM内核的FPGA

    美国赛灵思(Xilinx)发布了配备ARM处理器内核“Cortex-A9 MPCore”的FPGA系列“Zynq-7000 Extensible Processing Platform(EPP)”的新产品“Zynq-7045”。其ARM
    发表于 08-17 08:51 7768次阅读

    第14.3讲 主频和时钟配置实验 8PLL和8PFD时钟设置 - 第1节 #硬声创作季

    电路电容LINUX内核
    充八万
    发布于 :2023年08月14日 19:55:35

    48 第14.3讲 主频和时钟配置实验-8PLL和8PFD时钟设置 - 第1节

    电路程序函数代码时钟配置
    充八万
    发布于 :2023年08月17日 03:52:26

    48 第14.3讲 主频和时钟配置实验-8PLL和8PFD时钟设置 - 第3节

    电路程序函数代码时钟配置
    充八万
    发布于 :2023年08月17日 03:54:08

    48 第14.3讲 主频和时钟配置实验-8PLL和8PFD时钟设置 - 第4节

    电路程序函数代码时钟配置
    充八万
    发布于 :2023年08月17日 03:54:59

    配置或者编译8168 Linux 内核出现错误

    1. 使用下面命令配置 SEED-DVS8168 默认的 Linux 内核: make ARCH=arm CROSS_COMPILE=/opt/DVRRDK_02.00.00.23/ti_tools
    发表于 05-31 06:23

    ADRF6850 PFD频率泄露frequence leakage

    当我使用ADRF6850时,发现IQ输出信号中包含有如图所示的毛刺。 经验证,这些毛刺之间的频率间隔正好是PFD频率。 当我通过程序改变PFD
    发表于 09-18 11:23

    「正点原子Linux连载」第十六章主频和时钟配置实验

    ,PLL4~PLL6都是针对特殊外设的,用到的时候再设置。因此,接下来重点就是设置PLL2和PLL3的各自4PFD,NXP推荐的这8PFD
    发表于 12-23 11:18

    对于输入频率130MHz左右的pll设计,应该选择哪种结构的PFD比较好?

    请教各位大虾:小弟刚开始学习pll设计不久 请问对于输入频率130MHz左右 应该选择哪种结构的PFD比较好?TSPC的吗?谢谢了
    发表于 06-24 07:09

    迅为IMX6ULL开发板-主频和时钟配置例程(二)

    的 pll1_sw_clk 就等于 1056MHz。5. 设置 CCM_CACRR 的 ARM_PODF 为 2 分频,内核主频就是 1056/2=528MHz。PFD 时钟我们还需要设置好其他的 PLL
    发表于 07-26 10:17

    I.MX6ULL时钟树的相关资料推荐

    声称7PLL,每一又升成PFD_PLL。​配置详见时钟树。还要学会看RM手册进行配置频率,具
    发表于 01-18 09:05

    如何对RK3399 CPU arm64的内核进行配置

    如何对RK3399 CPU arm64的内核进行配置
    发表于 02-16 06:20

    基于Arm的Linux内核编译指导

    基于Arm的Linux内核编译指导
    发表于 10-30 10:13 15次下载
    基于<b class='flag-5'>Arm</b>的Linux<b class='flag-5'>内核</b>编译指导

    AN-1347:在高PFD频率下操作ADF4360-7

    AN-1347:在高PFD频率下操作ADF4360-7
    发表于 04-27 18:42 3次下载
    AN-1347:在高<b class='flag-5'>PFD</b><b class='flag-5'>频率</b>下操作ADF4360-7