RP2040 时钟树拆解:时钟源、发生器和外设时钟 时钟系统时钟系统可以从不同时钟源PLL、内部环形振荡器、USB 时钟等引入时钟并使用多个时钟发生器来提供所需的时钟。时钟系统可以独立启动和停止时钟并改变某些时钟频率同时将其他时钟频率保持在最佳状态频率。图 2.38 芯片子系统复位逻辑电路示意图上图中我们可以看到​左边Clock sources时钟源总电源包括环形振荡器ROSC芯片自带的 “备用小发电机”、晶体振荡器XOSC精准的 “主电网”、USB PLL/System PLL“电压放大器”把基础时钟升到高频​中间Clocks时钟发生器变压器 开关每个发生器都能 “调整时钟频率”÷ 号代表分频比如把 125MHz 分成更低的频率、“单独开关”en 代表开关​右边各个硬件模块电器每个模块都由对应的时钟发生器供电比如 USB 用固定的 48MHz 时钟系统核心用 125MHz 高频时钟。总结来说RP2040 的时钟系统就是一套 “时钟树”先从环形振荡器、晶体振荡器、PLL 等时钟源获取基础时钟再通过多个​时钟发生器​把这些基础时钟转换成不同频率的时钟分配给 GPIO、ADC、USB 等不同模块还能单独启动 / 停止某个模块的时钟、调整频率既满足不同模块的节奏需求又能省功耗。常用的一些时钟参数如下PLL_SYS 125MHz (默认) 133MHz (最高)PLL_USB 48MHz (固定)CLK_SYS PLL_SYS/CLK_REF (系统时钟,除非 DORMANT 模式,否则在这两个时钟中选择)CLK_PERI CLK_SYS (外设时钟)CLK_USB PLL_USB (固定)CLK_ADC PLL_USB (固定)CLK_RTC 46875Hz (用于 RTC 计数,12MHz / 256 46875Hz,CLKDIV_M1 46874 时,频率 1Hz)GPCLK INPUT 从 IO 输入时钟 (可选)

本月热点