zoukankan      html  css  js  c++  java
  • exynos4412—CMU裸板复习

        

      

    本章描述了Exynos 4412 SCP的时钟管理单元(CMUs)。在Exynos 4412 SCP中,CMUs控制相位锁相环(PLLs),并为CPU、总线和单个ip的功能时钟生成系统时钟。它们还与电源管理单元(PMU)通信,以便在进入某些低功耗模式之前停止时钟,从而通过最小化时钟切换来降低功耗。

    7.1时钟域

    在Exynos 4412 SCP中,它将函数块彼此异步计时,以提供更广泛的操作频率选择。它还简化了物理实现。

    • CPU块由Cortex-A9 MPCore处理器、L2缓存控制器和CoreSight组成。它的工作电压为0.875 V-1.30 V。Cortex-A9 MPCore的工作频率为200MHz - 1.4 GHz,核心视程时钟最高可达200MHz。CPU块中的CMU (CMU CPU)为CPU块中的ip生成所有必要的时钟。它还为Cortex-A9 MPCore产生一定的控制信号。
    • DMC块由DRAM内存控制器(DMC)、安全子系统(SSS)和通用中断控制器(GIC)组成。DMC块中的CMU (CMU_DMC)生成400mhz DRAM时钟,200mhz与DRAM时钟同步的AXI总线时钟,100MHz时钟用于寄存器访问。它还为加速器相干端口(ACP)总线生成200mhz时钟,用于内存相干性检查并连接CPU和SSS总线主机。
    • 左总线和右总线块包含全局数据总线,它们的时钟频率为200mhz。全局数据总线在DRAM和各个子块之间传输数据。它还包含以100兆赫兹为时钟的全局外围总线。您可以使用100mhz时钟进行寄存器访问。
    • CMU TOP为所有剩余的功能块生成时钟,包括G3D、MFC、LCDO、ISP、CAM TV。FSYS, MFC, GPS, MAUDIO, danger和PERIR。它生成运行在400 / 200 / 160/ 133/ 100 MHz的总线时钟。它还生成各种特殊的时钟来操作Exynos 4412 SCP中的IPs
    • 另外,异步总线桥接被插入到两个不同的功能块之间。

     做串口的时候所用时钟,时钟源还为外围总线提供时钟源

    硬件来说,一共有三种:锁相环、选择器、分频器。

    PLL结尾的:锁相 环,用于倍频

    DIV:分频器

    例如:

    核心板中可以找到相应引脚:

     APLL_CON0中:

    MDIV [25:16] RWX PLL M Divide Value 0xC8
    PDIV [13:8] RWX PLL P Divide Value 0x6
    SDIV [2:0] RWX PLL S Divide Value 0x1

     锁相环与时钟管理相关配置表:

     以串口时钟为例分析:

    回到第七章去找

    我想从后往前找,看它的分频因子是多少,

    试着搜索 divuart0后:

    开始验证:

    打印:

    结果:

    低四位 = 7

     MOUTUART0 / (UART0_RATIO + 1) = MOUTUART0  / (7 + 1)

    MOUTUART0取决于 八位选择器的输出 ,存在于与这个寄存器相关的某一个区域:搜索MUXUART0

    结果:

    我们打印这个寄存器的值:

    结果:

    选择的时钟源即为:SCLKMPULL_USER_T

    打印第四位,查看结果:

    结果:

    下面打印一下

    结果:

    找完一圈,找到了

    即,800 / 8 = 100 MHz

    至此,分析出了UART的时钟源为100MHz
      

     注意:以上是在bootloader层面去验证,如果从事bootloader的设计的话,要自己设置这些寄存器得到想要的时钟频率。

  • 相关阅读:
    推荐一本不错的书《Sencha Ext JS 5 Bootcamp in a Book》
    Libgdx 1.6.0发布,跨平台游戏开发框架
    《.NET最佳实践》与Ext JS/Touch的团队开发
    【翻译】Sencha Cmd中脚本压缩方法之比较
    【翻译】Ext JS 6早期访问版本发布
    【翻译】Ext JS 6有什么新东西?
    SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
    Spring boot+Thymeleaf+easyui集成:js创建组件页面报错
    SpringBoot多模块搭建,依赖管理
    IDEA在同一窗口导入多个项目
  • 原文地址:https://www.cnblogs.com/jason-linux/p/10530266.html
Copyright © 2011-2022 走看看