ARM学习(3)

1.总结

今天学习了时钟的相关的配置以及定时器的配置,对于EPIT增强型外设中断定时器,类比STM32基本定时器的学习,我感觉ARM的配置有点像,比如load register类似于32的自动重装载定时器,都有计数器,不过ARM的计数是向下计数,ARM的GPT,类似于32的通用定时器,都有输入捕获寄存器,输出比较寄存器,建议学习ARM可以类比之前学过的STM32

2.相关概念
  1. PLL(锁相环):作用是输入一个A MHZ频率,进入锁相环后乘以一个倍频系数N后得到A*N MHZ

  2. Prescaler(分频器):作用是输入一个A MHZ频率,进入分频器后乘以一个分频系数M后得到A/M MHZ

  3. PFD(相位分数分频器):作用是输入一个A MHZ频率,进入相位分数分频器后得到A*N/M MHZ

  4. IMX6ULL中有7个锁相环PLL,8个PFD分数分频器

    1. PLL1:直通内核,最高1056MHZ

    2. PLL2:系统,固定528MHZ

    3. PLL3:USB1,固定480MHZ

    4. PLL7:仅用于USB UTM

    5. PLL6:仅用于以太网设备

    6. PLL5:用于视频设备

    7. PLL4用于音频设备

  5. 简述ARM PLL配置流程

    1. 先选择osc_clk,让step_clk为24MHZ

    2. 再将PLL1的输出改为step_clk,让ARM工作在24MHZ下

    3. 配置PLL1056MHZ,配置前先将2分频配置好

    4. 最后通过复用开关改回pll1_main_clk

  6. IMX6ULL中的EPIT和GPT的工作原理

    1. EPIT:

      计数器CNR向下计数,从加载寄存器LR的初值递减,CNR与CMPR作比较,相等时置标志位,在set-and-forget模式,硬件自动重载LR,继续下一轮计数

    2. GPT:

      Restart模式下:计数器向上计数,当计数到OCR1时触发中断,计数器清零重新开始计数

      Free-Run模式:计数器一直向上计数,溢出到0xffffffff后回到0