.. _soc_ip_clock_reset: 复位和时钟单元 ============================== 复位控制单元 ---------------- T0 芯片复位控制包括三种控制方式:电源复位、系统复位和备份域复位。电源复位又称为 冷复位,其复位除了备份域的所有系统。 系统复位将复位除了 JTAG 控制器和备份域之外的其余部分,包括处理器内核和外设 IP 。 备份域复位将复位备份区域。复位能够被外部信号、内部事件和复位发生器触发。 具体的复位控制如 :ref:`reset_table` 所示。 .. list-table:: 复位控制表 :widths: auto :class: longtable :name: reset_table * - 复位来源 - 复位名称\\复位域 - cpu0 - cpu1 - cpu2 - sys_bus - brom_sys - brom_por * - 系统复位 - nrst引脚 - x - x - x - x - \- - x * - 系统复位 - cpu0_sysrstreq - x - x - x - x - \- - x * - 系统复位 - cpu1_sysrstreq - x - x - x - x - \- - x * - 系统复位 - cpu2_sysrstreq - x - x - x - x - \- - x * - 系统复位 - iwdg_out_rst - x - x - x - x - \- - x * - 系统复位 - wwdg0_out_rst - x - x - x - x - \- - x * - 系统复位 - wwdg1_out_rst - x - x - x - x - \- - x * - 电源复位 - sys_por - x - x - x - x - x - x * - 电源复位 - aon_por - \- - \- - \- - \- - \- - \- * - 电源复位 - sys_pu_rst - x - x - x - x - x - x * - 电源复位 - pvd_rst - \- - \- - \- - \- - \- - \- * - RCC - bdrst(备份域复位) - \- - \- - \- - \- - \- - \- * - RCC - cpu0_rst - x - \- - \- - x - \- - x * - RCC - cpu1_rst - \- - x - \- - x - \- - x * - RCC - cpu2_rst - \- - \- - x - x - \- - x * - bootrom - brom_rst_n_o - x - \- - \- - \- - \- - \- .. list-table:: 复位控制表(续1) :widths: auto :class: longtable * - 复位来源 - 复位名称\\复位域 - wwdg0 - wwdg1 - efuse - iwdg - pmu_por - pmu_pudc * - 系统复位 - nrst引脚 - x - x - \- - x - \- - \- * - 系统复位 - cpu0_sysrstreq - x - x - \- - x - \- - \- * - 系统复位 - cpu1_sysrstreq - x - x - \- - x - \- - \- * - 系统复位 - cpu2_sysrstreq - x - x - \- - x - \- - \- * - 系统复位 - iwdg_out_rst - x - x - \- - x - \- - \- * - 系统复位 - wwdg0_out_rst - x - x - \- - x - \- - \- * - 系统复位 - wwdg1_out_rst - x - x - \- - x - \- - \- * - 电源复位 - sys_por - x - x - x - \- - \- - \- * - 电源复位 - aon_por - \- - \- - \- - x - x - \- * - 电源复位 - sys_pu_rst - x - x - x - \- - \- - \- * - 电源复位 - pvd_rst - \- - \- - \- - x - \- - x * - RCC - bdrst(备份域复位) - \- - \- - \- - \- - \- - \- * - RCC - cpu0_rst - x - \- - \- - \- - \- - \- * - RCC - cpu1_rst - \- - x - \- - \- - \- - \- * - RCC - cpu2_rst - \- - \- - \- - \- - \- - \- * - bootrom - brom_rst_n_o - \- - \- - \- - \- - \- - \- .. list-table:: 复位控制表(续2) :widths: auto :class: longtable * - 复位来源 - 复位名称\\复位域 - pmu_rcc - aond_fab - rtc - 备注 * - 系统复位 - nrst引脚 - x - x - \- - 系统复位输入源, 复位系统域所有外设和时钟树, 不影响 debug 和 aond 域功能 * - 系统复位 - cpu0_sysrstreq - x - x - \- - cpu输出复位请求, 复位系统域所有外设和时钟树, 不影响 debug 和 aond 域功能 * - 系统复位 - cpu1_sysrstreq - x - x - \- - cpu输出复位请求, 复位系统域所有外设和时钟树, 不影响 debug 和 aond 域功能 * - 系统复位 - cpu2_sysrstreq - x - x - \- - cpu输出复位请求, 复位系统域所有外设和时钟树, 不影响 debug 和 aond 域功能 * - 系统复位 - iwdg_out_rst - x - x - \- - iwdg 输出复位请求, 复位系统域所有外设和时钟树, 不影响 debug 和 aond 域功能 * - 系统复位 - wwdg0_out_rst - x - x - \- - wwdg0 输出复位请求, 复位系统域所有外设和时钟树, 不影响 debug 和 aond 域功能 * - 系统复位 - wwdg1_out_rst - x - x - \- - wwdg1 输出复位请求, 复位系统域所有外设和时钟树, 不影响 debug 和 aond 域功能 * - 电源复位 - sys_por - \- - x - \- - 系统域上电复位 * - 电源复位 - aon_por - x - x - x - 常开域上电复位 * - 电源复位 - sys_pu_rst - \- - x - \- - 系统域的唤醒复位 * - 电源复位 - pvd_rst - x - x - \- - 触发模拟域复位和 pmu 上电序列 * - RCC - bdrst(备份域复位) - \- - \- - x - 软件触发的备份域复位 仅用于 rtc 和 backup ram * - RCC - cpu0_rst - \- - \- - \- - 仅用于 cpu0 复位 * - RCC - cpu1_rst - \- - \- - \- - 仅用于 cpu1 复位 * - RCC - cpu2_rst - \- - \- - \- - 仅用于 cpu2 复位 * - bootrom - brom_rst_n_o - \- - \- - \- - 用于 cpu0 上电复位 .. note:: \- 表示不可被复位 x 表示可以被复位 时钟控制单元 ---------------- 时钟控制单元目的是为系统提供了一系列时钟频率,系统时钟框图如 :ref:`clock_tree_block` 所示。 .. figure:: /assets/images/ug/clock_diagram.png :name: clock_tree_block :align: center :scale: 100% :width: 800px :height: 800px 时钟树 上图中的 peripheral_clk_i 表示的是外设的寄存器配置时钟, peripheral_intf_clk_i表示的是外设的数据/接口时钟,详细配置信息请查看系统配置寄存器。 振荡器 ~~~~~~~~~~~~~~~~ - 外部低速晶振 lse(32768Hz) 为常开域提供时钟,为 rtc 提供精确参考时钟 - 外部高速晶振 hse 为系统域 pll 提供参考时钟,建议 20MHz 时钟频率 - 外部高速晶振 ddr_osc 为 ddr 的pll提供参考时钟 - 内部低速振荡器 lsi 为常开域提供时钟 - 内部高速振荡器 hsi 为系统域提供上电时钟 - 外部 pad 参考时钟(clk_in0、clk_in1、clk_in2、clk_in3) PLL ~~~~~~~~~~~~~~~~ PLL 的作用是将频率较低的参考时钟(例如 20 MHz 的 hse 时钟)使用 PLL 锁相环电路倍频到更高的时钟。 系统中提供了 3 个 PLL 为 CPU 和其他外设选择合适的时钟频率,可以独立配置。 还提供了 1 个 专用 PLL 为 ddr 生成内核时钟, 另外提供了 1 个 专用 PLL 为 USB PHY生成时钟。 系统上的 3 个 PLL VCO 最为 1600MHz,当 PLL 的 M、N 改变的时候,PLL 需要重新复位,然后等到 PLL LOCK 才可以正常使用,其时序图如下所示。 .. image:: /assets/images/ug/pll_lock.png :height: 150px :width: 800px :scale: 100% :align: center :alt: pll 时序图 PLL 输出频率 CLK_OUT 计算公式:``CLK_OUT = XIN * M / N /NO";`` 其中 NO = 2\ :sup:`OD`\,OD 为分频寄存器,XIN 表示 PLL 输入参考频率,N 表示输入分频器寄存器,M 表示倍频器寄存器。 并且需要满足以下条件: .. note:: 1. 1MHz ≤ XIN / N ≤ 50MHz 2. 500MHz ≤ CLK_OUT * NO ≤ 1600MHz 3. M ≥ 2 4. N ≥ 1 时钟选择器 ~~~~~~~~~~~~~~~~ .. list-table:: 时钟选择器分布表 :widths: 15 10 10 10 10 10 10 10 10 10 10 10 10 10 10 :header-rows: 1 * - 时钟名称 - 时钟频率 - clkmux - lsi - lse - hsi - hse - sys_pll_clk - sys_pll_clk_div2 - core1_pll_clk - xuc_pll_clk - clk_in1 - clk_in2 - clk_in3 - clk_in4 * - lsi - 32768Hz - \- - 片上振荡器 lsi - \- - \- - \- - \- - \- - \- - \- - \- - \- - \- - \- * - lse - 32768Hz - \- - \- - 外部 32768Hz 晶振 - \- - \- - \- - \- - \- - \- - \- - \- - \- - \- * - hsi - 16M - \- - \- - \- - 片上振荡器 hsi - - \- - \- - \- - \- - \- - \- - \- - \- * - hse - 1M ~ 30M - \- - \- - \- - \- - 取决于外部晶体频率 - \- - \- - \- - \- - \- - \- - \- - \- * - rtc_clk_i - 32768Hz - RTC_CLK_S - 0 - 1 - hsi_div512 - \- - \- - \- - \- - \- - \- - \- - \- - \- * - aond_sys_clk_s - 16M - AOND_SYS_CLK_S - \- - \- - 0 - 1 - \- - \- - \- - \- - \- - \- - \- - \- * - clk_tmr_toggle_s - 32768Hz - CLK_TMR_TOGGLE_S - 0 - 1 - aond_sys_clk - \- - \- - \- - \- - \- - \- - \- - \- - \- * - cluster1_clk_i - 400M - CLUSTER1_CLK_MUX - \- - \- - 0 - 1 - 2 - \- - 3 - 4 - \- - \- - \- - \- * - cluster2_clk_i - 400M - CLUSTER2_CLK_MUX - \- - \- - 0 - 1 - 2 - \- - 3 - 4 - \- - \- - \- - \- * - bus - 200M - SYS_CLK_MUX - \- - \- - 0 - 1 - 2 - 3 - 4 - 5 - \- - \- - \- - \- * - sys_pll_clk - 400M ~ 1600M - SYS_PLL_CLK_S - \- - \- - 0 - 1 - \- - \- - \- - \- - 2 - 3 - \- - \- * - core1_pll_clk - 400M ~ 1600M - CORE1_PLL_CLK_S - \- - \- - 0 - 1 - \- - \- - \- - \- - 2 - 3 - \- - \- * - xuc_pll_clk - 400M ~ 1600M - XUC_PLL_CLK_S - \- - \- - 0 - 1 - \- - \- - \- - \- - 2 - 3 - \- - \- * - bkdr_efuse_clk_i - 16M - BKDR_EFUSE_CLK_S - \- - \- - 0 - 1 - \- - \- - \- - \- - 2 - 3 - \- - \- * - sys_clk - 200M - SYS_CLK_CLKMUX - \- - \- - 0 - 1 - 2 - 3 - 4 - 5 - \- - \- - \- - \- * - sys_intf_clk - 200M - SYS_INTF_CLK_CLKMUX - \- - \- - 0 - 1 - 2 - 3 - 4 - 5 - \- - \- - \- - \- * - nacc0_clk_s - 500M - NACC0_CLK_S - \- - \- - 0 - 1 - 2 - \- - 3 - 4 - \- - \- - \- - \- * - disp_pixel_clk_s - 200M - DISP_PIXEL_CLK_S - \- - \- - 0 - \- - 1 - 2 - 3 - 4 - 5 - 6 - \- - \- * - dcmi_pixel_clk_s - 200M - DCMI_PIXEL_CLK_S - \- - \- - 0 - \- - 1 - 2 - 3 - 4 - 5 - 6 - \- - \- * - xec_sys_clk_s - 500M - XEC_SYS_CLK_S - \- - \- - 0 - \- - 1 - 2 - 3 - 4 - 5 - 6 - \- - \- * - xec_rmii_clk_s - 500M - XEC_RMII_CLK_S - \- - \- - 0 - \- - 1 - 2 - 3 - 4 - 5 - 6 - \- - \- * - xuc_clk_s - 500M - XUC_CLK_S - \- - \- - 0 - \- - 1 - 2 - 3 - 4 - \- - \- - 5 - 6 * - usb_top_extrefclk_i - 20M - USB_TOP_EXTREFCLK_S - \- - \- - \- - 0 - \- - \- - 1 - 2 - 3 - 4 - 5 - 6 * - sai0_s0_clk_s - 200M - SAI0_S0_CLK_S - \- - \- - 0 - \- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 * - sai0_s1_clk_s - 200M - SAI0_S1_CLK_S - \- - \- - 0 - \- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 * - sai0_s2_clk_s - 200M - SAI0_S2_CLK_S - \- - \- - 0 - \- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 * - sai0_s3_clk_s - 200M - SAI0_S3_CLK_S - \- - \- - 0 - \- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 * - spdifrx0_clk_s - 200M - SPDIFRX0_CLK_S - \- - \- - 0 - \- - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 * - ctc0_clk_s - 200M - CTC0_CLK_S - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 时钟分频器 ~~~~~~~~~~~~~~~~ 分频器将 PLL 的输出分频到 IP 所需的频率,经过时钟的选择、分频等操作之后产生并输出根时钟。软件可以配置范围为[0,255],0 表示不分频, 1 表示 2 分频,以此类推。 .. list-table:: 时钟分频表 :widths: 15 10 10 10 10 :header-rows: 1 * - 分频器输出 - 分频器输入 - 期望频率 - 分频能力 - 默认分频值 * - aond_sys_clk - aond_sys_clk_s - 1M - [0,63] - 15 * - soc_aond_misc_sys_clk - aond_sys_clk - 1M - \- - \- * - sys_pll_clk_div2 - sys_clk - 400M - [0,1] - 1 * - core0_clk_i - sys_clk - 200M - \- - \- * - soc_sys_misc_sys_clk - sys_clk - 200M - \- - \- * - soc_hsm_misc_sys_clk - sys_clk - 200M - \- - \- * - mailbox_clk_i - sys_clk - 200M - \- - \- * - atb2axi0_clk_i - sys_clk - 200M - \- - \- * - sys_cache_clk_i - sys_clk - 200M - \- - \- * - fft0_clk_i - sys_clk - 200M - [0,255] - 0 * - idu_clk_i - sys_clk - 200M - [0,255] - 0 * - acc_udma0_clk_i - sys_clk - 200M - [0,255] - 0 * - acc_udma1_clk_i - sys_clk - 200M - [0,255] - 0 * - sys_udma_clk_i - sys_clk - 200M - [0,255] - 0 * - hsm_udma_clk_i - sys_clk - 200M - [0,255] - 0 * - flt_math_udma_clk_i - sys_clk - 200M - [0,255] - 0 * - flt_math_clk_i - sys_clk - 200M - [0,255] - 0 * - filter0_clk_i - sys_clk - 200M - [0,255] - 0 * - soc_glue_clk_i - sys_clk - 200M - [0,255] - 0 * - g2d0_clk_i - sys_clk - 200M - [0,255] - 0 * - jpeg0_clk_i - sys_clk - 200M - [0,255] - 0 * - nacc0_clk_i - nacc0_clk_s - 250M - [0,255] - 0 * - advanced_timerc0_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc1_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc2_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc3_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc4_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc5_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc6_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc7_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc8_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc9_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc10_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc11_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc12_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc13_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc14_clk_i - sys_clk - 100M - [0,255] - 0 * - advanced_timerc15_clk_i - sys_clk - 100M - [0,255] - 0 * - gmc0_clk_i - sys_clk - 100M - [0,255] - 0 * - iomux_clk_i - sys_clk - 100M - [0,255] - 0 * - lgpio0_clk_i - sys_clk - 100M - [0,255] - 0 * - mdios0_clk_i - sys_clk - 100M - [0,255] - 0 * - cordic0_clk_i - sys_clk - 100M - [0,255] - 0 * - usart0_clk_i - sys_clk - 100M - [0,255] - 0 * - usart0_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart1_clk_i - sys_clk - 100M - [0,255] - 0 * - usart1_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart2_clk_i - sys_clk - 100M - [0,255] - 0 * - usart2_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart3_clk_i - sys_clk - 100M - [0,255] - 0 * - usart3_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart4_clk_i - sys_clk - 100M - [0,255] - 0 * - usart4_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart5_clk_i - sys_clk - 100M - [0,255] - 0 * - usart5_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart6_clk_i - sys_clk - 100M - [0,255] - 0 * - usart6_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart7_clk_i - sys_clk - 100M - [0,255] - 0 * - usart7_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart8_clk_i - sys_clk - 100M - [0,255] - 0 * - usart8_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart9_clk_i - sys_clk - 100M - [0,255] - 0 * - usart9_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart10_clk_i - sys_clk - 100M - [0,255] - 0 * - usart10_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart11_clk_i - sys_clk - 100M - [0,255] - 0 * - usart11_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - usart12_clk_i - sys_clk - 100M - [0,255] - 0 * - usart12_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - pid0_clk_i - sys_clk - 100M - [0,255] - 0 * - i2c0_clk_i - sys_clk - 100M - [0,255] - 0 * - i2c0_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - i2c1_clk_i - sys_clk - 100M - [0,255] - 0 * - i2c1_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - i2c2_clk_i - sys_clk - 100M - [0,255] - 0 * - i2c2_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - i2c3_clk_i - sys_clk - 100M - [0,255] - 0 * - i2c3_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - qspi_xip0_clk_i - sys_clk - 100M - [0,255] - 0 * - qspi_xip0_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - qspi_xip1_clk_i - sys_clk - 100M - [0,255] - 0 * - qspi_xip1_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - qspi_xip2_clk_i - sys_clk - 100M - [0,255] - 0 * - qspi_xip2_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - qspi3_clk_i - sys_clk - 100M - [0,255] - 0 * - qspi3_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - qspi4_clk_i - sys_clk - 100M - [0,255] - 0 * - qspi4_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - qspi5_clk_i - sys_clk - 100M - [0,255] - 0 * - qspi5_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - qspi6_clk_i - sys_clk - 100M - [0,255] - 0 * - qspi6_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - xkan0_clk_i - sys_clk - 100M - [0,255] - 0 * - xkan0_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - xkan1_clk_i - sys_clk - 100M - [0,255] - 0 * - xkan1_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - xkan2_clk_i - sys_clk - 100M - [0,255] - 0 * - xkan2_intf_lk_i - sys_intf_clk - 100M - [0,255] - 0 * - sai0_clk_i - sys_clk - 100M - [0,255] - 0 * - sai0_s0_intf_lk_i - sai0_s0_clk_s - 100M - [0,255] - 0 * - sai0_s1_intf_lk_i - sai0_s1_clk_s - 100M - [0,255] - 0 * - sai0_s2_intf_lk_i - sai0_s2_clk_s - 100M - [0,255] - 0 * - sai0_s3_intf_lk_i - sai0_s3_clk_s - 100M - [0,255] - 0 * - lgpio0_clk_i - sys_clk - 100M - [0,255] - 0 * - pcrc0_clk_i - sys_clk - 100M - [0,255] - 0 * - disp0_clk_i - sys_clk - 100M - [0,255] - 0 * - disp0_intf_clk_i - disp_pixel_clk_s - 200M - [0,255] - 0 * - dcmi0_clk_i - sys_clk - 100M - [0,255] - 0 * - dcmi0_intf_clk_i - dcmi_pixel_clk_s - 200M - [0,255] - 0 * - xec_gen20_sys_clk_i - xec_sys_clk_s - 25M - [0,255] - 19 * - xec_gen2_sys_clk_i - xec_sys_clk_s - 125M - [0,255] - 3 * - rmii_clk_ref_clk_i - xec_rmii_clk_s - 50M - [0,255] - 9 * - ptp_ref_clk_i - xec_sys_clk_s - 125M - [0,255] - 3 * - xuc0_clk_i - xuc_clk_s - 120M - [0,255] - 3 * - xuc_clk_phy_i - xuc_clk_s - 60M - [0,255] - 7 * - usb_top0_clk_i - xuc_clk_s - 160M - [0,255] - 0 * - usb_top_clkcore_i - xuc_clk_s - 20M - [0,255] - 19 * - ddr_top0_clk_i - sys_clk - 200M - \- - \- * - ddr_top0_axi_p0_clk_i - sys_clk - 200M - \- - \- * - sdio0_clk_i - sys_clk - 200M - \- - \- * - sdio0_intf_clk_i - sys_intf_clk - 200M - [0,255] - 0 * - hs_sdio0_clk_i - sys_clk - 200M - [0,255] - 0 * - hs_sdio0_intf_clk_i - sys_intf_clk - 200M - [0,255] - 0 * - spdifrx0_clk_i - sys_clk - 100M - [0,255] - 0 * - spdifrx0_intf_clk_i - spdifrx0_clk_s - 100M - [0,255] - 0 * - swpmi0_clk_i - sys_clk - 100M - [0,255] - 0 * - swpmi0_intf_clk_i - sys_intf_clk - 100M - [0,255] - 0 * - cec0_clk_i - sys_clk - 100M - [0,255] - 0 * - cec0_intf_clk_i - sys_intf_clk - 100M - [0,255] - 0 * - dfsdm0_clk_i - sys_clk - 100M - [0,255] - 0 * - dfsdm0_intf_clk_i - sys_intf_clk - 100M - [0,255] - 0 * - capc0_clk_i - sys_clk - 100M - [0,255] - 0 * - capc0_intf_clk_i - sys_intf_clk - 100M - [0,255] - 0 * - basic_timer0_clk_i - sys_clk - 100M - [0,255] - 0 * - acryp0_clk_i - sys_clk - 100M - [0,255] - 0 * - cryp0_clk_i - sys_clk - 100M - [0,255] - 0 * - hash0_clk_i - sys_clk - 100M - [0,255] - 0 * - trng0_clk_i - sys_clk - 100M - [0,255] - 0 * - trng0_clk_smp_i - sys_intf_clk - 100M - [0,255] - 0 * - wwdg0_clk_i - sys_clk - 100M - [0,255] - 0 * - wwdg1_clk_i - sys_clk - 100M - [0,255] - 0 * - brom0_clk_i - sys_clk - 100M - [0,255] - 0 * - adc_clk_i - sys_clk - 100M - [0,255] - 0 * - dac_clk_i - sys_clk - 100M - [0,255] - 0 * - vref_clk_i - sys_clk - 100M - [0,255] - 100M * - opamp_clk_i - sys_clk - 100M - [0,255] - 0 * - comp_clk_i - sys_clk - 100M - [0,255] - 0 * - tsens_clk_i - sys_clk - 100M - [0,255] - 0 * - tsens_intf_clk_i - sys_intf_clk - 100M - [0,255] - 0 * - pvd_clk_i - sys_clk - 100M - [0,255] - 0 * - ctc0_clk_i - sys_clk - 100M - [0,255] - 0 * - ctc0_ref_clk_i - sys_intf_clk - 100M - [0,255] - 0 时钟同步 ~~~~~~~~~~~~~~~~ 当更改某些时钟的时钟源时需要进行时钟的同步。 低功耗时钟门控 ~~~~~~~~~~~~~~~~ 低功耗时钟门控(CG)可以关闭没有使用的时钟有效的降低功耗。