当前位置: 首页 > news >正文

<RT1176系列14>CCM(Clock Controller Module)解读

1、概述

        时钟控制模块(CCM)负责管理片上模块时钟。振荡器、锁相环(PLL)和相位分数分频器(PFD)将生成固定或可变频率的时钟源。

  • 振荡器(Oscillators):提供基础时钟源,例如24MHz 外部晶振(OSC_24M)、400MHz 内部高速振荡器(OSC_RC400M)。
  • 锁相环(PLL):对基础时钟进行倍频,生成高频时钟,例如 RT1176 的 ARM_PLL 将 24MHz 倍频至 792MHz(供 M7 核使用),SYS_PLL2 倍频至 528MHz(供外设和总线使用)。
  • 相位分数分频器(PFD):对 PLL 输出的高频时钟进行精准分频,生成多种中频时钟,例如 SYS_PLL3_PFD2 将 480MHz 分频至 270MHz(用于 LPSPI4 等外设),灵活性高于普通整数分频。

2、模块框图

        时钟控制模块(CCM)内部的时钟根生成逻辑,会生成内核、总线和外设模块所需的各类时钟根。这些时钟根将通过低功耗时钟门控(LPCG) 分配至各个模块,LPCG 包含每个时钟对应的时钟门控逻辑。

        CCM 中 LPCG 的控制信号会作为时钟使能信号的来源。由于部分时钟在复位期间需要被关闭,系统复位控制器(SRC)也会向 LPCG 发送时钟门控信号。

        在低功耗模式下,通用电源控制器(GPC)会向 CCM 发送低功耗模式状态信号,CCM 会根据配置启用时钟门控。同时,CCM 可能会撤销锁相环(PLL)的使能信号,以便这些模块在低功耗模式下断电。

  • 时钟根与 LPCG 的关联:你之前配置 LPSPI4 时钟时用到的 kCLOCK_Root_Lpspi4 就是 CCM 生成的 “时钟根”,LPCG 相当于这个时钟根的 “开关”—— 通过控制 LPCG 的门控信号,可单独开启或关闭 LPSPI4 的时钟(不影响其他模块),这也是你能单独修改 LPSPI4 频率的核心原因。
  • 复位与低功耗的时钟控制

    • 复位时(如系统上电复位),SRC 会关闭非必要外设的时钟(如 LPSPI、UART 等),避免复位期间模块误动作。
    • 低功耗模式下,CCM 关闭 PLL 和外设时钟的逻辑,可减少功耗。

3、模块特性

  • 每个时钟根支持 8 路时钟源
  • 8 位分频器,每个时钟根最高支持 256 分频
  • 每个时钟根可通过软件关闭
  • 4 位分数分频(含分子和分母配置)
  • 16 组预设时钟根配置参数,支持电源模式切换时自动切换・时钟组
  • 同步时钟组,组内各时钟可动态切换(无需停机)
  • 时钟组可通过软件关闭
  • 16 组预设时钟组配置参数,支持电源模式切换时自动切换・外设时钟可根据 CPU 平台、软件配置或系统电源模式自动门控(开启 / 关闭)・锁相环(PLL)和振荡器可根据 CPU 平台、软件配置或系统电源模式自动关闭・两种访问控制机制:信任区(Trustzone)和域(Domain)
  • 每个组件可独立设置保护机制
  • 为用户模式、特权模式、安全模式、非安全模式独立配置权限
  • 支持域模式访问的白名单控制
  • 访问控制配置可独立锁定(防止误修改)

4、时钟树

5、CCM 模式

CCM 功能模块支持以下模式:

  • 未分配模式(Unassigned Mode)
  • 域模式(Domain Mode)
  • CPU 低功耗模式(CPULPM)
  • 设定点模式(Setpoint Mode)

注意:在任何模式下,任何域中的所有寄存器均可读取,但写入访问会受保护机制限制。

5.1未分配模式(Unassigned Mode)

