一、前言
本文主要说明时钟从哪来、跑多快、内核跑不跑、哪些外设供电、哪些时钟打开、低功耗怎么进。
二、MC_CGM
MC_CGM 就是时钟路由器 + 分频器:选择系统时钟源、分配时钟到内核 / 总线 / 外设。
2.1MC_CGM 核心功能
- 选择 SYSCLK 来源(FIRC / FXOSC / FMPLL)
- 3 路外设时钟分频(DC0 / DC1 / DC2)
- 输出时钟 CLKOUT(PA0)
- 无毛刺切换时钟
- 映射所有时钟相关寄存器
2.2系统时钟选择
系统时钟只能来自MC_ME 的配置,CGM 只负责 “切换与分发”。
可选时钟源:
- FIRC(16MHz 内部 RC)
- FXOSC(外部晶振)
- FMPLL(锁相环,最高 64MHz)
2.3 三路外设分频(DC0/DC1/DC2)
CGM_SC_DC0 → 外设组1
CGM_SC_DC1 → 外设组2
CGM_SC_DC2 → 外设组3
每路都可以:
- 使能 / 禁止 DE
- 分频 1~16 倍 DIV = n+1
2.4CLKOUT 时钟输出(PA0)
- 来源:FIRC/FXOSC/FMPLL
- 分频:1/2/4/8
- 使能位:CGM_OC_EN.EN
2.5寄存器快查
CGM_SC_SS → 时钟状态(当前SYSCLK来源)
CGM_SC_DC0~DC2 → 三路分频
CGM_OCDS_SC → CLKOUT 选择与分频
CGM_