1、 HT32 时 钟监控和时 钟变频 AN0464S 1 / 22 October 26, 2017 HT32 时钟 监控 和时 钟变 频 文件编码:AN0464S 简介 本手册介绍了有关 HT32 单片机的时钟故障检测和系统变频。HT32 全部系列 Cortex-M0+ 或 是 Cortex-M3 MCU 支持这些功能的单片机。 时钟监控电路可以用来检测外部高速晶振 HSE 的时钟故 障。 如果 HSE 时钟出现故障, 它将 被除能,内部高速 RC 振荡 器 HSI 将自动 切换为系统时钟源。更多细节请参考章节 “HSE 时钟故障检测“ 。 系统时钟可以来自 HSI 、HSE 或 PLL 。部
2、分 HT32 系列控制器还支持 LSI (内部低速 RC 振 荡器 32K Hz)、 LSE (外部低速晶振 32K Hz ) 作为系统时钟。 复位后,HSI 将被选择作为 默 认的系统时钟。一旦时钟源切换发生时,通过轮询全局时钟控制寄存器 GCCR 中的 系统时 钟切换位,软件必须确保该切换过程已经完成。 HSI 时钟具有一个内部 8MHz 固定频率的振 荡器。它还可以作为 PLL 的 输入时钟。通过设 定全局时钟控制寄存器 GCCR 中的 HSIEN 位,可以打开或关闭 HSI 时钟。当 HSI 上电时, 它不会被使用,直到 HSIRDY 位由硬件置位。 HSE 时钟具有一个 416MHz
3、 频率的晶振,可以产生高精确度的时钟源作为系统时钟。HSE 还可以作为 PLL 的输入时钟。通过设定全局时钟控制寄存器 GCCR 中的 HSEEN 位,可以 打开或关闭 HSE 时钟。当 HSE 上电时,它 不会被使用,直到 HSERDY 位由硬件置位。 PLL 可以提 供 8144MHz 的时钟输出,是 416MHz 基本参考频率的倍数。当切换 PLL 的时 钟源, 新的时钟源必须在选择之前准备好。 通过设定全局时钟控制寄存器 GCCR 中的 PLLEN 位,可以打开或关闭 PLL 。 如果 PLL 时钟 稳定,PLLRDY 位由硬件置位。 LSI 时钟具有内 部低速 RC 振荡 器的频率约
4、为 32KHz , 是一个 低功耗的时钟源用于实时时钟 外设, 看门狗定时器或系统时钟。LSI 提供 了一个低成本的时钟源, 不需外部组件。LSI RC 振荡器始终使能。 LSI 频率精 度可在数据手册(Datasheet) 中 查看。 全局时钟状态寄存器 GCSR 中的 LSIRDY 标志位表示 LSI 时钟是否稳定。如果当 LSI 变得稳定, LSIRDY 位由硬件置 位。 LSE 时钟具有一个 32768Hz 频率的晶振,可以产生一个低功率但高精确度的时钟源用于实 时时钟、外设、看门狗定时器或系统时钟。相关的硬件配置见下图。晶体或陶瓷谐振器必 须靠近两个 LSE 引脚,X32KIN 和
5、X32KOUT 。为达到适当的振荡,其外部电阻和电容组件 是必要的。LSE 振荡器可以 使用 RTC 控制 寄存器 RTCCR 中的 LSEEN 位 开启或关闭。全局 时钟状态寄存器 GCSR 中的 LSERDY 标志位将指出 LSE 时钟是否稳定。当 LSE 变得 稳定, LSERDY 位由硬件置位。 HT32 时 钟监控和时 钟变频 AN0464S 2 / 22 October 26, 2017 HT32 时 钟控制单元操作 HSE 时钟故 障检测 通过设定全局时钟控制寄存器 GCCR 中的 HSE 时钟监控使能位 CKMEN 可以打开 HSE 检测 功能。时钟监控应该在 HSE 振荡器启
6、动延迟后打开,在 HSE 振荡器停 止时关闭。 如果检测到 HSE 故障, 该振荡器将自动除能, 全局时钟中断寄存器 GCIR 中的 HSE 时钟 故 障标志位 CKSF 将被置位。 如果全局时钟中断寄存器 GCIR 中的时钟故障中断使能位 CKSIE 被置位将产生一个中断。 该中断被连接到 CortexTM-M 非屏 蔽中断 NMI 的 异常向量。 在 NMI 中断服务程序中,必须通过置位 GCIR 寄存 器中的 CKSF 位来清除时钟故障中断。 如果使用 HSE 作为系统时钟,HSE 时钟发 生故障时,HSE 会被关闭,由硬件自动切换 HSI 作为系统时钟。 如果使用 HSE 作为 PLL
7、 的输 入时钟, 使用 PLL 作为系统时 钟, HSE 发生 故障时, 系统时钟 将切换为 HIS 。HSE 和 PLL 都 将由硬件除能,HSI 还可以被 用作 PLL 的输 入时钟。 系统变频高速 通过设定全局时钟控制寄存器 GCCR 中的 SW 位,可以切换系统时钟源。如果系统时钟源 从一个切换到另一个,目标时钟源需先准备好。全局时钟状态寄存器 GCSR 中的状态位表 示哪个时钟是准备好的。一旦时钟源切换发生,通过轮询 GCCR 寄存器中的 SW 位 ,确保 该切换过程已经完成。SW 位 需被读取作为新的时钟源设定。 PLL 配置选项 不用除能 PLL ,系统频率也可以被改变。改变系统
8、频率的步骤如下: 1. 选择 HSE 或者 HSI 作为系统时 钟(SW1:0=02 或 03)。 HSE 或者 HSI 需准备好。 2. 轮询 SW 位, 直到预写入的值变有效。 3. 设定 AHBPRE 位,控制 AHB 预除频(AHBPRE1:0=00)。 4. 设定 PLLCFGR 寄存器,重新配置 PLL 的输 出频率。PLL 使能。 5. 轮询 PLLRDY 位,直到 GCSR 寄存器中的 标志位被置位。 6. 设定 AHBPRE 位。 7. 设定 WAIT 位 ,控制闪烁等待状态。 8. 选择 PLL 作为 系统时钟(SW1:0=00 或 01)。 9. 轮询 SW 位, 直到预
9、写入的值变有效。 HT32 时 钟监控和时 钟变频 AN0464S 3 / 22 October 26, 2017 Select HSI or HSE as system clock Poll System Clock Switch Set AHB Prescaler as 0x0 Reconfigure PLL frequency Start Is PLL ready ? Set AHB Prescaler Set Flash Wait State Select PLL as system clock Poll System Clock Switch Finish Yes No图 1 系统
10、频率变 化 流程 图 寄存器说明 下表列出了 CKCU 寄存器和复位值。 表 1 CKCU 寄存 器 寄存器 偏置 说明 复位 值 FMC 基 地址= 0x4008_8000 GCFGR 0x000 全局时钟 配置寄 存器 0x0000_0102 GCCR 0x004 全局时钟 控制寄 存器 0x0000_0803 GCSR 0x008 全局时钟 状态寄 存器 0x0000_0028 GCIR 0x00C 全局时钟 中断寄 存器 0x0000_0000 PLLCFGR 0x018 PLL 配置 寄存 器 0x0000_0000 PLLCR 0x01C PLL 控制 寄存 器 0x0000_00
11、00 AHBCFGR 0x020 AHB 配置 寄存器 0x0000_0000 AHBCCR 0x024 AHB 时钟 控制寄 存器 0x0000_0005 APBCFGR 0x028 APB 配置 寄存 器 0x0000_0000 APBCCR0 0x02C APB 时 钟控制 寄 存器 0 0x0000_0000 APBCCR1 0x030 APB 时 钟控制 寄 存器 1 0x0000_0000 CKST 0x034 时钟源状 态寄存 器 0x0100_0000 APBPCSR0 0x038 APB 外设 时 钟选择 寄存 器 0 0x0000_0000 APBPCSR1 0x03C A
12、PB 外 设时钟 选 择寄存 器 1 0x0000_0000 HSICR 0x040 HSI 控 制寄存 器 0xXXXX_0000 (X 表示未定 义) HSIATCR 0x044 HSI 自 动微调 计 数寄存器 0x0000_0000 LPCR 0x300 低功耗控 制寄存 器 0x0000_0000 MCUDBGCR 0x304 单片机调 试控制 寄存器 0x0000_0000 HT32 时 钟监控和时 钟变频 AN0464S 4 / 22 October 26, 2017 全局时钟配置寄存器GCFGR 该寄存器具体说明了 PLL/USART/WDT/CKOUT 电路的时钟源。 偏置:
13、 0x000 复位值: 0x0000_0102 31 30 29 28 27 26 25 24 LPMOD Reserved 类型/ 复位 RO 0 RO 0 RO 0 23 22 21 20 19 18 17 16 Reserved URPRE Reserved 类型/ 复位 RW 0 RW 0 15 14 13 12 11 10 9 8 Reserved PLLSRC 类型/ 复位 RW 1 7 6 5 4 3 2 1 0 Reserved WDTSRC CKOUTSRC 类型/ 复位 RW 0 RW 0 RW 1 RW 0 位 字段 说明 31:29 LPMOD 低功耗模 式状态 由硬件
14、置 位和复 位。 b000 : 单片机处 于运行模 式 b001 : 单片机进 入休眠模 式 b010 : 单片机进 入深度睡 眠模 式 1 b011 : 单片机进 入深度睡 眠模 式 2 b100 : 单片机进 入暂停模 式 Others : 保留位 21:20 URPRE USART 时 钟预除 频选择位 由软件置 位和复 位来控 制 USART 时钟的预 除频值 。 b00 : CK_USART = CK_UR b01 : CK_USART = CK_UR / 2 Others : 保留位 8 PLLSRC PLL 时钟 源 选择位 由软件置 位和复 位来控 制 PLL 的 时钟源。 0
15、 : 外部 416MHz 晶振HSE 1 : 内部 8MHz RC 振 荡器HSI 3 WDTSRC 看门狗定 时器时 钟源选择 位 由软件置 位和复 位来控制 看门狗 定时器的 时钟源 。 0 : 内部 32kHz RC 振 荡器LSI 1 : 外部 32768Hz 晶振LSE 2:0 CKOUTSRC CKOUT 时钟 源选 择位 由软件置 位和复 位。 000 : CK_PLL / 16 001 : CK_AHB / 16 010 : CK_SYS / 16 011 : CK_HSE / 16 100 : CK_HSI / 16 101 : CK_LSE 110 : CK_LSI 111
16、 : 保留位 HT32 时 钟监控和时 钟变频 AN0464S 5 / 22 October 26, 2017 全局时钟控制寄存器GCCR 该寄存器具体说明了时钟使能位。 偏置: 0x004 复位值: 0x0000_0803 31 30 29 28 27 26 25 24 Reserved 类型/ 复位 23 22 21 20 19 18 17 16 Reserved PSRCEN CKMEN 类型/ 复位 RW 0 RW 0 15 14 13 12 11 10 9 8 Reserved HSIEN HSEEN PLLEN Reserved 类型/ 复位 RW 1 RW 0 RW 0 7 6
17、5 4 3 2 1 0 Reserved SW 类型/ 复位 RW 1 RW 1 位 字段 说明 17 PSRCEN 省电唤 醒 RC 时 钟使能位 0 : 无动作 1 : 系统从深度 睡 眠模式 1 或 2 中 唤醒后, 使用内 部 8MHz RC 振荡 器作为临 时 系统时钟。 进入省电模式之前,由软件置位 PSRCEN 位以减少唤醒后的等待时间。当 PSRCEN 位 被置 1 ,系统从 深度睡 眠模式 1 或 2 中 唤醒后,HSI 振 荡器将被 选择 作为时钟 源。当 HSI 时钟 提供给 CortexTM-M3 使 用时,指 令可以 快速执行 。当 初始系统 时钟源 稳定后, 在进入
18、 深度睡眠 模式 1 或 2 之前 ,将切 换 CK_SYS 作 为系统时 钟。 16 CKMEN HSE 时 钟监控 使 能位 0 : 外部 416MHz 晶振 HSE 时钟 监控除能 1 : 外部 416MHz 晶振 HSE 时钟 监控使能 当硬件检 测出 HSE 时钟停 留在低 准位或高 准位状 态,内部 硬件将 切换内部 高速 RC 时钟 HSI 为 系统时钟。可以 通过外部复位、上 电 复位或者由 软件清除为零 CKSF 位来 恢复初 始系统时 钟。 注 :当 HSE 时钟 监控使能 时, 无 论 HSIEN 控制 位 的状态如 何, 硬 件将自动 开启 内部 RC 振荡 器 HSI
19、 。 11 HSIEN 内部高速 振荡器 使能位 由软件置 位和复位 。如果 使用 HSI 作为系统 时钟, 该位不能 被清除 为零。 0 : 内部 8MHz RC 振 荡器除 能 1 : 内部 8MHz RC 振 荡器使 能 10 HSEEN 外部高速 振荡器 使能位 由软件置 位和复 位。 如果 使用 HSE 作 为系统 时钟 或 PLL 的输 入时 钟, 该位 不能 被清除为 零。 0 : 外部 416MHz 晶 振除能 1 : 外部 416MHz 晶 振使能 9 PLLEN PLL 使 能位 由软件置 位和复位 。如果 使用 PLL 作 为系统 时钟 ,该位不 能被清 除为零。 0 :
20、 关闭 PLL 1 : 打开 PLL HT32 时 钟监控和时 钟变频 AN0464S 6 / 22 October 26, 2017 位 字段 说明 1:0 SW 系统时钟 切换 由软件置 位和复位 来选 择 CK_SYS 时 钟源。如 果 HSE 时钟 发生故 障,由硬 件置 位迫使 HSI 振 荡 器(SW1:0=0x03 ) 直接或 间接作 为系统时 钟 (如 果时钟监 控使 能)。该字段可以由软件读回,表示当前使用的系统时钟源。由于系统时钟切 换有一些 固有的 延迟,它 是由软 件设定的 。 0X : PLL 的 输出 时钟 CK_PLL 作 为系统时 钟 10 : HSE 时钟 C
21、K_HSE 作为 系统时 钟 11 : HSI 时钟 CK_HSI 作为 系 统时钟 全局时钟状态寄存器GCSR 该寄存器说明了时钟就绪状态。 偏移量: 0x008 复位值: 0x0000_0028 31 30 29 28 27 26 25 24 Reserved 类型/ 复位 23 22 21 20 19 18 17 16 Reserved 类型/ 复位 15 14 13 12 11 10 9 8 Reserved 类型/ 复位 7 6 5 4 3 2 1 0 Reserved LSIRDY LSERDY HSIRDY HSERDY PLLRDY Reserved 类型/ 复位 RO 1 R
22、O 0 RO 1 RO 0 RO 0 位 字段 说明 5 LSIRDY 内部低速 振荡 器 LSI 就绪标志 位 如果 LSI 振荡器 稳定且准 备好使 用,可以 由硬件 置位表示 。 0: LSI 振荡器 未就 绪 1: LSI 振荡器 就绪 4 LSERDY 外部低速 振荡 器 LSE 就绪 标志 位 如果 LSE 振 荡器 稳定且准 备好使 用,可以 由硬件 置位表示 。 0: LSE 振 荡器未 就绪 1: LSE 振 荡器就 绪 3 HSIRDY 内部高速 振荡 器 HSI 就绪 标志 位 如果 HSI 振 荡器 稳定且准 备好使 用,可以 由硬件 置位表示 。 0: HSI 振荡器
23、未 就绪 1: HSI 振荡器就 绪 2 HSERDY 外部高速 振荡 器 HSE 就绪 标志 位 如果 HSE 振 荡器 稳定且准 备好使 用,可以 由硬件 置位表示 。 0: HSE 振 荡器未 就绪 1: HSE 振 荡器就 绪 1 PLLRDY PLL 时 钟就绪 标志 位 如果 PLL 的 输出 时钟稳定 且准备 好使用, 可以由 硬件置位 表示。 0: PLL 未 就绪 1: PLL 就绪 HT32 时 钟监控和时 钟变频 AN0464S 7 / 22 October 26, 2017 全局时钟中断寄存器GCIR 该寄存器说明了中断使能位和标志位。 偏置: 0x00C 复位值: 0
24、x0000_0000 31 30 29 28 27 26 25 24 Reserved 类型/ 复位 23 22 21 20 19 18 17 16 Reserved LSIRDYIE LSERDYIE HSIRDYIE HSERDYIE PLLRDYIE Reserved CKSIE 类型/ 复位 RW 0 RW 0 RW 0 RW 0 RW 0 RW 0 15 14 13 12 11 10 9 8 Reserved 类型/ 复位 7 6 5 4 3 2 1 0 Reserved LSIRDYF LSERDYF HSIRDYF HSERDYF PLLRDYF Reserved CKSF 类型
25、/ 复位 WC 0 WC 0 WC 0 WC 0 WC 0 WC 0 位 字段 说明 22 LSIRDYIE LSI 就绪中 断使能 位 控制 LSI 稳定中 断使能/ 除能 。 0 : LSI 稳 定中断 除能 1 : LSI 稳 定中断 使能 21 LSERDYIE LSE 就 绪中断 使 能位 控制 LSE 稳 定中 断使能/ 除能 。 0 : LSE 稳定 中断 除能 1 : LSE 稳定 中断 使能 20 HSIRDYIE HSI 就 绪中断 使 能位 由软件置 位和复 位来使能/除能 HSI 稳定 中断 0 : HSI 稳定 中断 除能 1 : HSI 稳定 中断 使能 19 HS
26、ERDYIE HSE 就 绪中断 使 能位 由软件置 位和复 位来使能/除能 HSE 稳定 中断 0 : HSE 稳定 中断 除能 1 : HSE 稳定 中断 使能 18 PLLRDYIE PLL 就 绪中断 使 能位 由软件置 位和复 位来使能/除能 PLL 稳 定中断 0 : PLL 稳定 中断 除能 1 : PLL 稳定 中断 使能 16 CKSIE 时钟故障 中断使 能位 由软件置 位和复 位来使能/ 除 能时 钟监控中 断 0 : 时钟故障中 断 除能 1 : 时钟故障中 断 使能 6 LSIRDYF LSI 就绪中 断标志 位 由软件复位 写 1 来清除。当内部 32kHz RC
27、振荡器时钟稳定且 LSIRDYDIE 位被 置位时, 可通过 硬件置位 。 0 : 不产生 LSI 稳 定时钟就 绪中断 1 : 产生 LSI 稳定中 断 HT32 时 钟监控和时 钟变频 AN0464S 8 / 22 October 26, 2017 位 字段 说明 5 LSERDYF LSE 就 绪中断 标志 位 由软件复 位 写 1 来清 除。当 外部 32768Hz 晶 振时钟稳 定且 LSERDYDIE 位被置位 时,可 通过硬件 置位。 0 : 不产生 LSE 稳 定中断 1 : 产生 LSE 稳定 中断 4 HSIRDYF HSI 就 绪中断 标志 位 由软件复 位 写 1 来
28、清 除。 当内部 8MHz RC 振荡 器时钟稳 定且 HSIRDYDIE 位被置位 时,可 通过硬件 置位。 0 : 不产生 HSI 稳 定中断 1 : 产生 HSI 稳定 中断 3 HSERDYF HSE 就 绪中断 标志 位 由软件复 位 写 1 来清 除。 当外 部 416MHz 晶 振 时钟稳定 且 HSERDYDIE 位被置位 时,可 通过硬件 置位。 0 : 不产生 HSE 稳定中断 1 : 产生 HSE 稳 定中断 2 PLLRDYF PLL 就 绪中断 标志 位 由软件复 位 写 1 来清 除。 当 PLL 稳定 且 PLLRDYDIE 位被置 位时 , 可通 过硬件置 位。
29、 0 : 不产生 PLL 稳 定中断 1 : 产生 PLL 稳定 中断 0 CKSF HSE 时钟 故 障中断 标志位 由软件复 位 写 1 来清 除。 当 HSE 时 钟故障 且 CKSIE 位被置 位 时, 可通 过硬件置 位。 0 : 时钟正常运 行 1 : HSE 时钟 故障 PLL 配置 寄存 器PLLCFGR 该寄存器具体说明了 PLL 的 配置。 偏置: 0x018 复位值: 0x0000_0000 31 30 29 28 27 26 25 24 Reserved PFBD 类型/ 复位 RW 0 RW 0 RW 0 RW 0 RW 0 23 22 21 20 19 18 17
30、16 PFBD0 POTD Reserved 类型/ 复位 RW 0 RW 0 RW 0 15 14 13 12 11 10 9 8 Reserved 类型/ 复位 7 6 5 4 3 2 1 0 Reserved 类型/ 复位 位 字段 说明 28:23 PFBD PLL VCO 输 出时 钟回馈除 频器(B5B0 ) PLL VCO 经 过回 馈除频器 输出时 钟。 22:21 POTD PLL 输 出时钟 除 频器(S1S0 ) HT32 时 钟监控和时 钟变频 AN0464S 9 / 22 October 26, 2017 PLL 控制 寄存 器PLLCR 该寄存器具体说明了 PLL
31、旁 通模式。 偏置: 0x01C 复位值: 0x0000_0000 31 30 29 28 27 26 25 24 PLLBPS Reserved 类型/ 复位 RW 0 23 22 21 20 19 18 17 16 Reserved 类型/ 复位 15 14 13 12 11 10 9 8 Reserved 类型/ 复位 7 6 5 4 3 2 1 0 Reserved 类型/ 复位 位 字段 说明 31 PLLBPS PLL 旁 路模式 使 能位 0 : PLL 旁路 模式 除能 1 : PLL 旁 路模式 使能。 在这 个模 式下,PLL 的 输 出时钟 PLLOUT 等于 CKIN
32、时钟 AHB 配置 寄存 器AHBCFGR 该寄存器具体说明了系统时钟频率。 偏置: 0x020 复位值: 0x0000_0000 31 30 29 28 27 26 25 24 Reserved 类型/ 复位 23 22 21 20 19 18 17 16 Reserved 类型/ 复位 15 14 13 12 11 10 9 8 Reserved 类型/ 复位 7 6 5 4 3 2 1 0 Reserved AHBPRE 类型/ 复位 RW 0 RW 0 位 字段 说明 1:0 AHBPRE AHB 预除 频 由软件置 位和复 位来控 制 AHB 时 钟的除频 比。 00 : CK_AH
33、B = CK_SYS 01 : CK_AHB = CK_SYS / 2 10 : CK_AHB = CK_SYS / 4 11 : CK_AHB = CK_SYS / 8 HT32 时 钟监控和时 钟变频 AN0464S 10 / 22 October 26, 2017 AHB 时钟控 制寄存器AHBCCR 该寄存器具体说明了 AHB 时钟使能位。 偏置: 0x024 复位值: 0x0000_0005 31 30 29 28 27 26 25 24 Reserved 类型/ 复位 23 22 21 20 19 18 17 16 Reserved 类型/ 复位 15 14 13 12 11 10
34、 9 8 Reserved 类型/ 复位 7 6 5 4 3 2 1 0 Reserved SRAMEN Reserved FMCEN 类型/ 复位 RW 1 RW 1 位 字段 说明 2 SRAMEN SRAM 时钟使 能 位 由软件置 位和复 位。 在 休眠模 式 下, 如 果 SRAM 未使用 , 可以 通 过清除为 零 SRAMEN 位来减 少功耗。 0 : 在休眠模式 下 关闭 SRAM 时钟 1 : 在休眠模式 下 打开 SRAM 时钟 0 FMCEN 闪存控制 器时钟 使能位 由软件置位和复位。在休眠模式下,如果闪存未使用,可以通过清除为零 FMCEN 位来 减少 功耗。 0 :
35、 在休眠模式 下 关闭 FMC 时钟 1 : 在休眠模式 下 打开 FMC 时钟 HT32 时 钟监控和时 钟变频 AN0464S 11 / 22 October 26, 2017 APB 配置寄存器APBCFGR 该寄存器具体说明了 ADC 时钟频率。 偏置: 0x028 复位值: 0x0000_0000 31 30 29 28 27 26 25 24 Reserved 类型/ 复位 23 22 21 20 19 18 17 16 Reserved ADCDIV 类型/ 复位 RW 0 RW 0 RW 0 15 14 13 12 11 10 9 8 Reserved 类型/ 复位 7 6 5
36、 4 3 2 1 0 Reserved 类型/ 复位 位 字段 说明 18:16 ADCDIV ADC 时钟 除频选 择位 由软件置 位和复 位来控 制 ADC 时 钟除频比 。 000 : CK_ADC = CK_AHB 001 : CK_ADC = (CK_AHB / 2) 010 : CK_ADC = (CK_AHB / 4) 011 : CK_ADC = (CK_AHB / 8) 100 : CK_ADC = (CK_AHB / 16) 101 : CK_ADC = (CK_AHB / 32) 110 : CK_ADC = (CK_AHB / 64) 111 : CK_ADC = (C
37、K_AHB / 6) HT32 时 钟监控和时 钟变频 AN0464S 12 / 22 October 26, 2017 APB 时钟控制寄存器 0APBCCR0 该寄存器具体说明了 APB 时 钟使能位。 偏置: 0x02C 复位值: 0x0000_0000 31 30 29 28 27 26 25 24 Reserved 类型/ 复位 23 22 21 20 19 18 17 16 Reserved PBEN PAEN 类型/ 复位 RW 0 RW 0 15 14 13 12 11 10 9 8 EXTIEN AFIOEN Reserved UREN 类型/ 复位 RW 0 RW 0 RW
38、 0 7 6 5 4 3 2 1 0 Reserved SPIEN Reserved I2CEN 类型/ 复位 RW 0 RW 0 位 字段 说明 17 PBEN GPIO 端口 B 时钟 使能位 由软件置 位和复 位。 0 : 埠 B 时钟除 能 1 : 埠 B 时钟使 能 16 PAEN GPIO 端口 A 时钟 使能位 由软件置 位和复 位。 0 : 埠 A 时 钟除能 1 : 埠 A 时 钟使能 15 EXTIEN 外部中断 时钟使 能位 由软件置 位和复 位。 0 : EXTI 时钟除 能 1 : EXTI 时钟使 能 14 AFIOEN I/O 端口时 钟备用 功能使能 位 由软件
39、置 位和复 位。 0 : AFIO 时钟 除能 1 : AFIO 时钟 使能 8 UREN USART 时 钟使能 位 由软件置 位和复 位。 0 : USART 时 钟除能 1 : USART 时 钟使能 4 SPIEN SPI 时钟使 能位 由软件置 位和复 位。 0 : SPI 时 钟除能 1 : SPI 时 钟使能 0 I2CEN I 2 C 时 钟使能 位 由软件置 位和复 位。 0 : I 2 C 时钟 除能 1 : I 2 C 时钟 使能 HT32 时 钟监控和时 钟变频 AN0464S 13 / 22 October 26, 2017 APB 时钟控制寄存器 1APBCCR1
40、该寄存器具体说明了 APB 时 钟使能位。 偏置: 0x030 复位值: 0x0000_0000 31 30 29 28 27 26 25 24 Reserved ADCEN 类型/ 复位 RW 0 23 22 21 20 19 18 17 16 OPA1EN OPA0EN Reserved 类型/ 复位 RW 0 RW 0 15 14 13 12 11 10 9 8 Reserved GPTM1EN GPTM0EN 类型/ 复位 RW 0 RW 0 7 6 5 4 3 2 1 0 Reserved RTCEN Reserved WDTEN Reserved 类型/ 复位 RW 0 RW 0
41、位 字段 说明 24 ADCEN ADC 时钟 使能位 由软件置 位和复 位。 0 : ADC 时钟除 能 1: ADC 时钟 使能 23 OPA1EN OPA/CMP 1 时钟 使能位 由软件置 位和复 位。 0 : OPA/CMP 1 时 钟除能 1 : OPA/CMP 1 时 钟使能 22 OPA0EN OPA/CMP 0 时钟 使能位 由软件置 位和复 位。 0 : OPA/CMP 0 时 钟除能 1 : OPA/CMP 0 时 钟使能 9 GPTM1EN GPTM1 时 钟使能 位 由软件置 位和复 位。 0 : GPTM1 时 钟除能 1 : GPTM1 时 钟使能 8 GPTM0
42、EN GPTM0 时 钟使能 位 由软件置 位和复 位。 0 : GPTM0 时 钟除能 1 : GPTM0 时 钟使能 6 RTCEN RTC 时 钟使能 位 由软件置 位和复 位。 0 : RTC 时钟 除能 1 : RTC 时钟 使能 4 WDTEN 看门狗定 时器时 钟使能位 由软件置 位和复 位。 0 : 看门狗定时 器 时钟除能 1 : 看门狗定时 器 时钟使能 HT32 时 钟监控和时 钟变频 AN0464S 14 / 22 October 26, 2017 时钟源状态寄存器CKST 该寄存器具体说明了时钟源状态。 偏置: 0x034 复位值: 0x0100_0000 31 30
43、 29 28 27 26 25 24 Reserved HSIST 类型/ 复位 RO 0 RO 0 RO 1 23 22 21 20 19 18 17 16 Reserved HSEST 类型/ 复位 RO 0 RO 0 15 14 13 12 11 10 9 8 Reserved PLLST 类型/ 复位 RO 0 7 6 5 4 3 2 1 0 Reserved 类型/ 复位 位 字段 说明 26:24 HSIST 内部高速 时钟 CK_HSI 占用 状态 xx1 : HSI 由 系统 时钟 CK_SYS 使 用(SW=0x03 ) x1x : HSI 由 PLL 使用 1xx : HS
44、I 由 时钟 监控使用 17:16 HSEST 外部高速 时钟 CK_HSE 占用 状态 x1 : HSE 由系统 时钟 CK_SYS 使 用(SW=0x02 ) 1x : HSE 由 PLL 使用 8 PLLST PLL 时钟 占 用状态 0 : PLL 不由 系统 时钟 CK_SYS 使用 1 : PLL 由系 统时 钟 CK_SYS 使用 HT32 时 钟监控和时 钟变频 AN0464S 15 / 22 October 26, 2017 APB 外设时钟选择寄存器 0APBPCSR0 该寄存器定义了 APB 外设时 钟分频选择。 偏置: 0x038 复位值: 0x0000_0000 31
45、 30 29 28 27 26 25 24 UR1PCLK UR0PCLK USR1PCLK USR0PCLK 类型/ 复位 RW 0 RW 0 RW 0 RW 0 RW 0 RW 0 RW 0 RW 0 23 22 21 20 19 18 17 16 GPTM1PCLK GPTM0PCLK MCTM1PCLK MCTM0PCLK 类型/ 复位 RW 0 RW 0 RW 0 RW 0 RW 0 RW 0 RW 0 RW 0 15 14 13 12 11 10 9 8 BFTM1PCLK BFTM0PCLK Reserved 类型/ 复位 RW 0 RW 0 RW 0 RW 0 7 6 5 4
46、3 2 1 0 SPI1PCLK SPI0PCLK I2C1PCLK I2C0PCLK 类型/ 复位 RW 0 RW 0 RW 0 RW 0 RW 0 RW 0 RW 0 RW 0 位 字段 说明 31:30 UR1PCLK UART1 外设 时钟 选择 00: PCLK = CK_AHB 01: PCLK = CK_AHB / 2 10: PCLK = CK_AHB / 4 11: PCLK = CK_AHB / 8 PCLK = 外设时 钟; CK_AHB = AHB 和 CPU 时钟 29:28 UR0PCLK UART0 Peripheral Clock Selection 00: P
47、CLK = CK_AHB 01: PCLK = CK_AHB / 2 10: PCLK = CK_AHB / 4 11: PCLK = CK_AHB / 8 PCLK = 外设时 钟; CK_AHB = AHB 和 CPU 时钟 27:26 USR1PCLK USART1 外设时 钟选择 00: PCLK = CK_AHB 01: PCLK = CK_AHB / 2 10: PCLK = CK_AHB / 4 11: PCLK = CK_AHB / 8 PCLK = 外设时 钟; CK_AHB = AHB 和 CPU 时钟 25:24 USR0PCLK USART0 外设时 钟选择 00: P
48、CLK = CK_AHB 01: PCLK = CK_AHB / 2 10: PCLK = CK_AHB / 4 11: PCLK = CK_AHB / 8 PCLK = Peripheral Clock; CK_AHB = AHB 和 CPU 时钟 23:22 GPTM1PCLK GPTM1 Peripheral Clock Selection 00: PCLK = CK_AHB 01: PCLK = CK_AHB / 2 10: PCLK = CK_AHB / 4 11: PCLK = CK_AHB / 8 PCLK = 外设时 钟; CK_AHB = AHB 和 CPU 时钟 21:20 GPTM0PCLK GPTM0 外 设时钟 选择 00: PCLK = CK_AHB 01: PCLK = CK_AHB / 2 10: PCLK = CK_AHB / 4 11: PCLK = CK_AHB / 8 PCLK = 外设时 钟; CK_AHB = AHB 和 CPU 时钟