若时钟未分配至域模式、设定点模式或 CPU 低功耗模式,则自动进入未分配模式。复位后,所有时钟源、时钟根、时钟门控和时钟组均处于未分配模式。

在未分配模式下,域访问控制机制禁用,但信任区(Trustzone)访问控制仍生效。

  • 时钟源:时钟源配置来自 OSCPLLn_DIRECT 寄存器(PLL / 振荡器需在 GPC 模式下工作)。仅当通过信任区认证后,这些寄存器才可在未分配模式下访问;在 CPU 低功耗模式或设定点模式下,这些寄存器无效且不可写入。

  • 时钟根:时钟根配置来自 CLOCK_ROOTn_CONTROL 寄存器。仅当通过信任区认证后,这些寄存器才可在未分配模式下访问。

  • 时钟组:时钟组配置来自 CLOCK_GROUPn_CONTROL 寄存器。在未分配模式下,任何域通过信任区认证后均可修改这些寄存器。

  • 时钟门控(LPCG):时钟门控配置来自 LPCGn_DIRECT 寄存器。仅当通过信任区认证后,这些寄存器才可在未分配模式下访问;在 CPU 低功耗模式或设定点模式下,这些寄存器不可修改且无效。

5.2 域模式(Domain Mode)

在域模式下,域访问控制机制启用。

  • 时钟源:时钟源配置来自 OSCPLLn_DIRECT 寄存器。仅当通过信任区认证且访问来自白名单中的域时,才可访问该寄存器;在 CPU 低功耗模式或设定点模式下,该寄存器无效且不可写入。

  • 时钟根:基于域的认证机制激活,仅白名单中的域可修改 CLOCK_ROOTn_CONTROL 寄存器。

  • 时钟组:时钟组配置来自 CLOCK_GROUPn_CONTROL 寄存器。由于域认证机制生效,仅白名单中的域可修改这些寄存器。

  • 时钟门控(LPCG):时钟门控配置来自 LPCGn_DIRECT 寄存器。仅当通过信任区认证且访问来自白名单中的域时,才可访问该寄存器;在 CPU 低功耗模式或设定点模式下,该寄存器不可修改且无效。

注意:域配置寄存器可在未分配模式下由任何域写入,但需通过信任区认证。

5.3 CPU 低功耗模式(CPULPM)

CPU 低功耗模式根据通用电源控制器(GPC)的低功耗信号控制振荡器、PLL 和 LPCG。

  • 时钟源OSCPLLn_DOMAIN 寄存器中的 3 位字段用于为每个 CPU 平台选择时钟源的依赖级别,有效值如下:

    • 0:任何模式下均不需要该时钟源
    • 1:仅运行(RUN)模式需要,等待(WAIT)、停止(STOP)模式不需要
    • 2:运行(RUN)和等待(WAIT)模式需要,停止(STOP)模式不需要
    • 3:运行(RUN)、等待(WAIT)和停止(STOP)模式需要
    • 4:运行(RUN)、等待(WAIT)、停止(STOP)和挂起(SUSPEND)模式需要
  • 时钟根:不支持此模式。

  • 时钟组:不支持此模式。

  • 时钟门控(LPCG)LPCGn_DOMAIN 寄存器中为每个 CPU 平台设置 3 位时钟依赖级别(取值与时钟源相同)。时钟门控会判断每个 CPU 平台是否需要该时钟,若不需要则关闭时钟。

