HC32F002C4PB-TSSOP20 数据手册
i
m
立 i
创 na
商 ry
城
HC32F002 系列
32 位 ARM® Cortex®-M0+ 微控制器
el
用户手册
to
Pr
Beta 版本,仅供参考
声
明
➢ 华大半导体有限公司(以下简称:“HDSC”)保留随时更改、更正、增强、修改华大半导
体产品和/或本文档的权利,恕不另行通知。用户可在下单前获取最新相关信息。HDSC
i
m
立 i
创 na
商 ry
城
产品依据购销基本合同中载明的销售条款和条件进行销售。
➢ 用户对 HDSC 产品的选择和使用承担全部责任,用户将 HDSC 产品用于其自己或指定第
三方产品上的,HDSC 不提供服务支持且不对此类产品承担任何责任。
➢ HDSC 在此确认未以明示或暗示方式授予任何知识产权许可。
el
➢ HDSC 产品的转售,若其条款与此处规定不同,HDSC 对此类产品的任何保修承诺无效。
➢ 任何带有“®”或“™”标识的图形或字样是 HDSC 的商标。所有其他在 HDSC 产品上显示的
Pr
产品或服务名称均为其各自所有者的财产。
to
➢ 本通知中的信息取代并替换先前版本中的信息。
HC32F002 系列用户手册 Beta1.0
©2019 华大半导体有限公司 - 保留所有权利
Page 2 of 415
目
录
声
明 ..........................................................................................................................................................................2
目
录 ..........................................................................................................................................................................3
产品特性 低功耗 MCU ...........................................................................................................................................22
功能模块.............................................................................................................................................................23
功能模块框图......................................................................................................................................23
1.2
32 位 Cortex M0+ 内核 ....................................................................................................................24
1.3
存储器..................................................................................................................................................24
i
m
立 i
创 na
商 ry
城
1.1
1.3.1
18 Kbytes FLASH ....................................................................................................................... 24
1.3.2
2 Kbytes RAM ............................................................................................................................. 24
1.4
时钟系统..............................................................................................................................................24
1.5
工作模式..............................................................................................................................................25
1.6
端口控制器 GPIO ..............................................................................................................................25
1.7
中断控制器 NVIC ..............................................................................................................................25
1.8
复位控制器 RESET ...........................................................................................................................25
1.9
定时器 TIM ........................................................................................................................................25
1.10
看门狗 WDT ......................................................................................................................................26
1.11
低功耗同步异步收发器 LPUART ....................................................................................................26
1.12
串行外设接口 SPI ..............................................................................................................................27
1.13
I2C 总线..............................................................................................................................................27
1.14
时钟校准器 CTRIM ...........................................................................................................................27
1.15
蜂鸣器 Buzzer ....................................................................................................................................28
1.16
模数转换器 ADC ...............................................................................................................................28
1.17
低电压检测器 LVD ............................................................................................................................28
1.18
嵌入式调试系统..................................................................................................................................29
1.19
编程模式..............................................................................................................................................29
1.20
器件电子签名......................................................................................................................................29
1.21
高安全性..............................................................................................................................................29
Pr
el
1
3
4
引脚配置及功能 .................................................................................................................................................30
2.1
引脚配置图..........................................................................................................................................30
2.2
引脚功能说明......................................................................................................................................33
2.3
模块信号说明......................................................................................................................................35
to
2
系统结构.............................................................................................................................................................36
3.1
概述......................................................................................................................................................36
3.2
存储器和模块地址分配......................................................................................................................37
工作模式.............................................................................................................................................................38
4.1
工作模式概述......................................................................................................................................38
4.2
工作模式切换......................................................................................................................................38
4.3
运行模式(Active Mode) .................................................................................................................41
4.4
休眠模式(Sleep Mode) ..................................................................................................................41
4.5
深度休眠模式(Deep Sleep Mode) .................................................................................................41
HC32F002 系列用户手册 Beta1.0
Page 3 of 415
4.6
功能模块工作状态..............................................................................................................................42
4.7
寄存器..................................................................................................................................................43
4.7.1
系统控制器(SYSCTRL) ...............................................................................................................................44
5.1
5.2
系统时钟介绍......................................................................................................................................44
5.1.1
时钟架构图 ................................................................................................................................. 45
5.1.2
内部高速 RC 时钟 RCH.......................................................................................................... 45
5.1.3
内部低速 RC 时钟 RCL .......................................................................................................... 46
5.1.4
外部输入时钟 EXTCLK ............................................................................................................ 46
系统时钟切换......................................................................................................................................47
i
m
立 i
创 na
商 ry
城
5
系统控制寄存器(SCB_SCR) ................................................................................................ 43
5.2.1
标准的时钟切换流程 ................................................................................................................. 47
5.2.2
RCH 不同输出频率间切换流程 ................................................................................................ 48
5.2.3
从其它时钟切换到 RCL 示例 ................................................................................................... 48
5.2.4
从其它时钟切换到 RCHCLKD 示例 ........................................................................................ 49
5.3
片内外设时钟控制..............................................................................................................................50
5.4
中断唤醒控制 .....................................................................................................................................51
从深度休眠模式唤醒后执行中断服务程序的方法 ................................................................. 51
5.4.2
从深度休眠模式唤醒后不执行中断服务程序的方法 ............................................................. 51
5.4.3
退出休眠 ..................................................................................................................................... 52
寄存器 .................................................................................................................................................54
5.5.1
系统控制寄存器 0(CR0) ....................................................................................................... 55
5.5.2
系统控制寄存器 1(CR1) ....................................................................................................... 56
5.5.3
系统控制寄存器 2(CR2) ....................................................................................................... 57
5.5.4
系统控制寄存器 3(CR3) ....................................................................................................... 58
el
5.5
5.4.1
RCH 控制寄存器(RCH)....................................................................................................... 59
5.5.6
RCL 控制寄存器(RCL) ........................................................................................................ 60
5.5.7
片内外设时钟控制寄存器 0(PeriClkEn0) ............................................................................ 61
Pr
5.5.5
6
5.5.8
片内外设时钟控制寄存器 1(PeriClkEn1) ............................................................................ 63
5.5.9
调试模式模块工作状态控制寄存器(DebugActive) ............................................................ 64
复位控制器(RESET).....................................................................................................................................65
复位控制器介绍..................................................................................................................................65
6.1.1
上电下电复位 POR .................................................................................................................... 65
6.1.2
外部复位管脚复位 ..................................................................................................................... 66
6.1.3
WDT 复位 ................................................................................................................................... 66
6.1.4
LVD 低电压复位 ........................................................................................................................ 66
6.1.5
Cortex-M0+ SYSRESETREQ 复位............................................................................................ 66
6.1.6
Cortex-M0+ LOCKUP 复位 ....................................................................................................... 66
to
6.1
6.2
7
寄存器..................................................................................................................................................67
6.2.1
复位标识寄存器(Reset_Flag) ............................................................................................... 67
6.2.2
片内外设复位控制寄存器 0(PeriReset0) ............................................................................. 69
6.2.3
片内外设复位控制寄存器 1(PeriReset1) ............................................................................. 71
中断控制器(NVIC) .......................................................................................................................................72
HC32F002 系列用户手册 Beta1.0
Page 4 of 415
7.1
概述......................................................................................................................................................72
7.2
中断优先级..........................................................................................................................................73
7.3
中断向量表..........................................................................................................................................74
7.4
中断输入和挂起行为..........................................................................................................................75
7.5
中断等待..............................................................................................................................................78
7.6
中断源..................................................................................................................................................79
7.7
中断结构图..........................................................................................................................................80
7.8
软件基本操作......................................................................................................................................82
外部中断使能 ............................................................................................................................. 82
7.8.2
NVIC 中断使能和清除使能 ..................................................................................................... 82
7.8.3
NVIC 中断挂起和清除挂起 ..................................................................................................... 82
7.8.4
NVIC 中断优先级 ..................................................................................................................... 82
7.8.5
NVIC 中断屏蔽 ......................................................................................................................... 83
i
m
立 i
创 na
商 ry
城
7.9
7.8.1
寄存器..................................................................................................................................................84
7.9.1
中断使能设置寄存器(NVIC_ISER) ..................................................................................... 84
7.9.2
中断使能清除寄存器(NVIC_ICER) .................................................................................... 85
7.9.3
中断挂起状态设置寄存器(NVIC_ISPR) ............................................................................. 85
7.9.4
中断挂起状态清除寄存器(NVIC_ICPR) ............................................................................. 86
7.9.5
中断优先级寄存器(NVIC_IPR0) ......................................................................................... 87
7.9.6
中断优先级寄存器(NVIC_IPR1) ......................................................................................... 88
7.9.7
中断优先级寄存器(NVIC_IPR2) ......................................................................................... 89
7.9.8
中断优先级寄存器(NVIC_IPR3) ......................................................................................... 90
7.9.9
中断优先级寄存器(NVIC_IPR4) ......................................................................................... 91
el
7.9.10 中断优先级寄存器(NVIC_IPR5) ......................................................................................... 92
7.9.11 中断优先级寄存器(NVIC_IPR6) ......................................................................................... 93
7.9.12 中断优先级寄存器(NVIC_IPR7) ......................................................................................... 94
Pr
7.9.13 中断屏蔽特殊寄存器(PRIMASK) ....................................................................................... 95
通用输入输出端口控制器(GPIO)................................................................................................................96
8.1
简介......................................................................................................................................................96
8.2
主要特性..............................................................................................................................................96
8.3
功能描述..............................................................................................................................................97
8.3.1
端口电路框图 ............................................................................................................................. 97
8.3.2
端口模式配置 ............................................................................................................................. 98
8.3.3
端口复位状态 ............................................................................................................................. 99
8.3.4
端口模拟功能 ............................................................................................................................. 99
8.3.5
端口通用输入输出功能 ........................................................................................................... 100
to
8
8.3.5.1 输入模式 ......................................................................................................................... 101
8.3.5.2 输出模式 ......................................................................................................................... 102
8.3.6
端口复用功能 ........................................................................................................................... 103
8.3.7
端口时钟输出 ........................................................................................................................... 105
8.3.7.1 输出 HCLK...................................................................................................................... 105
8.3.7.2 输出 TCLK ...................................................................................................................... 105
HC32F002 系列用户手册 Beta1.0
Page 5 of 415
8.3.8
寄存器描述........................................................................................................................................107
8.4.1
寄存器列表 ............................................................................................................................... 107
8.4.2
端口数模配置寄存器(GPIOx_ADS) .................................................................................. 109
8.4.3
端口方向配置寄存器(GPIOx_DIR) .........................................................................................110
8.4.4
端口输出类型寄存器(GPIOx_OpenDrain) ......................................................................... 111
8.4.5
端口上拉寄存器(GPIOx_PU) .............................................................................................. 111
8.4.6
端口数据输入寄存器(GPIOx_IN).......................................................................................112
8.4.7
端口数据输出寄存器(GPIOx_OUT) ...................................................................................112
8.4.8
端口复位寄存器 (GPIOx_BRR) ..............................................................................................113
8.4.9
端口置位复位寄存器(GPIOx_BSRR) .................................................................................114
i
m
立 i
创 na
商 ry
城
8.4
端口外部中断 ........................................................................................................................... 106
8.4.10 端口复用功能低位寄存器(GPIOx_AFRL) ........................................................................115
8.4.11 端口高电平中断使能配置寄存器(GPIOx_HIGHIE) ..............................................................116
8.4.12 端口低电平中断使能配置寄存器(GPIOx_LOWIE) ...............................................................116
8.4.13 端口上升沿中断使能配置寄存器(GPIOx_RISEIE) ...............................................................117
8.4.14 端口下降沿中断使能配置寄存器(GPIOx_FALLIE) ..............................................................117
8.4.15 端口中断状态寄存器(GPIOx_IFR) .........................................................................................118
8.4.16 端口中断清除寄存器(GPIOx_ICR) .........................................................................................119
8.4.17 端口辅助功能配置寄存器 1(GPIOx_CR1) ............................................................................ 120
8.4.18 端口辅助功能配置寄存器 4 (GPIO_CR4) ............................................................................. 121
FLASH 控制器(FLASH).............................................................................................................................122
9.1
概述....................................................................................................................................................122
9.2
容量划分............................................................................................................................................122
9.3
读等待周期........................................................................................................................................122
el
9
FLASH 操作(读、写、擦) ..........................................................................................................123
9.4.1
页擦除(Sector Erase) ........................................................................................................... 123
9.4.2
全片擦除(Chip Erase) ......................................................................................................... 123
Pr
9.4
写操作(Program) ................................................................................................................. 124
9.4.4
读操作(Read) ....................................................................................................................... 126
FLASH 安全保护 ..............................................................................................................................127
9.5.1
页面擦写保护 ........................................................................................................................... 127
9.5.2
PC 地址擦写保护 ..................................................................................................................... 127
9.5.3
寄存器写保护 ........................................................................................................................... 127
9.5.4
数据读出保护 ........................................................................................................................... 128
to
9.5
9.4.3
9.6
寄存器描述........................................................................................................................................129
9.6.1
控制寄存器列表 ....................................................................................................................... 129
9.6.2
控制寄存器(FLASH_CR) ................................................................................................... 130
9.6.3
中断标志寄存器(FLASH_IFR) .......................................................................................... 131
9.6.4
中断标志清除寄存器(FLASH_ICLR)................................................................................ 131
9.6.5
序列寄存器(FLASH_BYPASS) .......................................................................................... 132
9.6.6
擦写保护寄存器(FLASH_SLOCK) ................................................................................... 132
9.6.7
读等待周期寄存器(FLASH_WAIT) ................................................................................... 133
HC32F002 系列用户手册 Beta1.0
Page 6 of 415
9.6.8
读保护状态寄存器(FLASH_LockState) ............................................................................ 133
10 RAM 控制器(RAM)....................................................................................................................................134
10.1
概述....................................................................................................................................................134
10.2
功能描述............................................................................................................................................134
10.2.1 RAM 地址范围 ......................................................................................................................... 134
10.2.2 读写位宽 .................................................................................................................................. 134
11 基本定时器(BTIM) .....................................................................................................................................135
概述....................................................................................................................................................135
11.2
主要特性............................................................................................................................................135
11.3
功能描述............................................................................................................................................136
i
m
立 i
创 na
商 ry
城
11.1
11.3.1 功能框图................................................................................................................................... 136
11.3.2 滤波单元................................................................................................................................... 136
11.3.3 计数单元................................................................................................................................... 136
11.3.4 定时器模式............................................................................................................................... 137
11.3.5 计数器模式............................................................................................................................... 138
11.3.6 触发启动模式........................................................................................................................... 138
11.3.7 门控模式................................................................................................................................... 139
11.3.8 定时器级联............................................................................................................................... 140
11.4
寄存器描述........................................................................................................................................141
11.4.1 重载寄存器(BTIMx_ARR)(x=3,4,5) .................................................................................. 142
11.4.2 计数寄存器(BTIMx_CNT)(x=3,4,5) .................................................................................. 142
11.4.3 控制寄存器(BTIMx_CR) (x=3,4,5)................................................................................... 143
11.4.4 中断使能(BTIMx_IER) (x=3,4,5) ..................................................................................... 144
el
11.4.5 中断标志寄存器(BTIMx_IFR) (x=3,4,5) .......................................................................... 144
11.4.6 中断标志清除寄存器(BTIMx_ICR)(x=3,4,5) ................................................................... 145
11.4.7 复合中断标志寄存器(BTIM345_AIFR) ............................................................................ 146
Pr
11.4.8 复合中断标志清除寄存器(BTIM345_AICR) ................................................................... 147
12 通用定时器(GTIM).....................................................................................................................................148
12.1
概述....................................................................................................................................................148
12.2
主要特性............................................................................................................................................148
12.3
功能描述............................................................................................................................................149
12.3.1 功能框图 .................................................................................................................................. 149
12.3.2 滤波单元 .................................................................................................................................. 149
to
12.3.3 计数单元 .................................................................................................................................. 150
12.3.4 定时器模式 .............................................................................................................................. 151
12.3.5 计数器模式 .............................................................................................................................. 151
12.3.6 触发启动模式........................................................................................................................... 151
12.3.7 门控模式 .................................................................................................................................. 152
12.3.8 比较捕获功能........................................................................................................................... 153
12.3.8.1 捕获功能........................................................................................................................ 153
12.3.8.2 比较功能........................................................................................................................ 154
12.3.9 定时器级联 .............................................................................................................................. 155
HC32F002 系列用户手册 Beta1.0
Page 7 of 415
12.3.10 片内外设互联......................................................................................................................... 155
12.4
寄存器描述........................................................................................................................................156
12.4.1 重载寄存器(GTIM_ARR) .................................................................................................. 157
12.4.2 计数寄存器(GTIM_CNT) .................................................................................................. 157
12.4.3 控制寄存器 1(GTIM_CR1) ................................................................................................ 158
12.4.4 控制寄存器 0(GTIM_CR0) ................................................................................................ 159
12.4.5 中断使能控制寄存器(GTIM_IER) .................................................................................... 160
12.4.6 中断标志寄存器(GTIM_IFR) ............................................................................................ 161
12.4.7 中断标志清除寄存器(GTIM_ICR) .................................................................................... 162
i
m
立 i
创 na
商 ry
城
12.4.8 比较捕获控制寄存器(GTIM_CMMR) .............................................................................. 163
12.4.9 比较捕获寄存器(GTIM_CCRy)(y=0,1,2,3) ....................................................................... 164
13 高级定时器(ATIM) .....................................................................................................................................165
13.1
概述....................................................................................................................................................165
13.2
主要特性............................................................................................................................................165
13.3
功能描述............................................................................................................................................167
13.3.1 定时器时钟 .............................................................................................................................. 167
13.3.2 定时计数器 .............................................................................................................................. 167
13.3.3 定时器预分频........................................................................................................................... 167
13.3.4 模式 0 计数定时器功能.......................................................................................................... 168
13.3.4.1 功能框图........................................................................................................................ 168
13.3.4.2 计数波形........................................................................................................................ 169
13.3.4.3 计数功能........................................................................................................................ 170
13.3.4.4 定时功能........................................................................................................................ 170
el
13.3.4.5 时序图............................................................................................................................ 170
13.3.4.6 Buzzer 功能 .................................................................................................................... 171
13.3.4.7 设置示例........................................................................................................................ 171
Pr
13.3.5 模式 1 脉宽测量 PWC ............................................................................................................ 172
13.3.5.1 PWC 功能框图 ............................................................................................................... 172
13.3.5.2 PWC 波形测量时序图 ................................................................................................... 173
13.3.5.3 PWC 单次触发模式 ....................................................................................................... 175
13.3.5.1 设置示例........................................................................................................................ 175
13.3.6 模式 2/3 比较捕获模式 ........................................................................................................... 177
13.3.6.1 计数器............................................................................................................................ 177
to
13.3.6.2 计数器波形.................................................................................................................... 178
13.3.6.3 重复计数........................................................................................................................ 181
13.3.6.4 数据缓存........................................................................................................................ 183
13.3.6.5 比较输出 OCREF .......................................................................................................... 186
13.3.6.6 独立 PWM 输出 ............................................................................................................ 189
13.3.6.7 互补 PWM 输出 ............................................................................................................ 190
13.3.6.8 有死区的 PWM 输出 .................................................................................................... 191
13.3.6.9 单脉冲输出.................................................................................................................... 192
13.3.6.10 比较中断...................................................................................................................... 193
HC32F002 系列用户手册 Beta1.0
Page 8 of 415
13.3.6.11 捕获输入...................................................................................................................... 194
13.3.6.12 设置示例...................................................................................................................... 197
13.3.7 模式 2/3 从模式 ....................................................................................................................... 200
13.3.7.1 门控计数........................................................................................................................ 200
13.3.7.2 触发功能........................................................................................................................ 201
13.3.7.3 复位计数........................................................................................................................ 201
13.3.8 正交编码计数功能................................................................................................................... 202
13.3.9 Timer 触发 ADC ....................................................................................................................... 204
13.3.10 刹车控制 ................................................................................................................................ 205
i
m
立 i
创 na
商 ry
城
13.3.11 定时器互联............................................................................................................................. 205
13.3.12 CH0B 捕获输入互联 .............................................................................................................. 205
13.4
寄存器描述........................................................................................................................................206
13.4.1 模式 0 寄存器描述................................................................................................................... 207
13.4.1.1 16 位模式重载寄存器(ATIMx_ARR) ...................................................................... 207
13.4.1.2 16 位模式计数寄存器(ATIMx_CNT) ...................................................................... 207
13.4.1.3 32 位模式计数寄存器(ATIMx_CNT32) .................................................................. 208
13.4.1.4 控制寄存器(ATIMx_M0CR) ................................................................................... 209
13.4.1.5 中断标志寄存器(ATIMx_IFR) .................................................................................211
13.4.1.6 中断标志清除寄存器(ATIMx_ICLR) ......................................................................211
13.4.1.7 死区时间寄存器(ATIMx_DTR) .............................................................................. 212
13.4.2 模式 1 寄存器描述................................................................................................................... 213
13.4.2.1 16 位模式计数寄存器(ATIMx_CNT) ...................................................................... 213
13.4.2.2 控制寄存器(ATIMx_M1CR) ................................................................................... 214
el
13.4.2.3 中断标志寄存器(ATIMx_IFR) ................................................................................ 216
13.4.2.4 中断标志清除寄存器(ATIMx_ICLR) ..................................................................... 216
13.4.2.5 主从模式控制寄存器(ATIMx_MSCR) ................................................................... 217
Pr
13.4.2.6 输出控制滤波(ATIMx_FLTR)................................................................................. 218
13.4.2.7 控制寄存器(ATIMx_CR0) ....................................................................................... 219
13.4.2.8 比较捕获寄存器 (ATIMx_CCR0A ) ............................................................................ 219
13.4.3 模式 2,3 寄存器描述................................................................................................................ 220
13.4.3.1 16 位模式重载寄存器(ATIMx_ARR) ...................................................................... 220
13.4.3.2 16 位模式计数寄存器(ATIMx_CNT) ...................................................................... 220
13.4.3.3 控制寄存器(ATIMx_M23CR) ................................................................................. 221
to
13.4.3.4 中断标志寄存器(ATIMx_IFR) ................................................................................ 224
13.4.3.5 中断标志清除寄存器(ATIMx_ICLR) ..................................................................... 226
13.4.3.6 主从模式控制寄存器(ATIMx_MSCR) ................................................................... 227
13.4.3.7 输出控制/输入滤波(ATIMx_FLTR)........................................................................ 229
13.4.3.8 ADC 触发控制寄存器(ATIMx_ADTR) ................................................................... 232
13.4.3.9 通道 0 控制寄存器(ATIMx_CRCH0) ..................................................................... 233
13.4.3.10 通道 1/2 控制寄存器(TIM3_CRCH1/2) ............................................................... 235
13.4.3.11 死区时间寄存器(ATIMx_DTR) ............................................................................ 237
13.4.3.12 重复周期设置值寄存器(ATIMx_RCR) ................................................................ 238
HC32F002 系列用户手册 Beta1.0
Page 9 of 415
13.4.3.13 通道 0 比较捕获寄存器 (ATIMx_CCR0A/B) ........................................................... 238
13.4.3.14 通道 1/2 比较捕获寄存器 (TIM3_CCR1/2 A/B) ...................................................... 239
13.4.3.15 通道 3 比较捕获寄存器 (TIM3_CCR3) .................................................................... 239
13.4.3.16 通道 3 控制寄存器(ATIM3_CRCH3) ................................................................... 240
14 时钟校准模块 (CTRIM)..................................................................................................................................241
14.1
概述....................................................................................................................................................241
14.2
主要特性............................................................................................................................................241
14.3
功能描述............................................................................................................................................241
14.3.1 RCH 时钟校准模式 .................................................................................................................. 241
i
m
立 i
创 na
商 ry
城
14.3.2 RCL 时钟校准模式 .................................................................................................................. 242
14.3.3 低功耗定时器模式................................................................................................................... 243
14.4
软件操作流程....................................................................................................................................244
14.4.1 RCH 时钟自动校准示例 .......................................................................................................... 244
14.4.2 RCL 时钟自动校准示例 .......................................................................................................... 244
14.5
寄存器描述........................................................................................................................................246
14.5.1 自动装载寄存器(CTRIM_ARR) ........................................................................................ 246
14.5.2 误差计数器寄存器(CTRIM_CNT) .................................................................................... 247
14.5.3 控制寄存器 0(CTRIM_CR0) .............................................................................................. 248
14.5.4 控制寄存器 1(CTRIM_CR1) .............................................................................................. 249
14.5.5 中断使能寄存器(CTRIM_IER).......................................................................................... 250
14.5.6 中断和状态寄存器(CTRIM_ISR) ...................................................................................... 251
14.5.7 中断状态清除寄存器(CTRIM_ICR) ................................................................................. 252
14.5.8 误差结果寄存器(CTRIM_FCAP) ...................................................................................... 252
el
14.5.9 TrimCode 寄存器(CTRIM_TVAL) ..................................................................................... 253
14.5.10 误差上限寄存器(CTRIM_FLIM) .................................................................................... 253
15 独立看门狗(IWDT) ....................................................................................................................................254
概述....................................................................................................................................................254
Pr
15.1
15.2
主要特性............................................................................................................................................254
15.3
功能描述............................................................................................................................................255
15.3.1 功能框图 .................................................................................................................................. 255
15.3.2 窗口看门狗模式....................................................................................................................... 255
15.3.3 独立看门狗模式....................................................................................................................... 255
15.3.4 看门狗溢出处理....................................................................................................................... 255
to
15.3.5 看门狗暂停 .............................................................................................................................. 256
15.3.6 看门狗停止及再次运行........................................................................................................... 256
15.3.7 寄存器写保护........................................................................................................................... 256
15.4
编程示例............................................................................................................................................257
15.4.1 配置 IWDT 为窗口看门狗 ...................................................................................................... 257
15.4.2 配置 IWDT 为独立看门狗 ...................................................................................................... 257
15.5
寄存器描述........................................................................................................................................258
15.5.1 键值寄存器(IWDT_KR)..................................................................................................... 258
15.5.2 控制寄存器(IWDT_CR) ..................................................................................................... 259
HC32F002 系列用户手册 Beta1.0
Page 10 of 415
15.5.3 重载寄存器(IWDT_ARR) .................................................................................................. 260
15.5.4 窗口寄存器(IWDT_WINR)................................................................................................ 261
15.5.5 状态寄存器(IWDT_SR) ..................................................................................................... 262
16 窗口看门狗(WWDT) ..................................................................................................................................263
16.1
概述....................................................................................................................................................263
16.2
主要特性............................................................................................................................................263
16.3
功能描述............................................................................................................................................264
16.3.1 功能框图 .................................................................................................................................. 264
16.3.2 使能看门狗 .............................................................................................................................. 264
i
m
立 i
创 na
商 ry
城
16.3.3 配置看门狗超时....................................................................................................................... 264
16.3.4 更新递减计数器....................................................................................................................... 264
16.3.5 预溢出中断 .............................................................................................................................. 265
16.4
编程示例............................................................................................................................................265
16.5
寄存器描述........................................................................................................................................266
16.5.1 控制寄存器 0(WWDT_CR0) ............................................................................................. 266
16.5.2 控制寄存器 1(WWDT_CR1) ............................................................................................. 267
16.5.3 配置寄存器(WWDT_SR) ................................................................................................... 268
17 低功耗同步异步收发器(LPUART) ...........................................................................................................269
17.1
概述....................................................................................................................................................269
17.2
主要特性............................................................................................................................................269
17.3
功能描述............................................................................................................................................270
17.3.1 功能框图 .................................................................................................................................. 270
17.3.2 时钟说明 .................................................................................................................................. 270
el
17.3.3 工作模式 .................................................................................................................................. 271
17.3.3.1 四种工作模式对比........................................................................................................ 271
17.3.3.2 Mode0 数据收发说明 .................................................................................................... 273
Pr
17.3.3.3 Mode1 数据收发说明 .................................................................................................... 273
17.3.3.4 Mode2/Mode3 数据收发说明 ........................................................................................ 274
17.3.3.5 单总线数据收发说明.................................................................................................... 275
17.3.4 波特率生成 .............................................................................................................................. 276
17.3.4.1 传输时钟为 4MHz 波特率设置示例(Mode1 / Mode3) .......................................... 276
17.3.4.2 传输时钟为 8MHz 波特率设置示例(Mode1 / Mode3) .......................................... 277
17.3.4.3 传输时钟为 16MHz 波特率设置示例(Mode1 / Mode3) ........................................ 277
to
17.3.4.4 传输时钟为 24MHz 波特率设置示例(Mode1 / Mode3) ........................................ 278
17.3.4.5 传输时钟为 32MHz 波特率设置示例(Mode1 / Mode3) ........................................ 278
17.3.4.6 传输时钟为 48MHz 波特率设置示例(Mode1 / Mode3) ........................................ 279
17.3.5 帧错误检测 .............................................................................................................................. 280
17.3.6 多机通讯 .................................................................................................................................. 280
17.3.6.1 主机发送地址帧及数据帧............................................................................................ 280
17.3.6.2 从机接收地址帧及数据帧............................................................................................ 280
17.3.6.3 从机地址配置................................................................................................................ 280
17.3.7 硬件流控 .................................................................................................................................. 281
HC32F002 系列用户手册 Beta1.0
Page 11 of 415
17.3.7.1 RTS 流控 ........................................................................................................................ 281
17.3.7.2 CTS 流控 ........................................................................................................................ 281
17.4
编程示例............................................................................................................................................283
17.4.1 发送数据示例........................................................................................................................... 283
17.4.2 接收数据示例........................................................................................................................... 283
17.5
寄存器描述........................................................................................................................................285
17.5.1 数据寄存器(LPUARTx_DR) .............................................................................................. 285
17.5.2 控制寄存器(LPUARTx_CR) .............................................................................................. 286
17.5.3 地址寄存器(LPUARTx_ADDR) ........................................................................................ 288
i
m
立 i
创 na
商 ry
城
17.5.4 地址掩码寄存器(LPUARTx_AddrMask) .......................................................................... 288
17.5.5 标志位寄存器(LPUARTx_ISR) ......................................................................................... 289
17.5.6 标志位清除寄存器(LPUARTx_ICR) ................................................................................. 290
17.5.7 波特率寄存器(LPUARTx_BRR) ....................................................................................... 291
18 串行外设接口(SPI) .....................................................................................................................................292
18.1
概述....................................................................................................................................................292
18.2
主要特性............................................................................................................................................292
18.3
功能描述............................................................................................................................................293
18.3.1 功能框图 .................................................................................................................................. 293
18.3.2 通信格式和时序....................................................................................................................... 293
18.3.3 从机选择管脚配置................................................................................................................... 295
18.3.4 全双工通信 .............................................................................................................................. 296
18.3.5 单线半双工通信....................................................................................................................... 297
18.3.6 单工通信 .................................................................................................................................. 298
el
18.3.7 多机通信 .................................................................................................................................. 299
18.3.8 状态标志和错误标志............................................................................................................... 300
18.3.9 中断的产生和清除................................................................................................................... 303
编程示例............................................................................................................................................304
Pr
18.4
18.4.1 主机全双工收发数据示例....................................................................................................... 304
18.4.2 从机全双工收发数据示例....................................................................................................... 305
18.4.3 单线半双工发送接收数据示例............................................................................................... 306
18.6
寄存器描述........................................................................................................................................307
18.6.1 SPI 控制寄存器 0(SPI_CR0) .................................................................................................... 308
18.6.2 SPI 控制寄存器 1(SPI_CR1) .................................................................................................... 310
to
18.6.3 SPI 单线半双工输出使能寄存器(SPI_HDOE) ....................................................................... 312
18.6.4 SPI 内部从机选择寄存器(SPI_SSI) ........................................................................................ 313
18.6.5 SPI 状态寄存器(SPI_SR) ......................................................................................................... 314
18.6.6 SPI 中断清除寄存器(SPI_ICR) ............................................................................................... 316
18.6.7 SPI 数据寄存器(SPI_DR) ........................................................................................................ 317
19 I2C 总线(I2C) .............................................................................................................................................318
19.1
概述....................................................................................................................................................318
19.2
主要特性............................................................................................................................................318
19.3
协议描述............................................................................................................................................318
HC32F002 系列用户手册 Beta1.0
Page 12 of 415
19.3.1 I2C 总线上数据传输 ............................................................................................................... 319
19.3.2 I2C 总线上的应答 ................................................................................................................... 320
19.3.3 I2C 总线上的仲裁 ................................................................................................................... 321
19.4
功能描述............................................................................................................................................322
19.4.1 功能框图 .................................................................................................................................. 322
19.4.2 串行时钟发生器....................................................................................................................... 323
19.4.3 输入滤波器 .............................................................................................................................. 323
19.4.4 地址比较器 .............................................................................................................................. 323
19.4.5 应答标志位 .............................................................................................................................. 324
i
m
立 i
创 na
商 ry
城
19.4.6 中断产生器 .............................................................................................................................. 324
19.4.7 工作模式 .................................................................................................................................. 324
19.4.8 状态码表述 .............................................................................................................................. 330
19.5
编程示例............................................................................................................................................333
19.5.1 主机发送示例........................................................................................................................... 333
19.5.2 主机接收示例........................................................................................................................... 334
19.5.3 从机接收示例........................................................................................................................... 335
19.5.4 从机发送示例........................................................................................................................... 336
19.6
寄存器描述........................................................................................................................................337
19.6.1 寄存器列表 .............................................................................................................................. 337
19.6.2 波特率发生器使能寄存器(I2C_BRREN) ............................................................................... 337
19.6.3 波特率计数器配置寄存器(I2C_BRR) .................................................................................... 338
19.6.4 配置寄存器(I2C_CR)............................................................................................................... 339
19.6.5 数据寄存器(I2C_DR) .............................................................................................................. 340
el
19.6.6 状态寄存器(I2C_STAT) ........................................................................................................... 340
19.6.7 从机地址 0 寄存器(I2C_ADDR0) ........................................................................................... 341
19.6.8 从机地址 1 寄存器(I2C_ADDR1) ........................................................................................... 342
Pr
19.6.9 从机地址 2 寄存器(I2C_ADDR2) ........................................................................................... 342
19.6.10 从机地址匹配寄存器(I2C_MATCH) .................................................................................... 343
20 模数转换器(ADC) ......................................................................................................................................344
模块简介............................................................................................................................................344
20.2
ADC 框图 ...........................................................................................................................................345
20.3
转换时序及转换速度........................................................................................................................346
20.4
单次转换模式....................................................................................................................................347
20.5
外部触发转换模式 ...........................................................................................................................348
20.6
持续转换模式 ...................................................................................................................................349
20.7
测量 AVCC 电压...............................................................................................................................350
20.8
ADC 中断 ..........................................................................................................................................351
20.9
ADC 模块寄存器 .............................................................................................................................352
to
20.1
20.9.1 ADC 配置寄存器 0(ADC_CR0) ........................................................................................ 353
20.9.2 ADC 配置寄存器 1(ADC_CR1) ........................................................................................ 354
20.9.3 ADC 转换结果寄存器(ADC_Result) ................................................................................ 355
20.9.4 ADC 中断标志寄存器(ADC_IFR) .................................................................................... 355
HC32F002 系列用户手册 Beta1.0
Page 13 of 415
20.9.5 ADC 中断使能寄存器(ADC_IER) .................................................................................... 356
20.9.6 ADC 标志清除寄存器(ADC_ICR) .................................................................................... 356
20.9.7 ADC 外部触发配置寄存器(ADC_ExtTrigger) ................................................................. 357
20.9.8 ADC 转换启动控制寄存器(ADC_Start) ........................................................................... 358
20.9.9 ADC 持续转换控制寄存器(ADC_AllStart) ...................................................................... 358
21 低电压检测器(LVD)...................................................................................................................................359
LVD 简介 ..........................................................................................................................................359
21.2
LVD 框图 ..........................................................................................................................................359
21.3
迟滞功能............................................................................................................................................360
21.4
数字滤波............................................................................................................................................360
21.5
配置示例............................................................................................................................................361
i
m
立 i
创 na
商 ry
城
21.1
21.5.1 LVD 配置为低电压复位 ......................................................................................................... 361
21.5.2 LVD 配置为电压变化中断 ..................................................................................................... 362
21.6
LVD 寄存器 ......................................................................................................................................363
21.6.1 LVD 配置寄存器(LVD_CR) .............................................................................................. 364
21.6.2 LVD 中断寄存器(LVD_IFR) ............................................................................................. 366
22 器件电子签名 ...................................................................................................................................................367
22.1
产品唯一身份标识码(UID)寄存器.............................................................................................367
22.2
产品型号寄存器................................................................................................................................368
22.3
FLASH 容量寄存器 ..........................................................................................................................368
22.4
RAM 容量寄存器..............................................................................................................................369
22.5
管脚数量寄存器................................................................................................................................369
22.6
一次性编程区域(OTP 区域) .......................................................................................................370
el
23 SWD 调试接口 ................................................................................................................................................371
SWD 调试附加功能.........................................................................................................................371
23.2
ARM® 参考文档 .............................................................................................................................372
23.3
调试端口管脚....................................................................................................................................373
Pr
23.1
23.3.1 SWD 端口管脚 ........................................................................................................................ 373
23.3.2 SW-DP 管脚分配..................................................................................................................... 373
23.3.3 SWD 管脚上的内部上拉 ........................................................................................................ 373
23.4
SWD 端口.........................................................................................................................................374
23.4.1 SWD 协议简介 ........................................................................................................................ 374
23.4.2 SWD 协议序列 ........................................................................................................................ 374
to
23.4.3 SW-DP 状态机(复位、空闲状态、ID 代码) ................................................................... 375
23.4.4 DP 和 AP 读/写访问 .............................................................................................................. 375
23.4.5 SW-DP 寄存器 ......................................................................................................................... 376
23.4.6 SW-AP 寄存器 ......................................................................................................................... 377
23.5
内核调试............................................................................................................................................378
23.6
BPU(断点单元) ............................................................................................................................378
23.6.1 BPU 功能 ................................................................................................................................. 378
23.7
DWT(数据观察点).......................................................................................................................379
23.7.1 DWT 功能 ................................................................................................................................ 379
HC32F002 系列用户手册 Beta1.0
Page 14 of 415
23.7.2 DWT 程序计数器采样寄存器 ................................................................................................ 379
23.8
调试组件(DBG) ...........................................................................................................................380
23.8.1 对低功耗模式的调试支持....................................................................................................... 380
23.8.2 对定时器、看门狗的调试支持............................................................................................... 380
24 典型应用电路图 ...............................................................................................................................................381
25 电气特性...........................................................................................................................................................382
25.1
测试条件............................................................................................................................................382
25.1.1 最小和最大数值....................................................................................................................... 382
25.1.2 典型数值 .................................................................................................................................. 382
绝对最大额定值................................................................................................................................383
25.3
工作条件............................................................................................................................................385
i
m
立 i
创 na
商 ry
城
25.2
25.3.1 通用工作条件........................................................................................................................... 385
25.3.2 上电和掉电时的工作条件....................................................................................................... 385
25.3.3 内嵌复位和 LVD 模块特性 ..................................................................................................... 386
25.3.4 内置的参考电压....................................................................................................................... 388
25.3.5 供电电流特性........................................................................................................................... 388
25.3.6 从低功耗模式唤醒的时间....................................................................................................... 391
25.3.7 外部时钟源特性....................................................................................................................... 392
25.3.7.1 外部输入高速时钟........................................................................................................ 392
25.3.8 内部时钟源特性....................................................................................................................... 393
25.3.8.1 内部 RCH 振荡器 ........................................................................................................ 393
25.3.8.2 内部 RCL 振荡器 ......................................................................................................... 393
25.3.9 存储器特性 .............................................................................................................................. 394
el
25.3.10 EFT 特性 ................................................................................................................................. 394
25.3.11 ESD 特性 ................................................................................................................................. 395
25.3.12 I/O 端口特性 ........................................................................................................................... 395
Pr
25.3.12.1 输出特性——端口...................................................................................................... 395
25.3.12.2 输入特性——端口 PA,PB,PC,PD ............................................................................. 397
25.3.12.3 端口外部输入采样要求——Timer Clock.................................................................. 397
25.3.12.4 端口漏电特性——PA,PB,PC,PD ............................................................................... 398
25.3.13 RESETB 引脚特性.................................................................................................................. 398
25.3.14 ADC 特性 ................................................................................................................................ 398
25.3.15 TIM 定时器特性 ..................................................................................................................... 401
to
25.3.16 通信接口 ................................................................................................................................ 403
25.3.16.1 I2C 特性........................................................................................................................ 403
25.3.16.2 SPI 特性 ........................................................................................................................ 404
26 封装尺寸...........................................................................................................................................................407
27 附录 A SysTick 定时器 ................................................................................................................................411
27.1
SysTick 定时器简介 ........................................................................................................................ 411
27.2
设置 SysTick ..................................................................................................................................... 411
27.3
SysTick 寄存器 ................................................................................................................................412
27.3.1 SysTick 控制和状态寄存器(CTRL) .................................................................................. 412
HC32F002 系列用户手册 Beta1.0
Page 15 of 415
27.3.2 SysTick 重载寄存器(LOAD) ............................................................................................. 412
27.3.3 SysTick 当前值寄存器(VAL)............................................................................................. 412
27.3.4 SysTick 校准值寄存器(CALIB) ........................................................................................ 413
28 附录 B 文档约定 ...........................................................................................................................................414
28.1
寄存器相关缩写词列表....................................................................................................................414
28.2
词汇表................................................................................................................................................414
to
Pr
el
i
m
立 i
创 na
商 ry
城
版本记录 & 联系方式 ...........................................................................................................................................415
HC32F002 系列用户手册 Beta1.0
Page 16 of 415
表目录
表 2-1 模块信号说明 ............................................................................................................................................ 35
表 3-1 地址划分表 ................................................................................................................................................ 37
表 7-1 Cortex-M0+ 处理器中断一览 .................................................................................................................. 72
表 7-2 外部中断与 NVIC 中断输入对应关系................................................................................................... 79
表 8-1 端口功能配置表 ........................................................................................................................................ 98
表 8-2 GPIO 寄存器一览表 ................................................................................................................................ 108
表 9-1 FLASH 容量划分 .................................................................................................................................... 122
i
m
立 i
创 na
商 ry
城
表 10-1 RAM 地址映射 ...................................................................................................................................... 134
表 11-1 BTIM 寄存器列表 ................................................................................................................................ 141
表 12-1 Timer 寄存器列表................................................................................................................................. 156
表 13-1 Timer 寄存器列表................................................................................................................................. 206
表 14-1 CTRIM 寄存器 ...................................................................................................................................... 246
表 15-1 IWDT 寄存器列表................................................................................................................................ 258
表 16-1 WWDT 寄存器列表 ............................................................................................................................. 266
表 17-1 Mode0/1/2/3 数据结构........................................................................................................................... 271
表 17-2 B8 数据含义 .......................................................................................................................................... 272
表 17-3 SCL 为 4MHz 波特率计算表................................................................................................................ 276
表 17-4 SCLK 为 8MHz 波特率计算表 ............................................................................................................. 277
表 17-5 SCLK 为 16MHz 波特率计算表 ........................................................................................................... 277
表 17-6 SCLK 为 24MHz 波特率计算表 ........................................................................................................... 278
表 17-7
SCLK 为 32MHz 波特率计算表 ........................................................................................................... 278
el
表 17-8 SCLK 为 48MHz 波特率计算表 ........................................................................................................... 279
表 18-1 SPI 中断 ................................................................................................................................................. 303
表 18-2 SPI 寄存器列表 ..................................................................................................................................... 307
Pr
表 19-1 I2C 时钟信号波特率 ............................................................................................................................ 323
表 20-1 ADC 寄存器........................................................................................................................................... 352
表 21-1 LVD 寄存器 .......................................................................................................................................... 363
表 25-1 工作电流特性 ........................................................................................................................................ 390
表 25-2 高级定时器(ADVTIM)特性 ............................................................................................................ 401
表 25-3 通用定时器特性 .................................................................................................................................... 401
表 25-4 低功耗定时器特性 ................................................................................................................................ 402
to
表 25-5 IWDT 特性............................................................................................................................................. 402
表 25-6 WWDT 特性 .......................................................................................................................................... 402
表 25-7 I2C 接口特性 ......................................................................................................................................... 403
HC32F002 系列用户手册 Beta1.0
Page 17 of 415
图目录
图 2-1 管脚配置图 ................................................................................................................................................ 32
图 3-1 系统架构示意图 ........................................................................................................................................ 36
图 4-1 工作模式状态转换图 ................................................................................................................................ 38
图 5-1 时钟控制模块框图 .................................................................................................................................... 45
图 5-2 时钟切换示意图 ........................................................................................................................................ 48
图 6-1 复位来源示意图 ........................................................................................................................................ 65
图 7-1 只使用了高两位的优先级寄存器 ............................................................................................................ 73
i
m
立 i
创 na
商 ry
城
图 7-2 中断向量表 ................................................................................................................................................ 74
图 7-3 中断激活和挂起状态 ................................................................................................................................ 75
图 7-4 中断挂起状态被清除然后被重新确认 .................................................................................................... 76
图 7-5 中断退出时若中断请求保持高电平就会引起中断处理的再次执行..................................................... 76
图 7-6 中断处理中产生的中断挂起也可以被确认 ............................................................................................ 77
图 7-7 中断结构图 ................................................................................................................................................ 80
图 8-1 通用端口电路示意图 ................................................................................................................................ 97
图 8-2 高阻-模拟配置示意图 ............................................................................................................................... 99
图 8-3 输入悬空/上拉来配置示意图 ................................................................................................................. 101
图 8-4 读取端口管脚数据同步图 ...................................................................................................................... 101
图 8-5 输出配置示意图 ...................................................................................................................................... 102
图 8-6 复用功能配置示意图 .............................................................................................................................. 103
图 11-1 BTIM 框图 ............................................................................................................................................ 136
计数器波形 ............................................................................................................................................ 137
图 11-3
定时模式框图 ........................................................................................................................................ 138
el
图 11-2
计数器模式框图 .................................................................................................................................... 138
图 11-5
触发启动器模式框图 ............................................................................................................................ 139
图 11-6
触发启动模式计数示意图 .................................................................................................................... 139
Pr
图 11-4
图 11-7
门控模式框图 ........................................................................................................................................ 140
图 11-8
门控模式计数示意图 ............................................................................................................................ 140
图 12-1 GTIM 框图 ............................................................................................................................................. 149
图 12-2 计数器波形 ............................................................................................................................................ 150
图 12-3 定时模式框图 ........................................................................................................................................ 151
图 12-4 计数器模式框图 .................................................................................................................................... 151
to
图 12-5 触发启动器模式框图 ............................................................................................................................ 152
图 12-6 触发启动模式计数示意图 .................................................................................................................... 152
图 12-7 门控模式框图 ........................................................................................................................................ 153
图 12-8 门控模式计数示意图 ............................................................................................................................ 153
图 12-9 捕获功能示意图 .................................................................................................................................... 154
图 12-10 比较功能示意图 .................................................................................................................................. 155
图 13-1 ATIM3 框图 .......................................................................................................................................... 166
图 13-2 自由计数框图 ........................................................................................................................................ 168
图 13-3 重载计数波形 ........................................................................................................................................ 168
HC32F002 系列用户手册 Beta1.0
Page 18 of 415
图 13-4 16 位重载计数波形 ............................................................................................................................... 169
图 13-5 32 位自由计数波形 ............................................................................................................................... 169
图 13-6 自由计数时序图 .................................................................................................................................... 170
图 13-7 重载计数时序图(预分频设置为 2) ................................................................................................. 170
图 13-8 PWC 测量框图 ...................................................................................................................................... 172
图 13-9 高电平脉冲宽度测量 ............................................................................................................................ 173
图 13-10 下降沿到下降沿周期测量 .................................................................................................................. 173
图 13-11
上升沿到上升沿周期测量 .................................................................................................................. 173
图 13-12 上升沿到上升沿周期测量单次模式 .................................................................................................. 175
i
m
立 i
创 na
商 ry
城
图 13-13 计数器框图 .......................................................................................................................................... 177
图 13-14 无预分频的向上计数 .......................................................................................................................... 178
图 13-15 带预分频的上计数 .............................................................................................................................. 179
图 13-16 不带预分频的下计数 .......................................................................................................................... 179
图 13-17 带预分频的下计数 .............................................................................................................................. 180
图 13-18 带预分频的上下计数 .......................................................................................................................... 180
图 13-19 边沿对齐计时器波形( DIR =1) .......................................................................................................... 180
图 13-20 边沿对齐计时器波形( DIR =0) .......................................................................................................... 181
图 13-21 中心对齐计数器波形 .......................................................................................................................... 181
图 13-22 重复计数器产生更新时序(RCR.UD=0 RCR.OV=0) ................................................................... 182
图 13-23 三角波模式下缓存使能 ...................................................................................................................... 183
图 13-24 三角波模式下缓存无效 ...................................................................................................................... 183
图 13-25 锯齿波模式下上计数缓存使能 .......................................................................................................... 184
图 13-26 锯齿波模式下上计数缓存无效 .......................................................................................................... 184
el
图 13-27 锯齿波模式下计数缓存使能 .............................................................................................................. 184
图 13-28 锯齿波模式下计数缓存无效 .............................................................................................................. 185
图 13-29 锯齿波模式下计数比较缓存使能 ...................................................................................................... 185
Pr
图 13-30 OCREF 输出框图 ................................................................................................................................ 186
图 13-31 锯齿波计数单点比较 OCREF 输出波形(OCMx=111) ............................................................... 187
图 13-32 三角波计数单点比较 OCREF 输出波形(OCMx=111)................................................................. 187
图 13-33 锯齿波计数双点比较 OCREF 输出(OCMx=111) ........................................................................ 188
图 13-34 三角波计数双点比较 OCREF 输出(OCMx=111) ........................................................................ 188
图 13-35 独立 PWM 输出框图........................................................................................................................... 189
图 13-36 CCPx=0 时 PWM 输出波形 ................................................................................................................ 189
to
图 13-37 CCPx=1 时 PWM 输出波形 ................................................................................................................ 189
图 13-38 互补 PWM 输出框图........................................................................................................................... 190
图 13-39 互补 PWM 输出波形图....................................................................................................................... 190
图 13-40 互补 PWM 输出波形图....................................................................................................................... 191
图 13-41 死区时间 .............................................................................................................................................. 191
图 13-42 三角波模式单脉冲计数 ...................................................................................................................... 192
图 13-43 锯齿波上计数单脉冲模式 .................................................................................................................. 193
图 13-44 锯齿波下计数单脉冲模式 .................................................................................................................. 193
图 13-45 中断示意图 .......................................................................................................................................... 194
HC32F002 系列用户手册 Beta1.0
Page 19 of 415
图 13-46 捕获功能框图 ...................................................................................................................................... 195
图 13-47 捕获时序图 .......................................................................................................................................... 195
图 13-48 CHA 端口选择..................................................................................................................................... 195
图 13-49 CHB 端口选择 ..................................................................................................................................... 196
图 13-50 从模式示意图 ...................................................................................................................................... 200
图 13-51 门控功能 .............................................................................................................................................. 201
图 13-52 触发和复位功能 .................................................................................................................................. 201
图 13-53 编码计数 .............................................................................................................................................. 203
图 13-54 ADC 触发............................................................................................................................................. 204
i
m
立 i
创 na
商 ry
城
图 17-1 结构框图 ................................................................................................................................................ 270
图 17-2 Mode0 发送数据 .................................................................................................................................... 273
图 17-3 Mode0 接收数据 .................................................................................................................................... 273
图 17-4 Mode1 发送数据 .................................................................................................................................... 274
图 17-5 Mode1 接收数据 .................................................................................................................................... 274
图 17-6 Mode2 发送数据 .................................................................................................................................... 274
图 17-7 Mode2 接收数据 .................................................................................................................................... 275
图 17-8 RTS 硬件流控信号 ................................................................................................................................ 281
图 17-9 CTS 硬件流控信号 ................................................................................................................................ 282
图 18-1 SPI 框图 ................................................................................................................................................. 293
图 18-2 SPI 通信格式时序图 ............................................................................................................................. 294
图 18-5 从机选择 NSS 管脚配置 ....................................................................................................................... 295
图 22-6 SPI 全双工通信 ..................................................................................................................................... 296
图 22-7 SPI 单线半双工通信 ............................................................................................................................. 297
el
图 22-8 SPI 单工发送通信示意 ......................................................................................................................... 298
图 18-9 SPI 多机系统 ......................................................................................................................................... 299
图 18-3 SPI 主机模式一般标志位说明图 ......................................................................................................... 302
Pr
图 18-4 SPI 从机模式一般标志位说明图 ......................................................................................................... 302
图 19-1 I2C 传输协议 ........................................................................................................................................ 319
图 20-1 ADC 示意框图....................................................................................................................................... 345
图 20-2
ADC 转换时序图................................................................................................................................... 346
图 20-3 ADC 转换外部触发源示意图 ............................................................................................................... 348
图 21-1 LVD 框图 .............................................................................................................................................. 359
图 21-2 LVD 迟滞响应 ...................................................................................................................................... 360
to
图 21-3 LVD 滤波输出 ...................................................................................................................................... 360
图 23-1 调试支持框图 ........................................................................................................................................ 371
图 25-1 POR/Brown Out 示意图 ........................................................................................................................ 386
图 25-2 输出端口 VOH/VOL 实测曲线 .......................................................................................................... 396
图 25-3
I2C 接口时序 ......................................................................................................................................... 403
HC32F002 系列用户手册 Beta1.0
Page 20 of 415
简介
HC32F002 系列是一款旨在延长便携式测量系统的电池使用寿命的低功耗、宽电压工作范围的
MCU。集成 10 位 1Msps 高精度 SARADC,内置高性能 PWM 定时器,UART、SPI、I2C 等
丰富的通讯外设,具有高整合度、高抗干扰、高可靠性和低功耗的特点。本产品内核采用 Cortex-
i
m
立 i
创 na
商 ry
城
M0+ 内核,配合成熟的 Keil & IAR 调试开发软件,支持 C 语言及汇编语言。
低功耗 MCU 典型应用
传感器应用、物联网应用
智能仪表、无线模块、温控器、货架标签
智能交通、报警系统
智能家居、医疗设备
to
Pr
el
HC32F002 系列用户手册 Beta1.0
Page 21 of 415
产品特性 低功耗 MCU
⚫
48MHz Cortex-M0+ 32 位 CPU 平台
⚫
HC32F002 系列具有灵活的功耗管理系统
–
提供 WDT 计数
5μA @ 3V 深度休眠模式:所有时钟关闭,
–
1 个窗口看门狗电路,使用系统时钟
上电复位有效,IO 状态保持,IO 中断有效,
–
1 个低功耗 16 位定时器,支持自动唤醒
所有寄存器、RAM 和 CPU 数据保存状态
–
1 个 CM0+ 内置 24 位 SysTick 定时器
⚫
时的功耗
–
1 个独立看门狗电路,内部低速时钟振荡器
i
m
立 i
创 na
商 ry
城
–
–
通讯接口
15μA/MHz@3V@48MHz 休眠模式:
CPU 停
–
2 路 LPUART 通讯接口
止,外设处于可运行状态,主时钟运行
–
1 路 SPI 标准通讯接口
100μA/MHz@3V@48MHz 工作模式:CPU
–
1 路 I2C 标准通讯接口
⚫
定时器作为蜂鸣器频率发生器
18K 字节 FLASH 存储器,具有擦写保护功能,
⚫
全球唯一 10 字节 ID 号
支持 ISP、ICP、IAP,4 级安全保护
⚫
128 字节 OTP 存储器,只能通过编程器写入
⚫
2K 字节 RAM 存储器
⚫
10 位高达 1Msps 采样速率的 SARADC
⚫
通用 I/O 管脚 (22IO/24PIN,18IO/20PIN)
⚫
集成低电压侦测器,可配置 16 阶比较电压,可
⚫
时钟
和外设可运行,从 FLASH 运行程序
监控端口电压以及电源电压
–
内部高速时钟
44.24/48MHz
⚫
SWD 调试解决方案,提供全功能调试器
–
内部低速时钟
32.8/38.4KHz
⚫
工作条件:-40 ~ 105℃,1.7V ~ 5.5V
–
外部输入
1-16MHz
⚫
封装形式:QFN24/20,TSSOP24/20
Pr
el
⚫
⚫
定时器/计数器
–
1 个高级 16 位定制器,支持 3 相互补 PWM
–
to
输出
1 个复合定时器,可配置为通用 16 位定时
器/计数器或 3 个 16 位基本定时器;作为通
用定时器时支持 4 通道捕获比较,4 通道
PWM 输出;作为基本定时器时,每个定时
器支持两路翻转输出
HC32F002 系列用户手册 Beta1.0
Page 22 of 415
1
功能模块
1.1
功能模块框图
PA00
······
PA04
PB00
······
PB05
PC03
······
PC07
PD01
······
PD06
NVIC
SWD
Bus
Matrix
SRAM
Up to 2 KB
SysCtrl
GPIO PortA
GPIO PortB
ATIM3
y=0,1,2
GPIO PortC
el
I2C
SPI
Pr
SPI_NSS
SPI_SCK
SPI_MOSI
SPI_MISO
ADC_AIN00
······
ADC_AIN13
ADC_ExRef
ATIM3_BK
ATIM3_ETR
ATIM3_CHyA
ATIM3_CHyB
GPIO PortD
AHB to APB
Bridge
I2C_SCL
I2C_SDA
AVCC
AVSS
RESETB
i
m
立 i
创 na
商 ry
城
SWDIO
SWCLK
POR
BOR
RCH
RCL
LDO
Flash
Up to 18 KB
ARM
Cortex-M0+
ADC(10bit)
GTIM / BTIMx
x=3,4,5; y=0-3
GTIM_CHy
GTIM_ETR
GTIM_TOGP
GTIM_TOGN
BTIM_ETR
BTIMx_TOGP
BTIMx_TOGN
CTRIM
CTRIM_ETR
CTRIM_TOG
LPUARTx
x=0,1
LPUARTx_TXD
LPUARTx_RXD
LPUARTx_CTS
LPUARTx_RTS
IWDT
@AVCC
LVD
WWDT
to
LVD_IN0
LVD_IN1
LVD_IN2
LVD_OUT
HC32F002 系列用户手册 Beta1.0
Page 23 of 415
1.2
32 位 Cortex M0+ 内核
ARM® Cortex®-M0+ 处理器源于 Cortex-M0,包含了一颗 32 位 RISC 处理器,运算
能力达到 0.95 Dhrystone MIPS/MHz。同时加入了多项全新设计,改进调试和追踪能力、
减少每条指令循环(IPC)数量和改进 Flash 访问的两级流水线等,更纳入了节能降耗
技术。Cortex-M0+ 处理器全面支持已整合 Keil & IAR 调试器。
i
m
立 i
创 na
商 ry
城
Cortex-M0+ 包含了一个硬件调试电路,支持 2-pin 的 SWD 调试界面。
ARM Cortex-M0+ 特性:
指令集
Thumb / Thumb-2
流水线
2级流水线
性能效率
2.46 CoreMark / MHz
性能效率
0.95 DMIPS / MHz in Dhrystone
中断
15个快速中断
中断优先级
可配置4级中断优先级
增强指令
多周期32位乘法器
调试
Serial-wire 调试端口,支持4个硬中断(break point)以及1个观察点
(watch point)
1.3
存储器
el
1.3.1 18 Kbytes FLASH
Pr
内建全集成 FLASH 控制器,无需外部高压输入,由全内置电路产生高压来编程。支持
ISP、IAP、ICP 功能。具有 4 级安全保护等级。
1.3.2 2 Kbytes RAM
任意功耗模式,RAM 数据均不会丢失。
时钟系统
to
1.4
一个频率为 44 ~ 48MHz 的高精度内部时钟 RCH。出厂已预置 44.24MHz、48MHz 校
准值。
一个频率为 32.8KHz / 38.4KHz 的内部时钟 RCL。
HC32F002 系列用户手册 Beta1.0
Page 24 of 415
工作模式
1.5
运行模式(Active Mode):CPU 运行,片内外设运行。
休眠模式(Sleep Mode):CPU 停止运行,片内外设运行。
深度休眠模式(Deep sleep Mode):CPU 停止运行,低功耗片内外设运行。
i
m
立 i
创 na
商 ry
城
端口控制器 GPIO
1.6
最多可提供 22 个 GPIO 端口,其中部分 GPIO 与模拟端口复用。每个端口由独立的
控制寄存器位来控制。所有管脚支持边沿触发中断和电平触发中断,可从各种休眠模式
下将 MCU 唤醒到工作模式。支持位置位、位清零、位置位清零操作。支持 Push-Pull
CMOS 推挽输出、Open-Drain 开漏输出。内置上拉电阻,带有施密特触发器功能。每
个 IO 最大支持 18mA 的电流驱动能力,20 管脚及以下封装其中 4 个 IO 支持大驱动输
出。
中断控制器 NVIC
1.7
Cortex-M0+处理器内置了嵌套向量中断控制器(NVIC),支持最多 15 个中断请求(IRQ)
el
输入;有四个中断优先级,可处理复杂逻辑,能够进行实时控制和中断处理。
复位控制器 RESET
Pr
1.8
本产品具有 7 个复位信号来源,每个复位信号可以让 CPU 重新运行,绝大多数寄存器
会被重新复位,程序计数器 PC 会指向起始地址。
定时器 TIM
1.9
名称
位宽
预除频
计数方向
PWM
捕获
互补输出
高级定时器
ATIM3
16/32
1/2/4/8/16/
上计数/
6
6
3
32/64/256
下计数/
to
类型
通用定时器
低功耗定时器
上下计数
GTIM
16
1~32768
上计数
4
4
无
BTIM3-5
16
1~32768
上计数
无
无
无
CTRIM
16
1~32768
上计数
无
无
无
通用定时器是支持 4 路比较捕获功能的定时器,可以配置成 3 个基本定时器。
低功耗定时器是异步 16 位定时/计数器,在系统时钟关闭后仍然可以通 RCL 进行计时/
HC32F002 系列用户手册 Beta1.0
Page 25 of 415
计数。通过中断在低功耗模式下唤醒系统。
高级定时器包含定时器 ATIM3,其特性如下:
PWM 独立输出,互补输出
捕获输入
死区控制
刹车控制
边沿对齐、对称中心对齐与非对称中心对齐 PWM 输出
正交编码计数功能
单脉冲模式
外部计数功能
i
m
立 i
创 na
商 ry
城
ATIM3 是多通道的通用定时器,可以产生 3 组 PWM 互补输出或 6 路 PWM 独立输出,
最多 6 路输入捕获。具有死区控制功能。
1.10 看门狗 WDT
IWDT 是一个可配置的 12 位定时器,在 MCU 异常的情况下提供复位;RCL 时钟输入
el
作为计数器时钟。只有写入特定序列才能重启 WDT。
WWDT 是一个 7 位定时器,通常被用来监测,由外部干扰或不可预见的逻辑条件造成
Pr
的应用程序背离正常的运行序列而产生的软件故障。
1.11 低功耗同步异步收发器 LPUART
2 路低功耗模式下可以工作的同步异步收发器(Low Power Universal Asynchronous
Receiver/Transmitter),LPUART0/LPUART1,其基本功能如下所示:
to
传输时钟 SCLK(SCLK 可选择 RCL 或 PCLK)
系统低功耗模式下收发数据
半双工和全双工传输
8/9-Bit 传输数据长度
硬件奇偶校验
1/1.5/2-Bit 停止位
四种不同传输模式
HC32F002 系列用户手册 Beta1.0
Page 26 of 415
16-Bit 波特率计数器
多机通讯
硬件地址识别
硬件流控
支持单线模式
i
m
立 i
创 na
商 ry
城
1.12 串行外设接口 SPI
可配置为主机或者从机,支持多机模式
主机模式最大分频系数为 PCLK/2,最高通信速率为 12M bps
从机模式最大分频系数为 PCLK/4,最高通信速率为 8M bps
多种通信模式:全双工、单线半双工、单工
两种传输顺序:先收发 MSB 或先收发 LSB
多种数据帧长度:4bit ~ 16bit
两种 NSS 方式:硬件控制、软件控制
可配置的串行时钟极性和相位
el
1.13 I2C 总线
1 路 I2C,采用串行同步时钟,可实现设备之间以不同的速率传输数据。
Pr
I2C 基本特性:
支持主机发送/接收,从机发送/接收四种工作模式
支持标准(100Kbps) / 快速(400Kbps) / 高速(1Mbps) 三种工作速率
支持 7 位寻址功能
to
支持噪声过滤功能
支持广播地址
支持中断状态查询功能
1.14 时钟校准器 CTRIM
时钟校准定时器可以调整校准 RC 时钟频率,也可以调整校准其他 RC 振荡的时钟频
率,还可以作为一个通用定时器或者自动唤醒定时器来使用。
HC32F002 系列用户手册 Beta1.0
Page 27 of 415
1.15 蜂鸣器 Buzzer
定时器功能复用输出为 Buzzer 提供可编程驱动频率。该蜂鸣器端口可提供 18mA 的
sink 电流,互补输出,不需要额外的三极管。
1.16 模数转换器 ADC
i
m
立 i
创 na
商 ry
城
外部的模拟信号需要转变成数字信号才能由 MCU 进一步处理。内部集成了一个 10 位
高精度、高转换速率的逐次逼近型模数转换器(SAR ADC)模块。具有以下特性:
10 位转换精度;
1M SPS 转换速度;
支持单次转换及持续转换;
2 种参考源:AVCC 电压、ExRef 管脚;
15 路输入通道,包括 14 路外部管脚输入、1 路内建 BGR 0.9V 电压;
注:选择 AVCC 作为参考源,测量 BGR 0.9V;可计算出 AVCC 电压。
ADC 的电压输入范围:0~Vref;
el
支持片内外设自动触发 ADC 转换,有效降低芯片功耗并提高转换的实时性。
1.17 低电压检测器 LVD
Pr
对芯片电源电压或芯片管脚电压进行检测。16 档电压监测值(1.8 ~ 3.3V)。可根据上升
/下降边沿产生异步中断或复位。具有硬件迟滞电路和可配置的软件防抖功能。
LVD 基本特性:
4 路监测源,AVCC、PA03、PC03、PD04;
to
16 阶阈值电压,1.8~3.3V 可选;
8 种触发条件,高电平、上升沿、下降沿组合;
2 种触发结果,复位、中断;
8 阶滤波配置,防止误触发;
具备迟滞功能,强力抗干扰。
HC32F002 系列用户手册 Beta1.0
Page 28 of 415
1.18 嵌入式调试系统
嵌入式调试解决方案,提供全功能的实时调试器,配合标准成熟的 Keil/IAR 等调试开
发软件。支持 4 个硬断点以及多个软断点。
1.19 编程模式
i
m
立 i
创 na
商 ry
城
支持两种编程模式:在线编程、离线编程。
支持两种编程协议:ISP 协议、SWD 协议。
支持统一编程接口:ISP 协议与 SWD 协议共用 SWD 端口。
1.20 器件电子签名
每颗芯片出厂前具备唯一的 10 字节设备标识号,包括 wafer lot 信息,以及芯片坐标
信息等。内建 128 字节 OTP,仅可通过编程器写入一次。
1.21 高安全性
to
Pr
el
加密型嵌入式调试解决方案,提供全功能的实时调试器。
HC32F002 系列用户手册 Beta1.0
Page 29 of 415
2
引脚配置及功能
2.1
引脚配置图
HC32F002D4PB-TSSOP24
24 PD03/AIN3
AIN5/PD05 2
23 PD02/AIN2
AIN6/PD06 3
22 PD01/SWCLK
RESETB/PA00 4
21 PC07/SWDIO
AIN7/PA01 5
AIN8/PA02 6
AVSS/DVSS 7
PA04 8
AVCC/DVCC 9
TSSOP24
i
m
立 i
创 na
商 ry
城
AIN4/LVDIN2/PD04 1
20 PC06/AIN1
19 PC05
18 PC04/AIN0
17 PB00/AIN13
16 PC03/LVDIN1/ExRef
LVDIN0/PA03 10
15 PB01/AIN12
AIN9/PB05 11
14 PB02/AIN11
PB03 12
13 PB04/AIN10
el
HC32F002C4PB-TSSOP20
20 PD03/AIN3
AIN5/PD05
2
19 PD02/AIN2
AIN6/PD06
3
18 PD01/SWCLK
RESETB/PA00
4
AIN7/PA01
5
AIN8/PA02
6
Pr
1
AVSS/DVSS 7
PA04 8
AVCC/DVCC
9
注:
to
LVDIN0/PA03 10
TSSOP20
AIN4/LVDIN2/PD04
17 PC07/SWDIO
16 PC06/AIN1
15 PC05
14 PC04/AIN0
13 PC03/LVDIN1/ExRef
12 PB04/AIN10
11 PB05/AIN9
- 在应用中,需要将该封装未引出的 IO 管脚设为输入并使能上拉。
- 该封装未引出的 IO 详见引脚功能说明。
HC32F002 系列用户手册 Beta1.0
Page 30 of 415
PD01/SWCLK
PD02/AIN2
PD03/AIN3
PD04/AIN4/LVDIN2
PD05/AIN5
19
20
21
22
23
24
i
m
立 i
创 na
商 ry
城
PD06/AIN6
HC32F002D4UB-QFN24TR
RESETB/PA00
1
18
PC07/SWDIO
AIN7/PA01
2
17
PC06/AIN1
AIN8/PA02
3
16
PC05
AVSS/DVSS
4
15
PC04/AIN0
PA04
5
14
PB00/AIN13
AVCC/DVCC
6
13
PC03/LVDIN1/ExRef
7
8
9
10
11
12
AIN9/PB05
PB03
AIN10/PB04
AIN11/PB02
AIN12/PB01
to
Pr
el
LVDIN0/PA03
Exposed
Thermal Pad
HC32F002 系列用户手册 Beta1.0
Page 31 of 415
1
AIN7/PA01
2
PD06/AIN6
PD05/AIN5
PD04/AIN4/LVDIN2
PD03/AIN3
PD02/AIN2
19
18
17
16
15
PD01/SWCLK
14
PC07/SWDIO
13
PC06/AIN1
i
m
立 i
创 na
商 ry
城
注:
RESETB/PA00
20
HC32F002C4UB-ZFN20TR
Exposed
Thermal Pad
10
PC04/AIN0
LVDIN1/ExRef/PC03
11
9
5
AIN10/PB04
PA04
8
PC05
AIN9/PB05
12
7
4
LVDIN0/PA03
AVSS/DVSS
6
3
AVCC/DVCC
AIN8/PA02
- 在应用中,需要将该封装未引出的 IO 管脚设为输入并使能上拉。
- 该封装未引出的 IO 详见引脚功能说明。
to
Pr
el
图 2-1 引脚配置图
HC32F002 系列用户手册 Beta1.0
Page 32 of 415
引脚功能说明
QFN20
QFN24
TSSOP20
TSSOP24
NAME
DIGITAL
ANALOG
1
1
4
4
PA00
-
RESETB
2
2
5
5
PA01
LPUART0_RXD
I2C_SDA
GTIM_TOGP
HCLK_OUT
ADC_AIN7
3
3
6
6
PA02
LPUART0_TXD
I2C_SCL
GTIM_TOGN
LVD_OUT
ADC_AIN8
4
7
7
AVSS/DVSS
5
8
8
PA04
GTIM_TOGP
LVD_OUT
SPI_NSS
-
6
9
9
AVCC/DVCC
7
10
10
PA03
GTIM_CH2
SPI_NSS
CTRIM_ETR
CTIRM_TOG
LVD_IN0
8
11
11
PB05
I2C_SDA
ATIM3_BK
CTRIM_ETR
CTIRM_TOG
ADC_AIN9
12
PB03
ATIM3_ETR
GTIM_CH0
LPUART1_CTS
-
13
PB04
I2C_SCL
ATIM3_CH2B
LPUART0_CTS
ADC_AIN10
11
14
PB02
ATIM3_CH2B
GTIM_CH1
LPUART1_RTS
ADC_AIN11
12
15
PB01
ATIM3_CH1B
GTIM_CH2
LPUART0_CTS
ADC_AIN12
4
5
6
7
Pr
el
8
i
m
立 i
创 na
商 ry
城
2.2
9
10
12
to
9
HC32F002 系列用户手册 Beta1.0
Page 33 of 415
QFN20
QFN24
10
TSSOP20
TSSOP24
13
13
14
12
13
14
14
17
PC03
ATIM3_CH2A
ATIM3_CH0B
LPUART0_RTS
LVD_IN1
ADC_ExRef
17
PB00
ATIM3_CH0B
GTIM_CH3
LPUART0_RTS
ADC_AIN13
18
PC04
ATIM3_CH0B
ATIM3_CH1B
TCLK_OUT
ADC_AIN0
19
PC05
SPI_SCK
GTIM_CH3
ATIM3_ETR
-
17
16
20
PC06
SPI_MOSI
ATIM3_CH0A
LPUART1_RTS
ADC_AIN1
18
17
21
PC07
SWDIO
SPI_MISO
ATIM3_CH1A
LPUART0_RXD
-
19
18
22
PD01
SWCLK
GTIM_ETR
ATIM3_BK
LPUART0_TXD
-
19
23
PD02
GTIM_CH2
ATIM3_CH2A
LPUART1_CTS
ADC_AIN2
21
20
24
PD03
GTIM_CH1
ATIM3_CH1A
LPUART1_RXD
ADC_AIN3
22
1
1
PD04
GTIM_CH0
LPUART1_TXD
SPI_SCK
ADC_AIN4
LVD_IN2
20
to
18
16
15
Pr
16
ANALOG
16
el
15
15
DIGITAL
i
m
立 i
创 na
商 ry
城
11
NAME
19
23
2
2
PD05
LPUART1_TXD
ATIM3_CH0A
SPI_MISO
ADC_AIN5
20
24
3
3
PD06
LPUART1_RXD
GTIM_ETR
SPI_MOSI
ADC_AIN6
每个管脚的数字功能由 AFRx 寄存器进行控制,详见 GPIO 章节。
HC32F002 系列用户手册 Beta1.0
Page 34 of 415
模块信号说明
2.3
模块
管脚名称
描述
电源
DVCC
数字电源
AVCC
模拟电源
DVSS
数字地
AVSS
模拟地
ADC_AIN0~13
ADC输入通道0~13
ADC_ExRef
ADC外部参考电压
LVD_IN0
电压侦测输入0
LVD_IN1
电压侦测输入1
LVD_IN2
电压侦测输入2
LVD_OUT
电压侦测输出
LPUARTx_TXD
LPUART数据发送端
LPUARTx_RXD
LPUART数据接收端
LPUARTx_CTS
LPUART CTS
LPUARTx_RTS
LPUART RTS
CTRIM_ETR
CTRIM外部同步信号
CTRIM_TOG
CTRIM的翻转输出信号
SPI_MISO
SPI模块主机输入从机输出数据信号
SPI_MOSI
SPI模块主机输出从机输入数据信号
SPI_SCK
SPI模块时钟信号
LVD
LPUART
x=0,1
CTRIM
el
SPI
i
m
立 i
创 na
商 ry
城
ADC
I2C
SPI片选
I2C_SDA
I2C模块数据信号
I2C_SCL
I2C模块时钟信号
Pr
基本定时器
SPI_NSS
BTIMx
BTIMx_TOGP
BTIMx的翻转输出信号
BTIMx_TOGN
x = 3,4,5
通用定时器
GTIM
GTIM的捕获输入比较输出
GTIM_ETR
GTIM的外部计数输入信号
GTIM_TOGP
GTIM的翻转输出信号
to
y=0,1,2,3
GTIM_CHy
GTIM_TOGN
高级定时器
ATIM3_CHyA
ATIM3的捕获输入比较输出A
ATIM3
ATIM3_CHyB
ATIM3的捕获输入比较输出B
ATIM3_ETR
ATIM3的外部计数输入信号
ATIM3_BK
ATIM3的刹车信号
y=0,1,2
表 2-1 模块信号说明
注意:
– IO 端口复位为输入高阻状态,休眠模式和深度休眠模式保持之前的端口状态。
HC32F002 系列用户手册 Beta1.0
Page 35 of 415
3
系统结构
3.1
概述
本产品系统由以下部分组成:
1 个 AHB 总线 Master:
i
m
立 i
创 na
商 ry
城
– Cortex-M0+
4 个 AHB 总线 Slaves:
– FLASH 存储器
– SRAM 存储器
– AHB0,AHB to APB Bridge 包含所有 APB 接口外设
– AHB1,包含所有 AHB 接口外设
整个系统总线结构采用多层次 AHB-lite 总线互连实现。如下图所示:
AHB to APB
Bridge0
el
AHB to APB
Bridge1
AHB bus
HC32F002 系列用户手册 Beta1.0
APB bus1
Flash Ctrl
Flash / OTP
RAM Ctrl
SRAM
GTIM
ATIM3
CTRIM
WWDT
LPUART1
SPI
I2C
IWDT
SysCtrl
LPUART0
LDO
ADC(10b)
LVD/LVR
POR/BOR
RCH/RCL
PORTA
PORTB
PORTC
PORTD
to
Pr
ARM
Cortex-M0+
core
AnalogCtrl
APB bus0
图 3-1 系统架构示意图
Page 36 of 415
3.2
存储器和模块地址分配
类别
APB0
外设
APB1
外设
AHB
外设
Size
Memory Area
0x0000_0000 – 0x0000_47FF
18K Byte
FLASH
0x0010_0F00 –0x0010_0F7F
128 Byte
OTP
0x2000_0000 – 0x2000_07FF
2K Byte
SRAM
0x4000_0000 – 0x4000_03FF
1K Byte
LPUART0
0x4000_0400 – 0x4000_07FF
1KByte
I2C
0x4000_0800 – 0x4000_0BFF
1KByte
SPI
0x4000_0F80 – 0x4000_0FFF
128Byte
IWDT
0x4000_2000 – 0x4000_23FF
1KByte
SYSCTRL
0x4000_2400 – 0x4000_27FF
1KByte
ANALOGCTRL
0x4000_4000– 0x4000_43FF
1KByte
LPUART1
0x4000_5000– 0x4000_53FF
1KByte
CTRIM
0x4000_5800– 0x4000_5BFF
1KByte
ATIM3
0x4000_6800 – 0x4000_6BFF
1KByte
WWDT
0x4000_7400 – 0x4000_77FF
1KByte
GTIM
0x4002_0000 - 0x4002_03FF
1KByte
FLASH CTRL
0x4002_0C00 - 0x4002_0FFF
1KByte
PORT CTRL
i
m
立 i
创 na
商 ry
城
存储器
Boundary Address
to
Pr
el
表 3-1 地址划分表
HC32F002 系列用户手册 Beta1.0
Page 37 of 415
4
工作模式
4.1
工作模式概述
本产品在电源管理模块的控制下可实现三种工作模式。各工作模式下可工作的功能模块
及功耗各不相同。
4.2
i
m
立 i
创 na
商 ry
城
本产品的工作模式如下所示:
运行模式(Active Mode):
CPU 运行,片内外设运行。
休眠模式(Sleep Mode)
:
CPU 停止,片内外设运行。
深度休眠模式(Deep Sleep Mode): CPU 停止,低功耗片内外设运行。
工作模式切换
本产品工作时可在三种工作模式之间自由切换。在运行模式下执行 WFI 指令,可使本
产品进入休眠模式或深度休眼模式。从休眠模式或深度休眼模式通过中断唤醒,回到运
行模式。
el
运行模式
Active Mode
休眠模式
Sleep Mode
硬件中断唤醒
深度休眠模式
Deep Sleep Mode
图 4-1 工作模式状态转换图
to
Pr
执行WFI指令
HC32F002 系列用户手册 Beta1.0
Page 38 of 415
在各种工作模式下,CPU 可响应的中断见下方表格。
中断向量号
中断来源
运行模式
休眠模式
深度休眠模式
GPIO_PA
✔
✔
✔
[1]
GPIO_PB
✔
✔
✔
[2]
GPIO_PC
✔
✔
✔
[3]
GPIO_PD
✔
✔
✔
[4]
-
[5]
ATIM3
✔
✔
[7]
-
[8]
LPUART0
✔
✔
✔
[9]
LPUART1
✔
✔
✔
[10]
SPI
✔
✔
[11]
-
[12]
I2C
✔
✔
[13]
-
[14]
-
[15]
GTIM / BTIM3-5
✔
✔
[17]
-
[20]
-
[21]
-
IWDT
✔
✔
WWDT
✔
✔
✔
✔
i
m
立 i
创 na
商 ry
城
[0]
[22]
-
[24]
ADC
[27]
-
[28]
LVD
✔
✔
[30]
FLASH / RAM
✔
✔
[31]
CTRIM
✔
✔
✔
✔
to
Pr
el
[23]
✔
HC32F002 系列用户手册 Beta1.0
Page 39 of 415
在各种工作模式下,可响应的复位信号见下方下表。
复位源
[0]
[1]
POR / BOR
硬件复位
RESETB管脚
硬件复位
LVD
硬件复位
休眠模式
深度休眠模式
✔
✔
✔
✔
✔
✔
✔
✔
✔
i
m
立 i
创 na
商 ry
城
[2]
上电掉电复位
运行模式
[3]
IWDT
✔
✔
✔
硬件复位
[4]
Cortex-M0+
✔
LOCKUP
软件复位
[5]
Cortex-M0+
✔
SYSRESETREQ
硬件复位
WWDT
✔
✔
to
Pr
el
[6]
HC32F002 系列用户手册 Beta1.0
Page 40 of 415
4.3
运行模式(Active Mode)
在该工作模式 MCU 所有功能模块均正常工作,功耗最大。
系统复位后或从中断唤醒后,MCU 均工作于运行模式。
在运行模式下可通过一定的措施降低运行功耗:
为系统时钟(SystemClk)选择更低的频率,修改 SysCtrl.CR0.ClkSrc
降低系统的内核时钟(HCLK)的频率,修改 SysCtrl.CR0.HclkPrs
降低系统的片内外设时钟(PCLK)的频率,修改 SysCtrl.CR0.PclkPrs
关闭未使用的片内外设的时钟,修改 SysCtrl.PeriClkEnx
i
m
立 i
创 na
商 ry
城
4.4
休眠模式(Sleep Mode)
在该工作模式下 CPU 停止运行,其它片内外设均正常工作,功耗低于运行模式。
在运行模式下,设置 SCB->SCR.SLEEPDEEP 为 0,执行 WFI 指令即可使 MCU 工作于
休眠模式。当 MCU 响应硬件中断时,即可退出休眠模式回到运行模式。
在休眠模式下可通过一定的措施降低运行功耗:
为系统时钟(SystemClk)选择更低的频率,修改 SysCtrl.CR0.ClkSrc
降低系统的内核时钟(HCLK)的频率,修改 SysCtrl.CR0.HclkPrs
降低系统的片内外设时钟(PCLK)的频率,修改 SysCtrl.CR0.PclkPrs
关闭未使用的片内外设的时钟,修改 SysCtrl.PeriClkEnx
设置 SCB_SCR.SLEEPONEXIT 为 1,使 MCU 执行完成中断服务程序后自动进入休
Pr
el
眠模式。
深度休眠模式(Deep Sleep Mode)
to
4.5
在该工作模式下 CPU 停止运行,片内高速时钟 RCH 自动关闭。如果 HCLK 来源为片
内高速时钟,则片内高速外设停止运行,仅片内低功耗外设正常工作;如果 HCLK 来源
为片内低速时钟 RCL,则片内外设均正常工作。该模式下功耗远低于休眠模式下的功
耗。
若设置 SysCtrl.CR1.AutoSwitch 为 1,则 MCU 退出深度休眠模式时的系统时钟的来源
为 RCH,以实现快速唤醒。
HC32F002 系列用户手册 Beta1.0
Page 41 of 415
在运行模式下,设置 SCB_SCR.SLEEPDEEP 为 1,执行 WFI 指令即可使 MCU 工作于
深度休眠模式。当 MCU 响应硬件中断时,即可退出深度休眠模式回到运行模式。
在休眠模式下可通过一定的措施降低运行功耗:
选择高速时钟作为系统时钟(SystemClk),修改 SysCtrl.CR0.ClkSrc
关闭未使用的片内低功耗外设的时钟,修改 SysCtrl.PeriClkEnx
设置 SCB_SCR.SLEEPONEXIT 为 1,使 MCU 执行完成中断服务程序后自动进入休
i
m
立 i
创 na
商 ry
城
眠模式。
4.6
功能模块工作状态
在三种工作模式下功能模块的工作状态对比如下表所示:
功能模块
CPU
运行模式
休眠模式
深度休眠模式
✔
WWDT
✔
✔
GTIM / BTIM3-5
✔
✔
ATIM3
✔
✔
SPI
✔
✔
✔
✔
ADC
✔
✔
GPIO_PA
✔
✔
✔
GPIO_PB
✔
✔
✔
GPIO_PC
✔
✔
✔
GPIO_PD
✔
✔
✔
IWDT
✔
✔
✔
LPUART0 / LPUART1
✔
✔
✔
CTRIM
✔
✔
✔
LVD
✔
✔
✔
to
Pr
el
I2C
HC32F002 系列用户手册 Beta1.0
Page 42 of 415
寄存器
4.7
4.7.1 系统控制寄存器(SCB_SCR)
地址:0xE000ED10
复位值:0x0000 0000
标记
功能描述
31:5
RESERVED
保留
4
SEVONPEND
3
RESERVED
读写
i
m
立 i
创 na
商 ry
城
位
设置为1时,每次新的中断挂起都会产生一个事件,如果使用了
WFE 休眠,它可用于唤醒处理器
RW
保留
设为1时,执行 WFI 进入深度休眠,本产品进入 Deep Sleep
2
SLEEPDEEP
模式
RW
设置为0时,执行 WFI 进入休眠,本产品进入 sleep/Idle 模式
设为1时,当退出异常处理并返回程序线程时,处理器自动进入休
1
SLEEPONEXIT
眠模式(WFI)
RW
设置为0时,该特性就会被自动禁止
RESERVED
保留
to
Pr
el
0
HC32F002 系列用户手册 Beta1.0
Page 43 of 415
5
系统控制器(SYSCTRL)
5.1 系统时钟介绍
时钟控制模块主要控制系统时钟以及外设时钟,可以配置不同的时钟源作为系统时钟、
可以配置不同的系统时钟分频、可以启动或禁用外设时钟。为了确保振荡器精度,内部时
i
m
立 i
创 na
商 ry
城
钟均具有校准功能。
本产品支持以下三个不同的时钟源作为系统时钟:
内部高速 RC 时钟 RCH(输出频率为 44~48MHz)
内部低速 RC 时钟 RCL(38.4K 与 32.8K 可配置)
外部管脚 PA01 输入的时钟信号(频率为 1~16MHz)
注 1:切换系统时钟的时钟源时,请严格按照操作步骤进行切换,详见 5.2 章节。
通过 HCLK_OUT 管脚,可以输出 HCLK 时钟信号;通过 TCLK_OUT 管脚可以输出
to
Pr
el
RCH/RCL/HCLK/PCLK 时钟信号。
HC32F002 系列用户手册 Beta1.0
Page 44 of 415
5.1.1 时钟架构图
SysCtrl.CR2[5]
SysCtrl.CR0[5:3]
EXCLK
外部时钟
SystemClk
HCLK
/1,.../128
44M-48M DIV
RCH
i
m
立 i
创 na
商 ry
城
校准的内
部振荡器
32K/38K
RCL
SysCtrl.CR0[2:0]
HCLK_OUT
TCLK_OUT
SysCtrl.CR0[7:6]
PCLK
/1,.../8
Cortex M0+
HCLK
GPIOA_AFRL[7:4]
/1,.../256
RCH
RCL
PCLK
HCLK
HCLK
SysTick
PCLK
RCL
LPUARTx
RCH
RCL
CTRIM
RCL
LVD
SysCtrl.PeriClkEn1.14
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
GTIM
WWDT
GPIO.PD
GPIO.PC
GPIO.PB
GPIO.PA
FLASH
CTRIM
ADC
IWDT
ATIM3
SPI
I2C
LPUART1
LPUART0
SysCtrl.PeriClkEn0.1
图 5-1 时钟控制模块框图
5.1.2 内部高速 RC 时钟 RCH
芯片上电或复位后的默认时钟源为频率为 4MHz 的 RCHCLKD;当系统进入 DeepSleep,
el
此高速时钟会自动关闭。内部高速时钟从唤醒到稳定仅需 5us,在进入深度休眠模式前
将系统时钟切换为 RCHCLKD 则系统可快速响应中断。
Pr
更改寄存器 SysCtrl.RCH.TRIM 的数值即可微调 RCH 的振荡频率。寄存器数值每增加
1 则 RCH 的振荡频率增加约 0.2%,RCH 振荡频率的安全工作范围为 44~48MHz,若
将 RCH 的振荡频率调到大于 48MHz,则芯片可能出现异常。芯片在出厂时已预调好
的 2 个频率点 44.24MHz 和 48MHz;如需其它频率请手动调整该寄存器的数值。若在
to
CTRIM 模块中使能 RCH 实时校准功能,则 RCH 在全工作范围内的精度均可达 0.5%,
详见 CTRIM 章节。
更改寄存器 SysCtrl.RCH.DIV 的数值即可调整 RCH 振荡频率与 RCHCLKD 的分频比,
调整范围为 1 – 16。
HC32F002 系列用户手册 Beta1.0
Page 45 of 415
5.1.3 内部低速 RC 时钟 RCL
内部低速时钟可以通过寄存器 SysCtrl.RCL.TRIM 来选择其输出频率,可供选择的频率
为 38.4KHz、32.768KHz。当系统进入 DeepSleep,此低速时钟不会自动关闭,超低功耗
外设模块可以选择 RCL 作为其时钟。
i
m
立 i
创 na
商 ry
城
5.1.4 外部输入时钟 EXTCLK
可以从 PA1 管脚输入频率为 1~16MHz 时钟信号作为系统时钟。从 PA1 管脚输入时钟
to
Pr
el
信号的方法为:配置管脚为 GPIO 输入;设置 SysCtrl.CR2.EXTEN 为 1。
HC32F002 系列用户手册 Beta1.0
Page 46 of 415
5.2
系统时钟切换
系 统 时 钟 可 选 3 种 时 钟 源 : RCHCLKD 、 RCL 、 外 部 管 脚 输 入 时 钟 , 由 寄 存 器
SysCtrl.CR0.ClkSrc 及 SysCtrl.CR2.EXTEN 进行控制。RCHCLKD、RCL、外部时钟这 3
个时钟源中的任意两者可以相互切换,切换过程中需确保 HCLK 不大于 48MHz。建议
按照下文所描述的时钟切换流程进行时钟切换,以减少时钟切换出错的机率。
i
m
立 i
创 na
商 ry
城
时钟切换时需要同步配置 FLASH_WAIT 寄存器。时钟频率不大于 24MHz 则应设置
FLASH_WAIT 为 0;时钟频率大于 24MHz 则应设置 FLASH_WAIT 为 1。
注:设置 FLASH_WAIT 的值,需要先向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5 然后再对
FLASH_WAIT 进行赋值,详见 FLASH 控制器章节。
5.2.1 标准的时钟切换流程
操作流程如下:
Step1:如新时钟源需要外部管脚,则将该管脚设置为适当的模式。
注:接外部时钟输入时需要 GPIO 输入并使能外部时钟输入。
Step2:配置新时钟源的的工作参数。
el
Step3:使能新时钟源的振荡器。
Step4:根据当前时钟源和新时钟源两者中较高的频率,按 Flash 控制器章节流程配置
Pr
FLASH_WAIT 寄存器。
Step5:等待新时钟源输出稳定的频率。
Step6:配置 SysCtrl.CR0.ClkSrc 及 SysCtrl.CR2.EXTEN,选择新时钟源作为系统时钟。
Step7:根据新时钟源的频率,按 Flash 控制器章节流程配置 FLASH_WAIT 寄存器。
to
Step8:关闭不再使用的时钟源。
HC32F002 系列用户手册 Beta1.0
Page 47 of 415
下图为时钟切换时序图:
系统时钟:RCH切换RCL
内部RCL启动
RCL时钟
i
m
立 i
创 na
商 ry
城
RCL 稳定信号
内部RCH使能
信号
内部RCH
时钟
时钟切换信号
系统时钟
图 5-2 时钟切换示意图
5.2.2 RCH 不同输出频率间切换流程
el
配置 SysCtrl.RCH.DIV 即可使 RCH 输出不同的时钟频率。
操作流程如下方所示:
Pr
Step1:根据当前 RCHCLKD 与目标 RCHCLKD 两者中较高的频率,按 Flash 章节流
程配置 FLASH_WAIT 寄存器。
Step2:配置 SysCtrl.RCH.DIV,选择 RCH 振荡频率与 RCHCLKD 频率的分频比。
Step3:根据当前 RCHCLKD 的频率,按 Flash 章节流程配置 FLASH_WAIT 寄存器。
to
5.2.3 从其它时钟切换到 RCL 示例
操作流程如下:
Step1:配置 SysCtrl.RCL.TRIM 及 SysCtrl.RCL.WaitCycle。
Step2:向 SysCtrl.CR3 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step3:设置 SysCtrl.CR2. RCLEN 为 1,使能 RCL 振荡电路。
Step4:查询等待 SysCtrl.RCL.Stable 标志变为 1,RCL 输出稳定时钟。
HC32F002 系列用户手册 Beta1.0
Page 48 of 415
Step5:向 SysCtrl.CR3 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step6:设置 SysCtrl.CR0.ClkSrc 为 2,将系统时钟切换为 RCL。
Step7:按 Flash 控制器章节流程设置 FLASH_WAIT 为 0。
Step8:向 SysCtrl.CR3 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step9:设置 SysCtrl.CR2. xxxEN 为 0,关闭不再使用的时钟源。
i
m
立 i
创 na
商 ry
城
5.2.4 从其它时钟切换到 RCHCLKD 示例
操作流程如下:
Step1:配置 SysCtrl.RCH.TRIM 及 SysCtrl.RCH.DIV。
Step2:向 SysCtrl.CR3 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step3:设置 SysCtrl.CR2.RCHEN 为 1,使能 RCH 振荡电路。
Step4:查询等待 SysCtrl.RCH.Sable 标志变为 1,RCH 输出稳定时钟。
Step5:根据当前时钟与目标 RCHCLKD 两者中较高的频率,按 Flash 章节流程配置
FLASH_WAIT 寄存器。
Step6:向 SysCtrl.CR3 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
el
Step7:设置 SysCtrl.CR0.ClkSrc 为 0,将系统时钟切换为 RCHCLKD。
Step8:根据 RCHCLKD 的频率,按 Flash 章节流程配置 FLASH_WAIT。
Pr
Step9:向 SysCtrl.CR3 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
to
Step10:设置 SysCtrl.CR2. xxxEN 为 0,关闭不再使用的时钟源。
HC32F002 系列用户手册 Beta1.0
Page 49 of 415
5.3
片内外设时钟控制
大多数片内外设都需要有时钟才能正常工作。当使能片内外设的配置时钟(PCLK)时,
用户程序可以正常读写片内外设的寄存器;当使能片内外设的工作时钟时,片内外设可
以正常工作。部分片内外设的工作时钟固定为 PCLK,其它片内外设的工作时钟可以由
用户程序自行配置。
to
Pr
el
i
m
立 i
创 na
商 ry
城
通过设置 SysCtrl_Peri.ClkEnx 的控制位为 1,即可使能相应片内外设的配置时钟。
HC32F002 系列用户手册 Beta1.0
Page 50 of 415
5.4
中断唤醒控制
当处理器执行 WFI 指令进入休眠状态时,会停止执行指令。在休眠状态下发生了中断
请求(更高优先级)且需要处理时,处理器就会被唤醒。
休眠状态下的处理器收到中断请求时的行为如下表所示:
WFI 行为
唤醒
ISR 执行
0
IRQ 优先级>当前等级
Y
Y
0
IRQ 优先级≦当前等级
N
N
1
IRQ 优先级>当前等级
Y
N
1
IRQ 优先级≦当前等级
N
N
i
m
立 i
创 na
商 ry
城
PRIMASK 状态
5.4.1 从深度休眠模式唤醒后执行中断服务程序的方法
Step1. 使能需要唤醒处理器的模块所对应的 NVIC
Step2. 使能需要唤醒处理器的模块所对应的中断
Step3. 设置 SCB->SCR.SLEEPDEEP 为 1
Step4. 执行 WFI 指令以进入深度休眠模式
el
Step5. 系统进入深度休眠模式等待中断唤醒,唤醒后执行中断服务程序
例程:
Pr
SCB->SCR |= 0x04;
while(1)
{
__asm("WFI");
to
}
5.4.2 从深度休眠模式唤醒后不执行中断服务程序的方法
Step1. 使能需要唤醒处理器的模块所对应的 NVIC
Step2. 使能需要唤醒处理器的模块所对应的中断
Step3. 设置 PRIMASK 为 1
Step4. 设置 SCB->SCR.SLEEPDEEP 为 1
HC32F002 系列用户手册 Beta1.0
Page 51 of 415
Step5. 执行 WFI 指令以进入深度休眠模式
Step6. 系统进入深度休眠模式等待中断唤醒,唤醒后执行下一条指令
Step7. 清除中断标志,清除中断挂起状态
Step8. 执行用户定义的操作
例程:
//Set PRIMASK
i
m
立 i
创 na
商 ry
城
__asm("CPSID I");
SCB_SCR |= 0x04;
while(1)
{
__asm("WFI");
M0P_TIMx->ICLR = 0x00; //Clear Int Flag
NVIC_ClearPendingIRQ(TIMx_IRQn); //Clear Pending Flag
… //执行用户定义的操作
}
el
5.4.3 退出休眠
退出休眠(sleep-on-exit)非常适合中断驱动的应用程序。当该特性使能时,只要完成异
Pr
常处理并且返回到了线程模式,处理器就会进入休眠模式。利用退出休眠特性,处理器
可以尽可能多的处于休眠模式。
Cortex-M0 利用退出休眠特性进入休眠,这种情况同执行完异常退出后立即执行 WFI
的效果差不多。不过,为了下次进入异常时,不用再进行压栈操作,处理器不会执行出
栈的过程。
to
1. 使能需要唤醒处理器的模块所对应的 NVIC
2. 使能需要唤醒处理器的模块所对应的中断
3. 设置 SCB->SCR.SLEEPDEEP 为 1
4. 设置 SCB->SCR.SLEEPONEXIT 为 1
5. 执行 WFI 指令以进入深度休眠模式
6. 系统进入深度休眠模式等待中断唤醒,唤醒后执行中断服务子程序
HC32F002 系列用户手册 Beta1.0
Page 52 of 415
7. 退出中断服务时自动进入休眠模式
例程:
SCB_SCR |= 0x04;
SCB_SCR |= 0x02;
while(1)
i
m
立 i
创 na
商 ry
城
{
__asm("WFI");
to
Pr
el
}
HC32F002 系列用户手册 Beta1.0
Page 53 of 415
5.5
寄存器
基地址 0x40002000
寄存器
偏移地址
描述
CR0
0x000
系统控制寄存器0
CR1
0x004
系统控制寄存器1
CR2
0x008
系统控制寄存器2
CR3
0x00C
系统控制寄存器3
RCH 控制寄存器
0x018
RCL 控制寄存器
PeriClkEN0
0x030
片内外设时钟控制寄存器0
PeriClkEN1
0x034
片内外设时钟控制寄存器1
DebugActive
0x044
调试模式模块工作状态控制寄存器
RCL
i
m
立 i
创 na
商 ry
城
0x010
RCH
to
Pr
el
表 5-1 系统控制寄存器表格
HC32F002 系列用户手册 Beta1.0
Page 54 of 415
5.5.1 系统控制寄存器 0(CR0)
偏移地址:0x000
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
Reserved
位
标记
功能描述
31:8
Reserved
保留
PclkPrs
HclkPrs
ClkSrc
RW
RW
RW
PCLK时钟来源选择
00:HCLK
7:6
PclkPrs
01:HCLK / 2
10:HCLK / 4
11:HCLK / 8
HCLK时钟来源选择
000:SystemClk
el
001:SystemClk / 2
010:SystemClk / 4
5:3
HclkPrs
011:SystemClk / 8
Pr
100:SystemClk / 16
101:SystemClk / 32
110:SystemClk / 64
111:SystemClk / 128
当CR2.EXTEN为0时,SystemClk时钟来源选择
2:0
ClkSrc
x0x:内部高速时钟 RCHCLKD
to
x1x:内部低速时钟 RCL
注意:
– 每次改写 CR0 / CR1 / CR2 的值,均需要先对 CR3 依次写入 0x5A5A、 0xA5A5。
这样的步骤可有效防止对 CR0 / CR1 / CR2 寄存器的误操作。
HC32F002 系列用户手册 Beta1.0
Page 55 of 415
5.5.2 系统控制寄存器 1(CR1)
偏移地址:0x004
复位值:0x0000 0200
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
WakeU
Lock
SWD
pClk
UpEn
IO
RW
RW
RW
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
GTIM
RESIO
Reserved
CFG
Reserved
RW
位
标记
功能描述
31:9
Reserved
内部保留位,请勿更改其值。
RW
GTIM / BTIM3-5定时器功能配置
8
GTIMCFG
0:GTIM有效,BTIM3/4/5无效
1:BTIM3/4/5有效,GTIM无效
7:4
Reserved
保留位
RESET管脚功能配置
3
RESIO
1:RESET管脚配置为IO输入管脚,不再具有复位功能
el
0:RESET管脚配置为复位功能,无IO输入功能
DeepSleep唤醒时,系统时钟的来源配置
2
WakeUpClk
1:切换系统时钟来源为RCHCLKD,原系统时钟来源保持使能
Pr
0:保持原系统时钟来源
1
0
LockUpEn
SWDIO
Cortex-M0+ LockUp 功能配置
0:关闭
1:使能
注:使能该功能,则CPU读到无效指令时会复位MCU。
SWD端口功能配置
0:PC07、PD01作为SWD端口,GPIO功能不可用。
to
1:PC07、PD01作为GPIO端口,SWD功能不可用。
注意:
– 每次改写 CR0 / CR1 / CR2 的值,均需要先对 CR3 依次写入 0x5A5A、0xA5A5。
这样的步骤可有效防止对 CR0 / CR1 / CR2 寄存器的误操作。
HC32F002 系列用户手册 Beta1.0
Page 56 of 415
5.5.3 系统控制寄存器 2(CR2)
偏移地址:0x008
复位值:0x0000 0081
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
EXT
Reserved
EN
RCL
Reserved
RW
位
标记
功能描述
31:6
Reserved
保留
EN
Res
RW
RCH
EN
RW
SystemClk时钟来源选择
5
EXTEN
0:SystemClk来源由CR0.ClkSrc决定
1:SystemClk来自PA1管脚输入的时钟
注意:使能该控制位前,应确保PA1已设为数字输入并已输入时钟信号
4:3
Reserved
保留
内部低速时钟 RCL 使能控制
RCLEN
0:关闭
1:使能
el
2
注:当系统进入DeepSleep,此低速时钟保持之前状态。
1
Reserved
保留
Pr
内部高速时钟 RCH 使能控制
0
RCHEN
0:关闭
1:使能
注:当系统进入DeepSleep,此高速时钟会自动关闭。
注意:
to
– 每次改写 CR0 / CR1 / CR2 的值,均需要先对 CR3 依次写入 0x5A5A、 0xA5A5。
这样的步骤可有效防止对 CR0 / CR1 / CR2 寄存器的误操作。
HC32F002 系列用户手册 Beta1.0
Page 57 of 415
5.5.4 系统控制寄存器 3(CR3)
偏移地址:0x00C
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
CR3
WO
位
标记
功能描述
31:16
Reserved
保留位
寄存器 CR0 / CR1 / CR2 写保护寄存器,对 CR3 依次写入 0x5A5A、0xA5A5,
15:0
CR3
则可解除 CR0 / CR1 / CR2 的写保护;当对 CR0 / CR1 / CR2 进行了写操作,则
写保护自动复位。每次写数据到 CR0 / CR1 / CR2 之前,均需要对 CR3 依次写入
to
Pr
el
0x5A5A、0xA5A5 序列。
HC32F002 系列用户手册 Beta1.0
Page 58 of 415
5.5.5 RCH 控制寄存器(RCH)
偏移地址:0x010
复位值:0x0000 0B47
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
Stable
13
12
Reserved
RO
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
DIV
TRIM
RW
RW
位
标记
功能描述
31:16
Reserved
保留位
RCH 时钟稳定标志位
15
Stable
1:代表 RCH 已经稳定,可以被内部电路使用
0:代表 RCH 未稳定,不可以被内部电路使用
14:13
Reserved
保留位
RCHCLKD 输出频率与RCH振荡频率分频比配置
0000:RCHCLKD = RCH / 2
0001:RCHCLKD = RCH / 4
0010:RCHCLKD = RCH / 6
0011:RCHCLKD = RCH / 8
el
12:9
DIV
0100:RCHCLKD = RCH / 10
Pr
0101:RCHCLKD = RCH / 12
TRIM
0111:RCHCLKD = RCH / 16
1000:RCHCLKD = RCH / 1
时钟频率调整,更改该寄存器的数值即可调整RCH的振荡频率。寄存器数值
每增加1则RCH的振荡频率增加约0.2%,总调整范围为 44 - 48MHz。
Flash中已保存了44.24MHz和48MHz的校准值,将Flash内的校准值读出并写
入SysCtrl.RCH.TRIM即可获得精准的频率。
to
8:0
0110:RCHCLKD = RCH / 14
44.24M校准值地址:0x00100DF0 - 0x00100DF1
48.00M校准值地址:0x00100DF2 - 0x00100DF3
HC32F002 系列用户手册 Beta1.0
Page 59 of 415
5.5.6 RCL 控制寄存器(RCL)
偏移地址:0x018
复位值:0x0000 033F
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
Stable
13
12
Res.
RO
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
WaitCycle
TRIM
RW
RW
RW
位
标记
功能描述
31:16
Reserved
保留位
RCL 时钟稳定标志位
15
Stable
1:代表 RCL 已经稳定,可以被内部电路使用
0:代表 RCL 尚未稳定,不可以被内部电路使用
14:12
Reserved
保留位
内部低速时钟 RCL 稳定时间选择
11:256个周期
11:10
WaitCycle
10:64个周期
01:16个周期
el
00:4个周期
内部低速时钟频率调整,Flash中保存了2组频率的校准值。
TRIM
将Flash内的校准值读出并写入RCL.TRIM即可获得精准的频率。
32.8K校准值地址:0x00100DF4 - 0x00100DF5
38.4K校准值地址:0x00100DF6 - 0x00100DF7
to
Pr
9:0
HC32F002 系列用户手册 Beta1.0
Page 60 of 415
5.5.7
片内外设时钟控制寄存器 0(PeriClkEn0)
复位值:0x8080_0000
偏移地址:0x030
31
30
29
28
27
FLASH
26
25
24
23
22
14
13
IWDT
12
11
10
ATIM3
Reserved
RW
18
17
标记
9
8
7
6
SPI
Reserved
Res.
5
RW
4
3
2
LPUA
LPUA
RT1
RT0
RW
RW
RW
1
FLASH
Res.
RW
RW
Reserved
功能描述
1:FLASH寄存器可以读写
0:FLASH寄存器不能读写
30:22
Reserved
保留
CTRIM 模块配置时钟使能控制
21
CTRIM
1:使能
0:关闭
Reserved
保留
el
20:17
ADC 模块配置时钟及工作时钟使能控制
16
ADC
1:使能
Pr
0:关闭
15
IWDT
14:12
ATIM3
IWDT 模块配置时钟使能控制
1:使能
0:关闭
保留位
ATIM3 模块配置时钟及工作时钟使能控制
1:使能
to
11
Reserved
0:关闭
10:7
Reserved
保留位
SPI 模块配置时钟及工作时钟使能。
6
SPI
1:使能
0:关闭
5
Reserved
保留位
I2C 模块配置时钟及工作时钟使能控制
4
I2C
1:使能
0:关闭
HC32F002 系列用户手册 Beta1.0
0
I2C
FLASH 模块配置时钟使能控制
31
16
ADC
Reserved
RW
Res.
RW
位
19
i
m
立 i
创 na
商 ry
城
15
20
CTRIM
Reserved
RW
21
Page 61 of 415
LPUART1 模块配置时钟使能控制
3
LPUART1
1:使能
0:关闭
LPUART0 模块配置时钟使能控制
2
LPUART0
1:使能
0:关闭
Reserved
保留位
to
Pr
el
i
m
立 i
创 na
商 ry
城
1:0
HC32F002 系列用户手册 Beta1.0
Page 62 of 415
5.5.8
片内外设时钟控制寄存器 1(PeriClkEn1)
复位值: 0x0000_0000
偏移地址:0x034
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
PD
PC
PB
PA
R/W
R/W
R/W
R/W
Reserved
14
13
GTIM
Res.
R/W
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
WWDT
Reserved
R/W
位
标记
功能描述
31:15
Reserved
保留位
Reserved
GTIM / BTIM3 - 5模块配置时钟及工作时钟使能控制
14
GTIM
1:使能
0:关闭
13:11
Reserved
保留位
WWDT模块配置时钟及工作时钟使能控制
10
WWDT
1:使能
0:关闭
9:4
Reserved
保留位
3
el
PD 端口配置时钟时钟使能控制
PD
1:使能
Pr
0:关闭
2
1
PC
PB
PC端口配置时钟时钟使能控制
1:使能
0:关闭
PB端口配置时钟时钟使能控制
1:使能
0:关闭
0
to
PA端口配置时钟时钟使能控制
PA
1:使能
0:关闭
HC32F002 系列用户手册 Beta1.0
Page 63 of 415
5.5.9
调试模式模块工作状态控制寄存器(DebugActive)
复位值 0x0001_4980 (仅在 SWD 调试模式下,此寄存器设置才起作用)
偏移地址:0x4000_2044
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
WWDT
Reserved
15
14
GTIM
i
m
立 i
创 na
商 ry
城
RW
13
12
11
RW
9
ATIM3
Reserved
Res.
10
8
7
IWDT
Ctim
RW
rw
6
5
Reserved
RW
位
标记
功能描述
31:17
Reserved
保留
4
3
2
1
Reserved
调试时, WWDT 计数功能配置
16
WWDT
1:在 SWD 调试界面下,暂停 WWDT 计数功能
0:在 SWD 调试界面下,WWDT 正常计数功能
15
Reserved
保留
调试时, GTIM / BTIM3 - 5 计数功能配置
14
GTIM
1:在 SWD 调试界面下,暂停 GTIM / BTIM3 - BTIM5 计数功能
0:在 SWD 调试界面下,GTIM / BTIM3 - BTIM5 正常计数功能
保留
el
13:12
Reserved
调试时, ATIM3 计数功能配置
ATIM3
Pr
11
10:9
8
Reserved
IWDT
1:在 SWD 调试界面下,暂停 ATIM3 计数功能
0:在 SWD 调试界面下,ATIM3 正常计数功能
保留
调试时, IWDT 计数功能配置
1:在 SWD 调试界面下,暂停 IWDT 计数功能
0:在 SWD 调试界面下,IWDT 正常计数功能
调试时, CTRIM 计数功能配置
CTRIM
1:在 SWD 调试界面下,暂停 CTRIM 计数功能
to
7
0:在 SWD 调试界面下,CTRIM 正常计数功能
6:0
Reserved
HC32F002 系列用户手册 Beta1.0
保留
Page 64 of 415
0
6
复位控制器(RESET)
6.1
复位控制器介绍
本产品具有 7 个复位信号来源,每个复位信号都可以让 CPU 重新运行,绝大多数寄存
器会被复位到复位值,程序会从复位向量处开始执行。
i
m
立 i
创 na
商 ry
城
数字区域上电掉电复位 POR
外部 Reset PAD,低电平为复位信号
IWDT 复位
WWDT 复位
LVD 低电压复位
Cortex-M0+ SYSRESETREQ 软件复位
Cortex-M0+ LOCKUP 硬件复位
每个复位源由相应的复位标志进行指示;复位完成时查询 ResetFlag 寄存器即获取上一
次的复位来源。每当完成对 ResetFlag 寄存器的查询后,应将该寄存器清零,以便下一
次复位时该寄存器能正常指示其复位源。
el
下图描述各区域的复位来源。
POR
Pr
Reset_pad
IWDT_Reset
WWDT Reset
OR
MCU
LVD_Reset
Cortex-M0+ SYSRESETREQ Reset
to
Cortex-M0+ LOCKUP Reset
图 6-1 复位来源示意图
6.1.1 上电下电复位 POR
本产品有两个供电区域:VCC 区域、Vcore 区域。所有的模拟模块及 IO 工作于 VCC
区域;其它模块工作于 Vcore 区域。
VCC 区域上电时,当 VCC 电压低于 POR 阈值电压时(典型值为 1.65V),会产生 POR5V
HC32F002 系列用户手册 Beta1.0
Page 65 of 415
信号;VCC 区域下电时,当 VCC 电压低于 BOR 阈值电压时(典型值为 1.5V),会产生
POR5V 信号。
Vcore 区域上电时,当 Vcore 电压低于 POR 阈值电压时,会产生 POR15V 信号;Vcore
区域下电时,当 Vcore 电压低于 BOR 阈值电压时,会产生 POR15V 信号。
POR5V 信号和 POR15V 信号均会将芯片的寄存器复位到初始化状态。
i
m
立 i
创 na
商 ry
城
6.1.2 外部复位管脚复位
当外部复位管脚检测到低电平时会产生一个系统复位。该复位管脚已内置上拉电阻,并
集成了一个毛刺过滤电路。毛刺过滤电路会过滤小于 20uS(典型值)的毛刺信号,因
此,加到复位管脚上的低电平信号必须大于 20uS,才能确保芯片可靠复位。
6.1.3 WDT 复位
看门狗复位,请参看 IWDT / WWDT 章节说明。
6.1.4 LVD 低电压复位
el
LVD 复位,请参考 LVD 章节说明。
6.1.5 Cortex-M0+ SYSRESETREQ 复位
Pr
Cortex-M0+ 软件复位
6.1.6 Cortex-M0+ LOCKUP 复位
当 Cortex-M0+ 遇到严重的异常时,它会将自己的 PC 指针停在当前地址处,并锁死自
to
己,并在几个时钟周期延时之后复位整个内核区域。
HC32F002 系列用户手册 Beta1.0
Page 66 of 415
6.2
寄存器
6.2.1 复位标识寄存器(Reset_Flag)
复位值:0x0000 0003
地址:0x40002040
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
i
m
立 i
创 na
商 ry
城
Reserved
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RSTB
SysReq
Lockup
WWDT
IWDT
LVD
Vcore
Vcc
RW0
RW0
RW0
RW0
RW0
RW0
RW0
RW0
Reserved
位
标记
功能描述
31:8
Reserved
保留位
RESETB 端口复位标志
7
RSTB
1:已发生端口复位
0:未发生端口复位
写0清除,写1无效
Cotrex-M0+ CPU 软件复位标志
SysReq
1:已发生 Cotrex-M0+ CPU 软件复位
0:未发生 Cotrex-M0+ CPU 软件复位
el
6
写0清除,写1无效
Pr
Cotrex-M0+ CPU Lockup 复位标志
5
4
Lockup
WWDT
1:已发生 Cotrex-M0+ CPU Lockup 复位
0:未发生 Cotrex-M0+ CPU Lockup 复位
写0清除,写1无效
WWDT 复位标志,需要软件初始化及清除
1:已发生 WWDT 复位
0:未发生 WWDT 复位
to
写0清除,写1无效
IWDT 复位标志
3
IWDT
1:已发生 IWDT 复位
0:未发生 IWDT 复位
写0清除,写1无效
LVD 复位标志
2
LVD
1:已发生 LVD 复位
0:未发生 LVD 复位
写0清除,写1无效
HC32F002 系列用户手册 Beta1.0
Page 67 of 415
Vcore域复位标志
1:Vcore域已发生复位
1
Vcore
0:Vcore域发生未复位
写 0 清除,写 1 无效
Vcc电源域复位标志
0
Vcc
1:VCC电源域已发生复位
0:VCC电源域未发生复位
写0清除,写1无效
i
m
立 i
创 na
商 ry
城
注意:上电复位时复位值为 0x03。程序判断本次复位源后应该清除该寄存器,以便下
to
Pr
el
次发生复位后判断复位源。
HC32F002 系列用户手册 Beta1.0
Page 68 of 415
6.2.2 片内外设复位控制寄存器 0(PeriReset0)
复位值:0x0021_0ADC
地址:0x40002038
31
30
29
28
27
26
25
24
23
22
21
20
CTRIM
Reserved
19
18
17
16
ADC
Reserved
15
14
RW
i
m
立 i
创 na
商 ry
城
RW
13
12
11
10
9
8
ATIM3
Res.
7
6
SPI
Res.
RW
位
标记
功能描述
31:22
Res.
保留位
5
4
2
LPUA
LPUA
RT1
RT0
RW
RW
1
0
I2C
Res.
RW
3
RW
Res.
CTRIM 模块复位控制
21
CTrim
1:模块正常工作
0:模块处于复位状态
20:17
Res.
保留位
ADC 模块复位控制
16
ADC
1:模块正常工作
el
0:模块处于复位状态
15:12
Res.
保留位
ATIM3 模块复位控制
ATIM3
1:模块正常工作
Pr
11
0:模块处于复位状态
10:7
Res.
保留位
SPI 模块复位控制
6
SPI
1:模块正常工作
0:模块处于复位状态
Res.
保留位
to
5
I2C 模块复位控制
4
I2C
1:模块正常工作
0:模块处于复位状态
LPUART1 模块复位控制
3
LPUART1
1:模块正常工作
0:模块处于复位状态
2
LPUART0
LPUART0 模块复位控制
1:模块正常工作
HC32F002 系列用户手册 Beta1.0
Page 69 of 415
0:模块处于复位状态
Res.
保留位
to
Pr
el
i
m
立 i
创 na
商 ry
城
1:0
HC32F002 系列用户手册 Beta1.0
Page 70 of 415
6.2.3 片内外设复位控制寄存器 1(PeriReset1)
复位值:0x0000 440F
地址:0x4000203C
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
PD
PC
PB
PA
R/W
R/W
R/W
R/W
Reserved
14
13
GTIM
Res.
R/W
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
WWDT
Reserved
位
标记
功能描述
31:15
Reseved
保留位
RW
Reserved
GTIM / BTIM3 - 5模块复位控制
GTIM
14
1:模块正常工作
0:模块处于复位状态
13:11
Reseved
保留位
WWDT模块复位控制
10:
WWDT
1:模块正常工作
0:模块处于复位状态
9:4
Reseved
保留位
3
el
PD端口复位控制
PD
1:模块正常工作
0:模块处于复位状态
Pr
PC端口复位控制
2
PC
1:模块正常工作
0:模块处于复位状态
PB端口复位控制
1
PB
1:模块正常工作
0:模块处于复位状态
0
to
PA端口复位控制
PA
1:模块正常工作
0:模块处于复位状态
HC32F002 系列用户手册 Beta1.0
Page 71 of 415
7
中断控制器(NVIC)
7.1
概述
Cortex-M0+ 处理器内置了嵌套向量中断控制器(NVIC),支持最多 32 个中断请求(IRQ)
输入,以及 1 个不可屏蔽中断(NMI)输入(在本产品系统中并未使用)。另外,处理
i
m
立 i
创 na
商 ry
城
器还支持多个内部异常。
每个异常源都有一个单独的异常编号,每种异常类型都有对应的优先级,有些异常的优
先级是固定的,而有些则是可编程的。具体如下表所示:
异常编号
异常类型
优先级
描述
1
复位
-3(最高)
复位
NMI
-2
硬件错误
-1
错误处理异常
保留
NA
…
SVC
可编程
通过SVC指令调用管理程序
保留
NA
…
PendSV
可编程
系统服务的可挂起请求
SysTick
可编程
SysTick定时器
中断#0
可编程
外部中断#0
中断#1
可编程
外部中断#1
…
…
…
中断#31
可编程
外部中断#31
2
3
4-10
11
12-13
14
15
16
el
17
…
Pr
47
表 7-1
不可屏蔽中断(在本系统中没有使
用)
Cortex-M0+ 处理器中断一览
本章节只对处理器的 32 个外部中断请求(中断#0 到中断#31)做详细介绍,处理器内部
异常的具体情况可参考其他相关文档。同时,本章节只讨论处理器内核中 NVIC 的中
to
断处理机制,外设模块自身的中断产生机制不在这里展开讨论。
HC32F002 系列用户手册 Beta1.0
Page 72 of 415
7.2
中断优先级
每一个外部中断都对应一个优先级寄存器,每个优先级都是 2 位宽,并且使用中断优先
级寄存器的最高两位,每个寄存器占 1 个字节(8 位)。在这个设定下,可以使用的优先
级为 0x00(最高)、0x40、0x80 和 0xc0(最低)。
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
未使用,读出为 0
i
m
立 i
创 na
商 ry
城
已使用
图 7-1 只使用了高两位的优先级寄存器
如果处理器已经在运行另外一个中断处理,而新中断的优先级大于正在执行的,这时就
会发生抢占。正在运行的中断处理会被暂停,转而执行新的中断,这个过程通常被称为
中断嵌套。新的中断执行完毕后,之前的中断处理会继续执行,并且在其结束后返回到
程序线程中。
如果处理器正在运行的另外一个中断处理的优先级相同或者更高,新的中断将会等待并
且进入挂起状态。挂起的中断将会一直等到当前中断等级改变,例如,当前运行的中断
处理完成返回后,当前优先级降低到了比挂起中断还要小。
如果两个中断同时发生,并且它们的优先级相同,中断编号较小的中断将会首先执行。
el
例如,如果中断#0 和中断#1 使能且具有相同的优先级,在它们同时被触发时,中断#0
to
Pr
会首先执行。
HC32F002 系列用户手册 Beta1.0
Page 73 of 415
7.3
中断向量表
当 Cortex-M0+处理器要处理中断服务请求时,它需要首先确定异常处理的起始地址,所
需的信息叫做向量表,如图 7-2 所示。向量表存储在存储器空间的开始位置,包含了系
统中可用异常(中断)的异常(中断)向量,以及主栈指针(MSP)的初始值。
异常编号
i
m
立 i
创 na
商 ry
城
存储器地址
0x0000004C
0x00000048
0x00000044
0x00000040
0x0000003C
0x00000038
0x00000034
0x00000030
0x0000002C
0x00000028
0x00000024
0x00000020
0x0000001C
0x00000018
0x00000014
0x00000010
0x0000000C
0x00000008
0x00000004
0x00000000
中断#3向量
中断#2向量
中断#1向量
中断#0向量
SysTick向量
PendSV向量
未使用
未使用
SVC向量
未使用
未使用
未使用
未使用
未使用
未使用
未使用
硬件错误异常
NMI向量
复位向量
MSP初始值
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
el
图 7-2 中断向量表
其中,中断向量的存储顺序同中断编号一致,由于每个向量都是 1 个字(4 字节),中断
to
Pr
向量的地址为中断编号乘 4,每个中断向量都是中断处理的起始地址。
HC32F002 系列用户手册 Beta1.0
Page 74 of 415
7.4
中断输入和挂起行为
Cortex-M0+ 处理器的 NVIC 模块中,每一个中断输入都对应着一个挂起状态寄存器,
且每个寄存器只有 1 位,用于保存中断请求,而不管这个请求有没有得到确认。当处理
器开始处理这个中断时,硬件将会自动清除挂起状态位。
本系统的外设使用电平触发中断输出,当中断事件发生时,由于外设连接到了 NVIC 上,
i
m
立 i
创 na
商 ry
城
中断信号会得到确认。在处理器执行中断服务并且清除外设的中断信号以前,该信号会
保持高电平。在 NVIC 内部,当检测到有中断发生时,该中断的挂起状态会被置位,当
处理器接收该中断并且开始执行中断服务程序后,挂起状态就会被清除。该过程如图
7-3 所示:
中断请求的确认会引起
挂起状态置位
中断服务程序清除外设
的中断请求
中断请求X
进入中断处理会引起挂
起状态清除
中断挂起状态X
异常处理
处理器模式
处理器操作
线程
线程
线程
中断处理X
压栈
取向量
线程
异常返回
出栈
el
图 7-3 中断激活和挂起状态
Pr
如果中断请求没有立即执行,并且在确认之前被软件清除了,这样处理器会忽略掉本次
请求,并且不会执行中断处理。可以通过写 NVIC_ICPR 寄存器来清除中断挂起状态,
这种处理在设置外设时非常有用,因为在设置以前,该外设可能已经产生了一个中断请
to
求。
HC32F002 系列用户手册 Beta1.0
Page 75 of 415
如果在软件清除挂起状态时,外设仍然保持着中断请求,挂起状态还会立即生成。该过
程如图 7-4 所示:
中断请求的确认会
引起挂起状态置位
中断请求X
挂起状态被重新确认
中断挂起状态X
软件清除挂起状态
线程
i
m
立 i
创 na
商 ry
城
线程
线程(由于被禁止或被PRIMASK屏蔽,中断X未被接受)
图 7-4 中断挂起状态被清除然后被重新确认
如果外设产生的中断请求在异常处理时没有被清除,异常返回后挂起状态就会被又一次
激活,这样中断服务程序会再次执行。该过程如图 7-5 所示:
中断请求的确认会
引起挂起状态置位
中断请求保持为高
中断请求X
中断挂起状态X
线程
异常处理
el
处理器模式
线程
Pr
处理器操作
重新进入中断处理
并清除挂起状态
进入中断处理会引
起挂起状态清除
中断确认引发挂起
状态被激活的同时
异常返回
中断处理X
压栈
取向量
异常返回
重新使能中断
中断处理X
取向量
to
图 7-5 中断退出时若中断请求保持高电平就会引起中断处理的再次执行
HC32F002 系列用户手册 Beta1.0
Page 76 of 415
如果在中断服务程序执行的过程中产生外设中断请求,该请求会被当作新的中断请求,
并且在本次中断退出后,还会引起中断服务程序的再次执行。该过程如图 7-6 所示:
中断请求的确认会
引起挂起状态置位
中断请求X
异常处理执行过程中,新的中断
请求会引起挂起状态的重新置位
中断挂起状态X
线程
线程
异常处理
i
m
立 i
创 na
商 ry
城
处理器模式
处理器操作
线程
中断处理X
压栈
取向量
异常返回
中断处理X
取向量
线程
出栈
to
Pr
el
图 7-6 中断处理中产生的中断挂起也可以被确认
HC32F002 系列用户手册 Beta1.0
Page 77 of 415
7.5
中断等待
通常情况下,NVIC 的中断等待时间为 16 个周期。这个等待时间从中断确认的处理器
时钟周期开始,一直到中断处理开始执行结束。计算中断等待需要具备以下前提:
该中断使能并且没有被 PRIMASK 或是其他正在执行的异常处理所屏蔽。
存储器系统没有任何等待状态,在中断处理、压栈、取向量或者中断处理开始时的取
i
m
立 i
创 na
商 ry
城
指都会用到总线传输,如果存储器系统需要等待,那么发生总线传输时产生的等待状
态则可能使得中断延迟。
下面的几种情况可能会导致不同的中断等待:
中断的末尾连锁,如果中断返回时产生了另外一个中断请求,处理器就会跳过出栈和
压栈过程,这样就减少了中断等待时间。
延迟到达,如果中断发生时,另外一个低优先级的中断正在进行压栈处理,由于延迟
到达机制的存在,高优先级的中断会首先执行,这样也会导致高优先级中断的等待时
to
Pr
el
间减小。
HC32F002 系列用户手册 Beta1.0
Page 78 of 415
7.6
中断源
因为 Cortex-M0+ 处理器的 NVIC 支持最多 32 个外部中断,而在本系统中,外部中断
源为 15 个,所以部分外部中断复用在同一个 NVIC 中断输入上,其中 NMI(不可屏蔽
中断)并没有使用。本系统所有外部中断源和 NVIC 中断输入的对应关系如下表所示:
NVIC中断输入
外部中断源
中断#0
PORTA
中断#1
Sleep模式
DeepSleep模式
✔
✔
✔
PORTB
✔
✔
✔
中断#2
PORTC
✔
✔
✔
中断#3
PORTD
✔
✔
✔
中断#4
-
-
-
-
中断#5
ATIM3
✔
✔
-
中断#6 - #7
-
-
-
-
中断#8
LPUART0
✔
✔
✔
中断#9
LPUART1
✔
✔
✔
中断#10
SPI
✔
✔
-
中断#11
-
-
-
-
中断#12
I2C
✔
✔
-
中断#13 - #14
-
-
-
-
中断#15
GTIM / BTIM3 - 5
✔
✔
-
中断#16 - #21
-
-
-
-
IWDT
✔
✔
✔
WWDT
✔
✔
-
-
-
-
中断#24
ADC
✔
✔
-
中断#25 - #27
-
-
-
-
中断#28
LVD
✔
✔
-
中断#29
-
-
-
-
中断#30
FLASH
✔
✔
-
中断#31
CTRIM
✔
✔
✔
el
i
m
立 i
创 na
商 ry
城
Active模式
中断#22
to
Pr
中断#23
表 7-2 外部中断与 NVIC 中断输入对应关系
注意:
– 由于某些模块中断被复用于同一个 IRQ 中断源,当 CPU 进入该中断操作时,必
须先判断是哪个模块产生的中断,再进行相对应的中断操作。
HC32F002 系列用户手册 Beta1.0
Page 79 of 415
7.7
中断结构图
外设中断产生源
中断挂起标志
ISPR寄存器
中断使能
ISER寄存器
中断优先级设置
IPR0-IPR7寄存器
B0
B1
B2
B3
B0
B1
B2
B3
IRQ0
IRQ1
IRQ2
IRQ3
IRQ4
IRQ5
IRQ6
IRQ7
B4
B5
B6
B7
B4
B5
B6
B7
IRQ4
IRQ5
IRQ6
IRQ7
IRQ8
IRQ9
IRQ10
IRQ11
B8
B9
B10
B11
B8
B9
B10
B11
IRQ8
IRQ9
IRQ10
IRQ11
IRQ12
IRQ13
IRQ14
IRQ15
B12
B13
B14
B15
B12
B13
B14
B15
IRQ12
IRQ13
IRQ14
IRQ15
IRQ16
IRQ17
IRQ18
IRQ19
B16
B17
B18
B19
B16
B17
B18
B19
IRQ16
IRQ17
IRQ18
IRQ19
IRQ20
IRQ21
IRQ22
IRQ23
B20
B21
B22
B23
B20
B21
B22
B23
IRQ20
IRQ21
IRQ22
IRQ23
IRQ24
IRQ25
IRQ26
IRQ27
B24
B25
B26
B27
B24
B25
B26
B27
IRQ24
IRQ25
IRQ26
IRQ27
B28
B29
B30
B31
IRQ28
IRQ29
IRQ30
IRQ31
00
01
10
IPR0
11
IPR1
i
m
立 i
创 na
商 ry
城
IRQ0
IRQ1
IRQ2
IRQ3
IPR2
IPR3
el
中断响应
Pr
IRQ28
IRQ29
IRQ30
IRQ31
B28
B29
B30
B31
IPR4
IPR5
IPR6
IPR7
NVIC
图 7-7 中断结构图
本系统的中断结构框图如图 7-7 所示。需要注意几点:
to
外设中断源各自的中断使能没有在图中标出,这里只包括外设中断产生之后的中断
信号逻辑框图。
IRQ 有多于 1 个外设中断输入复用,必须分别读取这些外设的中断标志位来判定是
哪个外设的中断。
如果外设中断源有高电平产生,无论 NVIC 中断使能寄存器 SCS_SETENA 置位与
否,中断挂起寄存器 SCS_SEPEND 都会被置位,表示相应的外设中断源有中断产生。
只有中断使能寄存器 NVIC_ISER 置位,相应的中断 IRQ 才会给处理器相应,执行
HC32F002 系列用户手册 Beta1.0
Page 80 of 415
相应的中断程序。
在中断程序中必须清除外设中断源高电平中断信号,中断挂起寄存器 NVIC_ISPR
由硬件自动清除。
中断优先级寄存器 NVIC_IPR0- NVIC_IPR7 设置了 32 个中断源的优先级,00 优先
级最高,11 优先级最低。当优先级相同时,优先级由中断编号决定,编号越小优先级
to
Pr
el
i
m
立 i
创 na
商 ry
城
越高。
HC32F002 系列用户手册 Beta1.0
Page 81 of 415
7.8
软件基本操作
7.8.1 外部中断使能
在每一个外设模块内部都有各自的中断使能寄存器,在需要进行中断操作时,必须首先
打开外设自己的中断使能。该使能位的操作没有在本章节讨论,请参考外设模块各自的
i
m
立 i
创 na
商 ry
城
章节描述。
7.8.2 NVIC 中断使能和清除使能
Cortex-M0+ 处理器支持最多 32 个中断源,每个中断源都对应有一个中断使能位和清零
使能位。这样就有了 32 位的中断使能寄存器 NVIC_ISER 和 32 位的中断请求清除寄
存器 NVIC_ICER。如果想使能某一个中断,则对 NVIC_ISER 寄存器的相应位置 1。如
果想清零某一个中断,则对 NVIC_ICER 寄存器的相应位置 1。
注意,这里提到的中断使能仅仅是针对处理器 NVIC 而言的,每个外设的中断生成与
否,是由外设的中断控制寄存器决定,与 NVIC_ISER 和 NVIC_ICER 无关。
el
7.8.3 NVIC 中断挂起和清除挂起
如果一个中断发生了,却无法立即处理,这个中断请求将会被挂起。挂起状态保存在一
Pr
个寄存器中,如果处理器的当前优先级还没有降低到可以处理挂起的请求,并且没有手
动清除挂起状态,该状态将会一直保持合法。
当处理器开始进入中断处理,硬件会自动清除挂起状态。
可以通过操作中断设置挂起 NVIC_ISPR 和中断清除挂起 NVIC_ICPR 这两个寄存器
to
来访问或修改中断挂起状态。中断挂起状态寄存器允许使用软件来触发中断。
7.8.4 NVIC 中断优先级
设置 NVIC_IPR0- NVIC_IPR7 寄存器决定 SCS_IRQ0- SCS_IRQ32 的优先级。中断优
先级寄存器的编程应该在中断使能之前,其通常是在程序开始时完成的。应该避免在中
断使能之后改变中断优先级,这种情况的结果不可预知,并且不被 Cortex-M0+ 处理器
支持。
HC32F002 系列用户手册 Beta1.0
Page 82 of 415
7.8.5 NVIC 中断屏蔽
有些对时间敏感的应用,需要在一段较短的时间内禁止所有中断,可以利用中断屏蔽寄
存器 SCS_PRIMASK 实现。特殊寄存器 SCS_PRIMASK 只有 1 位有效,并且在复位
后默认为 0。该寄存器为 0 时,所有的中断和异常都处于允许状态;而设为 1 后,只有
NMI(本系统不支持)和硬件错误异常处于使能。实际上,当 SCS_PRIMASK 设置为
i
m
立 i
创 na
商 ry
城
1 后,处理器的当前优先级就降到了 0(可配值的最高优先级)。
可以通过多种方法编程 SCS_PRIMASK 寄存器,使用汇编语言,可以利用 MS R 指令
在设置和清除 SCS_PRIMASK 寄存器。若使用 C 语言以及 CMSIS 设备驱动库,用户
可以使用以下函数来设置和清除 PRIMASK。
void __enable_irq(void); //清除 PRIMASK
to
Pr
el
void __disable_irq(void); //设置 PRIMASK
HC32F002 系列用户手册 Beta1.0
Page 83 of 415
7.9
寄存器
基地址:0xE000 E000
寄存器
偏移地址
描述
0x100
中断使能设置寄存器
NVIC_ICER
0x180
中断使能清除寄存器
NVIC_ISPR
0x200
中断挂起状态设置寄存器
NVIC_ICPR
0x280
中断挂起状态清除寄存器
NVIC_IPR0
NVIC_IPR1
NVIC_IPR2
NVIC_IPR3
NVIC_IPR4
NVIC_IPR5
NVIC_IPR6
NVIC_IPR7
PRIMASK
i
m
立 i
创 na
商 ry
城
NVIC_ISER
0x400
中断优先级寄存器0
0x404
中断优先级寄存器1
0x408
中断优先级寄存器2
0x40C
中断优先级寄存器3
0x410
中断优先级寄存器4
0x414
中断优先级寄存器5
0x418
中断优先级寄存器6
0x41C
中断优先级寄存器7
-
中断屏蔽特殊寄存器
7.9.1 中断使能设置寄存器(NVIC_ISER)
偏移地址:0x100
el
复位值:0x0000 0000
30
29
28
Pr
31
位
31:0
14
13
12
26
11
标记
SETENA
[31:0]
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
SETENA[31:16]
RW
10
to
15
27
9
8
7
SETENA[15:0]
RW
功能描述
设置使能中断#0到中断#31;写“1”置位,写“0”无效
[0]:IRQ0
[1]:IRQ1
[2]:IRQ2
……
[31]:IRQ31
HC32F002 系列用户手册 Beta1.0
Page 84 of 415
7.9.2 中断使能清除寄存器(NVIC_ICER)
偏移地址:0x180
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
22
21
20
19
18
17
16
6
5
4
3
2
1
0
CLRENA
RW
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
CLRENA
RW
位
标记
31:0
CLRENA
功能描述
清除使能中断#0到中断#31;
写“1”清零,写“0”无效
7.9.3 中断挂起状态设置寄存器(NVIC_ISPR)
偏移地址:0x200
复位值:0x0000 0000
30
29
28
27
26
el
31
14
13
12
Pr
15
标记
31:0
SETPEND
10
24
23
SETPEND[31:16]
RW
9
8
7
SETPEND[15:0]
RW
功能描述
设置中断#0到中断#31的挂起状态;写“1”置位,写“0”无效
to
位
11
25
[0]:IRQ0
[1]:IRQ1
[2]:IRQ2
……
[31]:IRQ31
HC32F002 系列用户手册 Beta1.0
Page 85 of 415
7.9.4 中断挂起状态清除寄存器(NVIC_ICPR)
偏移地址:0x280
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
CLRPEND[31:16]
RW
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
CLRPEND[15:0]
RW
位
标记
31:0
CLRPEND
描述
清除中断#0到中断#31的挂起状态;写“1”清零,写“0”无效
[0]:IRQ0
[1]:IRQ1
[2]:IRQ2
……
to
Pr
el
[31]:IRQ31
HC32F002 系列用户手册 Beta1.0
Page 86 of 415
7.9.5 中断优先级寄存器(NVIC_IPR0)
偏移地址:0x400
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
IPR0[31:16]
RW
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
IPR0[15:0]]
RW
位
标记
31:0
IPR0[31:0]
功能描述
中断#0到中断#3的优先级;
[31:30]:中断#3 的优先级
[23:22]:中断#2 的优先级
[15:14]:中断#1 的优先级
[7:6]:
中断#0 的优先级
to
Pr
el
其中,00 优先级最高,11 优先级最低
HC32F002 系列用户手册 Beta1.0
Page 87 of 415
7.9.6 中断优先级寄存器(NVIC_IPR1)
偏移地址:0x404
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
IPR1[31:16]
RW
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
IPR1[15:0]]
RW
位
标记
31:0
IPR1[31:0]
功能描述
中断#4到中断#7的优先级;
[31:30]:中断#7 的优先级
[23:22]:中断#6 的优先级
[15:14]:中断#5 的优先级
[7:6]:
中断#4 的优先级
to
Pr
el
其中,00 优先级最高,11 优先级最低
HC32F002 系列用户手册 Beta1.0
Page 88 of 415
7.9.7 中断优先级寄存器(NVIC_IPR2)
偏移地址:0x408
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
IPR2[31:16]
RW
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
IPR2[15:0]]
RW
位
标记
31:0
IPR2[31:0]
功能描述
中断#8到中断#11的优先级;
[31:30]:中断#11 的优先级
[23:22]:中断#10 的优先级
[15:14]:中断#9 的优先级
[7:6]:
中断#8 的优先级
to
Pr
el
其中,00 优先级最高,11 优先级最低
HC32F002 系列用户手册 Beta1.0
Page 89 of 415
7.9.8 中断优先级寄存器(NVIC_IPR3)
偏移地址:0x40C
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
IPR3[31:16]
RW
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
IPR3[15:0]]
RW
位
标记
31:0
IPR3[31:0]
功能描述
中断#12到中断#15的优先级;
[31:30]:中断#15 的优先级
[23:22]:中断#14 的优先级
[15:14]:中断#13 的优先级
[7:6]:
中断#12 的优先级
to
Pr
el
其中,00 优先级最高,11 优先级最低
HC32F002 系列用户手册 Beta1.0
Page 90 of 415
7.9.9 中断优先级寄存器(NVIC_IPR4)
偏移地址:0x410
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
IPR4[31:16]
RW
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
IPR4[15:0]]
RW
位
标记
31:0
IPR4[31:0]
功能描述
中断#16到中断#19的优先级;
[31:30]:中断#19 的优先级
[23:22]:中断#18 的优先级
[15:14]:中断#17 的优先级
[7:6]:
中断#16 的优先级
to
Pr
el
其中,00 优先级最高,11 优先级最低
HC32F002 系列用户手册 Beta1.0
Page 91 of 415
7.9.10 中断优先级寄存器(NVIC_IPR5)
偏移地址:0x414
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
IPR5[31:16]
RW
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
IPR5[15:0]]
RW
位
标记
31:0
IPR5[31:0]
功能描述
中断#20到中断#23的优先级;
[31:30]:中断#23 的优先级
[23:22]:中断#22 的优先级
[15:14]:中断#21 的优先级
[7:6]:
中断#20 的优先级
to
Pr
el
其中,00 优先级最高,11 优先级最低
HC32F002 系列用户手册 Beta1.0
Page 92 of 415
7.9.11 中断优先级寄存器(NVIC_IPR6)
偏移地址:0x418
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
IPR6[31:16]
RW
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
IPR6[15:0]]
RW
位
标记
31:0
IPR6[31:0]
功能描述
中断#24到中断#27的优先级;
[31:30]:中断#27 的优先级
[23:22]:中断#26 的优先级
[15:14]:中断#25 的优先级
[7:6]:
中断#24 的优先级
to
Pr
el
其中,00 优先级最高,11 优先级最低
HC32F002 系列用户手册 Beta1.0
Page 93 of 415
7.9.12 中断优先级寄存器(NVIC_IPR7)
偏移地址:0x41C
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
IPR7[31:16]
RW
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
IPR7[15:0]
RW
位
标记
31:0
IPR7[31:0]
功能描述
中断#28到中断#31的优先级;
[31:30]:中断#31 的优先级
[23:22]:中断#30 的优先级
[15:14]:中断#29 的优先级
[7:6]:
中断#28 的优先级
to
Pr
el
其中,00 优先级最高,11 优先级最低
HC32F002 系列用户手册 Beta1.0
Page 94 of 415
7.9.13 中断屏蔽特殊寄存器(PRIMASK)
偏移地址:--复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
Reserved
位
标记
31:1
Reserved
0
PRIMASK
PRIM
ASK
RW
功能描述
置位后,除了 NMI 和硬件错误异常外的其他中断都会被屏蔽掉
清零后,所有异常和中断都不会被屏蔽掉
该特殊寄存器需要通过 MSR 和 MRS 特殊寄存器操作指令访问,也可以用改变处理器状态指令
to
Pr
el
CPS 访问。在处理对时间敏感的应用时,需要操作 PRIMASK 寄存器。
HC32F002 系列用户手册 Beta1.0
Page 95 of 415
8
通用输入输出端口控制器(GPIO)
8.1
简介
GPIO 是 MCU 最基本的输入输出通道。本产品包含四组输入输出端口,其中 PA 为 5
位,PB 为 6 位,PC 为 5 位,PD 为 6 位。实际可用的 GPIO 端口数量请参考相应的规
i
m
立 i
创 na
商 ry
城
格书以获得更多信息。
每个管脚都有相关的控制和配置寄存器,以满足特定应用的需求。通过配置相应的寄
存器,管脚可以被配置为以下三类工作模式:模拟外设的输入输出、数字外设的输入
输出、GPIO 的输入输出。
主要特性
功能复用:每只管脚可配置为多种数字或模拟功能,PA00 除外
输入模式:模拟输入、高阻输入、上拉输入
输出模式:模拟输出、推挽输出、开漏输出;可使能上拉
信号输入:输入信号到达数据输入寄存器(GPIOx_IN)及片内外设
信号输出:输出信号来源为数据输出寄存器(GPIOx_OUT)或片内外设
el
8.2
原子操作:位操作寄存器(GPIOx_BSRR、GPIOx_BRR)实现 IO 操作原子化
中断类型:上升沿中断、下降沿中断、高电平中断、低电平中断
Pr
辅助功能:输出各种内部内钟、片内外设输入信号重定向
双倍驱动:TSSOP20 和 QFN20 的 PB04-05、PC03-04 具有双倍驱动能力
to
HC32F002 系列用户手册 Beta1.0
Page 96 of 415
8.3
功能描述
8.3.1
端口电路框图
Vcc
模拟功能输入输出
Vcc
输入驱动器
保护
二极管
读
PU
ADS
IN
中断
i
m
立 i
创 na
商 ry
城
外设复用功能输入
Q
D
Q
HCLK
Q
D
IO
引脚
Q
保护
二极管
读/写
Vcc
PMOS
OUT
BRR
BSRR
输出驱动器
写
输出控制
NMOS
推挽/开漏/禁止
Vss
外设复用功能输出
el
Vss
to
Pr
图 8-1 通用端口电路示意图
HC32F002 系列用户手册 Beta1.0
Page 97 of 415
8.3.2
端口模式配置
通过控制寄存器,可以将端口配置为多种工作模式,其真值表如下方所示:
IN
ADS
AFRL
DIR
Open
Drain
OUT
BRR.BR
BSRR.BR
BSRR.BS
PU
模拟
0
1
-
-
-
-
-
-
-
-
高阻输入
X
0
0
1
-
-
-
-
-
0
上拉输入
1
0
0
1
-
-
-
-
-
1
高阻输出
高阻输出
高阻输出
上拉输出
上拉输出
上拉输出
输出 0
输出 0
输出 0
输出 0
输出 0
输出 0
输出 1
输出 1
X
0
0
0
1
1
0
0
0
0
X
0
0
0
1
-
0
0
1
0
X
0
0
0
1
-
0
1
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
-
0
0
1
1
1
0
0
0
1
-
0
1
1
1
0
0
0
0
1
0
0
0
0
-
0
0
0
0
1
-
1
0
0
-
0
0
0
0
1
-
0
1
0
-
0
0
0
0
0
0
0
0
0
-
0
0
0
0
0
-
1
0
0
-
0
0
0
0
0
-
0
1
0
-
0
0
0
0
0
1
0
0
0
-
0
0
0
0
0
-
0
0
1
-
0
0
0
0
0
-
0
1
1
-
X
0
>0
0
0
-
-
-
-
-
X
0
>0
1
0
-
-
-
-
1
el
输出 1
i
m
立 i
创 na
商 ry
城
管脚模式
外设输出
外设上拉输入
表 8-1 端口功能配置表
to
Pr
注:-代表任意值;X 代表不确定
HC32F002 系列用户手册 Beta1.0
Page 98 of 415
8.3.3
端口复位状态
在复位期间及复位完成未配置 GPIO 寄存器之前,大多数 I/O 端口被配置为模拟输入
无上下拉状态;其它管脚的状态如下:
SWCLK( PD01 ): 数字输入+上拉
SWDIO( PC07):
数字输入+上拉
PC06:
数字输入无上拉
i
m
立 i
创 na
商 ry
城
8.3.4
端口模拟功能
当需要使用模拟外设(ADC、LVD……)的相应功能时,需要配置端口为模拟功能。
实现方法为设置 GPIOx_ADS 寄存器相应的位为 1,使片内模拟外设连接到该端口。
在该配置下,端口具有如下特性:
模拟外设连接到端口
端口数字功能关闭:不能输出电平;读取管脚电平恒为 0;无内置上拉及下拉
Vcc
模拟功能输入输出
el
输入驱动器
保护
二极管
外设复用功能输入
Pr
中断
Q
to
HCLK
ADS
Q
IN
读
IO
引脚
D
Q
D
保护
二极管
Q
Vss
图 8-2 高阻-模拟配置示意图
HC32F002 系列用户手册 Beta1.0
Page 99 of 415
8.3.5
端口通用输入输出功能
当需要使用端口的通用输入输出功能时,需要配置端口为数字功能并设置 AFRL 的值
为 0。实现方法为设置 GPIOx_ADS 寄存器相应的位为 0,设置 GPIOx_AFRL 寄存器
相应的位为 0。在该配置下,端口具有如下特性:
输入模式:可使能上拉
推挽输出:可使能上拉;支持位操作
开漏输出:可使能上拉;支持位操作
i
m
立 i
创 na
商 ry
城
每个 GPIO 具有 4 个控制寄存器,其功能描述如下:
GPIOx_ADS
寄存器可配置端口为数字端口
GPIOx_DIR
寄存器可配置端口为输入或输出
GPIOx_PU
寄存器可使能端口的上拉
GPIOx_OpenDrain 寄存器可配置端口的输出类型为推挽或开漏
每个 GPIO 具有 2 个数据寄存器,其功能描述如下:
GPIOx_IN
寄存器存储通过 I/O 输入的数据,只可进行读操作
GPIOx_OUT
寄存器存储待输出数据,可对其进行读/写访问
el
Pr
注意:对 GPIOx_OUT 寄存器进行【读-修改-写】的过程不是原子操作,不建议采用
该方式修改 GPIOx_OUT 寄存器的值。
每个 GPIO 有 2 个位操作寄存器,其功能描述如下:
GPIOx_BSRR
寄存器的 BS 位可将 GPIOx_OUT 相应的比特置 1
to
寄存器的 BR 位可将 GPIOx_OUT 相应的比特清 0
GPIOx_BRR
寄存器位可将 GPIOx_OUT 相应的比特清 0
注意:通过位操作寄存器对 GPIOx_OUT 的值进行修改的过程为原子操作,建议采用
位操作的方式修改 GPIOx_OUT 寄存器的值。
HC32F002 系列用户手册 Beta1.0
Page 100 of 415
8.3.5.1 输入模式
当 GPIO 被配置为输入模式下,其简化框图如下所示:
Vcc
模拟功能输入输出
Vcc
输入驱动器
保护
二极管
中断
i
m
立 i
创 na
商 ry
城
外设复用功能输入
PU
ADS
Q
IN
读
Q
HCLK
D
Q
D
IO
引脚
Q
保护
二极管
Vss
图 8-3 输入悬空/上拉来配置示意图
每一个端口可以通过读取 GPIOx_IN 寄存器来获得端口管脚电平。如图 8-4 所示,
GPIOx_IN 寄存器的各个位与其前面的锁存器组成了一个同步器从而避免了系统时钟状
态发生改变时在短时间内管脚电平变化而造成的信号不稳定,但是同时也引入了延
el
迟。读取端口管脚数据的同步图如下:
HCLK
Pr
PIN voltage
GPIOx_IN
Tpd,max
Tpd,min
to
图 8-4 读取端口管脚数据同步图
在系统时钟上升沿之后的时钟时期,管脚电平信号会锁存在内部寄存器,如阴影部分
所示,在下一次系统时钟上升沿之后,稳定的管脚电平信号能够被读取。之后在系统
时钟上升沿时,数据锁存到 GPIOx_IN 寄存器中。信号转换延迟 Tpd 为 1-2 个系统时
钟。
HC32F002 系列用户手册 Beta1.0
Page 101 of 415
8.3.5.2 输出模式
当 GPIO 被配置为输出模式下,其简化框图如下所示:
Vcc
模拟功能输入输出
Vcc
保护
二极管
输入驱动器
PU
IN
i
m
立 i
创 na
商 ry
城
ADS
读
Q
D
Q
HCLK
Q
D
IO
引脚
Q
保护
二极管
读/写
OUT
BRR
BSRR
输出驱动器
写
Vcc
PMOS
输出控制
NMOS
推挽/开漏/禁止
Vss
外设复用功能输出
Vss
图 8-5 输出配置示意图
el
每一个端口可以通过向 GPIOx_BRR、GPIOx_BSRR 或 GPIOx_OUT 写入数据以控制
IO 口的输出电平。
Pr
GPIOx_BRR、GPIOx_BSRR 为位操作寄存器,每次可修改同一组端口中 IO 的数量为
1~6 个,且同一组端口中未被修改的 IO 保持其状态不变,使用该两个寄存器对 IO 进
行修改的过程为原子操作。对寄存器 GPIOx_OUT 的写入值即为每个位所对应的输出
to
PIN 脚的输出值。
HC32F002 系列用户手册 Beta1.0
Page 102 of 415
端口复用功能
8.3.6
当需要使用数字外设(GPIO、LPUART、SPI……)的相应功能时,需要配置端口为数
字功能。操作方法为设置 GPIOx_ADS 相应的位为 0 并配置 GPIOx_AFRL,以实现将
特定的片内外设连接到端口。
在该配置下,端口具有如下特性:
输入模式: 可使能上拉;外部信号输入到片内外设;GPIOx_IN 可读取外部信号
i
m
立 i
创 na
商 ry
城
可以产生端口中断
输出模式: 可选择开漏或推挽;可使能上拉
片内外设输出信号到端口;不可以产生端口中断
Vcc
模拟功能输入输出
Vcc
输入驱动器
保护
二极管
外设复用功能输入
读
PU
ADS
IN
中断
Q
D
el
Q
读/写
IO
引脚
Q
保护
二极管
输出驱动器
Vcc
PMOS
OUT
写
D
BRR
BSRR
Pr
HCLK
Q
输出控制
NMOS
推挽/开漏/禁止
Vss
to
外设复用功能输出
Vss
图 8-6 复用功能配置示意图
HC32F002 系列用户手册 Beta1.0
Page 103 of 415
本芯片每一个端口的数字复用功能如下表所示。
数字功能
管脚名称
AF0
AF1
AF2
AF3
AF4
PA01
GPIO
LPUART0_RXD
I2C_SDA
GTIM_TOGP
HCLK_OUT
PA02
GPIO
LPUART0_TXD
I2C_SCL
GTIM_TOGN
LVD_OUT
PA03
GPIO
GTIM_CH2
SPI_NSS
PB00
PB01
PB02
PB03
PB04
PB05
PC03
PC04
GPIO
GTIM_TOGP
LVD_OUT
SPI_NSS
GPIO
ATIM3_CH0B
GTIM_CH3
LPUART0_RTS
GPIO
ATIM3_CH1B
GTIM_CH2
LPUART0_CTS
GPIO
ATIM3_CH2B
GTIM_CH1
LPUART1_RTS
GPIO
ATIM3_ETR
GTIM_CH0
LPUART1_CTS
GPIO
I2C_SCL
ATIM3_CH2B
LPUART0_CTS
GPIO
I2C_SDA
ATIM3_BK
GPIO
ATIM3_CH2A
ATIM3_CH0B
LPUART0_RTS
GPIO
ATIM3_CH0B
ATIM3_CH1B
TCLK_OUT
GPIO
SPI_SCK
GTIM_CH3
ATIM3_ETR
CTRIM_ETR
CTRIM_TOG
GPIO
SPI_MOSI
ATIM3_CH0A
LPUART1_RTS
GPIO
SPI_MISO
ATIM3_CH1A
LPUART0_RXD
Pr
el
PC05
CTRIM_TOG
i
m
立 i
创 na
商 ry
城
PA04
CTRIM_ETR
GPIO
GTIM_ETR
ATIM3_BK
LPUART0_TXD
GPIO
GTIM_CH2
ATIM3_CH2A
LPUART1_CTS
GPIO
GTIM_CH1
ATIM3_CH1A
LPUART1_RXD
GPIO
GTIM_CH0
LPUART1_TXD
SPI_SCK
PD05
GPIO
LPUART1_TXD
ATIM3_CH0A
SPI_MISO
GTIM_ETR
SPI_MOSI
PC06
PC07
PD01
PD02
PD03
to
PD04
PD06
GPIO
HC32F002 系列用户手册 Beta1.0
LPUART1_RXD
Page 104 of 415
8.3.7
端口时钟输出
8.3.7.1 输出 HCLK
配置 GPIO 的寄存器,可以输出 HCLK,下方示例从 PA01 输出 HCLK:
Step1. 设置 GPIOA_ADS.PIN1 为 0,配置 PA01 为数字端口。
Step2. 设置 GPIOA_DIR.PIN1 为 0,配置 PA01 为输出模式。
i
m
立 i
创 na
商 ry
城
Step3. 设置 GPIOA_AFRL.AFSEL1 为 4,配置 PA01 的复用功能为 HCLK。
8.3.7.2 输出 TCLK
配置 GPIO 的寄存器,可以输出 RCH/RCL/PCLK/HCLK,下方示例从 PC04 输出 RCH/8:
Step1. 设置 GPIOC_ADS.PIN4 为 0,配置 PC04 为数字端口。
Step2. 设置 GPIOC_DIR.PIN4 为 0,配置 PC04 为输出模式。
Step3. 设置 GPIOC_AFRL.AFSEL4 为 3,配置 PC04 的复用功能为 TCLK。
Step4. 设置 GPIOC_CR1.TCLKSRC 为 0,选择 TCLK 时钟源为 RCH。
to
Pr
el
Step5. 设置 GPIOC_CR1.TCLKDIV 为 1,输出 TCLK 的 8 分频。
HC32F002 系列用户手册 Beta1.0
Page 105 of 415
端口外部中断
8.3.8
当端口被配置为数字功能(GPIOx_ADS 为 0)且工作于输入模式(GPIOx_DIR 为 1)
时,每一个端口均具有中断功能。每个端口支持 4 种类型的中断:上升沿中断、下降
沿中断、高电平中断、低电平中断;对应的中断使能寄存器分别为:GPIOx_RISEIE、
GPIOx_FALLIE、GPIOx_HIGHIE、GPIOx_LOWIE。当中断触发时,通过查询中断状
i
m
立 i
创 na
商 ry
城
态寄存器(GPIOx_IFR)即可判断是哪一个端口触发了中断,通过中断清除寄存器
(GPIOx_ICR)就可以清除相应的中断状态标志位。
GPIO 外部中断相关的简化框图如下所示:
Vcc
Vcc
输入驱动器
保护
二极管
中断
PU
IN
读
ADS
Q
Q
Q
D
IO
引脚
Q
保护
二极管
Vss
to
Pr
el
HCLK
D
HC32F002 系列用户手册 Beta1.0
Page 106 of 415
8.4
寄存器描述
8.4.1
寄存器列表
基地址:
GPIOA:0x4002 0C00
i
m
立 i
创 na
商 ry
城
GPIOB:0x4002 0D00
GPIOC:0x4002 0E00
GPIOD:0x4002 0F00
注:
–
GPIOA 有 5 比特有效位(PA00-40)
,GPIOB 有 6 比特有效位(PB00-05)
,GPIOC 有 5 比特有
效位(PC03-07)
,GPIOD 有 6 比特有效位(PD01-06)。对不存在的位,写操作无效,读出值
始终为 0。
其中 2 个辅助功能寄存器(CR1, CR4)为共享寄存器,GPIOA / GPIOB / GPIOC / GPIOD 均可
使用并且对 4 个端口均有效,即 0x4002 0CA4、0x4002 0DA4、0x4002 0EA4 和 0x4002 0FA4
是同一个寄存器。
to
Pr
el
下面表中 x = A、B、C、D
HC32F002 系列用户手册 Beta1.0
Page 107 of 415
寄存器名
偏移地址
0x00
端口数模配置寄存器(GPIOx_ADS)
复位值
(PA)0x0000 001E
(PB)0x0000 003F
(PC)0x0000 0038
(PD)0x0000 007C
端口输入输出配置寄存器(GPIOx_DIR)
0x04
(PA)0x0000 001F
i
m
立 i
创 na
商 ry
城
(PB)0x0000 003F
(PC)0x0000 00F8
(PD)0x0000 007E
端口输出类型寄存器(GPIOx_OpenDrain)
0x08
0x0000 0000
端口上拉寄存器(GPIOx_PU)
0x18
(PA)0x0000 0001
(PB/C/D)0x0000 0000
0x1C
0x0000 xxxx
端口数据输出寄存器(GPIOx_OUT)
0x20
0x0000 xxxx
端口复位寄存器(GPIOx_BRR)
0x24
0x0000 0000
端口置位/复位寄存器(GPIOx_BSRR)
0x28
0x0000 0000
端口复用功能低位寄存器(GPIOx_AFRL)
0x30
0x0000 0000
端口高电平中断使能配置寄存器(GPIOx_HIGHIE)
0x38
0x0000 0000
端口低电平中断使能配置寄存器(GPIOx_LOWIE)
0x3C
0x0000 0000
端口上升沿中断使能配置寄存器(GPIOx_RISEIE)
0x40
0x0000 0000
端口下降沿中断使能配置寄存器(GPIOx_FALLIE)
0x44
0x0000 0000
端口中断状态寄存器(GPIOx_IFR)
0x48
0x0000 0000
端口中断清除寄存器(GPIOx_ICR)
0x4C
(PA)0x0000 001F
Pr
el
端口数据输入寄存器(GPIOx_IN)
to
(PB)0x0000 003F
端口辅助功能配置寄存器1(GPIOx_CR1)
0xA4
0x0000 0000
端口辅助功能配置寄存器4(GPIOx_CR4)
0xB0
0x0000 0000
(PC)0x0000 00F8
(PD)0x0000 007E
表 8-2 GPIO 寄存器一览表
HC32F002 系列用户手册 Beta1.0
Page 108 of 415
8.4.2
端口数模配置寄存器(GPIOx_ADS)
地址偏移量:0x00
复位值:(PA) 0x0000 001E
(PB) 0x0000 003F
(PC) 0x0000 0038
31
30
i
m
立 i
创 na
商 ry
城
(PD) 0x0000 007C
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
15
14
13
12
11
10
9
8
7
PIN[7:0]
Reserved
RW
位
符号
功能描述
31:8
Reserved
保留
7:0
PIN
端口数字功能或模拟功能控制
1:将端口配置为模拟功能
0:将端口配置为数字功能
注:PA 端口有效位[4:1],PA[0]仅作为数字端口用,PB 端口有效位[5:0],PC 端口有效位
to
Pr
el
[7:3],PD 端口有效位[6:1]
HC32F002 系列用户手册 Beta1.0
Page 109 of 415
8.4.3
端口方向配置寄存器(GPIOx_DIR)
地址偏移量:0x04
复位值:(PA)0x0000 001F
(PB )0x0000 003F
i
m
立 i
创 na
商 ry
城
(PC)0x0000 00F8
(PD)0x0000 007E
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
15
14
13
12
11
10
9
8
7
PIN[7:0]
Reserved
RW
位
符号
功能描述
31:8
Reserved
保留
7:0
PIN
端口输入输出方向控制
1:将端口配置成输入
0:将端口配置成输出
注:PA 端口有效位[4:1],PA[0]仅输入,PB 端口有效位[5:0],PC 端口有效位[7:3],PD 端口有
to
Pr
el
效位[6:1]
HC32F002 系列用户手册 Beta1.0
Page 110 of 415
8.4.4
端口输出类型寄存器(GPIOx_OpenDrain)
地址偏移量:0x08
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
15
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
PIN[7:0]
Reserved
RW
位
符号
功能描述
31:8
Reserved
保留
7:0
PIN
端口输出方式控制位
0:推挽输出(复位值)
1:开漏输出
注:PA 端口有效位[4:1],PB 端口有效位[5:0],PC 端口有效位[7:3],PD 端口有效位[6:1]
8.4.5
端口上拉寄存器(GPIOx_PU)
el
地址偏移量:0x18
复位值:(PA)0x0000 0001
Pr
(PB/C/D)0x0000 0000
31
15
30
14
29
13
28
12
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
11
10
9
8
7
PU[7:0]
Reserved
位
31:8
7:0
to
RW
符号
Reserved
保留
PUx
端口上位电阻使能控制
功能描述
0:禁止上拉电阻
1:使能上拉电阻
注:PA 端口有效位[4:0],PA[0]作为 RESET PAD 时自动上拉,PB 端口有效位[5:0],PC 端口有
效位[7:3],PD 端口有效位[6:1]
HC32F002 系列用户手册 Beta1.0
Page 111 of 415
8.4.6
端口数据输入寄存器(GPIOx_IN)
地址偏移量:0x1C
复位值:0x0000 XXXX
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
15
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
PIN[7:0]
Reserved
RO
位
符号
功能描述
31:8
Reserved
保留
7:0
PIN
端口输入数据
PA 端口有效位[4:0],PB 端口有效位[5:0],PC 端口有效位[7:3],PD 端口有效位[6:1]
8.4.7
端口数据输出寄存器(GPIOx_OUT)
地址偏移量:0x20
复位值:0x0000 XXXX
30
29
28
27
26
el
31
14
13
12
11
10
Pr
15
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
9
8
7
PIN[7:0]
Reserved
位
符号
Reserved
保留
7:0
PIN
端口输出数据
功能描述
to
31:8
RW
注:PA 端口有效位[4:1],PB 端口有效位[5:0],PC 端口有效位[7:3],PD 端口有效位[6:1]
HC32F002 系列用户手册 Beta1.0
Page 112 of 415
8.4.8
端口复位寄存器 (GPIOx_BRR)
地址偏移量:0x24
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
15
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
PIN[7:0]
Reserved
WO
位
符号
功能描述
31:8
Reserved
保留
7:0
PIN
端口位清零控制
0:不影响 GPIOx_OUT 寄存器相应的比特
1:设置 GPIOx_OUT 寄存器相应的比特为 0
to
Pr
el
注:PA 端口有效位[4:1],PB 端口有效位[5:0],PC 端口有效位[7:3],PD 端口有效位[6:1]
HC32F002 系列用户手册 Beta1.0
Page 113 of 415
8.4.9
端口置位复位寄存器(GPIOx_BSRR)
地址偏移量:0x28
复位值:0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
2
1
0
BR[7:0]
Reserved
14
13
12
11
10
9
8
7
6
5
4
3
i
m
立 i
创 na
商 ry
城
15
BR9
WO
BS[7:0]
Reserved
WO
位
符号
功能描述
31:24
Reserved
保留
23:16
BR
端口位清零控制
0:不影响 GPIOx_OUT 寄存器相应的比特
1:设置 GPIOx_OUT 寄存器相应的比特为 0
注:PA 端口有效位[20:17],PB 端口有效位[21:16],PC 端口有效位[23:19],PD 端口有效位
[22:17]
15:8
Reserved
保留
7:0
BS
端口位置位控制
0:不影响 GPIOx_OUT 寄存器相应的比特
el
1:设置 GPIOx_OUT 寄存器相应的比特为 1
to
Pr
注:PA 端口有效位[4:1],PB 端口有效位[5:0],PC 端口有效位[7:3],PD 端口有效位[6:1]
HC32F002 系列用户手册 Beta1.0
Page 114 of 415
8.4.10 端口复用功能低位寄存器(GPIOx_AFRL)
地址偏移量:0x30
复位值:0x0000 0000
31
30
29
28
27
AFSEL7
26
25
24
23
AFSEL6
22
21
20
19
AFSEL5
18
17
16
AFSEL4
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
i
m
立 i
创 na
商 ry
城
RW
AFSEL3
RW
位
31:0
RW
RW
AFSEL2
RW
RW
RW
符号
AFSELy
y = 0-7
RW
AFSEL1
RW
RW
RW
RW
AFSEL0
RW
RW
RW
RW
RW
功能描述
端口复用功能控制
0000:GPIO
0001:AF1
0010:AF2
0011:AF3
0100:AF4
0101-1111:保留位
注 1:AF1 – AF4 的具体功能详见【端口复用功能】章节
注 2:PA 端口有效位[19:4],PB 端口有效位[23:0],PC 端口有效位[31:12],PD 端口有效位
to
Pr
el
[27:4]
HC32F002 系列用户手册 Beta1.0
Page 115 of 415
8.4.11 端口高电平中断使能配置寄存器(GPIOx_HIGHIE)
地址偏移量:0x38
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
PIN[7:0]
Reserved
位
RW
标记
31:8
功能描述
保留
Reserved
端口高电平中断使能控制
1:使能相应端口的高电平中断
7:0
PIN
0:禁止相应端口的高电平中断
注:PA 端口有效位[4:0],PB 端口有效位[5:0],PC 端口有效位[7:3],PD 端口有效位
[6:1]
el
8.4.12 端口低电平中断使能配置寄存器(GPIOx_LOWIE)
地址偏移量:0x3C
Pr
复位值:0x0000 0000
31
30
15
14
29
13
28
12
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
11
10
9
8
7
PIN[7:0]
to
Reserved
位
31:8
标记
Reserved
RW
功能描述
保留
端口低电平中断使能控制
7:0
PIN
1:使能相应端口的低电平中断
0:禁止相应端口的低电平中断
注:PA 端口有效位[4:0],PB 端口有效位[5:0],PC 端口有效位[7:3],PD 端口有效位[6:1]
HC32F002 系列用户手册 Beta1.0
Page 116 of 415
8.4.13 端口上升沿中断使能配置寄存器(GPIOx_RISEIE)
地址偏移量:0x40
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
PIN[7:0]
Reserved
位
31:8
RW
标记
功能描述
保留
Reserved
端口上升沿中断使能控制
7:0
PIN
1:使能相应端口的上升沿中断
0:禁止相应端口的上升沿中断
注:PA端口有效位[4:0],PB端口有效位[5:0],PC端口有效位[7:3],PD端口有效位[6:1]
el
8.4.14 端口下降沿中断使能配置寄存器(GPIOx_FALLIE)
地址偏移量:0x44
Pr
复位值:0x0000 0000
31
15
30
14
29
13
28
12
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
11
10
9
8
7
PIN[7:0]
Reserved
31:8
to
位
RW
标记
Reserved
功能描述
保留
端口下降沿中断使能控制
7:0
PIN
1:使能相应端口的下降沿中断
0:禁止相应端口的下降沿中断
注:PA 端口有效位[4:0],PB 端口有效位[5:0],PC 端口有效位[7:3],PD 端口有效位[6:1]
HC32F002 系列用户手册 Beta1.0
Page 117 of 415
8.4.15 端口中断状态寄存器(GPIOx_IFR)
地址偏移量:0x48
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
PIN[7:0]
Reserved
位
31:8
RO
标记
Reserved
功能描述
保留
端口中断状态标志
7:0
PIN
1:已发生符合条件的中断
0:未发生符合条件的中断
to
Pr
el
注:PA端口有效位[4:0],PB端口有效位[5:0],PC端口有效位[7:3],PD端口有效位[6:1]
HC32F002 系列用户手册 Beta1.0
Page 118 of 415
8.4.16 端口中断清除寄存器(GPIOx_ICR)
地址偏移量:0x4C
复位值:(PA)0x0000 001F
(PB)0x0000 003F
(PC)0x0000 00F8
31
30
i
m
立 i
创 na
商 ry
城
(PD)0x0000 007E
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
15
14
13
12
11
10
9
8
7
PIN[7:0]
Reserved
位
31:8
RW
标记
Reserved
功能描述
保留
端口中断标志清除
7:0
PIN
1:无功能
0:清除相应的中断标志位
to
Pr
el
注:PA端口有效位[4:0],PB端口有效位[5:0],PC端口有效位[7:3],PD端口有效位[6:1]
HC32F002 系列用户手册 Beta1.0
Page 119 of 415
8.4.17 端口辅助功能配置寄存器 1(GPIOx_CR1)
地址偏移量:0xA4
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
TCLKDIV
Reserved
位
31:5
标记
Reserved
RW
Res.
TCLKSRC
RW
功能描述
保留
TCLK_OUT输出分频控制
00:TCLK
4:3
TCLKDIV
01:TCLK/8
10:TCLK/64
11:TCLK/256
2
Reserved
保留
TCLK_OUT输出信号选择
00:RCH
TCLKSRC
01:RCL
el
1:0
10:PCLK
to
Pr
11:HCLK
HC32F002 系列用户手册 Beta1.0
Page 120 of 415
8.4.18 端口辅助功能配置寄存器 4 (GPIO_CR4)
地址偏移量:0xB0
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
8
GTIMCH0
Reserved
位
9
7
i
m
立 i
创 na
商 ry
城
15
RW
标记
31:10
Reserved
9:8
GTIMCH1
7:6
Reserved
ATIM3CH0B
Reserved
RW
Reserved
功能描述
保留
GTimer 定时器CH0输入来源配置
详见 GPIO_CR4[5:4]
保留
ATimer3 定时器CH0B输入来源配置
00:由GPIOx_AFRL决定
5:4
ATIM3CH0B
01:LPUART0_RXD
10:LPUART1_RXD
11:LVD_OUT
保留
el
Reserved
to
Pr
3:0
HC32F002 系列用户手册 Beta1.0
Page 121 of 415
9
FLASH 控制器(FLASH)
9.1
概述
本系统包含一块 18k 字节(Byte)容量的 FLASH 存储器,共划分为 36 个页(Sector),
每个页(Sector)的容量为 512 字节(Byte)。
i
m
立 i
创 na
商 ry
城
本控制器支持对 FLASH 存储器的擦除、编程以及读操作。本控制器支持的读写位宽
为 Byte(8 位)、half-word(16 位)和 word(32 位)。注意,Byte 操作的目标地址
必须按字节对齐,half-word 操作的目标地址必须按半字对齐(地址最低比特为 0),
word 操作的地址必须按字对齐(地址最低两比特均为 0)。如果目标地址没有按照位
宽对齐,则该操作无效,并且 CPU 会进入 Hard Fault 出错中断。
9.2
容量划分
本控制器支持的 FLASH 容量为 18KB,每个页(Secotr)的容量为 512 字节(Byte),
其组成方式如下方所示。
序号
0x0E00 – 0x0FFF
Sector7
el
地址
序号
……
0x4600 – 0x47FF
Sector35
Sector6
……
0x4200 – 0x43FF
Sector34
0x0A00 – 0x0BFF
Sector5
……
0x4400 – 0x45FF
Sector33
0x0800 – 0x09FF
Sector4
……
0x4000 – 0x41FF
Sector32
0x0600 – 0x07FF
Sector3
……
0x3E00 – 0x3FFF
Sector31
0x0400 – 0x05FF
Sector2
……
0x3C00 – 0x3DFF
Sector30
0x0200 – 0x03FF
Sector1
……
0x3A00 – 0x3BFF
Sector29
……
0x3800 – 0x39FF
Sector28
to
Pr
0x0C00 – 0x0DFF
0x0000 – 0x01FF
9.3
地址
Sector0
表 9-1
FLASH 容量划分
读等待周期
本设备内置的 FLASH 支持的最快取指频率为 24MHz,故当 CPU 频率(HCLK)大
于 24MHz 时,CPU 从 FLASH 取指必需要插入等待周期(设置 FLASH_WAIT 大于
0)。当 FLASH_WAIT 等于 1 时,每两个 HCLK 可以完成一次 FLASH 取指操作。
HC32F002 系列用户手册 Beta1.0
Page 122 of 415
9.4
FLASH 操作(读、写、擦)
9.4.1
页擦除(Sector Erase)
页擦除每次可以擦除用户指定的一个页(Sector)。擦除操作完成后,页(Sector)内的
数据均为 0xFF。如果该擦除操作是从 FLASH 内执行,则 CPU 会停止取指,硬件自动
i
m
立 i
创 na
商 ry
城
等待该操作完成(FLASH_CR.BUSY 变为 0);如果该擦除操作是从 RAM 内执行,则
CPU 不会停止取指,用户软件应等待该操作完成(FLASH_CR.BUSY 变为 0)。
Sector 擦除操作步骤如下:
Step1:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step2:配置 FLASH_CR.OP 为 2,设置 Flash 操作模式为 Sector 擦除。
Step3:检查 FLASH_CR.OP 是否为 2,如不为 2 则跳转到 Step1。
Step4:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step5:设置 FLASH_SLOCK 相应的比特为 1,去除该 Sector 的擦写保护。
Step6:检查 FLASH_SLOCK 相应的比特是否为 相应的比特是否为 1,如不为 1 则
跳转到 Step4。
el
Step7:对待擦除的 Sector 内的任意地址进行写入任意数据,触发 Sector 擦除。
例:*((unsigned char *)0x00000200)= 0x00。
Pr
Step8:等待 FLASH_CR.BUSY 变为 0,Sector 擦除操作完成。
Step9:如需擦除其它 Sector,重复 Step4 – Step8。
9.4.2
全片擦除(Chip Erase)
to
全片擦除可以一次性擦除全部的页(Sector)。擦除操作完成后,所有页(Sector)内的
数据均为 0xFF。如果该擦除操作是从 FLASH 内执行,则该操作会被禁止,并置起相
应的出错标志位;如果该擦除操作是从 RAM 内执行,则 CPU 不会停止取指,用户
软件应等待该操作完成(FLASH_CR. BUSY 变为 0)。
Chip 擦除操作步骤如下:
Step1:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step2:配置 FLASH_CR.OP 为 3,设置 Flash 操作模式为 Chip 擦除。
HC32F002 系列用户手册 Beta1.0
Page 123 of 415
Step3:检查 FLASH_CR.OP 是否为 3,如不为 3 则跳转到 Step1。
Step4:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step5:设置 FLASH_SLOCK 为 0xFFFFFFFF,去除所有 Sector 的擦写保护。
Step6:检查 FLASH_SLOCK 是否为 0xFFFFFFFF,如不为 0xFFFFFFFF 则跳转到 则
跳转到 Step4。
i
m
立 i
创 na
商 ry
城
Step7:对待擦除的 Chip 内的任意地址进行写操作,触发 Chip 擦除。
例:*((unsigned char *)0x00000000)= 0x00。
Step11:等待 FLASH_CR.BUSY 变为 0,Chip 擦除操作完成。
9.4.3
写操作(Program)
写操作只能将 FLASH 内的比特数据由 1 写成 0,故写入数据前应确保待写入的地址内
的数据为 0xFF。支持写入 3 种数据长度:Byte(8bits)、Half-word(16bits)、Word(32bits),
写入的数据以小端模式存放在 FLASH 中,即低地址存放数据的低字节。如果写操作
是从 FLASH 内执行,则 CPU 会停止取指,硬件自动等待该操作完成(FLASH_CR.
BUSY 变为 0);如果该写操作是从 RAM 内执行,则 CPU 不会停止取指,用户软件应
el
等待该操作完成(FLASH_CR.BUSY 变为 0)。
Byte 写操作步骤如下:
Pr
Step1:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step2:配置 FLASH_CR.OP 为 1,设置 Flash 操作模式为写入。
Step3:检查 FLASH_CR.OP 是否为 1,如不为 1 则跳转到 Step1。
Step4:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step5:设置 FLASH_SLOCK 相应的比特为 1,去除擦写保护。
to
Step6:检查 FLASH_SLOCK 相应的比特是否为 1,如不为 1 则跳转到 Step4。
Step7:对待写入的目标地址进行 Byte 写操作,触发写入操作。
例:*((unsigned char *)0x00001231)= 0x5A。
Step8:等待 FLASH_CR. BUSY 变为 0,写入操作完成。
Step9:如需写 Byte 到其它地址,重复 Step7 – Step8。
HC32F002 系列用户手册 Beta1.0
Page 124 of 415
Half-word 写操作步骤如下:
Step1:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step2:配置 FLASH_CR.OP 为 1,设置 Flash 操作模式为写入。
Step3:检查 FLASH_CR.OP 是否为 1,如不为 1 则跳转到 Step1。
Step4:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
i
m
立 i
创 na
商 ry
城
Step5:设置 FLASH_SLOCK 相应的比特为 1,去除擦写保护。
Step6:检查 FLASH_SLOCK 相应的比特是否为 1,如不为 1 则跳转到 Step4。
Step7:对待写入的目标地址进行 Half-word 写操作,触发写入操作。
例:*((unsigned short int *)0x00001232)= 0xABCD。
Step8:等待 FLASH_CR.BUSY 变为 0,写入操作完成。
Step9:如需写 Half-word 到其它地址,重复 Step7 – Step8。
Word 写操作步骤如下:
Step1:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step2:配置 FLASH_CR.OP 为 1,设置 Flash 操作模式为写入。
el
Step3:检查 FLASH_CR.OP 是否为 1,如不为 1 则跳转到 Step1。
Step4:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Pr
Step5:设置 FLASH_SLOCK 相应的比特为 1,去除擦写保护。
Step6:检查 FLASH_SLOCK 相应的比特是否为 1,如不为 1 则跳转到 Step4。
Step7:对待写入的目标地址进行 Word 写操作,触发写入操作。
例:*((unsigned int *)0x00001234)= 0x55667788。
to
Step8:等待 FLASH_CR.BUSY 变为 0,写入操作完成。
Step9:如需写 Word 到其它地址,重复 Step7 – Step8。
HC32F002 系列用户手册 Beta1.0
Page 125 of 415
9.4.4
读操作(Read)
支持读出 3 种数据长度:Byte(8bits)、Half-word(16bits)、Word(32bits),读出的数
据为小端模式,即低地址存放数据的低字节。读操作无需操作步骤,任何时刻都可以
读出 FLASH 内的数据。
例:
temp = *((unsigned char *)0x00001231)
Half-word 读操作
temp = *((unsigned short int *)0x00001232)
Word 读操作
temp = *((unsigned int *)0x00001234)
to
Pr
el
i
m
立 i
创 na
商 ry
城
Byte 读操作:
HC32F002 系列用户手册 Beta1.0
Page 126 of 415
9.5
FLASH 安全保护
9.5.1
页面擦写保护
FLASH 存储器共 18K 字节,被划分为 36 个页,每 4 个页共用一个擦写保护位。当
页被保护时,对该页进行的擦写操作均无效并产生报警标志位和中断信号。当 FLASH
i
m
立 i
创 na
商 ry
城
存储器中的任意页被保护时,对该 FLASH 的全片擦写无效,并产生报警标志位和中
断信号。
9.5.2
PC 地址擦写保护
若 CPU 在 FLASH 中执行程序且当前 PC 指针正好落在待擦写的页地址范围之内,
那么该擦写操作无效并产生报警标志位和中断信号。基于该特性,只有从 RAM 中执
行代码时,才可以对 FLASH 进行片擦操作。
9.5.3
寄存器写保护
本模块的重要控制器屏蔽普通的写操作,必须用写序列方式才能修改。
el
需要通过写序列方式才能更改的寄存器如下所示:
FLASH_CR、FLASH_SLOCK。
不需要通过写序列方式即可更改的寄存器如下所示:
Pr
FLASH_ICLR、FLASH_BYPASS。
通过写序列方式修改寄存器值的具体操作步骤如下所示:
Step1:向 FLASH_BYPASS 寄存器写入 0x5A5A。
Step2:向 FLASH_BYPASS 寄存器写入 0xA5A5。
to
Step3:对待修改的寄存器写入目标值。
Step4:验证待修改的寄存器当前值是否与目标相同,如不则跳转到 Step1。
Step5:执行其他操作。
注意:
- 写 0x5A5A 和写 0xA5A5 这两步操作之间不可插入任何写操作,否则无法改写目
标寄存器的数值。如改写失败,需要重新进行这三步操作。
HC32F002 系列用户手册 Beta1.0
Page 127 of 415
9.5.4
数据读出保护
本芯片内置 FLASH 支持 4 级读保护,当前保护等级可通过 FLASH_LockState 寄存
器读出。使用编程器对芯片进行编程时,可配置 FLASH 的读保护等级。
芯片在各保护等级下的功能如下表所示。
芯片功能
Level0
可以通过 ISP 及 SWD 对 FLAH 进行读写
Level1
数据不可读出
i
m
立 i
创 na
商 ry
城
保护等级
可以通过 ISP 及 SWD 降级到 Level0,降级后 FLASH 内容全为 FF
Level2
数据不可读出
可以通过 ISP 降级到 Level0,降级后 FLASH 内容全为 FF
SWD 接口被禁止,数据不可读出
Level3
数据不可读出
to
Pr
el
ISP 及 SWD 接口均被禁止,即芯片只能进行一次编程
HC32F002 系列用户手册 Beta1.0
Page 128 of 415
9.6
寄存器描述
9.6.1
控制寄存器列表
基地址:0x4002 0000
偏移地址
描述
FLASH_CR
0x20
控制寄存器
FLASH_IFR
0x24
中断标志寄存器
FLASH_ICLR
0x28
中断标志清除寄存器
FLASH_BYPASS
0x2C
序列寄存器
FLASH_SLOCK
0x30
擦写保护寄存器
FLASH_WAIT
0x50
读等待周期寄存器
FLASH_LockState
0x54
读保护状态寄存器
to
Pr
el
i
m
立 i
创 na
商 ry
城
寄存器
HC32F002 系列用户手册 Beta1.0
Page 129 of 415
9.6.2
控制寄存器(FLASH_CR)
偏移地址:0x20
复位值:0x0000 0200
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
15
14
13
12
11
10
9
8
7
FLASH
i
m
立 i
创 na
商 ry
城
Lp
PCIE
Reserved
Mode
Reserved
RW
位
标记
31:10
Reserved
保留位
9
LpMode
FLASH 低功耗控制
BUSY
IE
RW
OP
Reserved
RW
RO
RW
功能描述
0:当系统进入 DeepSleep 模式,FLASH 不进入低功耗模式;
1:当系统进入 DeepSleep 模式,FLASH 进入低功耗模式;
注:保持该寄存器值为 1
8:7
Reserved
保留位
6
FLASHIE
FLASH 被保护地址擦写中断使能控制
0:禁止
1:使能
PCIE
擦写 PC 所在FLASH页面中断使能控制
el
5
0:禁止
1:使能
BUSY
FLASH擦写状态标志
Pr
4
0:擦写操作已完成
1:擦写操作未完成
3:2
Reserved
1:0
OP
保留位
FLASH 操作模式配置
00:读(Read)
to
01:写(Program)
10:页擦除(Sector Erase)
11:全片擦除(Chip Erase)
HC32F002 系列用户手册 Beta1.0
Page 130 of 415
中断标志寄存器(FLASH_IFR)
9.6.3
偏移地址:0x24
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
FLASH
PC
RO
RO
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
Reserved
位
标记
描述
31:2
Reserved
保留位
1
FLASH
FLASH擦写保护报警中断标志位
0
PC
FLASH擦写 PC 地址报警中断标志位
中断标志清除寄存器(FLASH_ICLR)
9.6.4
偏移地址:0x28
el
复位值:0x0000 000F
31
14
29
13
28
12
27
11
26
10
Pr
15
30
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
FLASH
PC
R1W0
R1W0
Reserved
9
8
7
Reserved
标记
31:2
Reserved
保留位
1
FLASH
清除保护报警中断标志位
功能描述
to
位
写0清除
写1无效
0
PC
清除 PC 地址报警中断标志位
写0清除
写1无效
HC32F002 系列用户手册 Beta1.0
Page 131 of 415
序列寄存器(FLASH_BYPASS)
9.6.5
偏移地址:0x2C
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
15
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
BYPASS
WO
位
标记
描述
31:16
Reserved
保留位
15:0
BYPASS
在修改本模块特定寄存器之前,必须对本寄存器写入 0x5A5A - 0xA5A5 序列。每次写入该
Bypass 序列后,只可以修改一次寄存器。如需再次修改寄存器,必须再次输入 0x5A5A - 0xA5A5
序列。
擦写保护寄存器(FLASH_SLOCK)
9.6.6
偏移地址:0x30
el
复位值:0x0000 0000
31
14
29
13
28
12
Pr
15
30
27
11
26
10
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
9
8
7
SLOCK [8:0]
Reserved
标记
31:9
Reserved
保留位
SLOCK
FLASH页面擦写保护配置
8:0
描述
to
位
RW
0:不允许擦写
1:允许擦写
Bit0 对应:Sector0 - Sector3
Bit1 对应:Sector4 - Sector7
Bit2 对应:Sector8 - Sector11
……
Bit8 对应:Sector32 – Sector35
HC32F002 系列用户手册 Beta1.0
Page 132 of 415
9.6.7
读等待周期寄存器(FLASH_WAIT)
偏移地址:0x50
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
WAIT
Reserved
位
标记
31:2
Reserved
1:0
WAIT
RW
功能描述
保留位
FLASH取指等待周期配置
00:1个周期,适用于HCLK = CCR0输出高电平)
to
111:PWM反向输出(CNT < CCR输出高电平)
HC32F002 系列用户手册 Beta1.0
Page 163 of 415
12.4.9 比较捕获寄存器(GTIM_CCRy)(y=0,1,2,3)
偏移地址:0x320 / 0x324 / 0x328 / 0x32C
复位值: 0xFFFF / 0x0000 / FFFF / 0x0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
CCR
RW
符号
描述
31:16
Reserved
保留位
15:0
CCR
16位比较捕获寄存器
to
Pr
el
位
HC32F002 系列用户手册 Beta1.0
Page 164 of 415
13
高级定时器(ATIM)
13.1
概述
ATIM3 是由 1 个计数单元和 7 个比较单元组成的定时器,支持 6 个独立 PWM 输出或
3 对互补 PWM 输出。支持 6 个捕获输入。
i
m
立 i
创 na
商 ry
城
使用定时器预分频、系统预分频器和系统时钟选择,可灵活的调整脉冲宽度和波形周
期;可以方便的测量脉冲宽度。
13.2
主要特性
6 路独立 PWM 输出 CH0A,CH0B, CH1A,CH1B, CH2A,CH2B
3 路互补 PWM 输出(CHxA,CHxB)
3 路互补 PWM 输出(CHxA,CHxB)
最多 6 路捕获输入
脉冲宽度测量
死区控制
el
刹车控制
边沿对齐、对称中心对齐与非对称中心对齐 PWM 输出
Pr
正交编码计数功能
单脉冲模式
to
外部输入计数功能
HC32F002 系列用户手册 Beta1.0
Page 165 of 415
CR.CT
Period reload
ARR
Tclk
ETR
PRS
M
U
X
Edge
det
MS
ctrl
clk
counter
M
U
X
trgo
trig
ETFP
GND
Gate
ctrl
CH0A
IA0FP
IB0FP
Edge
det
Capture /compare
flt
Edge
det
Capture /compare
flt
Edge
det
Capture /compare
flt
Edge
det
Capture /compare
flt
Edge
det
Capture /compare
flt
Edge
det
Capture /compare
flt
Pol
flt
OCRRE0A
DTG
CH1A
CH1B
CH2A
CH2B
BK
CH0A
Output
control
CH0B
Output
control
CH1A
Output
control
CH1B
Output
control
CH2A
Output
control
CH2B
i
m
立 i
创 na
商 ry
城
xor
CH0B
Output
control
OCRRE1A
DTG
OCRRE1B
OCRRE2A
OCRRE2B
DTG
ATIM3 框图
to
Pr
el
图 13-1
OCRRE0B
HC32F002 系列用户手册 Beta1.0
Page 166 of 415
13.3
功能描述
13.3.1 定时器时钟
定时器使用 PCLK 作为定时器时钟,下文定时器时钟使用 TCLK 标示。
i
m
立 i
创 na
商 ry
城
13.3.2 定时计数器
高级定时器的主要模块是一个 16 位计数器及其相关的自动重载寄存器。计数器可递
增计数、递减计数或交替进行递增和递减计数。计数器的时钟可通过预分频器进行分
频。
计数器、自动重载寄存器和预分频器寄存器可通过软件进行读写。即使在计数器运行
时也可执行读写操作。
13.3.3 定时器预分频
使用 TCLK 做为 Timer 定时器时钟时,可以使用预分频。预分频设置如下:
000
001
010
011
100
101
110
111
分频比
1
2
4
8
16
32
64
256
el
PRS
to
Pr
预分频器没有预装载缓存,因此对预分频进行更改,预分频将会立刻生效。
HC32F002 系列用户手册 Beta1.0
Page 167 of 415
13.3.4 模式 0 计数定时器功能
这种模式下,计数器向上计数。计数器支持两种计数模式,重载模式与自由计数模式,
可以选择外部时钟 ETR 计数或系统时钟计数。计数到最大值溢出产生中断。翻转输出
端口 CHA,CHB,这种模式下 CHA,CHB 反相。
重载模式计数范围从 ARR 向上计数到 0xFFFF 溢出,然后从 ARR 再开始计数,计数
i
m
立 i
创 na
商 ry
城
周期为 0xFFFF-ARR+1;自由计数模式从设置计数值计数到 0xFFFFFFFF 后溢出,溢
出后计数值从 0x0 重新开始计数。
13.3.4.1 功能框图
Prs[2:0]
Tclk
自由计数模式
Pre_cnt
C/T=0
ETR
C/T=1
CR.CTEN
CR.gate
GND
CNT(32bit)
TF
interrupt
CHA
CHB
CR.Gate_p
Pr
el
Dbg_active
Prs[2:0]
Tclk
ETR
图 13-2 自由计数框图
重载模式
Pre_cnt
C/T=0
C/T=1
CNT(16bit)
TF
interrupt
CR.CTEN
to
CR.gate
GND
ARR(16bit)
CHA
CHB
CR.Gate_p
Dbg_active
图 13-3 重载计数波形
HC32F002 系列用户手册 Beta1.0
Page 168 of 415
13.3.4.2 计数波形
CNT[15:0]
0xFFFF
ARR
0x0000
T
i
m
立 i
创 na
商 ry
城
CR.CTEN
图 13-4 16位重载计数波形
CNT32[31:0]
0xFFFFFFFF
0x00000000
T
CR.CTEN
to
Pr
el
图 13-5 32位自由计数波形
HC32F002 系列用户手册 Beta1.0
Page 169 of 415
13.3.4.3 计数功能
计数功能用于测定某个事件发生的次数。在计数功能中,计数器在每个相应的输入时
钟的下降沿累加一次。输入信号被内部的 TCLK 采样,因此外部输入时钟频率不能超
过系统的 TCLK 时钟。计数到最大值会溢出并且产生中断。中断标志需要软件清除。
13.3.4.4 定时功能
i
m
立 i
创 na
商 ry
城
定时功能用于产生间隔定时。在定时功能中,定时器有预除频,定时器在每个预除频
的一个时钟累加一次,计数到最大值会溢出并且产生中断。中断标志需要软件清除。
13.3.4.5 时序图
自由计数(max=0xFFFF_FFFF)
Tclk
CTEN
T+1
T
Count(32)
OverFlow
UIF
TOG
T+2
T+3
T+4
...
max
0
1
2
...
...
0
max
1
2
...
...
max
0
1
2
...
Soft clear
el
图 13-6 自由计数时序图
重载计数(max=0xFFFF)
Pr
Tclk
CTEN
pre
Count(16)
ovt
UIF
0
1 0 1 0 1 0 1 0 1
TL
TL+
1
TL+
2
TL+
3
TL+
4
...
0 1 0 1 0 1 0 1
...
...
0 1 0 1 0 1 0 1
...
...
0 1 0 1 0 1 0 1
...
...
max
...
...
max
...
...
max
...
TH
TH+1
TH+2
TH
TH+1
TH+2
TH
TH+1
TH+2
to
TOG
Soft clear
图 13-7 重载计数时序图(预分频设置为2)
HC32F002 系列用户手册 Beta1.0
Page 170 of 415
13.3.4.6 Buzzer 功能
通过定时器的翻转输出功能可以实现驱动 Buzzer 的功能。使用 toggle 输出需要使能
DTR.MOE 控制位。设置 CR.TOGEN 为 0 可以同时设置端口 CHA,CHB 输出为 0。在
计数时钟为 4M 情况下 Buzzer 输出不同频率的 timer 重载模式配置如下:
计数器周期
计数器计数值
计数器重载值
CNTL 初始值
CNTH 重载值
1000Hz
0.5ms
2000
63536
0xF830
0xF830
2000Hz
4000Hz
i
m
立 i
创 na
商 ry
城
Buzzer 频率
0.25ms
1000
64536
0xFC18
0xFC18
0.125ms
500
65036
0xFE0C
0xFE0C
13.3.4.7 设置示例
重载定时器设置
1. 设置定时器模式 M0CR.MODE=0
2. 设置装载值 ARR
3. 设置计数器初值 CNT
4. 清除中断标志
el
5. 使能中断 M0CR.UIE
6. 使能重载模式 M0CR.MD
Pr
7. 开启定时器 M0CR.CTEN
BUZZER 输出控制
1. 根据输出频率设置合适的 ARR 值
2. 设置定时器为重载模式,参考重载定时器设置
3. 使能输出使能 DTR.MOE
to
4. 启动另外一个定时器控制 M0CR.TOGEN 实现频率的间隔输出。
HC32F002 系列用户手册 Beta1.0
Page 171 of 415
13.3.5 模式 1 脉宽测量 PWC
这种模式下可以自动测量输入脉冲的高电平低电平或者周期宽度。
第一个有效边沿计数器初始化为 0x0001,第二个有效边沿将停止计数,并将当前计数
值存入 CMAR,并且产生捕获中断 CAF,如果计数器发生溢出,会产生溢出标志。设
置溢出中断使能会产生溢出中断。
0
0
1
1
M1CR.edg2nd
0
1
0
1
脉宽测量
上沿~上沿
上沿~下沿
下沿~上沿
下沿~下沿
周期宽度
高电平宽度
低电平宽度
周期宽度
i
m
立 i
创 na
商 ry
城
M1CR.edg1st
周期测量时,会间隔一个周期测量一个周期。
13.3.5.1 PWC 功能框图
Edge
sel
counter
MSCR.TS
Edge
det
Pr
el
ITR
MSCR.TS
Edge
sel
CCR
图 13-8
PWC测量框图
触发选择
000:端口ETR的滤波相位选择后的信号ETFP ;
001:内部互联信号 ITR0
010:内部互联信号 ITR1;
to
011:内部互联信号 ITR2;
100:内部互联信号 ITR3;
101:无效
110:端口CH0A的滤波后的信号IAFP(极性选择在脉宽测量模式下无效)
111:端口CH0B的滤波后的信号IBFP(极性选择在脉宽测量模式下无效)
HC32F002 系列用户手册 Beta1.0
Page 172 of 415
13.3.5.2 PWC 波形测量时序图
CNT[15:0]
0xFFFF
0x0001
IN
UIF
CAF
i
m
立 i
创 na
商 ry
城
CTEN
图 13-9 高电平脉冲宽度测量
CNT[15:0]
0xFFFF
0x0001
CTEN
el
IN
UIF
Pr
CAF
图 13-10 下降沿到下降沿周期测量
CNT[15:0]
to
0xFFFF
0x0001
CTEN
IN
UIF
CAF
图 13-11
上升沿到上升沿周期测量
通过寄存 MSCR.TS 选择测量信号源。
HC32F002 系列用户手册 Beta1.0
Page 173 of 415
000 ETFP: ETR 外部输输入滤波后的相位选择信号,可选择外部滤波与输入反向
001 ITR0:
Timer 内部互联信号 0,其他 timer 的 TRGO 输出
010 ITR1:
Timer 内部互联信号 1,其他 timer 的 TRGO 输出
011 ITR2:
Timer 内部互联信号 2,其他 timer 的 TRGO 输出
100 ITR3:
Timer 内部互联信号 3,其他 timer 的 TRGO 输出
ATIM3
i
m
立 i
创 na
商 ry
城
101 IA0ED: 无效
110 IAFP:
CH0A 外部输输入滤波后的相位选择信号,可选择外部滤波与输入反向
111 IBFP:
CH0B 外部输输入滤波后的相位选择信号,可选择外部滤波与输入反向
ITR0
ITR1
ITR2
ITR3
-
-
GTIM_OV
-
to
Pr
el
注:关于 TRGO 输出参考寄存器 MSCR.MMS 描述。
HC32F002 系列用户手册 Beta1.0
Page 174 of 415
13.3.5.3 PWC 单次触发模式
设置 M1CR.ONESHOT=1 可以设置 PWC 单次测量,测量完成后 CTEN 将被清除。
CNT[15:0]
0XFFFF
i
m
立 i
创 na
商 ry
城
0X0001
CTEN
IN
UIF
CAF
图 13-12 上升沿到上升沿周期测量单次模式
13.3.5.1 设置示例
脉冲低电平测量设置
1. 设置为脉冲测量模式 M1CR.MODE=1
2. 设置 MSCR.TS 选择测量的信号
3. 设置 M1CR.edg2dn=0,M1CR.edg1st=1 选择测量低电平
el
4. 清除中断标志
5. 使能溢出中断 M1CR.UIE
Pr
6. 使能测量结束中断 CR0.CIEA
7. 使能定时器 M1CR.CTEN
8. 中断服务程序中读取 CCR0A 及溢出次数并清除中断标志
9. 等待下次测量
to
脉冲高电平单次测量设置
1.
设置为脉冲测量模式 M1CR.MODE=1
2.
设置 MSCR.TS 选择测量的信号
3.
设置脉冲单次测量模式 M1CR.ONESHOT=1
4.
设置 M1CR.edg2dn=1, M1CR.edg1st=0 选择测量低电平
5.
清除中断标志
6.
使能溢出中断 M1CR.UIE
HC32F002 系列用户手册 Beta1.0
Page 175 of 415
7.
使能测量结束中断 CR0.CIEA
8.
使能定时器 M1CR.CTEN
9.
中断服务程序中读取 CCR0A 及溢出次数并清除中断标志
to
Pr
el
i
m
立 i
创 na
商 ry
城
10. 测量结束
HC32F002 系列用户手册 Beta1.0
Page 176 of 415
13.3.6 模式 2/3 比较捕获模式
13.3.6.1 计数器
Period reload
ARR
RW
TCLK
flt
FLT.FLTET
ETR
CH0A
CH0B
Level
Sel
nedg
gen
clk
CR.CT
counter
Ov/ud
RCR
uev
i
m
立 i
创 na
商 ry
城
ETR
ARR buffer
Prs
flt
FLT.FLTET
FTL.FLTA0
FTL.FLTB0
FLT.ETP
Pedg
gen
Level
Sel
FLT.ETP
FTL.CCPA0
FLT.CCPB0
MSCR.SMS=3
MSCR.TS
图 13-13 计数器框图
计数器主要部分是一个 16 位计数器与相关的自动装载寄存器。这个计数器可以向上计
数(模式 2),向下计数(模式 2)或向上向下双向计数(模式 3)。计数器的时钟可以
由预分频器 PRS 分频得到,也可以选择 ETR 输入外部时钟或者通过 MSCR.TS 选择的
外部输入信号和内部互联信号。
计数器基本单元包括:
el
计数器寄存器 CNT
预分频寄存器 CR.PRS
Pr
自动装载寄存器 ARR
重复次数寄存器 RCR
时钟选择控制寄存器 FLT,CR0,MSCR,CR
自动装载寄存器具有缓存功能,计数器产生事件更新后重载值从缓存寄存器更新到计
to
数器。当计数器停止状态或者缓存功能关闭状态,自动装载寄存器立刻更新到缓存寄
存器。当定时器处于运行状态并且缓存功能有效时,写入到自动装载寄存器的值不会
立刻更新到缓存寄存器,当事件更新后才从自动装载寄存器更新到缓存寄存器。
时钟选择及门控功能,触发功能,复位功能参考模式 2/3 从模式章节。
HC32F002 系列用户手册 Beta1.0
Page 177 of 415
13.3.6.2 计数器波形
模式 2 为锯齿波计数波形,通过设置 CR.DIR 可以更改计数方向。
设置 CR.DIR 为 0 时,计数器为递增计数模式,这种模式下,计数器从 0 计数到自动
重载值(ATIMx_ARR),然后重新 从 0 开始计数并生成计数器上溢事件。如果使用
重复计数器,则当递增计数的重复次数达到重复计数器寄存器中编程的次数加一次
i
m
立 i
创 na
商 ry
城
(ATIMx_RCR+1) 后,将生成更新事件 (UEV)。否则,将在每次计数器上溢时产生更
新事件。
将 ATIMx_CR 寄存器的 UG 位置 1(通过软件或使用从模式控制器)时,也将产生
更新事件。
发生更新事件时,将更新所有寄存器且将更新标志(ATIMx_IFR 寄存器中的 UIF 位)
置 1(取决于 URS 位):
自动重载缓存值将以 ARR 寄存器值进行更新
比较缓存值将以比较寄存器 CCRxy 进行更新
以下图示显示 ARR=0x2C 时不同计数方向的计数器波形:
el
clk
Pr
cten
count
29
2A
2B
2C
0
1
2
3
4
5
overlow
uev
to
UIF
图 13-14 无预分频的向上计数
计数溢出周期时钟个数为 ARR+1,
HC32F002 系列用户手册 Beta1.0
Page 178 of 415
clk
cten
count
2A
2B
2C
0
1
2
3
4
i
m
立 i
创 na
商 ry
城
overlow
uev
UIF
图 13-15 带预分频的上计数
clk
cten
3
2
1
0
2c
2b
2a
29
28
27
el
count
overlow
Pr
uev
图 13-16 不带预分频的下计数
to
UIF
HC32F002 系列用户手册 Beta1.0
Page 179 of 415
clk
cten
count
2
1
0
2C
2B
2A
29
28
i
m
立 i
创 na
商 ry
城
overlow
uev
UIF
图 13-17 带预分频的下计数
clk
cten
count
overlow
2B
2C
2B
2A
2
1
0
1
2
3
el
underflow
2A
Pr
uev
UIF
图 13-18 带预分频的上下计数
CNT[15:0]
to
FFFFH
ARR
0000H
T
CR.CTEN
图 13-19 边沿对齐计时器波形( DIR =1)
HC32F002 系列用户手册 Beta1.0
Page 180 of 415
CNT[15:0]
FFFFH
ARR
0000H
T
CR.CTEN
i
m
立 i
创 na
商 ry
城
图 13-20 边沿对齐计时器波形( DIR =0)
模式 3 为三角波计数波形,计数方向控制位只读,不可以更改计数方向。
中心对齐(三角波)模式下 CR.DIR 方向位是只读的。写值无效。从其他模式切换到
中心对齐模式 DIR 自动清 0。软件事件更新和从模式外部触发复位模式 DIR 自动清零。
FFFFH
CNT[15:0]
ARR
0000H
T
CR.CTEN
el
图 13-21 中心对齐计数器波形
13.3.6.3 重复计数
Pr
重复计数器使用计数器的溢出进行向下计数。计数到 0 时,即计数器发生重复寄存器
设置的值加一次溢出时。当缓存寄存器使能时,周期重载寄存器更新到周期缓存寄存
器。比较模式下比较寄存的值更新到比较缓存寄存中。
重复计数器在下面条件成立时递减
to
上计数模式下每次计数器溢出时
下计数模式下每次计数器下溢时
三角波模式下每次上溢出和每次下溢出时
HC32F002 系列用户手册 Beta1.0
Page 181 of 415
中心对齐
count
边沿对齐上计数
边沿对齐下计数
RCR=0
UEV
RCR=1
UEV
RCR=2
i
m
立 i
创 na
商 ry
城
UEV
RCR=3
UEV
RCR=4
UEV
Pr
el
图 13-22 重复计数器产生更新时序(RCR.UD=0 RCR.OV=0)
图 13-23 重复计数器产生更新时序(RCR.UD!=0 RCR.OV!=0)
to
除了上下溢出通过重复计数器可以产生事件更新 UEV 外,还可以通过写寄存器 CR.UG
产生软件及从模式复位事件更新 UEV;这时需要配置 CR.URS。
HC32F002 系列用户手册 Beta1.0
Page 182 of 415
13.3.6.4 数据缓存
自动重载数据 ARR 与比较寄存器都可以配置缓存功能,当缓存功能有效时,当发生
UEV 事件更新时,写入的周期值 ARR 与比较值 CCR 才会生效。
0xA00
0x800
0x600
CTEN
UEV
ARR
ARRBUF
i
m
立 i
创 na
商 ry
城
自动重载值在不同计数模式下的更新时序图如下
0x800
0xA00
0x800
0x600
0xA00
0x600
图 13-24 三角波模式下缓存使能
Pr
el
0xA00
0x800
0x600
CTEN
UEV
0x800
0xA00
0x600
ARRBUF 0x800
0xA00
0x600
ARR
to
图 13-25 三角波模式下缓存无效
HC32F002 系列用户手册 Beta1.0
Page 183 of 415
0xA00
0x800
0x600
CTEN
ARR
ARRBUF
i
m
立 i
创 na
商 ry
城
UEV
0x800
0xA00
0x800
0x600
0xA00
0x600
图 13-26 锯齿波模式下上计数缓存使能
0xA00
0x800
0x600
CTEN
UEV
0xA00
0x600
ARRBUF 0x800
0xA00
0x600
el
0x800
Pr
ARR
图 13-27 锯齿波模式下上计数缓存无效
to
0xA00
0x800
0x600
CTEN
UEV
ARR
ARRBUF
0x800
0x800
0xA00
0x600
0xA00
0x600
图 13-28 锯齿波模式下计数缓存使能
HC32F002 系列用户手册 Beta1.0
Page 184 of 415
0xA00
0x800
0x600
CTEN
i
m
立 i
创 na
商 ry
城
UEV
0x800
0xA00
0x600
ARRBUF 0x800
0xA00
0x600
ARR
图 13-29 锯齿波模式下计数缓存无效
在三角波模式与锯齿波上计数模式时,如果缓存不使能,更改的 ARR 时,当前计数器
的值要小于要更改的 ARR 周期值,否则当前周期会计数到 0xFFFF。
比较缓存与周期缓存更新状态一致,这里不一一列出时序图。
el
0x800
0x600
0x400
Pr
CTEN
UEV
ARR
CCR
0x800
0x600
0x400
0x600
0x400
0x600
to
CCRBUF 0x600
OCREF
图 13-30 锯齿波模式下计数比较缓存使能
HC32F002 系列用户手册 Beta1.0
Page 185 of 415
13.3.6.5 比较输出 OCREF
比较输出 OCREFA 可以配置为单点比较,使用比较寄存器 CCRA 控制 OCREFA 的输
出;OCREFA 的比较输出也可以配置为双点比较,使用比较寄存器 CCRA,CCRB 一起
控制 OCREFA 的比较输出。
OCREFB 的比较输出只能使用单点比较,使用比较寄存器 CCRB 控制 OCREFB 的比
i
m
立 i
创 na
商 ry
城
较输出。
CR.OCCS
ForceA
CCPA
REF_CLR
ETFP
CNT>CCRA
CNT=CCRA
CNT>CCRB
Output mode
ctrl
FLT.OCMA
OCREFA
Comp&
Dead-time
generate
Brake
ctrl
CHA
Brake
ctrl
CHB
COMP
CR.PWM2S
CR.OCCS
ForceB
REF_CLR
CCPB
ETFP
CNT>CCRB
Output mode
ctrl
OCREFB
OCMx=000/001时为强制输出(Forcex)
el
CNT=CCRB
FLT.OCMB
Pr
图 13-31 OCREF 输出框图
OCREF 输出使用 OCMx 选择
000:强制为 0
001:强制为 1
to
010:比较匹配时强制为 0
011:比较匹配时强制为 1
100:比较匹配时翻转
101:比较匹配时输出一个计数周期的高电平
110:PWM 模式 1
单点比较:
上计数时 CNTCCRxy 输出为低电平
HC32F002 系列用户手册 Beta1.0
Page 186 of 415
双点比较:
1)锯齿波上计数 CCRxACCRA
CNT=CCRA
Output mode
ctrl
CNT>CCRB
FLT.OCMA
CR.OCCS
REF_CLR
ETFP
CNT>CCRB
CNT=CCRB
CHA
i
m
立 i
创 na
商 ry
城
Brake
ctrl
OCREFA
Comp&
Dead-time
generate
COMP
Brake
ctrl
CR.PWM2S
ForceB
Output mode
ctrl
OCREFB
CHB
CCPB
OCMx=000/001时为强制输出(Forcex)
FLT.OCMB
el
图 13-39 互补 PWM 输出框图
Pr
OCREFA
CHA
CHB
to
图 13-40 互补PWM输出波形图
HC32F002 系列用户手册 Beta1.0
Page 190 of 415
13.3.6.8 有死区的 PWM 输出
在互补 PWM 输出模式下可以设置死区功能。
OCREFA
CHA
dt
dt
dt
CHB
dt
dt
i
m
立 i
创 na
商 ry
城
图 13-41 互补PWM输出波形图
死区时间使用 8 位 DTR 控制,死区时间 dt 与 DTR 的关系如下
DTR[7] =0
T=DTR[6:0]+2
2-129
step=1
DTR[7:6] =10 T={DTR[5:0]+64}*2 +2
130-256
step=2
DTR[7:5] =110 T={DTR[4:0]+32}*8 +2
258-506
step=8
DTR[7:5] =111 T={DTR[4:0]+32}*16 +2
514-1010
step=16
时钟
周期
Pr
el
1010
506
to
256
129
2
0x7F
0xBF 0xDF 0xFF
DTR
100M clock 死区时间由2.56us调整为10.1us
图 13-42 死区时间
HC32F002 系列用户手册 Beta1.0
Page 191 of 415
13.3.6.9 单脉冲输出
单脉冲模式 (ONE SHOT) 是上述 PWM 模式的一个特例。在这种模式下,计数器可以
在一个激励信号的触发下启动,并可在一段可编程的延时后产生一个脉宽可编程的脉
冲。
可以通过从模式控制器启动计数器。可以在输出比较模式或 PWM 模式下生成波形。
i
m
立 i
创 na
商 ry
城
将
ATIMx_M23CR 寄存器中的 ONESHOT 位置 1,即可选择单脉冲模式。这样,发生下
一更新事件 UEV 时,计数器将自动停止。
单脉冲模式在锯齿波下计数模式计数器初值不要设置为 0,上计数模式计数值不要设置
到大于等于 ARR。
只有当比较值与计数器初始值不同时,才能正确产生输出脉冲。启动前(定时器等待
触发时),必须进行如下配置:
递增计数时:CNT1时有
效),下一个uev事件后继续比较输出
CSG
保留
14
Oneshot
单次触发模式选择
el
15
1:发生事件更新后定时器停止。
Pr
0:循环计数
13:12
MODE
工作模式
00 定时器模式0;
01 PWC模式
10 锯齿波模式;
11三角波模式
11
UDE
保留位
10
UIE
UIE 更新中断使能
to
1:使能更新中断
0:禁止更新中断
9
8
7
CFG
保留位
CRG
保留位
BUFPEN
重载缓存使能
1:周期缓存使能,写入后下个事件更新后才影响到周期值。
0:周期缓存无效,写入后立刻影响周期值
6:4
PRS
内部时钟分频选择
000:1;
100:16;
HC32F002 系列用户手册 Beta1.0
001:2;
101:32;
010:4;
110:64;
011:8;
111:256;
Page 222 of 415
3
PWM2S
OCREFA双点比较选择(缺省值为1)
0:双点比较使能,使用CCRA,CCRB比较控制OCREFA输出
1:单点比较使能,只使用CCRA比较控制OCREFA输出
注:OCREFB不受影响,仍然使用CCRB控制OCREFB输出
2
计数时钟选择
CT
0: 内部计数时钟TCLK
1: 外部计数时钟ETR;
1
Comp
PWM互补输出模式选择
i
m
立 i
创 na
商 ry
城
0:独立PWM输出
1:互补PWM输出
0
CTEN
定时器使能
0:禁止;
1:使能
to
Pr
el
可以外部触发使能,在oneshot模式下结束时该位自动清零
HC32F002 系列用户手册 Beta1.0
Page 223 of 415
13.4.3.4 中断标志寄存器(ATIMx_IFR)
偏移地址:0x010
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
17
16
CA3F
UndF
OVF
RO
RO
RO
1
0
i
m
立 i
创 na
商 ry
城
Reserved
18
15
14
13
12
11
10
9
8
7
6
5
4
3
2
TIF
BIF
CB2E
CB1E
CB0E
CA2E
CA1E
CA0E
CB2F
CB1F
CB0F
CA2F
CA1F
CA0F
RO
RO
RO
RO
RO
RO
RO
位
符号
描述
31:19
Reserved
保留位
18
CA3F
通道CH3比较匹配标志
17
UndF
下溢出中断标志
16
OVF
上溢出中断标志
15
TIF
触发中断标志
14
BIF
13
CB2E
RO
RO
RO
RO
RO
RO
UIF
Res.
RO
刹车中断标志
通道CH2B捕获数据丢失标志
0:无数据丢失;1:数据丢失
CB1E
通道CH1B捕获数据丢失标志
el
12
0:无数据丢失;1:数据丢失
11
CB0E
通道CH0B捕获数据丢失标志
0:无数据丢失;1:数据丢失
通道CH2A捕获数据丢失标志
Pr
10
CA2E
0:无数据丢失;1:数据丢失
9
CA1E
通道CH1A捕获数据丢失标志
0:无数据丢失;1:数据丢失
8
CA0E
通道CH0A捕获数据丢失标志
0:无数据丢失;1:数据丢失
通道CH2B发生捕获/比较匹配标志
to
7
CB2F
0:没有发生 1:发生
6
CB1F
通道CH1B发生捕获/比较匹配标志
0:没有发生 1:发生
5
CB0F
通道CH0B发生捕获/比较匹配标志
0:没有发生 1:发生
4
CA2F
通道CH2A发生捕获/比较匹配标志
0:没有发生 1:发生
3
CA1F
通道CH1A发生捕获/比较匹配标志
HC32F002 系列用户手册 Beta1.0
Page 224 of 415
RO
0:没有发生 1:发生
2
CA0F
通道CH0A发生捕获/比较匹配标志
0:没有发生 1:发生
1
Reserved
保留位
0
UIF
事件更新中断标志
to
Pr
el
i
m
立 i
创 na
商 ry
城
0:没有发生 1:发生
HC32F002 系列用户手册 Beta1.0
Page 225 of 415
13.4.3.5 中断标志清除寄存器(ATIMx_ICLR)
偏移地址:0x014
复位值: 0x0000 FFFF
31
30
29
28
27
26
25
24
23
22
21
20
19
15
14
TIF
BIF
R1W0
R1W0
16
CA3F
UndF
OVF
R1W0
R1W0
R1W0
1
0
13
12
11
10
9
8
7
6
5
4
3
2
CB2E
CB1E
CB0E
CA2E
CA1E
CA0E
CB2F
CB1F
CB0F
CA2F
CA1F
CA0F
R1W0
R1W0
R1W0
R1W0
R1W0
R1W0
R1W0
R1W0
位
符号
描述
31:19
Reserved
保留位
18
CA3F
通道CH3比较匹配标志清除,写0清除
17
UndF
下溢出中断标志清除
16
OVF
上溢出中断标志清除
15
TIF
触发中断标志清除,写0清除
14
BIF
13
CB2E
通道CH2B捕获数据丢失标志清除,写0清除
12
CB1E
通道CH1B捕获数据丢失标志清除,写0清除
11
CB0E
通道CH0B捕获数据丢失标志清除,写0清除
R1W0
R1W0
R1W0
UIF
Res.
R1W0
el
刹车中断标志清除,写0清除
10
CA2E
通道CH2A捕获数据丢失标志清除,写0清除
9
CA1E
通道CH1A捕获数据丢失标志清除,写0清除
CA0E
通道CH0A捕获数据丢失标志清除,写0清除
Pr
8
17
i
m
立 i
创 na
商 ry
城
Reserved
18
CB2F
通道CH2B捕获/比较匹配标志清除,写0清除
6
CB1F
通道CH1B捕获/比较匹配标志清除,写0清除
5
CB0F
通道CH0B捕获/比较匹配标志清除,写0清除
4
CA2F
通道CH2A捕获/比较匹配标志清除,写0清除
3
CA1F
通道CH1A捕获/比较匹配标志清除,写0清除
2
CA0F
通道CH0A捕获/比较匹配标志清除,写0清除
1
0
to
7
Reserved
保留
UIF
事件更新中断清除,写0清除
HC32F002 系列用户手册 Beta1.0
Page 226 of 415
R1W0
13.4.3.6 主从模式控制寄存器(ATIMx_MSCR)
偏移地址:0x018
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
14
13
12
11
10
9
8
7
i
m
立 i
创 na
商 ry
城
15
Resverved
IB0S
IA0S
SMS
TS
MSM
CCDS
MMS
RW
RW
RW
RW
RW
RW
RW
位
符号
描述
31:13
Reserved
保留位
12
IB0S
CH0B 输入选择
0:CH0B;
1:内部触发TS选择信号;
11
IA0S
IA0 输入选择
0: CH0A
1: CH0A CH1A CH2A XOR
注:设置为1后端口的任意一个端口变化将导致输入变化
10:8
SMS
从模式功能选择
000: 使用内部时钟;
el
001: 复位功能;
010: 触发模式;
011: 外部时钟模式
Pr
100: 正交编码计数模式1 ;
101: 正交编码计数模式2;
110: 正交编码计数模式3;
111: 门控功能
7:5
TS
触发选择
to
000:端口ETR的滤波相位选择后的信号ETFP ;
001:内部互联信号 ITR0
010:内部互联信号 ITR1;
011:内部互联信号 ITR2;
100:内部互联信号 ITR3;
101:端口CH0A的边沿信号;
110:端口CH0A的滤波相位选择后的信号IAFP
111:端口CH0B的滤波相位选择后的信号IBFP;
4
MSM
主从选择
HC32F002 系列用户手册 Beta1.0
Page 227 of 415
0:无延时
1:延时使能,使主送计数器同时启动.
注:使用触发模式时,从模式设置为0,主模式设置为1,可以使主从计数同时启动
3
CCDS
比较模式下 DMA 比较触发选择;
0 :比较匹配触发DMA;
1: 比较匹配不触发DMA,事件更新代替比较匹配触发DMA
2:0
MMS
主模式输出选择,用于内部互联,连接到其他定时器的ITRx
000:软件更新UG,写CR.UG
i
m
立 i
创 na
商 ry
城
001:定时器使能CTEN
010:定时器事件更新UEV;
011:比较匹配选择输出CMPSO;
100:定时器比较参数输出OCREF0A
101:定时器比较参数输出OCREF1A
110:定时器比较参数输出OCREF2A
to
Pr
el
111:定时器比较参数输出OCREF0B
HC32F002 系列用户手册 Beta1.0
Page 228 of 415
13.4.3.7 输出控制/输入滤波(ATIMx_FLTR)
偏移地址:0x01C
复位值:0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
FLTET
BKP
FLTBK
CCPB2
OCMB2
CCPA2
OCMA2
-
-
-
-
-
FLTB2
-
FLTA2
RW
RW
RW
RW
RW
RW
RW
RW
15
14
CCPB1
RW
i
m
立 i
创 na
商 ry
城
ETP
13
12
11
10
9
8
7
6
5
4
3
2
1
OCMB1
CCPA1
OCMA1
CCPB0
OCMB0
CCPA0
OCMA0
FLTB1
-
FLTA1
CCPB0
FLTB0
CCPA0
FLTA0
RW
RW
RW
RW
RW
RW
RW
位
符号
描述
31
ETP
ETR 输入相位选择
0:同相位;
1:反向输入;
30:28
FLTET
ETR滤波控制
滤波设置
0xx:滤波无效
el
100:pclk 3个连续有效;
101:pclk/4 3个连续有效
110:pclk/16 3个连续有效;
111:pclk/64 3个连续有效
BKP
刹车BK输入相位选择
Pr
27
0:同相位;
1:反向输入;
26:24
FLTBK
刹车输入滤波控制
滤波设置
0xx:滤波无效
to
100:pclk 3个连续有效;
101:pclk/4 3个连续有效
110:pclk/16 3个连续有效;
111:pclk/64 3个连续有效
23
CCPB2
比较功能:CH2B通道比较输出相位控制
0:正常输出;
1:反向输出
22:20
OCMB2
比较功能:CH2B通道比较控制;参考OCMB0
HC32F002 系列用户手册 Beta1.0
Page 229 of 415
16
0
19
FLTB2
捕获功能:CH2B输入通道滤波设置,参考FLTBK
CCPA2
比较功能:CH2A通道比较输出相位控制
0:正常输出;
1:反向输出
18:16
15
OCMA2
比较功能:CH2A通道比较控制;参考OCMB0
FLTA2
捕获功能:CH2A输入通道滤波设置,参考FLTBK
CCPB1
比较功能:CH1B通道比较输出相位控制
0:正常输出;
14:12
11
i
m
立 i
创 na
商 ry
城
1:反向输出
OCMB1
比较功能:CH1B通道比较控制;参考OCMB0
FLTB1
捕获功能:CH1B输入通道滤波设置,参考FLTBK
CCPA1
比较功能:CH1A通道比较输出相位控制
0:正常输出;
1:反向输出
10:8
7
OCMA1
比较功能:CH1A通道比较控制;参考OCMB0
FLTA1
捕获功能:CH1A输入通道滤波设置,参考FLTBK
CCPB0
比较功能:输出比较模式
CCPBx比较输出CHBx端口极性控制
0:正常输出;
1:反向输出
编码计数与从模式门控功能:输入相位控制
CCPB0从模式门控,复位,外部触发,外部时钟使用CH0B端口输入极性控制
0:正常输入;
el
1:反向输入
6:4
OCMB0
比较功能:CH0B通道比较控制
FLTB0
000:强制为0
Pr
001:强制为1
010:比较匹配时强制为0
011:比较匹配时强制为1
100:比较匹配时翻转
101:比较匹配时输出一个计数周期的高电平
110:PWM 模式1
to
单点比较:
上计数时CNTCCRxy输出为低电平
双点比较:
1)锯齿波上计数 CCRxA=1.7V
ENOB
9.5
Bit
9.4
Bit
63
dB
63
dB
REF=EXREF
Effective Bits
1Msps@VCC>=2.7V
i
m
立 i
创 na
商 ry
城
500Ksps@VCC>=2.4V
200Ksps@VCC>=1.7V
REF=VCC
1Msps@VCC>=2.7V
500Ksps@VCC>=2.4V
200Ksps@VCC>=1.7V
SNR
Signal to Noise
REF=EXREF
Ratio
1Msps@VCC>=2.7V
500Ksps@VCC>=2.4V
200Ksps@VCC>=1.7V
REF=VCC
DNL(1)
INL(1)
500Ksps;
linearity
VREF=EXREF/AVCC
-1
1
LSB
-2
2
LSB
Offset error
-1
1
LSB
Gain error
-1
1
LSB
500Ksps;
Integral non-linearity
VREF=EXREF/AVCC
el
Eo(1)
Differential non-
Eg(1)
Pr
1. 由设计保证,不在生产中测试。
2. ADC 的典型应用如下图所示:
VAIN
VCC
RAIN
RADC
AINX
12 bit converter
Ileak ag e:+ /-50nA
Cpara siti c
CADC
to
12 bit SAR ADC
对于 0.5LSB 采样误差精度要求的条件下,外部输入阻抗的计算公式如下:
R AIN =
M
− R ADC
𝐹𝐴𝐷𝐶 ∗ 𝐶𝐴𝐷𝐶 ∗ (N + 1) ∗ ln(2)
其中𝐹𝐴𝐷𝐶 为 ADC 时钟频率,寄存器 ADC_CR0[4:2]可设定其与 PCLK 的关系,如下
HC32F002 系列用户手册 Beta1.0
Page 399 of 415
表。
下表为 ADC 时钟频率𝐹𝐴𝐷𝐶 和 PCLK 分频比关系:
ADC_CR0[4:2]
N
000
1
001
2
010
4
011
8
i
m
立 i
创 na
商 ry
城
……
111
128
M 为采样周期个数,由寄存器 ADC_CR0[13:12]设定。
下表为采样时间𝑡𝑠𝑎 和 ADC 时钟频率𝐹𝐴𝐷𝐶 的关系:
ADC_CR0[13:12]
M
00
6
01
8
10
11
11
12
下表为 ADC 时钟频率𝐹𝐴𝐷𝐶 和外部电阻𝑅𝐴𝐼𝑁 的关系(M=12,采样误差 0.5LSB 的条件
下):
𝐹𝐴𝐷𝐶 (KHz)
10
24000
30
22000
50
14000
80
9000
100
7000
120
6000
150
5000
Pr
el
𝑅𝐴𝐼𝑁 (KOhm)
对于上述典型应用,应注意:
to
- 尽量减小 ADC 输入端口𝐴𝐼𝑁𝑋 的寄生电容𝐶𝑃𝐴𝑅𝐴𝐶𝐼𝑇𝐼𝐶 ;
- 除了考虑𝑅𝐴𝐼𝑁 值外,如果信号源𝑉𝐴𝐼𝑁 的内阻较大时,也需要加入考虑。
HC32F002 系列用户手册 Beta1.0
Page 400 of 415
25.3.15 TIM 定时器特性
有关输入输出复用功能引脚(输出比较、输入捕获、外部时钟、PWM 输出)的特性
详情,参见下表。
参数
tres
定时器分辨时间
fext
外部时钟频率
ResTim
Tcounter
TMAX_COUNT
条件
fTIMCLK=48MHz
最小值
最大值
单位
1
tTIMCLK
20.8
ns
0
fTIMCLK/2
MHz
0
24
MHz
16
位
32
位
1
65536
tTIMCLK
0.0208
1363
us
16777216
tTIMCLK
349.5
ms
最大值
单位
i
m
立 i
创 na
商 ry
城
符号
fTIMCLK=48MHz
定时器分辨率
自由计数
选择内部时钟时,16 位计数
器时钟周期
fTIMCLK=48MHz
最大可能计数
fTIMCLK=48MHz
表 25-2 高级定时器(ATIM)特性
1. 由设计保证,不在生产中测试。
符号
参数
条件
定时器分辨时间
fTIMCLK=48MHz
el
tres
外部时钟频率
fext
Tcounter
TMAX_COUNT
1
tTIMCLK
20.8
ns
0
fTIMCLK/2
MHz
0
24
MHz
16
位
1
65536
tTIMCLK
0.0208
1363
us
2147483648
tTIMCLK
44.7
s
定时器分辨率
Pr
ResTim
fTIMCLK=48MHz
最小值
选择内部时钟时,16 位计数
器时钟周期
fTIMCLK=48MHz
最大可能计数
fTIMCLK=48MHz
表 25-3 通用定时器特性
to
1. 由设计保证,不在生产中测试。
HC32F002 系列用户手册 Beta1.0
Page 401 of 415
符号
参数
tres
定时器分辨时间
fext
外部时钟频率
ResTim
定时器分辨率
TMAX_COUNT
最小值
fTIMCLK=48MHz
fTIMCLK=48MHz
选择内部时钟时,16 位计数
器时钟周期
fTIMCLK=48MHz
最大可能计数
最大值
单位
1
tTIMCLK
20.8
ns
0
fTIMCLK/2
MHz
0
24
MHz
16
位
1
65536
tTIMCLK
0.0208
1363
us
2147483648
tTIMCLK
i
m
立 i
创 na
商 ry
城
Tcounter
条件
fTIMCLK=48MHz
44.7
s
表 25-4 低功耗定时器特性
1. 由设计保证,不在生产中测试。
符号
参数
条件
最小值
最大值
单位
tres
WDT 溢出时间
fWDTCLK=32.8KHz
0.13
64000
ms
表 25-5
IWDT 特性
1. 由设计保证,不在生产中测试。
参数
条件
最小值
最大值
单位
tres
WDT 溢出时间
fWDTCLK=48MHz
0.085
699
ms
el
符号
表 25-6 WWDT 特性
to
Pr
1. 由设计保证,不在生产中测试。
HC32F002 系列用户手册 Beta1.0
Page 402 of 415
25.3.16 通信接口
25.3.16.1 I2C 特性
I2C 接口特性如下表:
符号
标准模式(100K)
快速模式(400K)
高速模式(1M)
单
最小值
最小值
最小值
位
参数
最大值
最大值
最大值
SCL 时钟低时间
4.7
1.25
0.5
us
tSCLH
SCL 时钟高时间
4.0
0.6
0.26
us
tSU.SDA
SDA 建立时间
250
100
50
ns
tHD.SDA
SDA 保持时间
0
0
0
us
tHD.STA
开始条件保持时间
4.0
0.6
0.26
us
tSU.STA
重复的开始条件建立时间
2.5
0.6
0.25
us
tSU.STO
停止条件建立时间
4.0
0.6
0.26
us
4.7
1.3
0.5
us
i
m
立 i
创 na
商 ry
城
tSCLL
总线空闲(停止条件至开
tBUF
始条件)
I2C 接口特性
el
表 25-7
开始条件
Pr
SDA
tHD.STA
。。。
tSU.SDA
tHD.SDA
。。。
SCL
重复开始条件
tSCLH
tSCLL
。。。SDA
to
tSU.STA
停止条件 开始条件
tBUF
tSU.STO
。。。SCL
1. 由设计保证,不在生产中测试。
图 25-3
HC32F002 系列用户手册 Beta1.0
I2C 接口时序
Page 403 of 415
25.3.16.2 SPI 特性
符号
参数
条件
主机模式
从机模式
tc(SCK)
串行时钟的周期
fPCLK = 48MHz
从机模式
fPCLK = 16MHz
主机模式
串行时钟的高电平时间
tw(SCKL)
串行时钟的低电平时间
最大值
单位
62.5
ns
125
ns
250
ns
0.5×tc(SCK)
ns
i
m
立 i
创 na
商 ry
城
tw(SCKH)
最小值
从机模式
0.5×tc(SCK)
ns
主机模式
0.5×tc(SCK)
ns
从机模式
0.5×tc(SCK)
ns
tsu(NSS)
从机选择的建立时间
从机模式
0.5×tc(SCK)
ns
th(NSS)
从机选择的保持时间
从机模式
0.5×tc(SCK)
ns
tv(MO)
主机数据输出的生效时间
fPCLK = 48MHz
th(MO)
主机数据输出的保持时间
fPCLK = 48MHz
tv(SO)
从机数据输出的生效时间
fPCLK = 48MHz
th(SO)
从机数据输出的保持时间
fPCLK = 48MHz
tsu(MI)
3
2
50
ns
ns
ns
ns
主机数据输入的建立时间
10
ns
th(MI)
主机数据输入的保持时间
2
ns
tsu(SI)
从机数据输入的建立时间
10
ns
th(SI)
从机数据输入的保持时间
2
ns
Pr
el
30
1. 由设计保证,不在生产中测试。
SPI 接口特性
to
表 25-8
HC32F002 系列用户手册 Beta1.0
Page 404 of 415
SPI 接口信号的波形和时序参数如下:
tc(SCK)
CPHA = 0
CPOL = 0
tw(SCKH)
tw(SCKL)
CPHA = 0
CPOL = 1
i
m
立 i
创 na
商 ry
城
CPHA = 1
CPOL = 0
CPHA = 1
CPOL = 1
tsu(MI)
th(MI)
MISO
INPUT
tv(MO)
th(MO)
图 25-4
SPI 时序图(主机模式)
MOSI
OUTPUT
el
NSS
tsu(NSS)
CPHA = 0
CPOL = 0
tc(SCK)
th(NSS)
Pr
tw(SCKH)
tw(SCKL)
CPHA = 0
CPOL = 1
th(SO)
tv(SO)
MISO
OUTPUT
th(SI)
to
tsu(SI)
th(MO)
MOSI
INPUT
图 25-5
HC32F002 系列用户手册 Beta1.0
SPI 时序图(从机模式 CPHA=0)
Page 405 of 415
NSS
tsu(NSS)
tc(SCK)
th(NSS)
CPHA = 1
CPOL = 0
tw(SCKL)
tw(SCKH)
CPHA = 1
CPOL = 1
th(SO)
i
m
立 i
创 na
商 ry
城
tv(SO)
MISO
OUTPUT
tsu(SI)
th(SI)
MOSI
INPUT
SPI 时序图(从机模式 CPHA=1)
to
Pr
el
图 25-6
HC32F002 系列用户手册 Beta1.0
Page 406 of 415
封装尺寸
26
QFN20 封装
D
QFN20 (3x3) millimeter
20
Symbol
A
Max
0.70
0.75
0.80
A1
--
0.02
0.05
b
0.15
0.20
0.25
c
0.18
0.20
0.25
D
2.90
3.00
3.10
D2
1.55
1.65
1.75
E
2
Nom
i
m
立 i
创 na
商 ry
城
1
Min
0.40BSC
Ne
1.60BSC
Nd
1.60BSC
el
A1
A
e
E
2.90
3.00
3.10
E2
1.55
1.65
1.75
L
0.35
0.40
0.45
h
0.20
0.25
0.30
20
L
Pr
Nd
h
h
1
L/F 载体尺寸
(Mil)
75 x 75
to
E2
Ne
2
e
EXPOSED THERMAL
PAD ZONE
HC32F002 系列用户手册 Beta1.0
b
BOTTOM VIEW
Page 407 of 415
QFN24 封装
D
QFN24 (4x4) millimeter
Symbol
Nom
Max
A
0.70
0.75
0.80
A1
0
0.02
0.05
i
m
立 i
创 na
商 ry
城
E
Min
b
0.20
0.25
0.30
c
0.18
0.20
0.25
D
3.90
4.00
4.10
D2
2.40
2.50
2.60
0.50BSC
Ne
2.50BSC
Nd
2.50BSC
A1
C
A
e
E
3.90
4.00
4.10
E2
2.40
2.50
2.60
L
0.35
0.40
0.45
h
0.30
0.35
0.40
D2
Pr
EXPOSED THERMAL
PAD ZONE
h
E2
Ne
el
L
h
L/F 载体尺
寸(Mil)
e
110 x 110
b
Nd
to
BOTTOM VIEW
HC32F002 系列用户手册 Beta1.0
Page 408 of 415
TSSOP20 封装
TSSOP20 millimeter
D
Symbol
A3
Min
Nom
Max
A
--
--
1.20
A1
0.05
--
0.15
A2 A
i
m
立 i
创 na
商 ry
城
A1
A2
0.80
1.00
1.05
A3
0.39
0.44
0.49
b
0.20
--
0.28
b1
0.19
0.22
0.25
c
0.13
--
0.18
c1
0.12
0.13
0.14
D
6.40
6.50
6.60
E
6.20
6.40
6.60
E1
4.30
4.40
4.50
0.25
c
θ
L
L1
E1
E
el
e
b
B
B
Pr
e
0.65BSC
L
0.45
L1
θ
0.60
0.75
1.00REF
0
--
8°
NOTE:
- Dimensions “D” and “E1” do not include mold
to
flash.
HC32F002 系列用户手册 Beta1.0
Page 409 of 415
TSSOP24 封装
TSSOP24 millimeter
Symbol
Nom
Max
A
--
--
1.20
A1
0.05
--
0.15
A2
0.80
0.90
1.00
Pr
el
i
m
立 i
创 na
商 ry
城
Min
to
θ
HC32F002 系列用户手册 Beta1.0
A3
0.34
0.39
0.44
b
0.20
--
0.29
b1
0.19
0.22
0.25
c
0.10
--
0.19
c1
0.10
0.13
0.15
D
7.70
7.80
7.90
E
6.20
6.40
6.60
E1
4.30
4.40
4.50
e
0.55
0.65
0.75
L
0.45
0.60
0.75
L1
1.00REF
L2
0.25BSC
θ
0
--
8°
NOTE:
- Dimensions “D” and “E1” do not include mold
flash.
Page 410 of 415
27
附录 A SysTick 定时器
27.1
SysTick 定时器简介
OS 要想支持多任务,就需要周期执行上下文切换,这样就需要有定时器之类的硬件资
源打断程序执行。当定时器中断产生时,处理器就会在异常处理中进行 OS 任务调度,
i
m
立 i
创 na
商 ry
城
同时还会进行 OS 维护的工作。Cortex-M0 处理器中有一个称为 SysTick 的简单定时器,
用于产生周期性的中断请求。
SysTick 为 24 位的定时器,并且向下计数。定时器的计数减到 0 后,就会重新装载一
个可编程的数值,并且同时产生 SysTick 异常(异常编号为 15),该异常事件会引起
SysTick 异常处理的执行,这个过程是 OS 的一部分。
对于不需要 OS 的系统,SysTick 定时器也可以用作其他用途,比如定时、计时或者为
需要周期执行的任务提供中断源。SysTick 异常的产生是可控的,如果异常被禁止,仍
然可以用轮询的方法使用 SysTick 定时器,比如检查当前的计数值或者轮询计数标志。
27.2
设置 SysTick
el
由于 SysTick 定时器的重载值和当前值在复位时都是未定义的,为了防止产生异常结
果,对 SysTick 的配置需要遵循一定的流程:
Pr
Step1:配置 SysTick->CTRL.ENABLE 为 0,禁止 SysTick。
Step2:配置 SysTick->CTRL.CLKSOURCE,选择 SysTick 的时钟源。
Step3:配置 SysTick->LOAD,选择 SysTick 的溢出周期。
Step4:向 SysTick->VAL 写入任意值,清零 SysTick->VAL 及 SysTick->CTRL.
to
COUNTFLAG。
Step5:配置 SysTick->CTRL.TICKINT 为 1,使能 SysTick 中断。
Step6:配置 SysTick->CTRL.ENABLE 为 1,使能 SysTick。
Step7:在中断服务程序中读取 SysTick->CTRL 以清除溢出标志。
注意:SysTick 溢出周期为 SysTick->LOAD+1,配置示例如下:
时钟源
HCLK
4MHz
HC32F002 系列用户手册 Beta1.0
SysTick->LOAD
溢出周期
3999
1ms
Page 411 of 415
27.3
SysTick 寄存器
地址
名称
CMSIS 符号
全名
0xE000 E010
SYS_CSR
SysTick->CTRL
SysTick控制和状态寄存器
0xE000 E014
SYS_RVR
SysTick->LOAD
SysTick重装载寄存器
0xE000 E018
SYS_CVR
SysTick->VAL
SysTick当前值寄存器
0xE000 E01C
SYS_CALIR
SysTick->CALIB
SysTick校准值寄存器
i
m
立 i
创 na
商 ry
城
27.3.1 SysTick 控制和状态寄存器(CTRL)
位
符号
功能描述
类型
复位值
31:17
Reserved
-
-
-
16
COUNTFLAG
SysTick定时器溢出标志
RO
0
1:SysTick定时器发生下溢出
0:SysTick定时器未发生溢出
读该寄存器,可清除COUNTFLAG标志
15:3
Reserved
-
-
-
2
CLKSOURCE
SysTick时钟源选择
RW
0
RW
0
RW
0
无参考时钟,始终以系统时钟作为SysTick时钟
1
TICKINT
SysTick中断使能
1:使能中断
0
el
0:禁止中断
ENABLE
SysTick定时器使能
1:使能SysTick
Pr
0:禁止SysTick
27.3.2 SysTick 重载寄存器(LOAD)
符号
功能描述
类型
复位值
31:24
Reserved
-
-
-
23:0
RELOAD
SysTick 定时器重载值
RW
未定义
to
位
27.3.3 SysTick 当前值寄存器(VAL)
位
符号
功能描述
类型
复位值
31:24
Reserved
-
-
-
23:0
CURRENT
读取该寄存器,获取SysTick定时器的当前计数值
RW
未定义
写任意值到该寄存器,清零该寄存器及COUNTFLAG
HC32F002 系列用户手册 Beta1.0
Page 412 of 415
27.3.4 SysTick 校准值寄存器(CALIB)
位
符号
功能描述
类型
复位值
31
NOREF
SysTick当前计数时钟标志
RO
-
1:当前计数时钟为内核时钟
0:无功能
30
SKEW
TENMS精度指示
RO
1:TENMS值代表粗略的10ms
i
m
立 i
创 na
商 ry
城
0:TENMS值代表精确的10ms
Reserved
-
-
23:0
TENMS
10ms校准值
RO
-
to
Pr
el
29:24
HC32F002 系列用户手册 Beta1.0
Page 413 of 415
28
附录 B 文档约定
28.1
寄存器相关缩写词列表
寄存器说明中使用以下缩写词:
读写,软件可以读写这些位。
RO
只读,软件只能读取这些位。
WO
W1
i
m
立 i
创 na
商 ry
城
RW
只写,软件只能写入该位。读取该位时将返回无效数据。
只写 1,硬件自动清 0,写 0 无效
R0W1
软件读取该位为 0,写入 1 将该位清零。写入 0 对该位的值无影响。
RW0
软件可以读写该位,写 1 无效,写 0 清除
R1W0
软件读取该位为 1,,写入 0 将该位清零。写入 1 对该位的值无影响。
RC
软件可以读取该位。读取该位时,将自动清零。
写入“0”对该位的值无影响。
Res, Reserverd 保留位,必须保持复位值。
词汇表
el
28.2
本节简要介绍本文档中所用首字母缩略词和缩写词的定义:
Pr
Word:32 位数据。
Half Word:16 位数据。
Byte:8 位数据。
IAP(在应用中编程):IAP 是指可以在用户程序运行期间对微控制器的 Flash 进行重
to
新编程。
ICP(在电路编程):ICP 是指可以在器件安装于用户应用电路板上时使用 JTAG 协议、
SWD 协议或自举程序对微控制器的 Flash 进行编程。
AHB:高级高性能总线。
APB:高级外设总线。
DMA:直接存储器访问。
TIM:定时器
HC32F002 系列用户手册 Beta1.0
Page 414 of 415
版本记录 & 联系方式
修订日期
Beta1.0
2020/8/14
修订内容摘要
初稿发布。
i
m
立 i
创 na
商 ry
城
版本
Pr
el
Beta 版本,仅供参考
如果您在购买与使用过程中有任何意见或建议,请随时与我们联系。
to
Email:mcu@hdsc.com.cn
网址:http://www.hdsc.com.cn/mcu.htm
通信地址:上海市浦东新区中科路 1867 号 A 座 10 层
邮编:201203
HC32F002 系列用户手册 Beta1.0
Page 415 of 415