5.4 设定点模式(Setpoint Mode)
  • 时钟源:设定点寄存器通过 OSCPLLn_SETPOINT 寄存器为系统工作模式定义 16 个时钟源工作点(16 位)。当系统工作模式从一个设定点切换到另一个时,时钟源会查询对应的值,并根据通用电源控制器(GPC)的请求提供时钟。

  • 时钟根:运行在此模式下的时钟根不受 CLOCK_ROOTn_CONTROL 寄存器影响,且所有写入访问被阻断。设定点寄存器为系统工作模式定义 16 个时钟根工作点。当系统工作模式切换时,时钟根会查询对应的值,并根据 GPC 的请求更新配置。参考 CLOCK_ROOTn_SETPOINTm 寄存器查看哪些时钟根支持设定点模式。

    速度等级(Speed Grade):在设定点模式下,需通过 CLOCK_ROOTn_SETPOINTm 为时钟根通道提供速度等级信息。时钟通道利用该信息判断在系统供电电压变化前还是后修改时钟配置。等级值越小,表示时钟速度越快(例如,0 对应最快时钟,15 对应最慢时钟)。设定点逻辑通过速度等级判断时钟在设定点切换时是升速还是降速,并处理与电源控制等其他组件的关联。每个设定点配置都对应一个速度等级,相同速度的设定点可允许等级值更高、更低或相等。

  • 时钟组:在此模式下,CLOCK_GROUPn_CONTROL 寄存器无效,所有写入访问被阻断。设定点寄存器为系统工作模式定义 16 个时钟组工作点。当系统工作模式切换时,时钟组会查询对应的值,并根据 GPC 的请求更新配置。在设定点模式下,需通过 CLOCK_ROOTn_SETPOINTm 为时钟根通道提供速度等级信息。

  • 时钟门控(LPCG):设定点寄存器为系统工作模式定义 16 个时钟门控工作点。当系统工作模式切换时,时钟门控会查询对应的值,并根据 GPC 的请求更新配置。在设定点模式下,域配置寄存器不影响时钟源,且所有写入访问被阻断。

注意:这些寄存器仅可在未分配模式下通过信任区认证后修改。当时钟通道、源、根或门控被分配至设定点模式后,应用程序无法修改其寄存器;若需修改设定点值,需先将时钟通道切换至未分配模式。

http://www.dtcms.com/a/570743.html

相关文章:

  • ROS1系统学习---12 ROS1三维可视化工具RViz
  • wordpress 文章批量移动亚马逊没有网站怎么做seo
  • 建设银行融信通网站google官网入口
  • KMP算法背后的设计思想:从模式匹配到增量处理的通用哲学
  • 做薪酬调查的网站烟台优化公司
  • 做网站用后缀好合肥论坛网站制作
  • 从0开始搭建springcloud开发框架
  • 竞赛作品发表网站怎么做遂昌网站建设
  • 山东省建设厅网站广告网络营销策略
  • 11月4日AI简报|世界互联网大会即将举行|OpenAI亚马逊合作|电力成AI瓶颈|具身机器人突破
  • 什么网站专门做自由行的大连装修公司电话列表
  • DrugGPT chatgpt druggen 之间的关系 ,DrugGPT是基于gpt2基础上开发的
  • 档案宝:企业合同档案管理的“安全保险箱”与“效率加速器”
  • h5case 网站网站做不好一直不交付怎么办
  • [嵌入式embed]MS-DOS(8086).asm在windows/linux/wsl运行 [dosbox] [emu8086]
  • 住房和建设厅网站首页韩国coupang平台erp
  • 网站开发合同 保密条款点开文字进入网站是怎么做的
  • 有什么做vi设计的网站网站升级公告模板
  • wix英文网站建设下载网站后怎么做
  • Redis(三)——RDB、AOF
  • 岱岳区建设信息网站网站上线 备案
  • 使用STM32CubeMX创建STM32N6的LOAD RUN工程 LAT1587
  • 怡梦姗网站做么青岛响应式网站
  • 南宁网站制作策划深圳网站建设 合作品牌
  • 汇川AM系列基础使用
  • 智能导购AI选型
  • 广州做响应式网站多少钱21年没封直接可以进的
  • 做的网站需要买什么服务器邯郸网址场
  • Linux: 磁盘:关键文件修改的过程
  • 做外贸做几个网站合适网站建设数据库放哪