HC32L130 系列 / HC32L136 系列
32 位 ARM® Cortex®-M0+ 微控制器
用户手册
声
➢
明
华大半导体有限公司(以下简称:“HDSC”)保留随时更改、更正、增强、修改华大半导体产品和/或
本文档的权利,恕不另行通知。用户可在下单前获取最新相关信息。HDSC 产品依据购销基本合同中
载明的销售条款和条件进行销售。
➢
用户对 HDSC 产品的选择和使用承担全部责任,用户将 HDSC 产品用于其自己或指定第三方产品上
的,HDSC 不提供服务支持且不对此类产品承担任何责任。
➢
HDSC 在此确认未以明示或暗示方式授予任何知识产权许可。
➢
HDSC 产品的转售,若其条款与此处规定不同,HDSC 对此类产品的任何保修承诺无效。
➢
任何带有“®”或“™”标识的图形或字样是 HDSC 的商标。所有其他在 HDSC 产品上显示的产品或服务
名称均为其各自所有者的财产。
➢
本通知中的信息取代并替换先前版本中的信息。
©2019 华大半导体有限公司 - 保留所有权利
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 2 of 854
目
录
声
明 ..........................................................................................................................................................................2
目
录 ..........................................................................................................................................................................3
简
介 ........................................................................................................................................................................34
产品特性 超低功耗 MCU .......................................................................................................................................35
1
2
功能模块.............................................................................................................................................................36
1.1
32 位 CORTEX M0+ 内核 ...............................................................................................................37
1.2
64K Byte Flash ....................................................................................................................................37
1.3
8K Byte RAM ......................................................................................................................................37
1.4
时钟系统..............................................................................................................................................37
1.5
工作模式..............................................................................................................................................38
1.6
实时时钟 RTC ....................................................................................................................................38
1.7
端口控制器 GPIO ..............................................................................................................................38
1.8
中断控制器 NVIC ..............................................................................................................................38
1.9
复位控制器 RESET ...........................................................................................................................40
1.10
DMA 控制器 DMAC.........................................................................................................................40
1.11
定时器 TIM ........................................................................................................................................40
1.12
脉冲计数器 PCNT .............................................................................................................................42
1.13
看门狗 WDT ......................................................................................................................................43
1.14
通用同步异步收发器 UART0~UART1 ............................................................................................43
1.15
低功耗同步异步收发器 LPUART0~LPUART1 ...............................................................................43
1.16
串行外设接口 SPI ..............................................................................................................................44
1.17
I2C 总线..............................................................................................................................................44
1.18
蜂鸣器 Buzzer ....................................................................................................................................45
1.19
时钟校准电路模块 CLKTRIM..........................................................................................................45
1.20
器件电子签名......................................................................................................................................45
1.21
循环冗余校验 CRC............................................................................................................................45
1.22
硬件除法器模块 HDIV ......................................................................................................................46
1.23
高级加密标准模块 AES ....................................................................................................................46
1.24
真随机数发生器 TRNG .....................................................................................................................46
1.25
模数转换器 ADC ...............................................................................................................................46
1.26
模拟电压比较器 VC ..........................................................................................................................47
1.27
低电压检测器 LVD ............................................................................................................................47
1.28
运算放大器 OPA ................................................................................................................................48
1.29
液晶控制器 LCD................................................................................................................................48
1.30
嵌入式调试系统..................................................................................................................................48
1.31
编程模式..............................................................................................................................................49
1.32
高安全性..............................................................................................................................................49
引脚配置及功能 .................................................................................................................................................50
2.1
引脚配置图..........................................................................................................................................50
2.2
引脚功能说明......................................................................................................................................55
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 3 of 854
2.3
3
4
5
系统结构.............................................................................................................................................................65
3.1
概述......................................................................................................................................................65
3.2
系统地址划分......................................................................................................................................66
3.3
存储器和模块地址分配......................................................................................................................67
工作模式.............................................................................................................................................................69
4.1
运行模式..............................................................................................................................................71
4.2
休眠模式..............................................................................................................................................73
4.3
深度休眠模式......................................................................................................................................75
系统控制器(SYSCTRL) ...............................................................................................................................78
5.1
5.2
系统时钟介绍......................................................................................................................................78
5.1.1
内部高速 RC 时钟 RCH.......................................................................................................... 79
5.1.2
内部低速 RC 时钟 RCL ........................................................................................................ 79
5.1.3
外部低速晶振时钟 XTL ......................................................................................................... 80
5.1.4
外部高速晶振时钟 XTH ......................................................................................................... 80
5.1.5
锁相环时钟 PLL ....................................................................................................................... 80
5.1.6
时钟启动过程 ........................................................................................................................... 81
系统时钟切换......................................................................................................................................82
5.2.1
标准的时钟切换流程 ............................................................................................................... 82
5.2.2
RCH 不同振荡频率间切换流程 .............................................................................................. 83
5.2.3
从其它时钟切换到 XTL 示例.................................................................................................. 83
5.2.4
从其它时钟切换到 XTH 示例 ................................................................................................. 84
5.2.5
从其它时钟切换到 RCL 示例.................................................................................................. 85
5.2.6
从其它时钟切换到 RCH 示例 ................................................................................................. 85
5.2.7
PLL 与 RCH 相互切换示例,参考时钟为 RCH .................................................................... 85
5.2.8
PLL 与 XTH 相互切换示例,参考时钟为 XTH .................................................................... 86
5.3
时钟校准模块 .....................................................................................................................................88
5.4
中断唤醒控制 .....................................................................................................................................89
5.5
6
模块信号说明......................................................................................................................................63
5.4.1
从深度休眠模式唤醒后执行中断服务程序的方法 ............................................................... 89
5.4.2
从深度休眠模式唤醒后不执行中断服务程序的方法............................................................ 89
5.4.3
使用退出休眠特性 ................................................................................................................... 90
寄存器 .................................................................................................................................................92
5.5.1
系统控制寄存器 0(SYSCTRL0) ......................................................................................... 93
5.5.2
系统控制寄存器 1(SYSCTRL1) ......................................................................................... 95
5.5.3
系统控制寄存器 2(SYSCTRL2) ......................................................................................... 97
5.5.4
RCH 控制寄存器(RCH_CR).............................................................................................. 98
5.5.5
XTH 控制寄存器(XTH_CR).............................................................................................. 99
5.5.6
RCL 控制寄存器(RCL_CR)............................................................................................. 100
5.5.7
XTL 控制寄存器(XTL_CR)............................................................................................. 101
5.5.8
PLL 控制寄存器(PLL_CR) .............................................................................................. 102
5.5.9
外围模块时钟控制寄存器(PERI_CLKEN) ..................................................................... 104
复位控制器(RESET) ........................................................................................................................................106
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 4 of 854
6.1
6.2
7
复位控制器介绍................................................................................................................................106
6.1.1
上电下电复位 POR ................................................................................................................ 106
6.1.2
外部复位引脚复位 ................................................................................................................. 107
6.1.3
WDT 复位 ............................................................................................................................... 107
6.1.4
PCA 复位 ................................................................................................................................ 107
6.1.5
LVD 低电压复位 .................................................................................................................... 107
6.1.6
Cortex-M0+ SYSRESETREQ 复位........................................................................................ 107
6.1.7
Cortex-M0+ LOCKUP 复位 ................................................................................................... 107
寄存器................................................................................................................................................108
6.2.1
复位标识寄存器(RESET_FLAG) .................................................................................... 108
6.2.2
外围模块复位控制寄存器(PREI_RESET)........................................................................110
中断控制器(NVIC) ..........................................................................................................................................112
7.1
概述.................................................................................................................................................... 112
7.2
中断优先级........................................................................................................................................ 113
7.3
中断向量表........................................................................................................................................ 114
7.4
中断输入和挂起行为........................................................................................................................ 115
7.5
中断等待............................................................................................................................................ 118
7.6
中断源................................................................................................................................................ 119
7.7
中断结构图........................................................................................................................................121
7.8
寄存器................................................................................................................................................123
7.8.1
中断使能设置寄存器(SCS_SETENA) ............................................................................. 123
7.8.2
中断使能清除寄存器(SCS_CLRENA) ............................................................................ 124
7.8.3
中断挂起状态设置寄存器(SCS_SETPEND) ................................................................... 124
7.8.4
中断挂起状态清除寄存器(SCS_CLRPEND) .................................................................. 125
7.8.5
中断优先级寄存器(SCS_IPR0) ........................................................................................ 126
7.8.6
中断优先级寄存器(SCS_IPR1) ........................................................................................ 127
7.8.7
中断优先级寄存器(SCS_IPR2) ........................................................................................ 128
7.8.8
中断优先级寄存器(SCS_IPR3) ........................................................................................ 129
7.8.9
中断优先级寄存器(SCS_IPR4) ........................................................................................ 130
7.8.10 中断优先级寄存器(SCS_IPR5) ........................................................................................ 131
7.8.11
中断优先级寄存器(SCS_IPR6) ........................................................................................ 132
7.8.12 中断优先级寄存器(SCS_IPR7) ........................................................................................ 133
7.8.13 中断屏蔽特殊寄存器(SCS_PRIMASK)........................................................................... 134
7.9
8
软件基本操作....................................................................................................................................135
7.9.1
外部中断使能 ......................................................................................................................... 135
7.9.2
NVIC 中断使能和清除使能.................................................................................................. 135
7.9.3
NVIC 中断挂起和清除挂起.................................................................................................. 135
7.9.4
NVIC 中断优先级 ................................................................................................................. 135
7.9.5
NVIC 中断屏蔽 ..................................................................................................................... 136
端口控制器(GPIO)......................................................................................................................................137
8.1
端口控制器简介................................................................................................................................137
8.2
端口控制器主要特性........................................................................................................................137
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 5 of 854
8.3
8.4
端口控制器功能描述........................................................................................................................138
8.3.1
端口配置功能 ......................................................................................................................... 138
8.3.2
端口的写入 ............................................................................................................................. 141
8.3.3
端口的读取 ............................................................................................................................. 142
8.3.4
端口数字复用功能 ................................................................................................................. 143
8.3.5
端口中断功能 ......................................................................................................................... 145
端口配置操作流程............................................................................................................................146
8.4.1
端口复用配置为模拟端口操作流程 ..................................................................................... 146
8.4.2
端口复用配置为数字通用端口操作流程 ............................................................................. 146
8.4.3
端口复用配置为数字功能端口操作流程 ............................................................................. 146
8.4.4
端口复用配置为调试测试端口操作流程 ............................................................................. 146
8.4.5
端口复用配置为红外输出信号操作流程 ............................................................................. 146
8.4.6
端口高电平中断操作流程 ..................................................................................................... 147
8.4.7
端口低电平中断操作流程 ..................................................................................................... 147
8.4.8
端口上升沿中断操作流程 ..................................................................................................... 147
8.4.9
端口下降沿中断操作流程 ..................................................................................................... 147
8.4.10 端口上拉使能配置操作流程 ................................................................................................. 148
8.4.11
端口下拉使能配置操作流程 ................................................................................................. 148
8.4.12 端口增强驱动配置操作流程 ................................................................................................. 148
8.4.13 端口开漏输出配置操作流程 ................................................................................................. 148
8.4.14 端口位置位操作流程 ............................................................................................................. 148
8.4.15 端口位清零操作流程 ............................................................................................................. 148
8.4.16 端口位置位清零操作流程 ..................................................................................................... 148
8.5
端口控制器寄存器描述....................................................................................................................149
8.5.1
端口 PA .................................................................................................................................. 153
8.5.1.1 端口 PA00 功能配置寄存器(PA00_SEL) ................................................................. 153
8.5.1.2 端口 PA01 功能配置寄存器(PA01_SEL) ................................................................. 154
8.5.1.3 端口 PA02 功能配置寄存器(PA02_SEL) ................................................................. 155
8.5.1.4 端口 PA03 功能配置寄存器(PA03_SEL) ................................................................. 156
8.5.1.5 端口 PA04 功能配置寄存器(PA04_SEL) ................................................................. 157
8.5.1.6 端口 PA05 功能配置寄存器(PA05_SEL) ................................................................. 158
8.5.1.7 端口 PA06 功能配置寄存器(PA06_SEL) ................................................................. 159
8.5.1.8 端口 PA07 功能配置寄存器(PA07_SEL) ................................................................. 160
8.5.1.9 端口 PA08 功能配置寄存器(PA08_SEL) ................................................................. 161
8.5.1.10 端口 PA09 功能配置寄存器(PA09_SEL) ............................................................... 162
8.5.1.11 端口 PA10 功能配置寄存器(PA10_SEL) ............................................................... 163
8.5.1.12 端口 PA11 功能配置寄存器(PA11_SEL)................................................................ 164
8.5.1.13 端口 PA12 功能配置寄存器(PA12_SEL) ............................................................... 165
8.5.1.14 端口 PA13 功能配置寄存器(PA13_SEL) ............................................................... 166
8.5.1.15 端口 PA14 功能配置寄存器(PA14_SEL) ............................................................... 167
8.5.1.16 端口 PA15 功能配置寄存器(PA15_SEL) ............................................................... 168
8.5.1.17 端口 PA 输入输出配置寄存器(PADIR) ................................................................. 169
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 6 of 854
8.5.1.18 端口 PA 输入值寄存器(PAIN) ................................................................................ 170
8.5.1.19 端口 PA 输出值配置寄存器(PAOUT) .................................................................... 171
8.5.1.20 端口 PA 数模配置寄存器(PAADS) ........................................................................ 172
8.5.1.21 端口 PA 位置位寄存器(PABSET)........................................................................... 173
8.5.1.22 端口 PA 位清零寄存器(PABCLR) .......................................................................... 174
8.5.1.23 端口 PA 位置位清零寄存器(PABSETCLR) ........................................................... 175
8.5.1.24 端口 PA 驱动能力配置寄存器(PADR) ................................................................... 176
8.5.1.25 端口 PA 上拉使能配置寄存器(PAPU) ................................................................... 177
8.5.1.26 端口 PA 下拉使能配置寄存器(PAPD) ................................................................... 178
8.5.1.27 端口 PA 开漏输出配置寄存器(PAOD)................................................................... 179
8.5.1.28 端口 PA 高电平中断使能配置寄存器(PAHIE) ...................................................... 180
8.5.1.29 端口 PA 低电平中断使能配置寄存器(PALIE) ...................................................... 181
8.5.1.30 端口 PA 上升沿中断使能配置寄存器(PARIE) ...................................................... 182
8.5.1.31 端口 PA 下降沿中断使能配置寄存器(PAFIE) ...................................................... 183
8.5.1.32 端口 PA 中断状态寄存器(PA_STAT) ..................................................................... 184
8.5.1.33 端口 PA 中断清除寄存器(PA_ICLR) ..................................................................... 185
8.5.2
端口 PB .................................................................................................................................. 186
8.5.2.1 端口 PB00 功能配置寄存器(PB00_SEL) ................................................................. 186
8.5.2.2 端口 PB01 功能配置寄存器(PB01_SEL) ................................................................. 187
8.5.2.3 端口 PB02 功能配置寄存器(PB02_SEL) ................................................................. 188
8.5.2.4 端口 PB03 功能配置寄存器(PB03_SEL) ................................................................. 189
8.5.2.5 端口 PB04 功能配置寄存器(PB04_SEL) ................................................................. 190
8.5.2.6 端口 PB05 功能配置寄存器(PB05_SEL) ................................................................. 191
8.5.2.7 端口 PB06 功能配置寄存器(PB06_SEL) ................................................................. 192
8.5.2.8 端口 PB07 功能配置寄存器(PB07_SEL) ................................................................. 193
8.5.2.9 端口 PB08 功能配置寄存器(PB08_SEL) ................................................................. 194
8.5.2.10 端口 PB09 功能配置寄存器(PB09_SEL) ............................................................... 195
8.5.2.11 端口 PB10 功能配置寄存器(PB10_SEL) ............................................................... 196
8.5.2.12 端口 PB11 功能配置寄存器(PB11_SEL) ............................................................... 197
8.5.2.13 端口 PB12 功能配置寄存器(PB12_SEL) ............................................................... 198
8.5.2.14 端口 PB13 功能配置寄存器(PB13_SEL) ............................................................... 199
8.5.2.15 端口 PB14 功能配置寄存器(PB14_SEL) ............................................................... 200
8.5.2.16 端口 PB15 功能配置寄存器(PB15_SEL) ............................................................... 201
8.5.2.17 端口 PB 输入输出配置寄存器(PBDIR) ................................................................. 202
8.5.2.18 端口 PB 输入值寄存器(PBIN) ................................................................................ 203
8.5.2.19 端口 PB 输出值配置寄存器(PBOUT) .................................................................... 204
8.5.2.20 端口 PB 数模配置寄存器(PBADS) ........................................................................ 205
8.5.2.21 端口 PB 位置位寄存器(PBBSET) .......................................................................... 206
8.5.2.22 端口 PB 位清零寄存器(PBBCLR).......................................................................... 207
8.5.2.23 端口 PB 位置位清零寄存器(PBBSETCLR)........................................................... 208
8.5.2.24 端口 PB 驱动能力配置寄存器(PBDR)................................................................... 209
8.5.2.25 端口 PB 上拉使能配置寄存器(PBPU) ................................................................... 210
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 7 of 854
8.5.2.26 端口 PB 下拉使能配置寄存器(PBPD) ....................................................................211
8.5.2.27 端口 PB 开漏输出配置寄存器(PBOD) .................................................................. 212
8.5.2.28 端口 PB 高电平中断使能配置寄存器(PBHIE) ..................................................... 213
8.5.2.29 端口 PB 低电平中断使能配置寄存器(PBLIE) ...................................................... 214
8.5.2.30 端口 PB 上升沿中断使能配置寄存器(PBRIE)...................................................... 215
8.5.2.31 端口 PB 下降沿中断使能配置寄存器(PBFIE) ...................................................... 216
8.5.2.32 端口 PB 中断状态寄存器(PB_STAT) ..................................................................... 217
8.5.2.33 端口 PB 中断清除寄存器(PB_ICLR) ..................................................................... 218
8.5.3
端口 PC .................................................................................................................................. 219
8.5.3.1 端口 PC00 功能配置寄存器(PC00_SEL) ................................................................. 219
8.5.3.2 端口 PC01 功能配置寄存器(PC01_SEL) ................................................................. 220
8.5.3.3 端口 PC02 功能配置寄存器(PC02_SEL) ................................................................. 221
8.5.3.4 端口 PC03 功能配置寄存器(PC03_SEL) ................................................................. 222
8.5.3.5 端口 PC04 功能配置寄存器(PC04_SEL) ................................................................. 223
8.5.3.6 端口 PC05 功能配置寄存器(PC05_SEL) ................................................................. 224
8.5.3.7 端口 PC06 功能配置寄存器(PC06_SEL) ................................................................. 225
8.5.3.8 端口 PC07 功能配置寄存器(PC07_SEL) ................................................................. 226
8.5.3.9 端口 PC08 功能配置寄存器(PC08_SEL) ................................................................. 227
8.5.3.10 端口 PC09 功能配置寄存器(PC09_SEL) ............................................................... 228
8.5.3.11 端口 PC10 功能配置寄存器(PC10_SEL) ............................................................... 229
8.5.3.12 端口 PC11 功能配置寄存器(PC11_SEL) ............................................................... 230
8.5.3.13 端口 PC12 功能配置寄存器(PC12_SEL) ............................................................... 231
8.5.3.14 端口 PC13 功能配置寄存器(PC13_SEL) ............................................................... 232
8.5.3.15 端口 PC14 功能配置寄存器(PC14_SEL) ............................................................... 233
8.5.3.16 端口 PC15 功能配置寄存器(PC15_SEL) ............................................................... 234
8.5.3.17 端口 PC 输入输出配置寄存器(PCDIR) ................................................................. 235
8.5.3.18 端口 PC 输入值寄存器(PCIN) ................................................................................ 236
8.5.3.19 端口 PC 输出值配置寄存器(PCOUT) .................................................................... 237
8.5.3.20 端口 PC 数模配置寄存器(PCADS) ........................................................................ 238
8.5.3.21 端口 PC 位置位寄存器(PCBSET) .......................................................................... 239
8.5.3.22 端口 PC 位清零寄存器(PCBCLR).......................................................................... 240
8.5.3.23 端口 PC 位置位清零寄存器(PCBSETCLR)........................................................... 241
8.5.3.24 端口 PC 驱动能力配置寄存器(PCDR)................................................................... 242
8.5.3.25 端口 PC 上拉使能配置寄存器(PCPU) ................................................................... 243
8.5.3.26 端口 PC 下拉使能配置寄存器(PCPD) ................................................................... 244
8.5.3.27 端口 PC 开漏输出配置寄存器(PCOD) .................................................................. 245
8.5.3.28 端口 PC 高电平中断使能配置寄存器(PCHIE) ..................................................... 246
8.5.3.29 端口 PC 低电平中断使能配置寄存器(PCLIE) ...................................................... 247
8.5.3.30 端口 PC 上升沿中断使能配置寄存器(PCRIE)...................................................... 248
8.5.3.31 端口 PC 下降沿中断使能配置寄存器(PCFIE) ...................................................... 249
8.5.3.32 端口 PC 中断状态寄存器(PC_STAT) ..................................................................... 250
8.5.3.33 端口 PC 中断清除寄存器(PC_ICLR) ..................................................................... 251
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 8 of 854
8.5.4
端口 PD .................................................................................................................................. 252
8.5.4.1 端口 PD00 功能配置寄存器(PD00_SEL) ................................................................ 252
8.5.4.2 端口 PD01 功能配置寄存器(PD01_SEL) ................................................................ 253
8.5.4.3 端口 PD02 功能配置寄存器(PD02_SEL) ................................................................ 254
8.5.4.4 端口 PD03 功能配置寄存器(PD03_SEL) ................................................................ 255
8.5.4.5 端口 PD04 功能配置寄存器(PD04_SEL) ................................................................ 256
8.5.4.6 端口 PD05 功能配置寄存器(PD05_SEL) ................................................................ 257
8.5.4.7 端口 PD06 功能配置寄存器(PD06_SEL) ................................................................ 258
8.5.4.8 端口 PD07 功能配置寄存器(PD07_SEL) ................................................................ 259
8.5.4.9 端口 PD 输入输出配置寄存器(PDDIR)................................................................... 260
8.5.4.10 端口 PD 输入值寄存器(PDIN) ............................................................................... 261
8.5.4.11 端口 PD 输出值配置寄存器(PDOUT).................................................................... 262
8.5.4.12 端口 PD 数模配置寄存器(PDADS)........................................................................ 263
8.5.4.13 端口 PD 位置位寄存器(PDBSET) .......................................................................... 264
8.5.4.14 端口 PD 位清零寄存器(PDBCLR) ......................................................................... 265
8.5.4.15 端口 PD 位置位清零寄存器(PDBSETCLR) .......................................................... 266
8.5.4.16 端口 PD 驱动能力配置寄存器(PDDR) .................................................................. 267
8.5.4.17 端口 PD 上拉使能配置寄存器(PDPU)................................................................... 268
8.5.4.18 端口 PD 下拉使能配置寄存器(PDPD)................................................................... 269
8.5.4.19 端口 PD 开漏输出配置寄存器(PDOD) .................................................................. 270
8.5.4.20 端口 PD 高电平中断使能配置寄存器(PDHIE) ..................................................... 271
8.5.4.21 端口 PD 低电平中断使能配置寄存器(PDLIE) ..................................................... 272
8.5.4.22 端口 PD 上升沿中断使能配置寄存器(PDRIE) ..................................................... 273
8.5.4.23 端口 PD 下降沿中断使能配置寄存器(PDFIE)...................................................... 274
8.5.4.24 端口 PD 中断状态寄存器(PD_STAT) .................................................................... 275
8.5.4.25 端口 PD 中断清除寄存器(PD_ICLR)..................................................................... 276
8.5.5
端口辅助功能 ......................................................................................................................... 277
8.5.5.1 端口辅助功能配置寄存器 1(GPIO_CTRL1) ........................................................... 277
8.5.5.2 端口辅助功能配置寄存器 2(GPIO_CTRL2) ........................................................... 279
8.5.5.3 端口辅助功能定时器门控选择(GPIO_TIMGS) ...................................................... 280
8.5.5.4 端口辅助功能定时器 ETR 选择(GPIO_TIMES) ..................................................... 281
8.5.5.5 端口辅助功能定时器捕获输入选择(GPIO_TIMCPS) ............................................ 282
8.5.5.6 端口辅助功能 PCA 捕获选择(GPIO_PCAS)........................................................... 283
9
I2C 总线(I2C) .............................................................................................................................................284
9.1
简介....................................................................................................................................................284
9.2
主要特性............................................................................................................................................284
9.3
协议描述............................................................................................................................................284
9.4
9.3.1
I2C 总线上数据传输 ............................................................................................................. 285
9.3.2
I2C 总线上的应答 ................................................................................................................. 286
9.3.3
I2C 总线上的仲裁 ................................................................................................................. 287
功能描述............................................................................................................................................289
9.4.1
串行时钟发生器 ..................................................................................................................... 290
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 9 of 854
9.5
9.6
9.4.2
输入滤波器 ............................................................................................................................. 290
9.4.3
地址比较器 ............................................................................................................................. 290
9.4.4
应答标志位 ............................................................................................................................. 291
9.4.5
中断产生器 ............................................................................................................................. 291
9.4.6
工作模式 ................................................................................................................................. 291
9.4.7
状态码表述 ............................................................................................................................. 298
编程示例............................................................................................................................................300
9.5.1
主机发送示例 ......................................................................................................................... 300
9.5.2
主机接收示例 ......................................................................................................................... 300
9.5.3
从机接收示例 ......................................................................................................................... 301
9.5.4
从机发送示例 ......................................................................................................................... 302
寄存器描述........................................................................................................................................303
9.6.1
I2C 波特率计数器使能寄存器(I2Cx_TMRUN) ................................................................... 303
9.6.2
I2C 波特率计数器配置寄存器(I2Cx_TM) ............................................................................ 304
9.6.3
I2C 配置寄存器(I2Cx_CR) .................................................................................................... 305
9.6.4
I2C 数据寄存器(I2Cx_DATA) ............................................................................................... 307
9.6.5
I2C 地址寄存器(I2Cx_ADDR) .............................................................................................. 308
9.6.6
I2C 状态寄存器(I2Cx_STAT) ................................................................................................ 309
10 串行外设接口(SPI) .....................................................................................................................................310
10.1
SPI 简介 ............................................................................................................................................310
10.2
SPI 主要特性 ....................................................................................................................................310
10.3
SPI 功能描述 .................................................................................................................................... 311
10.3.1 SPI 主机模式 ..........................................................................................................................311
10.3.2 SPI 从机模式 ......................................................................................................................... 312
10.3.3 SPI 数据帧格式 ..................................................................................................................... 313
10.3.4 SPI 状态标志及中断 ............................................................................................................. 314
10.3.5 SPI 多机系统配置说明 ......................................................................................................... 315
10.3.6 SPI 管脚配置说明 ................................................................................................................. 317
10.4
SPI 编程示例 ....................................................................................................................................318
10.4.1 SPI 主机发送示例 ................................................................................................................. 318
10.4.2 SPI 主机接收示例 ................................................................................................................. 318
10.4.3 SPI 从机发送示例 ................................................................................................................. 319
10.4.4 SPI 从机接收示例 ................................................................................................................. 319
10.6
SPI 寄存器描述 ................................................................................................................................321
10.6.1 SPI 配置寄存器(SPIx_CR) .................................................................................................... 322
10.6.2 SPI 片选配置寄存器(SPIx_SSN) .......................................................................................... 324
10.6.3 SPI 状态寄存器(SPIx_STAT) ................................................................................................ 325
10.6.4 SPI 数据寄存器(SPIx_DATA) ............................................................................................... 327
10.6.5 SPI 配置寄存器 2(SPIx_CR2) ............................................................................................... 328
10.6.6 SPI 中断清除寄存器 2(SPIx_ICLR) ..................................................................................... 329
11 时钟校准模块(CLKTRIM) .........................................................................................................................330
11.1
CLKTRIM 简介................................................................................................................................330
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 10 of 854
11.2
CLKTRIM 主要特性.........................................................................................................................330
11.3
CLKTRIM 功能描述.........................................................................................................................331
11.3.1 CLKTRIM 校准模式 .............................................................................................................. 331
11.3.1.1 时钟校准原理 ................................................................................................................ 331
11.3.1.2 时钟校准模块硬件结构 ................................................................................................ 331
11.3.1.3 时钟校准软件流程 ........................................................................................................ 332
11.3.2 CLKTRIM 监测模式 .............................................................................................................. 334
11.3.2.1 时钟监测原理 ................................................................................................................ 334
11.3.2.2 时钟监测硬件结构 ........................................................................................................ 334
11.3.2.3 时钟监测软件流程 ........................................................................................................ 334
11.4
CLKTRIM 寄存器描述.....................................................................................................................337
11.4.1
配置寄存器(CLKTRIM_CR) ................................................................................................. 338
11.4.2
参考计数器初值配置寄存器(CLKTRIM_REFCON) ........................................................... 340
11.4.3
参考计数器值寄存器(CLKTRIM_REFCNT) ....................................................................... 340
11.4.4
校准计数器值寄存器(CLKTRIM_CALCNT) ....................................................................... 341
11.4.5
中断标志位寄存器(CLKTRIM_IFR) .................................................................................... 342
11.4.6
中断标志位清除寄存器(CLKTRIM_ICLR).......................................................................... 343
11.4.7
校准计数器溢出值配置寄存器(CLKTRIM_CALCON) ...................................................... 344
12 硬件除法器模块(HDIV) .............................................................................................................................345
12.1
HDIV 简介........................................................................................................................................345
12.2
HDIV 主要特性.................................................................................................................................345
12.3
HDIV 功能描述.................................................................................................................................346
12.3.1 HDIV 操作流程 ...................................................................................................................... 346
12.4
HDIV 寄存器描述.............................................................................................................................347
12.4.1 被除数寄存器(HDIV_DIVIDEND) ....................................................................................... 347
12.4.2 除数寄存器(HDIV_DIVISOR) .............................................................................................. 348
12.4.3 商寄存器(HDIV_QUOTIENT) .............................................................................................. 348
12.4.4 余数寄存器(HDIV_REMAINDER) ....................................................................................... 349
12.4.5 符号寄存器(HDIV_SIGN) ..................................................................................................... 349
12.4.6 状态寄存器(HDIV_STAT) ..................................................................................................... 350
13 FLASH 控制器(FLASH).............................................................................................................................351
13.1
概述....................................................................................................................................................351
13.2
FLASH 容量划分 ..............................................................................................................................351
13.3
功能描述............................................................................................................................................352
13.3.1 页擦除(Sector Erase) ......................................................................................................... 353
13.3.2 全片擦除(Chip Erase)........................................................................................................ 354
13.3.3 写操作(Program) ............................................................................................................... 355
13.3.4 读操作(Read) ..................................................................................................................... 357
13.4
擦写时间............................................................................................................................................358
13.5
读等待周期........................................................................................................................................360
13.6
擦写保护............................................................................................................................................360
13.6.1 擦写保护位 ............................................................................................................................. 360
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 11 of 854
13.6.2 PC 地址擦写保护 ................................................................................................................... 360
13.7
寄存器写保护....................................................................................................................................361
13.8
寄存器................................................................................................................................................362
13.8.1 TNVS 参数寄存器(FLASH_TNVS) ................................................................................. 362
13.8.2 TPGS 参数寄存器(FLASH_TPGS) .................................................................................. 363
13.8.3 TPROG 参数寄存器(FLASH_TPROG)............................................................................ 363
13.8.4 TSERASE 寄存器(FLASH_TSERASE) ........................................................................... 364
13.8.5 TMERASE 参数寄存器(FLASH_TMERASE) ................................................................ 364
13.8.6 TPRCV 参数寄存器(FLASH_TPRCV) ............................................................................ 365
13.8.7
TSRCV 参数寄存器(FLASH_TSRCV) ............................................................................ 365
13.8.8 TMRCV 参数寄存器(FLASH_TMRCV) ......................................................................... 366
13.8.9 CR 寄存器(FLASH_CR) ................................................................................................... 367
13.8.10 IFR 寄存器(FLASH_IFR) ................................................................................................. 368
13.8.11 ICLR 寄存器(FLASH_ICLR) ........................................................................................... 368
13.8.12 BYPASS 寄存器(FLASH_BYPASS) ................................................................................ 369
13.8.13 SLOCK 寄存器(FLASH_SLOCK) ................................................................................... 369
14 RAM 控制器(RAM)....................................................................................................................................370
14.1
概述....................................................................................................................................................370
14.2
功能描述............................................................................................................................................370
14.2.1 RAM 地址范围 ....................................................................................................................... 370
14.2.2 读写位宽 ................................................................................................................................. 371
14.2.3 奇偶校验 ................................................................................................................................. 371
14.3
寄存器................................................................................................................................................372
14.3.1 控制寄存器(RAM_CR) ..................................................................................................... 372
14.3.2 奇偶校验出错地址寄存器(RAM_ERRADDR) ............................................................... 373
14.3.3 出错中断标志寄存器(RAM_IFR) .................................................................................... 373
14.3.4 出错中断标志清除寄存器(RAM_ICLR) ......................................................................... 374
15 DMA 控制器(DMAC).................................................................................................................................375
15.1
DMAC 简介.......................................................................................................................................375
15.2
DMAC 主要特性...............................................................................................................................375
15.3
功能框图............................................................................................................................................376
15.4
功能描述............................................................................................................................................377
15.4.1 DMAC 传输模式概述 ............................................................................................................ 377
15.4.2 DMA 软件 Block 传输模式 ................................................................................................... 377
15.4.3 DMA 软件 Burst 传输模式 .................................................................................................... 378
15.4.4 DMA 硬件 Block 传输模式 ................................................................................................... 379
15.4.5 DMA 硬件 Burst 传输模式 .................................................................................................... 380
15.4.6 DMA 传输暂停 ....................................................................................................................... 381
15.4.7 DMA 其它配置 ....................................................................................................................... 382
15.4.7.1 数据宽度........................................................................................................................ 382
15.4.7.2 数据块大小.................................................................................................................... 382
15.4.7.3 数据块个数.................................................................................................................... 382
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 12 of 854
15.4.7.4 通道优先级.................................................................................................................... 382
15.4.7.5 自动重装载.................................................................................................................... 382
15.4.8 DMA 中断 ............................................................................................................................... 383
15.5
寄存器................................................................................................................................................384
15.5.1 DMAC_CONF ........................................................................................................................ 384
15.5.2 DMAC_CONFA0、DMAC_CONFA1 ................................................................................... 385
15.5.3 DMAC_CONFB0、DMAC_CONFB1................................................................................... 387
15.5.4 DMAC_SRCADR0、DMAC_SRCADR1 ............................................................................. 389
15.5.5 DMAC_DSTADR0、DMAC_DSTADR1 .............................................................................. 389
16 通用定时器(TIM0/1/2/3) ............................................................................................................................390
16.1
通用定时器简介................................................................................................................................390
16.1.1 基本特性(TIM0/1/2) ............................................................................................................... 390
16.1.2 基本特性(TIM3) ..................................................................................................................... 392
16.2
Timer 功能描述 ................................................................................................................................393
16.2.1 定时计数器 ............................................................................................................................. 393
16.2.2 定时器预除频 ......................................................................................................................... 393
16.2.3 模式 0 计数定时器功能 ........................................................................................................ 393
16.2.3.1 功能框图........................................................................................................................ 394
16.2.3.2 计数波形........................................................................................................................ 395
16.2.3.3 计数功能........................................................................................................................ 396
16.2.3.4 定时功能........................................................................................................................ 396
16.2.3.5 时序图............................................................................................................................ 396
16.2.3.6 Buzzer 功能 .................................................................................................................... 397
16.2.3.7 设置示例........................................................................................................................ 398
16.2.4 模式 1 脉宽测量 PWC........................................................................................................... 399
16.2.4.1 PWC 功能框图 ............................................................................................................... 399
16.2.4.2 PWC 波形测量时序图 ................................................................................................... 400
16.2.4.3 PWC 单次触发模式 ....................................................................................................... 402
16.2.4.4 设置示例........................................................................................................................ 402
16.2.5 模式 2/3 比较捕获模式 .......................................................................................................... 404
16.2.5.1 计数器............................................................................................................................ 404
16.2.5.2 计数器波形.................................................................................................................... 405
16.2.5.3 重复计数........................................................................................................................ 408
16.2.5.4 数据缓存........................................................................................................................ 409
16.2.5.5 比较输出 OCREF .......................................................................................................... 413
16.2.5.6 独立 PWM 输出 ............................................................................................................ 416
16.2.5.7 互补 PWM 输出 ............................................................................................................ 417
16.2.5.8 有死区的 PWM 输出 .................................................................................................... 418
16.2.5.9 单脉冲输出.................................................................................................................... 419
16.2.5.10 比较中断...................................................................................................................... 420
16.2.5.11 捕获输入...................................................................................................................... 421
16.2.5.12 设置示例...................................................................................................................... 424
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 13 of 854
16.2.6 模式 2/3 从模式 ...................................................................................................................... 427
16.2.6.1 门控计数........................................................................................................................ 427
16.2.6.2 触发功能........................................................................................................................ 428
16.2.6.3 复位计数........................................................................................................................ 428
16.2.7 正交编码计数功能 ................................................................................................................. 429
16.2.8 Timer 触发 ADC ..................................................................................................................... 431
16.2.9 刹车控制 ................................................................................................................................. 432
16.2.10 Timer 互联 ............................................................................................................................. 432
16.2.11 GATE 输入互联 ...................................................................................................................... 433
16.2.12 ETR 输入互联......................................................................................................................... 433
16.2.13 CHx 捕获输入互联................................................................................................................. 434
16.2.14 DMA........................................................................................................................................ 434
16.2.14.1 设置示例...................................................................................................................... 436
16.3
Timer 寄存器描述 ............................................................................................................................437
16.4
模式 0 定时器寄存器描述................................................................................................................438
16.4.1 16 位模式重载寄存器(TIMx_ARR) ................................................................................. 438
16.4.2 16 位模式计数寄存器(TIMx_CNT) ................................................................................. 438
16.4.3 32 位模式计数寄存器(TIMx_CNT32) ............................................................................. 439
16.4.4
控制寄存器(TIMx_M0CR) ............................................................................................... 440
16.4.5 中断标志寄存器(TIMx_IFR) ............................................................................................ 442
16.4.6 中断标志清除寄存器(TIMx_ICLR) ................................................................................. 442
16.4.7 死区时间寄存器(TIMx_DTR) .......................................................................................... 443
16.5
脉冲宽度测量 PWC 寄存器描述 .....................................................................................................444
16.5.1 16 位模式计数寄存器(TIMx_CNT) ................................................................................. 444
16.5.2 控制寄存器(TIMx_M1CR) ............................................................................................... 445
16.5.3 中断标志寄存器(TIMx_IFR) ............................................................................................ 447
16.5.4 中断标志清除寄存器(TIMx_ICLR) ................................................................................. 447
16.5.5 主从模式控制寄存器(TIMx_MSCR) ............................................................................... 448
16.5.6 输出控制滤波(TIMx_FLTR)............................................................................................. 449
16.5.7 控制寄存器(TIMx_CR0)................................................................................................... 450
16.5.8 比较捕获寄存 (TIMx_CCR0A )............................................................................................ 450
16.6
模式 2,3 寄存器描述.........................................................................................................................451
16.6.1 16 位模式重载寄存器(TIMx_ARR) ................................................................................. 451
16.6.2 16 位模式计数寄存器(TIMx_CNT) ................................................................................. 451
16.6.3 控制寄存器(TIMx_M23CR) ............................................................................................. 452
16.6.4 中断标志寄存器(TIMx_IFR) ............................................................................................ 455
16.6.5 中断标志清除寄存器(TIMx_ICLR) ................................................................................. 457
16.6.6 主从模式控制寄存器(TIMx_MSCR) ............................................................................... 458
16.6.7 输出控制/输入滤波(TIMx_FLTR).................................................................................... 460
16.6.8 ADC 触发控制寄存器(TIMx_ADTR).............................................................................. 463
16.6.9 通道 0 控制寄存器(TIMx_CRCH0) ................................................................................. 464
16.6.10 通道 1/2 控制寄存器(TIM3_CRCH1/2)
(仅 TIM3 存在) .............................................. 466
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 14 of 854
16.6.11 死区时间寄存器(TIMx_DTR) .......................................................................................... 468
16.6.12 重复周期设置值(TIMx_RCR) .......................................................................................... 470
16.6.13 通道 0 比较捕获寄存器 (TIMx_CCR0A/B) ......................................................................... 471
16.6.14 通道 1/2 比较捕获寄存器 (TIM3_CCR1/2 A/B) (仅 TIM3 存在)................................. 472
17 低功耗定时器(LPTIM) ...............................................................................................................................473
17.1
LPTimer 简介 ...................................................................................................................................473
17.2
LPTimer 功能描述 ...........................................................................................................................474
17.2.1 计数功能 ................................................................................................................................. 475
17.2.2 定时功能 ................................................................................................................................. 475
17.3
LPTimer 互连 ...................................................................................................................................476
17.3.1 GATE 互联 .............................................................................................................................. 476
17.3.2 EXT 互联 ................................................................................................................................ 476
17.3.3 Toggle 输出互联 ..................................................................................................................... 477
17.4
LPTimer 寄存器描述 .......................................................................................................................478
17.4.1 计数器计数值寄存器(LPTIM_CNT) ............................................................................... 479
17.4.2 重载寄存器(LPTIM_ARR) ............................................................................................... 479
17.4.3 控制寄存器(LPTIM_CR) .................................................................................................. 480
17.4.4 中断标志寄存器(LPTIM_IFR) ......................................................................................... 481
17.4.5 中断标志清除寄存器(LPTIM_ICLR) .............................................................................. 481
18 可编程计数阵列(PCA) ...............................................................................................................................482
18.1
PCA 简介 ...........................................................................................................................................482
18.2
PCA 功能描述 ...................................................................................................................................483
18.2.1 PCA 定时/计数器 ................................................................................................................... 484
18.2.1.1 16 位自由计数模式........................................................................................................ 485
18.2.1.2 16 位重载计数模式........................................................................................................ 485
18.2.2 PCA 捕获功能 ........................................................................................................................ 487
18.2.3 PCA 比较功能 ........................................................................................................................ 489
18.2.3.1 比较翻转输出模式........................................................................................................ 489
18.2.3.2 PCA 16 位 PWM 功能 ................................................................................................... 491
18.2.3.3 PCA 模块 4 的 WDT 功能............................................................................................. 492
18.2.3.4 PCA 8 位 PWM 功能 ..................................................................................................... 493
18.3
PCA 模块与其他模块互连及控制 ...................................................................................................496
18.4
PCA 寄存器描述 ...............................................................................................................................497
18.4.1 控制寄存器(PCA_CCON) ................................................................................................ 498
18.4.2 模式寄存器(PCA_CMOD)................................................................................................ 499
18.4.3 计数寄存器(PCA_CNT) ................................................................................................... 500
18.4.4 中断清除寄存器(PCA_ICLR) .......................................................................................... 500
18.4.5 比较捕获模式寄存器(PCA_CCAPM0~4) ....................................................................... 501
18.4.6 比较捕获数据寄存器高 8 位(PCA_CCAP0~4H) ............................................................ 502
18.4.7 比较捕获数据寄存器低 8 位(PCA_CCAP0~4L)............................................................. 502
18.4.8 比较捕获 16 位寄存器(PCA_CCAP0~4) ......................................................................... 503
18.4.9 比较高速输出标志寄存器(PCA_CCAPO) ...................................................................... 503
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 15 of 854
18.4.10 周期寄存器(PCA_CARR)................................................................................................. 504
18.4.11 增强 PWM 控制(PCA_EPWM) ........................................................................................ 504
19 高级定时器(TIM4/5/6) ...............................................................................................................................505
19.1
Advanced Timer 简介 .......................................................................................................................505
19.2
Advanced Timer 功能描述 ...............................................................................................................507
19.2.1 基本动作 ................................................................................................................................. 507
19.2.1.1 基本波形模式................................................................................................................ 507
19.2.1.2 比较输出........................................................................................................................ 508
19.2.1.3 捕获输入........................................................................................................................ 509
19.2.2 时钟源选择 ............................................................................................................................. 509
19.2.3 计数方向 ................................................................................................................................. 510
19.2.3.1 锯齿波计数方向............................................................................................................ 510
19.2.3.2 三角波计数方向............................................................................................................ 510
19.2.4 数字滤波 ................................................................................................................................. 510
19.2.5 软件同步 ..................................................................................................................................511
19.2.5.1 软件同步启动.................................................................................................................511
19.2.5.2 软件同步停止................................................................................................................ 512
19.2.5.3 软件同步清零................................................................................................................ 512
19.2.6 硬件同步 ................................................................................................................................. 512
19.2.6.1 硬件同步启动................................................................................................................ 512
19.2.6.2 硬件同步停止................................................................................................................ 512
19.2.6.3 硬件同步清零................................................................................................................ 513
19.2.6.4 硬件同步捕获输入........................................................................................................ 513
19.2.6.5 硬件同步计数................................................................................................................ 514
19.2.7 缓存功能 ................................................................................................................................. 515
19.2.7.1 缓存传送时间点............................................................................................................ 516
19.2.7.2 通用周期基准值缓存传送时间点 ................................................................................ 516
19.2.7.3 通用比较基准值缓存传送时间点 ................................................................................ 516
19.2.7.4 捕获输入值缓存传送时间点........................................................................................ 516
19.2.7.5 清零动作时缓存传送.................................................................................................... 516
19.2.8 通用 PWM 输出...................................................................................................................... 517
19.2.8.1 PWM 展频输出 .............................................................................................................. 517
19.2.8.2 独立 PWM 输出 ............................................................................................................ 517
19.2.8.3 互补 PWM 输出 ............................................................................................................ 518
19.2.8.4 多相 PWM 输出 ............................................................................................................ 520
19.2.9 正交编码计数 ......................................................................................................................... 522
19.2.9.1 位置计数模式................................................................................................................ 522
19.2.9.2 公转模式........................................................................................................................ 525
19.2.10 周期间隔响应 ......................................................................................................................... 528
19.2.11 保护机制 ................................................................................................................................. 528
19.2.12 中断说明 ................................................................................................................................. 529
19.2.12.1 计数比较匹配中断...................................................................................................... 529
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 16 of 854
19.2.12.2 计数周期匹配中断...................................................................................................... 529
19.2.12.3 死区时间错误中断...................................................................................................... 529
19.2.13 DMA........................................................................................................................................ 530
19.2.14 刹车保护 ................................................................................................................................. 530
19.2.14.1 端口刹车与软件刹车.................................................................................................. 530
19.2.14.2 低功耗模式自动刹车.................................................................................................. 531
19.2.14.3 输出电平同高同低刹车.............................................................................................. 531
19.2.14.4 VC 刹车 ....................................................................................................................... 531
19.2.15 内部互连 ................................................................................................................................. 533
19.2.15.1 中断触发输出.............................................................................................................. 533
19.2.15.2 AOS 触发..................................................................................................................... 534
19.2.15.3 端口触发 TRIGA-TRIGD .......................................................................................... 535
19.2.15.4 比较输出 VC 与 Advanced Timer 互连.................................................................. 535
19.3
寄存器描述........................................................................................................................................536
19.3.1 通用计数基准值寄存器 (TIMx_CNTER) ............................................................................ 538
19.3.2
通用周期基准值寄存器(TIMx_PERAR) ......................................................................... 538
19.3.3 通用周期缓存寄存器(TIMx_PERBR) ............................................................................. 539
19.3.4 通用比较基准值寄存器(TIMx_GCMAR-GCMDR)........................................................ 539
19.3.5 专用比较基准值寄存器(TIMx_SCMAR-SCMBR) ......................................................... 540
19.3.6 死区时间基准值寄存器(TIMx_DTUAR- DTDAR) ........................................................ 540
19.3.7 通用控制寄存器(TIMx_GCONR) .................................................................................... 541
19.3.8 中断控制寄存器(TIMx_ICONR)...................................................................................... 543
19.3.9 端口控制寄存器(TIMx_PCONR)..................................................................................... 545
19.3.10 缓存控制寄存器(TIMx_BCONR) .................................................................................... 548
19.3.11 死区控制寄存器(TIMx_DCONR) .................................................................................... 549
19.3.12 滤波控制寄存器(TIMx_FCONR)..................................................................................... 550
19.3.13 有效周期寄存器(TIMx_VPERR) ..................................................................................... 552
19.3.14 状态标志寄存器(TIMx_STFLR) ...................................................................................... 553
19.3.15 硬件启动事件选择寄存器(TIMx_HSTAR) ..................................................................... 555
19.3.16 硬件停止事件选择寄存器(TIMx_HSTPR)...................................................................... 557
19.3.17 硬件清零事件选择寄存器(TIMx_HCELR) ..................................................................... 559
19.3.18 硬件捕获 A 事件选择寄存器(TIMx_HCPAR) ................................................................ 561
19.3.19 硬件捕获 B 事件选择寄存器(TIMx_HCPBR) ................................................................ 563
19.3.20 硬件递加事件选择寄存器(TIMx_HCUPR) ..................................................................... 565
19.3.21 硬件递减事件选择寄存器(TIMx_HCDOR) .................................................................... 567
19.3.22 软件同步启动寄存器(TIMx_SSTAR) .............................................................................. 569
19.3.23 软件同步停止寄存器(TIMx_SSTPR) .............................................................................. 570
19.3.24 软件同步清零寄存器(TIMx_SCLRR) ............................................................................. 571
19.3.25 中断标志寄存器(TIMx_IFR) ............................................................................................ 572
19.3.26 中断标志清除寄存器(TIMx_ICLR) ................................................................................. 574
19.3.27 展频及中断触发选择(TIMx_CR)..................................................................................... 575
19.3.28 AOS 选择控制寄存器(TIMx_AOSSR) ............................................................................ 577
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 17 of 854
19.3.29 AOS 选择控制寄存器标志清除(TIMx_AOSCL) ............................................................ 578
19.3.30 端口刹车控制寄存器(TIMx_PTBKS).............................................................................. 579
19.3.31 端口触发控制寄存器(TIMx_TTRIG) .............................................................................. 580
19.3.32 AOS 触发控制寄存器(TIMx_ITRIG) ............................................................................. 581
19.3.33 端口刹车极性控制寄存器(TIMx_PTBKP)...................................................................... 582
20 实时时钟(RTC) ...........................................................................................................................................583
20.1
实时时钟简介....................................................................................................................................583
20.2
实时时钟功能描述............................................................................................................................585
20.2.1 上电设定 ................................................................................................................................. 585
20.2.2 RTC 计数开始设定................................................................................................................ 585
20.2.3 系统低功耗模式切换 ............................................................................................................. 585
20.2.4 读出计数寄存器 ..................................................................................................................... 586
20.2.5 写入计数寄存器 ..................................................................................................................... 586
20.2.6 闹钟设定 ................................................................................................................................. 587
20.2.7 1Hz 输出 ................................................................................................................................ 587
20.2.8 时钟误差补偿 ......................................................................................................................... 588
20.3
RTC 中断 ..........................................................................................................................................590
20.3.1 RTC 闹钟中断........................................................................................................................ 590
20.3.2 RTC 周期中断........................................................................................................................ 590
20.4
RTC 寄存器描述 ..............................................................................................................................591
20.4.1 控制寄存器 0(RTC_CR0) ................................................................................................. 592
20.4.2 控制寄存器 1(RTC_CR1) ................................................................................................. 594
20.4.3 秒计数寄存器(RTC_SEC) ................................................................................................ 596
20.4.4 分计数寄存器(RTC_MIN) ................................................................................................ 596
20.4.5 时计数寄存器(RTC_HOUR) ............................................................................................ 597
20.4.6 日计数寄存器(RTC_DAY) ............................................................................................... 599
20.4.7 周计数寄存器(RTC_WEEK) ............................................................................................ 600
20.4.8 月计数寄存器(RTC_MON) .............................................................................................. 601
20.4.9 年计数寄存器(RTC_YEAR) ............................................................................................. 601
20.4.10 分闹钟寄存器(RTC_ALMMIN) ....................................................................................... 602
20.4.11 时闹钟寄存器(RTC_ALMHOUR).................................................................................... 602
20.4.12 周闹钟寄存器(RTC_ALMWEEK) ................................................................................... 603
20.4.13 时钟误差补偿寄存器(RTC_COMPEN) ........................................................................... 604
21 看门狗定时器(WDT)..................................................................................................................................606
21.1
WDT 简介.........................................................................................................................................606
21.2
WDT 功能描述.................................................................................................................................607
21.2.1 WDT 溢出后产生中断 ........................................................................................................... 607
21.2.2 WDT 溢出后产生复位 ........................................................................................................... 607
21.3
WDT 寄存器描述.............................................................................................................................609
21.3.1 WDT 清除控制寄存器(WDT_RST) ................................................................................ 609
21.3.2 WDT_CON 寄存器................................................................................................................ 610
22 脉冲计数器(PCNT).....................................................................................................................................611
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 18 of 854
22.1
脉冲计数器简介................................................................................................................................ 611
22.2
脉冲计数器主要特性........................................................................................................................ 611
22.3
脉冲计数器功能描述........................................................................................................................612
22.3.1 整体框图 ................................................................................................................................. 612
22.3.2 信号说明 ................................................................................................................................. 612
22.3.3 计数模式 ................................................................................................................................. 613
22.3.3.1 单通道脉冲计数模式 (Single Mode) ..................................................................... 613
22.3.3.2 双通道非交脉冲计数模式 (Dual Mode)................................................................ 614
22.3.3.3 双通道正交脉冲记数模式 (Quad Mode) ............................................................... 615
22.3.4
脉冲宽度滤波 ......................................................................................................................... 617
22.3.5 超时 ......................................................................................................................................... 617
22.3.6 低功耗模式下的自动唤醒定时器 ......................................................................................... 618
22.4
PCNT 寄存器描述 ...........................................................................................................................619
22.4.1 PCNT 启动寄存器(PCNT_RUN) .......................................................................................... 620
22.4.2 PCNT 控制寄存器(PCNT_CTRL) ........................................................................................ 621
22.4.3 PCNT 滤波控制寄存器(PCNT_FLT).................................................................................... 622
22.4.4
PCNT 超时控制寄存器(PCNT_TOCR) ................................................................................ 623
22.4.5 PCNT 命令寄存器(PCNT_CMD) ......................................................................................... 624
22.4.6 PCNT 状态寄存器 1(PCNT_SR1) ........................................................................................ 625
22.4.7 PCNT 计数寄存器(PCNT_CNT) .......................................................................................... 625
22.4.8 PCNT 计数溢出寄存器(PCNT_TOP) ................................................................................... 626
22.4.9 PCNT 计数溢出缓存寄存器(PCNT_BUF)........................................................................... 626
22.4.10 PCNT 中断标识寄存器(PCNT_IFR) .................................................................................... 627
22.4.11 PCNT 中断清除寄存器(PCNT_ICR).................................................................................... 628
22.4.12 PCNT 中断使能寄存器(PCNT_IEN).................................................................................... 628
22.4.13 PCNT 同步状态寄存器(PCNT_SR2) ................................................................................... 629
23 通用同步异步收发器(UART) ....................................................................................................................630
23.1
简介....................................................................................................................................................630
23.2
主要特性............................................................................................................................................631
23.3
功能描述............................................................................................................................................632
23.3.1 工作模式 ................................................................................................................................. 632
23.3.1.1 Mode0~Mode3 功能对比 ............................................................................................... 632
23.3.1.2 Mode0 数据收发说明 .................................................................................................... 633
23.3.1.3 Mode1 数据收发说明 .................................................................................................... 634
23.3.1.4 Mode2 数据收发说明 .................................................................................................... 635
23.3.1.5 Mode3 数据收发说明 .................................................................................................... 636
23.3.2 波特率生成 ............................................................................................................................. 637
23.3.2.1 Mode1/Mode3 波特率设置示例 .................................................................................... 637
23.3.3 帧错误检测 ............................................................................................................................. 640
23.3.4 多机通讯 ................................................................................................................................. 640
23.3.4.1 给定地址........................................................................................................................ 641
23.3.4.2 广播地址........................................................................................................................ 641
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 19 of 854
23.3.4.3 举例................................................................................................................................ 641
23.3.5 DMAC 硬件握手 .................................................................................................................... 642
23.3.6 硬件流控 ................................................................................................................................. 642
23.3.7 收发端缓存 ............................................................................................................................. 644
23.4
寄存器................................................................................................................................................646
23.4.1 数据寄存器(UARTx_SBUF)............................................................................................. 646
23.4.2 控制寄存器(UARTx_SCON) ............................................................................................ 647
23.4.3 地址寄存器(UARTx_SADDR) ......................................................................................... 649
23.4.4 地址掩码寄存器(UARTx_SADEN) ................................................................................. 649
23.4.5 标志位寄存器(UARTx_ISR) ............................................................................................ 650
23.4.6 标志位清除寄存器(UARTx_ICR) .................................................................................... 651
23.4.7 波特率寄存器(UARTx_SCNT) ........................................................................................ 652
24 低功耗同步异步收发器(LPUART) ...........................................................................................................653
24.1
简介....................................................................................................................................................653
24.2
主要特性............................................................................................................................................654
24.3
功能描述............................................................................................................................................655
24.3.1 配置时钟和传输时钟 ............................................................................................................. 655
24.3.2 工作模式 ................................................................................................................................. 655
24.3.2.1 Mode0~Mode3 功能对比 ............................................................................................... 655
24.3.2.2 Mode0 数据收发说明 .................................................................................................... 657
24.3.2.3 Mode1 数据收发说明 .................................................................................................... 658
24.3.2.4 Mode2 数据收发说明 .................................................................................................... 658
24.3.2.5 Mode3 数据收发说明 .................................................................................................... 659
24.3.3 波特率生成 ............................................................................................................................. 660
24.3.3.1 Mode1/Mode3 波特率设置示例 .................................................................................... 660
24.3.4 帧错误检测 ............................................................................................................................. 663
24.3.5 多机通讯 ................................................................................................................................. 664
24.3.5.1 给定地址........................................................................................................................ 664
24.3.5.2 广播地址........................................................................................................................ 665
24.3.5.3 举例................................................................................................................................ 665
24.3.6 DMAC 硬件握手 .................................................................................................................... 665
24.3.7 硬件流控 ................................................................................................................................. 666
24.3.8 收发端缓存 ............................................................................................................................. 668
24.4
寄存器................................................................................................................................................670
24.4.1 数据寄存器(LPUARTx_SBUF) ........................................................................................ 670
24.4.2 控制寄存器(LPUARTx_SCON) ....................................................................................... 671
24.4.3 地址寄存器(LPUARTx_SADDR) .................................................................................... 673
24.4.4 地址掩码寄存器(LPUARTx_SADEN)............................................................................. 673
24.4.5
标志位寄存器(LPUARTx_ISR) ........................................................................................ 674
24.4.6 标志位清除寄存器(LPUARTx_ICR) ............................................................................... 675
24.4.7 波特率寄存器(LPUARTx_SCNT) .................................................................................... 676
25 循环冗余校验(CRC) ...................................................................................................................................677
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 20 of 854
25.1
概述....................................................................................................................................................677
25.2
主要特性............................................................................................................................................677
25.3
功能描述............................................................................................................................................677
25.3.1 工作模式 ................................................................................................................................. 677
25.3.2 编码方式 ................................................................................................................................. 677
25.3.3 写入位宽 ................................................................................................................................. 678
25.4
编程示例............................................................................................................................................678
25.4.1 CRC-16 编码模式 ................................................................................................................... 678
25.4.2 CRC-16 检验模式 ................................................................................................................... 678
25.4.3 CRC-32 编码模式 ................................................................................................................... 678
25.4.4 CRC-32 检验模式 ................................................................................................................... 679
25.5
寄存器描述........................................................................................................................................680
25.5.1 寄存器列表 ............................................................................................................................. 680
25.5.2 控制寄存器(CRC_CR) ...................................................................................................... 680
25.5.3 结果寄存器(CRC_RESULT)............................................................................................. 681
25.5.4 数据寄存器(CRC_DATA) ................................................................................................. 681
26 真随机数发生器(TRNG) ............................................................................................................................682
26.1
概述....................................................................................................................................................682
26.2
功能框图............................................................................................................................................682
26.3
功能描述............................................................................................................................................682
26.4
寄存器................................................................................................................................................683
26.4.1 控制寄存器(TRNG_CR) ................................................................................................... 683
26.4.2 模式寄存器(TRNG_MODE)............................................................................................. 684
26.4.3 数据寄存器 0(TRNG_DATA0) ......................................................................................... 685
26.4.4 数据寄存器 1(TRNG_DATA1) ......................................................................................... 685
26.5
软件基本操作....................................................................................................................................686
26.5.1 生成 64bits 真随机数的操作流程(上电第一次) .............................................................. 686
26.5.2 生成 64bits 真随机数的操作流程(非上电第一次生成) .................................................. 687
27 高级加密标准模块(AES) ...........................................................................................................................688
27.1
功能定义............................................................................................................................................688
27.1.1 AES 算法简述......................................................................................................................... 688
27.1.2 AES 模块功能描述................................................................................................................. 690
27.2
模块寄存器说明................................................................................................................................691
27.2.1 控制寄存器(AES_CR) ...................................................................................................... 691
27.2.2 数据寄存器(AES_Data) .................................................................................................... 692
27.2.3 密钥寄存器(AES_Key) ..................................................................................................... 693
27.3
异常机制............................................................................................................................................694
27.4
本模块操作说明................................................................................................................................695
27.4.1 IP 操作的共同点..................................................................................................................... 695
27.4.2 加密操作流程 ......................................................................................................................... 695
27.4.3 解密操作流程 ......................................................................................................................... 695
27.4.4 数据示例 ................................................................................................................................. 696
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 21 of 854
27.5
运行时间说明....................................................................................................................................697
28 液晶控制器(LCD) .......................................................................................................................................698
28.1
LCD 简介...........................................................................................................................................698
28.2
LCD 主要特性...................................................................................................................................698
28.3
LCD 框图...........................................................................................................................................699
28.4
LCD 驱动波形...................................................................................................................................700
28.4.1 静态驱动波形 ......................................................................................................................... 700
28.4.2 1/2Duty 1/2Bias 驱动波形 ...................................................................................................... 701
28.4.3 1/2Duty 1/3Bias 驱动波形 ...................................................................................................... 702
28.4.4 1/3Duty 1/2Bias 驱动波形 ...................................................................................................... 703
28.4.5 1/3Buty 1/3Bias 驱动波形 ...................................................................................................... 704
28.4.6 1/4Duty 1/2Bias 驱动波形 ...................................................................................................... 705
28.4.7 1/4Duty 1/3Bias 驱动波形 ...................................................................................................... 706
28.4.8 1/6Duty 1/3Bias 驱动波形 ...................................................................................................... 707
28.4.9 1/8Duty 1/3Bias 驱动波形 ...................................................................................................... 708
28.5
LCD Bias 产生电路...........................................................................................................................709
28.5.1 内部电阻模式 ......................................................................................................................... 709
28.5.2 外部电容模式 ......................................................................................................................... 710
28.5.3 外部电阻模式 ..........................................................................................................................711
28.6
DMA ..................................................................................................................................................712
28.7
中断....................................................................................................................................................712
28.8
LCD 显示模式..................................................................................................................................712
28.8.1 LCD 显示模式 1 (MODE = 1)............................................................................................... 713
28.8.2 LCD 显示模式 0 (MODE = 0)............................................................................................... 714
28.9
LCD 寄存器......................................................................................................................................715
28.9.1 配置寄存器 0(LCD_CR0) ................................................................................................. 716
28.9.2 配置寄存器 1(LCD_CR1) ................................................................................................. 718
28.9.3 中断清除寄存器(LCD_INTCLR) ..................................................................................... 719
28.9.4 输出配置寄存器 0(LCD_POEN0) .................................................................................... 719
28.9.5 输出配置寄存器 1(LCD_POEN1) .................................................................................... 720
28.9.6 LCD_RAM0~7 ........................................................................................................................ 722
28.9.7 LCD_RAM8~F........................................................................................................................ 723
29 模数转换器(ADC) ......................................................................................................................................724
29.1
模块简介............................................................................................................................................724
29.2
ADC 框图 ...........................................................................................................................................725
29.3
转换时序及转换速度........................................................................................................................726
29.4
单次转换模式....................................................................................................................................727
扫描转换模式 ...................................................................................................................................729
29.5
29.5.1 顺序扫描转换模式 ................................................................................................................. 729
29.5.2 插队扫描转换模式 ................................................................................................................. 731
29.5.3 扫描转换触发 DMA 读取 ...................................................................................................... 735
29.6
连续转换累加模式............................................................................................................................736
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 22 of 854
29.7
ADC 转换外部触发源......................................................................................................................739
29.8
ADC 转换结果比较 ..........................................................................................................................740
29.9
ADC 中断 ..........................................................................................................................................741
29.10
使用温度传感器测量环境温度........................................................................................................742
29.11
ADC 模块寄存器 .............................................................................................................................744
29.11.1 ADC 基本配置寄存器 0(ADC_CR0) .............................................................................. 746
29.11.2 ADC 基本配置寄存器 1(ADC_CR1) .............................................................................. 748
29.11.3 ADC 顺序扫描转换通道配置寄存器 0(ADC_SQR0) .................................................... 750
29.11.4 ADC 顺序扫描转换通道配置寄存器 1(ADC_SQR1) .................................................... 751
29.11.5 ADC 顺序扫描转换通道配置寄存器 2(ADC_SQR2) .................................................... 752
29.11.6 ADC 插队扫描转换通道配置寄存器(ADC_JQR).......................................................... 753
29.11.7 ADC 顺序扫描转换通道 x 转换结果(ADC_SqrResult0 - 15)........................................ 753
29.11.8 ADC 插队扫描转换通道 x 转换结果(ADC_JqrResult0 - 3) .......................................... 754
29.11.9 ADC 转换结果(ADC_Result) .......................................................................................... 754
29.11.10 ADC 转换结果累加值(ADC_ResultAcc) ........................................................................ 755
29.11.11 ADC 比较上阈值(ADC_HT) ........................................................................................... 755
29.11.12 ADC 比较下阈值(ADC_LT) ............................................................................................ 756
29.11.13 ADC 中断标志寄存器(ADC_IFR) .................................................................................. 757
29.11.14 ADC 中断清除寄存器(ADC_ICR) .................................................................................. 758
29.11.15 ADC 单次转换或顺序扫描转换外部中断触发源配置寄存器(ADC_ExtTrigger0)...... 759
29.11.16 ADC 插队扫描转换外部中断触发源配置寄存器(ADC_ExtTrigger1) ......................... 761
29.11.17 ADC 单次转换启动控制寄存器(ADC_SglStart)............................................................ 763
29.11.18 ADC 顺序扫描转换启动控制寄存器(ADC_SqrStart).................................................... 763
29.11.19 ADC 插队扫描转换启动控制寄存器(ADC_JqrStart) .................................................... 764
30 模拟比较器(VC) .........................................................................................................................................765
30.1
模拟电压比较器 VC 简介 ..............................................................................................................765
30.2
电压比较器框架图............................................................................................................................766
30.3
建立/响应时间 ..................................................................................................................................766
30.4
滤波时间............................................................................................................................................767
30.5
迟滞功能............................................................................................................................................767
30.6
VC 寄存器 ........................................................................................................................................768
30.6.1 VC 配置寄存器(VC_CR) ................................................................................................. 769
30.6.2 VC0 配置寄存器(VC0_CR) ............................................................................................. 771
30.6.3 VC1 配置寄存器(VC1_CR) ............................................................................................. 773
30.6.4 VC0 输出配置寄存器(VC0_OUT_CFG) ........................................................................ 775
30.6.5 VC1 输出配置寄存器(VC1_ OUT_CFG) ....................................................................... 777
30.6.6 VC 中断寄存器(VC_IFR) ................................................................................................ 779
31 低电压检测器(LVD)...................................................................................................................................780
31.1
LVD 简介..........................................................................................................................................780
31.2
LVD 框图..........................................................................................................................................780
31.3
迟滞功能............................................................................................................................................781
31.4
数字滤波............................................................................................................................................781
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 23 of 854
31.5
配置示例............................................................................................................................................782
31.5.1 LVD 配置为低电压复位 ....................................................................................................... 782
31.5.2 LVD 配置为电压变化中断 ................................................................................................... 782
31.6
LVD 寄存器......................................................................................................................................783
31.6.1 LVD 配置寄存器(LVD_CR) ............................................................................................ 783
31.6.2 LVD 中断寄存器(LVD_IFR) ........................................................................................... 785
32 运算放大器(OPA) .......................................................................................................................................786
32.1
OPA 特性 ..........................................................................................................................................786
32.2
OPA 功能描述 ..................................................................................................................................787
32.2.1 PGA 功能 ................................................................................................................................ 787
32.2.2 运放功能 ................................................................................................................................. 787
32.3
配置....................................................................................................................................................788
32.3.1 PGA 增益 ............................................................................................................................... 788
32.3.2 单位增益 PGA ....................................................................................................................... 789
32.3.3 正向输入 PGA ....................................................................................................................... 789
32.3.4 反向输入 PGA ....................................................................................................................... 790
32.3.5 级联反向输入 PGA ............................................................................................................... 791
32.3.6 级联正向输入 PGA ............................................................................................................... 792
32.3.7 两运放差分 PGA ................................................................................................................... 793
32.3.8 通用运放配置 ......................................................................................................................... 794
32.4
OPA 寄存器 ......................................................................................................................................795
32.4.1 OPA 配置寄存器(OPA_CR0) ........................................................................................... 796
32.4.2 OPA 配置寄存器(OPA_CR1) ........................................................................................... 798
32.4.3 OPA 配置寄存器(OPA_CR2) ........................................................................................... 800
33 模拟其它寄存器 ...............................................................................................................................................802
33.1
BGR 配置寄存器(BGR_CR) ......................................................................................................802
34 SWD 调试接口 ................................................................................................................................................803
34.1
SWD 调试附加功能.........................................................................................................................803
34.2
ARM® 参考文档 .............................................................................................................................804
34.3
调试端口引脚....................................................................................................................................805
34.3.1 SWD 端口引脚 ...................................................................................................................... 805
34.3.2 SW-DP 引脚分配................................................................................................................... 805
34.3.3 SWD 引脚上的内部上拉 ...................................................................................................... 805
34.4
SWD 端口.........................................................................................................................................806
34.4.1 SWD 协议简介 ...................................................................................................................... 806
34.4.2 SWD 协议序列 ...................................................................................................................... 806
34.4.3 SW-DP 状态机(复位、空闲状态、ID 代码) ................................................................. 807
34.4.4 DP 和 AP 读/写访问 ............................................................................................................ 807
34.4.5 SW-DP 寄存器 ....................................................................................................................... 808
34.4.6 SW-AP 寄存器 ....................................................................................................................... 809
34.5
内核调试............................................................................................................................................810
34.6
BPU(断点单元) ............................................................................................................................810
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 24 of 854
34.6.1 BPU 功能 ............................................................................................................................... 810
34.7
DWT(数据观察点)....................................................................................................................... 811
34.7.1 DWT 功能 ...............................................................................................................................811
34.7.2 DWT 程序计数器采样寄存器 ...............................................................................................811
34.8
MCU 调试组件(DBG) ................................................................................................................812
34.8.1 对低功耗模式的调试支持 ..................................................................................................... 812
34.8.2 对定时器、看门狗的调试支持 ............................................................................................. 812
34.9
调试模式模块工作状态控制(DEBUG_ACTIVE)......................................................................813
35 典型应用电路图 ...............................................................................................................................................815
36 电气特性...........................................................................................................................................................816
36.1
测试条件............................................................................................................................................816
36.1.1 最小和最大数值 ..................................................................................................................... 816
36.1.2 典型数值 ................................................................................................................................. 816
36.2
绝对最大额定值................................................................................................................................817
36.3
工作条件............................................................................................................................................819
36.3.1 通用工作条件 ......................................................................................................................... 819
36.3.2 上电和掉电时的工作条件 ..................................................................................................... 819
36.3.3 内嵌复位和 LVD 模块特性 ................................................................................................... 820
36.3.4 内置的参考电压 ..................................................................................................................... 822
36.3.5 供电电流特性 ......................................................................................................................... 822
36.3.6 从低功耗模式唤醒的时间 ..................................................................................................... 826
36.3.7 外部时钟源特性 ..................................................................................................................... 827
36.3.7.1 外部输入高速时钟........................................................................................................ 827
36.3.7.2 外部输入低速时钟........................................................................................................ 827
36.3.7.3 高速外部时钟 XTH ...................................................................................................... 828
36.3.7.4 低速外部时钟 XTL ....................................................................................................... 829
36.3.8 内部时钟源特性 ..................................................................................................................... 831
36.3.8.1 内部 RCH 振荡器 ........................................................................................................ 831
36.3.8.2 内部 RCL 振荡器 ......................................................................................................... 831
36.3.9 PLL 特性 ................................................................................................................................. 832
36.3.10 存储器特性 ............................................................................................................................. 832
36.3.11 EFT 特性 ................................................................................................................................. 832
36.3.12 ESD 特性................................................................................................................................. 833
36.3.13 I/O 端口特性 ........................................................................................................................... 833
36.3.13.1 输出特性——端口...................................................................................................... 833
36.3.13.2 输入特性——端口 PA,PB,PC,PD, RESET ............................................................... 834
36.3.13.3 端口外部输入采样要求——Timer Gate/Timer Clock .............................................. 835
36.3.13.4 端口漏电特性——PA,PB,PC,PD ............................................................................... 835
36.3.14 RESETB 引脚特性 ................................................................................................................. 836
36.3.15 ADC 特性................................................................................................................................ 836
36.3.16 VC 特性................................................................................................................................... 839
36.3.17 OPA 特性 ................................................................................................................................ 840
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 25 of 854
36.3.18 LCD 控制器 ............................................................................................................................ 840
37 器件电子签名 ...................................................................................................................................................841
37.1
产品唯一身份标识(UID)寄存器(80 位) ...............................................................................841
37.2
产品型号寄存器................................................................................................................................842
37.3
FLASH 容量寄存器 ..........................................................................................................................842
37.4
RAM 容量寄存器..............................................................................................................................843
37.5
管脚数量寄存器................................................................................................................................843
38 封装尺寸...........................................................................................................................................................844
39 附录 A SysTick 定时器 ................................................................................................................................850
39.1
SysTick 定时器简介 ........................................................................................................................850
39.2
设置 SysTick .....................................................................................................................................850
39.3
SysTick 寄存器 ................................................................................................................................851
39.3.1 SysTick 控制和状态寄存器(CTRL) ................................................................................ 851
39.3.2 SysTick 重载寄存器(LOAD) ........................................................................................... 852
39.3.3 SysTick 当前值寄存器(VAL)........................................................................................... 852
39.3.4 SysTick 校准值寄存器(CALIB) ...................................................................................... 852
40 附录 B 文档约定 ...........................................................................................................................................853
40.1
寄存器相关缩写词列表....................................................................................................................853
40.2
词汇表................................................................................................................................................853
版本记录 & 联系方式 ...........................................................................................................................................854
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 26 of 854
表目录
表 3-1 地址划分表 ................................................................................................................................................ 68
表 4-1 运行模式下可运行模块图 ........................................................................................................................ 71
表 4-2 休眠模式下可运行模块图 ........................................................................................................................ 74
表 4-3 深度休眠模式下可运行模块图 ................................................................................................................ 76
表 7-1 Cortex-M0+ 处理器中断一览 .................................................................................................................112
表 7-2 外部中断与 NVIC 中断输入对应关系................................................................................................. 120
表 8-1 端口状态真值表 ...................................................................................................................................... 140
表 8-2 端口数字功能复用表 .............................................................................................................................. 144
表 9-1 I2C 时钟信号波特率 .............................................................................................................................. 290
表 9-2 I2C 状态码表述 ...................................................................................................................................... 299
表 9-3 寄存器列表 .............................................................................................................................................. 303
表 10-1 SPI 管脚配置说明表 ............................................................................................................................. 317
表 10-2 SPI 寄存器列表 ..................................................................................................................................... 321
表 10-3 主机模式波特率选择 ............................................................................................................................ 323
表 11-1
寄存器列表 ............................................................................................................................................ 337
表 12-1 寄存器列表 ............................................................................................................................................ 347
表 13-1 FLASH 容量划分 .................................................................................................................................. 351
表 13-2 不同频率下 FLASH 擦写时间参数...................................................................................................... 358
表 14-1 RAM 地址映射 ...................................................................................................................................... 370
表 14-2 寄存器基地址 ........................................................................................................................................ 372
表 16-1 Timer 寄存器列表................................................................................................................................. 437
表 17-1 LPTimer 寄存器列表 ............................................................................................................................ 478
表 18-1 PCA 比较捕获功能模块设置............................................................................................................... 495
表 18-2 PCA 寄存器列表 ................................................................................................................................... 497
表 19-1 Advanced Timer 基本特性 ................................................................................................................... 505
表 19-2 Advanced Timer 端口列表 ................................................................................................................... 505
表 19-3 AOS 源选择 ........................................................................................................................................... 534
表 19-4 端口触发选择 ........................................................................................................................................ 535
表 19-5 Advanced Timer 寄存器列表 ............................................................................................................... 537
表 20-1 RTC 的基本特性................................................................................................................................... 583
表 20-2 RTC 寄存器列表................................................................................................................................... 591
表 21-1 WDT 寄存器列表 ................................................................................................................................. 609
表 22-1 寄存器列表 ............................................................................................................................................ 619
表 23-1 Mode0/1/2/3 数据结构........................................................................................................................... 632
表 23-2
B8 数据含义 .......................................................................................................................................... 633
表 23-3 PCLK=4MHz 波特率计算表................................................................................................................. 637
表 23-4 PCLK=8MHz 波特率计算表................................................................................................................. 638
表 23-5 PCLK=16MHz 波特率计算表............................................................................................................... 638
表 23-6
PCLK=24MHz 波特率计算表............................................................................................................... 639
表 23-7 PCLK=32MHz 波特率计算表............................................................................................................... 639
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 27 of 854
表 23-8 PCLK=48MHz 波特率计算表............................................................................................................... 640
表 24-1 Mode0/1/2/3 数据结构........................................................................................................................... 656
表 24-2 B8 数据含义 .......................................................................................................................................... 656
表 24-3 SCL 为 4MHz 波特率计算表................................................................................................................ 660
表 24-4 SCLK 为 8MHz 波特率计算表 ............................................................................................................. 661
表 24-5 SCLK 为 16MHz 波特率计算表 ........................................................................................................... 661
表 24-6 SCLK 为 24MHz 波特率计算表 ........................................................................................................... 662
表 24-7
SCLK 为 32MHz 波特率计算表 ........................................................................................................... 662
表 24-8 SCLK 为 48MHz 波特率计算表 ........................................................................................................... 663
表 27-1 寄存器列表 ............................................................................................................................................ 691
表 27-2 寄存器示例 ............................................................................................................................................ 696
表 27-3 AES 加解密运行时间............................................................................................................................ 697
表 28-1 LCD 寄存器 .......................................................................................................................................... 715
表 29-1 ADC 寄存器........................................................................................................................................... 745
表 30-1 VC 寄存器............................................................................................................................................. 768
表 31-1 LVD 寄存器 .......................................................................................................................................... 783
表 32-1 OPA 寄存器........................................................................................................................................... 795
表 36-1 工作电流特性 ........................................................................................................................................ 826
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 28 of 854
图目录
图 1-1 功能模块 .................................................................................................................................................... 36
图 2-1 引脚配置图 ................................................................................................................................................ 54
图 3-1 系统架构示意图 ........................................................................................................................................ 65
图 3-2 地址区域划分示意图 ................................................................................................................................ 66
图 4-1 控制模式框图 ............................................................................................................................................ 69
图 5-1 时钟控制模块框图 .................................................................................................................................... 79
图 5-2 晶振时钟启动示意图 ................................................................................................................................ 81
图 5-3 时钟切换示意图 ........................................................................................................................................ 87
图 5-4 时钟校准原理图 ........................................................................................................................................ 88
图 6-1 复位来源示意图 ...................................................................................................................................... 106
图 7-1 只使用了高两位的优先级寄存器 ...........................................................................................................113
图 7-2 中断向量表 ...............................................................................................................................................114
图 7-3 中断激活和挂起状态 ...............................................................................................................................115
图 7-4 中断挂起状态被清除然后被重新确认 ...................................................................................................116
图 7-5 中断退出时若中断请求保持高电平就会引起中断处理的再次执行....................................................116
图 7-6 中断处理中产生的中断挂起也可以被确认 ...........................................................................................117
图 7-7 中断结构图 .............................................................................................................................................. 121
图 8-1 端口电路图 .............................................................................................................................................. 138
图 8-2 AHB/FASTIO 总线端口随系统时钟的变化 .......................................................................................... 141
图 8-3 读取端口引脚数据同步图 ...................................................................................................................... 142
图 9-1 I2C 传输协议 .......................................................................................................................................... 285
图 9-2 START 和 STOP 条件........................................................................................................................... 285
图 9-3 I2C 总线上位传输 .................................................................................................................................. 286
图 9-4 I2C 总线上应答信号 .............................................................................................................................. 287
图 9-5 I2C 总线上的仲裁 .................................................................................................................................. 288
图 9-6 I2C 功能模块图 ....................................................................................................................................... 289
图 9-7 主发送模式数据同步图 .......................................................................................................................... 292
图 9-8 I2C 主机发送状态图 .............................................................................................................................. 292
图 9-9 主接收模式数据同步图 .......................................................................................................................... 293
图 9-10 I2C 主机接收状态图 ............................................................................................................................ 294
图 9-11
从接收模式数据同步图 ........................................................................................................................ 295
图 9-12 从机接收状态图 .................................................................................................................................... 295
图 9-13 从发送模式数据同步图 ........................................................................................................................ 296
图 9-14 I2C 从机发送状态图 ............................................................................................................................ 296
图 9-15 I2C 广播呼叫状态图 ............................................................................................................................ 297
图 10-1 从机接收示意图 .................................................................................................................................... 312
图 10-2 从机发送示意图 .................................................................................................................................... 313
图 10-3 主机模式帧格式 .................................................................................................................................... 313
图 10-4 从机 CPHA 为 0 时数据帧格式............................................................................................................ 314
图 10-5 从机 CHPA 为 1 时数据帧格式 ............................................................................................................ 314
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 29 of 854
图 10-6 SPI 多主机/多从机系统的示意图 ........................................................................................................ 316
图 11-1
时钟源选择示意图 ................................................................................................................................ 331
图 11-2
时钟校准模块硬件示意图 .................................................................................................................... 332
图 11-3
时钟校准波形示意图 ............................................................................................................................ 333
图 11-4 CLKTRIM 时钟选择 ............................................................................................................................. 334
图 11-5
时钟监控波形示意图 ............................................................................................................................ 336
图 15-1 功能框图 ................................................................................................................................................ 376
图 16-1 TIM0/1/2 框图....................................................................................................................................... 391
图 16-2 TIM3 框图............................................................................................................................................. 392
图 16-3 自由计数框图 ........................................................................................................................................ 394
图 16-4 重载计数波形 ........................................................................................................................................ 394
图 16-5 16 位重载计数波形 ............................................................................................................................... 395
图 16-6 32 位自由计数波形 ............................................................................................................................... 395
图 16-7 自由计数时序图 .................................................................................................................................... 396
图 16-8 重载计数时序图(预分频设置为 2) ................................................................................................. 396
图 16-9 PWC 测量框图 ...................................................................................................................................... 399
图 16-10 高电平脉冲宽度测量 .......................................................................................................................... 400
图 16-11
下降沿到下降沿周期测量 .................................................................................................................. 400
图 16-12 上升沿到上升沿周期测量 .................................................................................................................. 401
图 16-13 上升沿到上升沿周期测量单次模式 .................................................................................................. 402
图 16-14 计数器框图 .......................................................................................................................................... 404
图 16-15 无预分频的向上计数 .......................................................................................................................... 405
图 16-16 带预分频的上计数 .............................................................................................................................. 406
图 16-17 不带预分频的下计数 .......................................................................................................................... 406
图 16-18 带预分频的下计数 .............................................................................................................................. 407
图 16-19 带预分频的上下计数 .......................................................................................................................... 407
图 16-20 边沿对齐计时器波形( DIR =1) .......................................................................................................... 407
图 16-21 边沿对齐计时器波形( DIR =0) .......................................................................................................... 408
图 16-22 中心对齐计数器波形 .......................................................................................................................... 408
图 16-23 重复计数器产生更新时序 .................................................................................................................. 409
图 16-24 三角波模式下缓存使能 ...................................................................................................................... 409
图 16-25 三角波模式下缓存无效 ...................................................................................................................... 410
图 16-26 锯齿波模式下上计数缓存使能 .......................................................................................................... 410
图 16-27 锯齿波模式下上计数缓存无效 .......................................................................................................... 410
图 16-28 锯齿波模式下计数缓存使能 ...............................................................................................................411
图 16-29 锯齿波模式下计数缓存无效 ...............................................................................................................411
图 16-30 锯齿波模式下计数比较缓存使能 ...................................................................................................... 412
图 16-31 OCREF 输出框图 ................................................................................................................................ 413
图 16-32 锯齿波计数单点比较 OCREF 输出波形(OCMx=111)................................................................ 414
图 16-33 三角波计数单点比较 OCREF 输出波形(OCMx=111)................................................................. 414
图 16-34 锯齿波计数双点比较 OCREF 输出(OCMx=111) ........................................................................ 415
图 16-35 三角波计数双点比较 OCREF 输出(OCMx=111) ........................................................................ 415
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 30 of 854
图 16-36 独立 PWM 输出框图........................................................................................................................... 416
图 16-37 CCPx=0 时 PWM 输出波形 ................................................................................................................ 416
图 16-38 CCPx=1 时 PWM 输出波形 ................................................................................................................ 416
图 16-39 互补 PWM 输出框图........................................................................................................................... 417
图 16-40 互补 PWM 输出波形图....................................................................................................................... 417
图 16-41 互补 PWM 输出波形图....................................................................................................................... 418
图 16-42 死区时间 .............................................................................................................................................. 418
图 16-43 三角波模式单脉冲计数 ...................................................................................................................... 419
图 16-44 锯齿波上计数单脉冲模式 .................................................................................................................. 420
图 16-45 锯齿波下计数单脉冲模式 .................................................................................................................. 420
图 16-46 中断示意图 .......................................................................................................................................... 421
图 16-47 捕获功能框图 ...................................................................................................................................... 422
图 16-48 捕获时序图 .......................................................................................................................................... 422
图 16-49 CHA 端口选择..................................................................................................................................... 422
图 16-50 CHB 端口选择 ..................................................................................................................................... 423
图 16-51 从模式示意图 ...................................................................................................................................... 427
图 16-52 门控功能 .............................................................................................................................................. 428
图 16-53 触发和复位功能 .................................................................................................................................. 428
图 16-54 编码计数 .............................................................................................................................................. 430
图 16-55 ADC 触发............................................................................................................................................. 431
图 17-1 LPTimer 框图 ........................................................................................................................................ 473
图 17-2 LPTimer 模式 1 ..................................................................................................................................... 474
图 17-3 LPTimer 模式 2 ..................................................................................................................................... 475
图 18-1 PCA 整体框图....................................................................................................................................... 482
图 18-2 PCA 计数器框图 ................................................................................................................................... 485
图 18-3 PCA 捕获功能框图 ............................................................................................................................... 488
图 18-4 PCA 比较功能框图 ............................................................................................................................... 490
图 18-5 PCA 16 位 PWM 功能框图 ................................................................................................................... 491
图 18-6 PCA WDT 功能框图.............................................................................................................................. 492
图 18-7 PCA PWM 功能框图 ............................................................................................................................. 494
图 18-8 PCA PWM 输出波形 ............................................................................................................................. 495
图 19-1 Advanced Timer 框图 ........................................................................................................................... 506
图 19-2 锯齿波波形(递加计数) .................................................................................................................... 507
图 19-3 三角波波形 ............................................................................................................................................ 507
图 19-4 比较输出动作 ........................................................................................................................................ 508
图 19-5 捕获输入动作 ........................................................................................................................................ 509
图 19-6 捕获输入端口的滤波功能 .....................................................................................................................511
图 19-7 软件同步动作 .........................................................................................................................................511
图 19-8 硬件同步动作 ........................................................................................................................................ 514
图 19-9 单缓存方式比较输出时序 .................................................................................................................... 515
图 19-10 PWM 展频输出示意图....................................................................................................................... 517
图 19-11 CHA 输出 PWM 波........................................................................................................................... 517
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 31 of 854
图 19-12 三角波 A 模式时软件设定 GCMBR 互补 PWM 波输出.............................................................. 518
图 19-13 三角波 B 模式时硬件设定 GCMBR 互补 PWM 波输出(对称死区) ...................................... 519
图 19-14 6 相 PWM 波...................................................................................................................................... 520
图 19-15 三角波 A 模式时带死区时间三相互补 PWM 波输出 .................................................................... 521
图 19-16 位置模式时基本计数动作 .................................................................................................................. 522
图 19-17 位置模式时相位差计数动作设定(1 倍) ............................................................................................. 523
图 19-18 位置模式时相位差计数动作设定(2 倍) ............................................................................................. 523
图 19-19 位置模式时相位差计数动作设定(4 倍) ............................................................................................. 523
图 19-20 位置模式时方向计数动作 .................................................................................................................. 524
图 19-21 公转模式时 Z 相计数动作 .................................................................................................................. 525
图 19-22 公转模式时位置计数器输出计数动作 .............................................................................................. 526
图 19-23 公转模式时 Z 相计数和位置计数器输出混合计数动作 .................................................................. 526
图 19-24 公转计数模式-混合计数 Z 相屏蔽动作例 1...................................................................................... 527
图 19-25 公转计数模式-混合计数 Z 相屏蔽动作例 2...................................................................................... 527
图 19-26 周期间隔有效请求信号动作 .............................................................................................................. 528
图 19-27 端口刹车与软件刹车示意图 .............................................................................................................. 531
图 19-28 输出同高同低刹车示意图 .................................................................................................................. 531
图 19-29 VC 刹车控制示意图........................................................................................................................... 532
图 19-30 Timer4/5/6 中断选择 .......................................................................................................................... 533
图 20-1 RTC 框图............................................................................................................................................... 584
图 21-1 WDT 整体框图 ..................................................................................................................................... 606
图 22-1 整体框图 ................................................................................................................................................ 612
图 22-2 单通道脉冲记数模式加计数波形 ........................................................................................................ 613
图 22-3 单通道脉冲计数模式减计数波形 ........................................................................................................ 614
图 22-4 双通道非交脉冲计数模式加计数波形 ................................................................................................ 615
图 22-5 双通道非交脉冲计数模式减计数波形 ................................................................................................ 615
图 22-6 双通道正交脉冲计数模式加计数波形 ................................................................................................ 616
图 22-7 双通道正交脉冲计数模式减计数波形 ................................................................................................ 616
图 22-8 脉冲宽度滤波波形 ................................................................................................................................ 617
图 23-1 结构框图 ................................................................................................................................................ 630
图 23-2 Mode0 发送数据 .................................................................................................................................... 633
图 23-3 Mode0 接收数据 .................................................................................................................................... 634
图 23-4 Mode1 发送数据 .................................................................................................................................... 634
图 23-5 Mode1 接收数据 .................................................................................................................................... 635
图 23-6 Mode2 发送数据 .................................................................................................................................... 635
图 23-7 Mode2 接收数据 .................................................................................................................................... 636
图 23-8 Mode3 发送数据 .................................................................................................................................... 636
图 23-9 Mode3 接收数据 .................................................................................................................................... 636
图 23-10 UART 硬件流控 .................................................................................................................................. 643
图 23-11 nRTS 硬件流控信号 ............................................................................................................................ 643
图 23-12 nCTS 硬件流控信号 ............................................................................................................................ 644
图 23-13 接收缓存 .............................................................................................................................................. 644
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 32 of 854
图 23-14 发送缓存 .............................................................................................................................................. 645
图 24-1 结构框图 ................................................................................................................................................ 653
图 24-2 Mode0 发送数据 .................................................................................................................................... 657
图 24-3 Mode0 接收数据 .................................................................................................................................... 657
图 24-4 Mode1 发送数据 .................................................................................................................................... 658
图 24-5 Mode1 接收数据 .................................................................................................................................... 658
图 24-6 Mode2 发送数据 .................................................................................................................................... 658
图 24-7 Mode2 接收数据 .................................................................................................................................... 659
图 24-8 Mode3 发送数据 .................................................................................................................................... 659
图 24-9 Mode3 接收数据 .................................................................................................................................... 659
图 24-10 LPUART 硬件流控 .............................................................................................................................. 666
图 24-11 nRTS 硬件流控信号 ............................................................................................................................ 667
图 24-12 nCTS 硬件流控信号 ............................................................................................................................ 668
图 24-13 接收缓存 .............................................................................................................................................. 668
图 24-14 发送缓存 .............................................................................................................................................. 669
图 26-1 TRNG 数据流 ........................................................................................................................................ 682
图 27-1 AES 的加解密示意图............................................................................................................................ 688
图 27-2 AES 的加密流程图................................................................................................................................ 689
图 29-1 ADC 示意框图....................................................................................................................................... 725
图 29-2 ADC 转换时序图................................................................................................................................... 726
图 29-3 ADC 顺序扫描转换过程示例 ............................................................................................................... 729
图 29-4 ADC 插队扫描转换过程示例 ............................................................................................................... 732
图 29-5 ADC 顺序扫描过程中进行插队扫描示例 ........................................................................................... 734
图 29-6 ADC 连续转换累加过程示例 ............................................................................................................... 736
图 29-7 ADC 单次转换或顺序扫描转换外部触发源示意图 ........................................................................... 739
图 29-8 ADC 插队扫描转换外部触发源示意图 ............................................................................................... 739
图 29-9 温度电压曲线 ........................................................................................................................................ 743
图 30-1 VC 框架图............................................................................................................................................. 766
图 30-2 VC 滤波响应时间.................................................................................................................................. 767
图 30-3 VC 迟滞功能......................................................................................................................................... 767
图 31-1 LVD 框图 .............................................................................................................................................. 780
图 34-1 调试支持框图 ........................................................................................................................................ 803
图 36-1 POR/Brown Out 示意图 ........................................................................................................................ 820
图 36-2 输出端口 VOH/VOL 实测曲线 .......................................................................................................... 834
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 33 of 854
简
介
HC32L130/ HC32L136 系列是一款旨在延长便携式测量系统的电池使用寿命的超低功耗、宽电
压工作范围的 MCU。集成 12 位 1M sps 高精度 SARADC,以及集成了比较器、运放、内置
高性能 PWM 定时器、LCD 显示、多路 UART、SPI、I2C 等丰富的通讯外设,内建 AES、
TRNG 等信息安全模块,具有高整合度、高抗干扰、高可靠性和超低功耗的特点。本产品内核
采用 Cortex-M0+ 内核,配合成熟的 Keil & IAR 调试开发软件,支持 C 语言及汇编语言,汇
编指令。
超低功耗 MCU 典型应用
⚫
智能仪表
⚫
传感器应用,物联网应用
⚫
智能交通,智慧城市,智能家居
⚫
火警探头,智能门锁,无线监控等智能传感器应用
⚫
各种对于电池供电和对于功耗苛求的便携式设备等
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 34 of 854
产品特性 超低功耗 MCU
⚫
48MHz Cortex-M0+ 32 位 CPU 平台
⚫
HC32L130/HC32L136 系 列 具 有 灵 活 的
–
耗模式下自动定时唤醒功能,最大定时达
1024 秒
功耗管理系统,超低功耗性能
–
–
0.5μA @ 3V 深度休眠模式:所有时钟关闭,
上电复位有效,IO 状态保持,IO 中断有效,
所有寄存器、RAM 和 CPU 数据保存状态
0.9μA @3V 深度休眠模式+ RTC 工作
–
7μA @32.768KHz 低速工作模式:CPU 和外
⚫
35μA/MHz@3V@24MHz 休眠模式:
CPU 停
–
–
–
2 路 SPI 标准通讯接口
–
2 路 I2C 标准通讯接口
⚫
硬件万年历 RTC 模块
和外设运行,从 Flash 运行程序
⚫
硬件 CRC-16/32 模块
⚫
硬件 32 位除法器
⚫
AES-128 硬件协处理器
⚫
TRNG 真随机数发生器
⚫
2 通道 DMAC
⚫
4*40 / 6*38 / 8*36 LCD 驱动
⚫
全球唯一 10 字节 ID 号
⚫
12 位 1Msps 采样的高速高精度 SARADC,
4μS 超低功耗唤醒时间,使模式切换更加灵
强系统的稳定性
通用 I/O 引脚
(56IO/64pin, 40IO/48pin,
26IO/32pin, 23IO/28pin)
时钟、晶振
–
外部高速晶振
4 ~ 32MHz
–
外部低速晶振
32.768KHz
–
内部高速时钟
4/8/16/22.12/24MHz
–
内部低速时钟
32.8/38.4KHz
–
PLL 时钟
8 ~ 48MHz
–
硬件支持内外时钟校准和监控
⚫
2 路 LPUART 低功耗通讯接口,深度休眠模
130μA/MHz@3V@24MHz 工作模式:CPU
8K 字节 RAM 存储器,附带奇偶校验,增
⚫
–
蜂鸣器频率发生器,支持互补输出
能
⚫
2 路 UART 标准通讯接口
⚫
64K 字节 Flash 存储器,具有擦写保护功
⚫
–
止,外设运行,主时钟运行
活高效,系统反应更为敏捷
⚫
通讯接口
式下可工作
设运行,从 Flash 运行程序
–
1 个 20 位可编程看门狗电路,内建专用
10KHz 振荡器提供 WDT 计数
时的功耗
–
1 个超低功耗脉冲计数器 PCNT,具备低功
定时器/计数器
内置运放,可测量外部微弱信号
⚫
集成 3 个多功能运算放大器
⚫
集成 6 位 DAC 和可编程基准输入的 2
路电压比较器
⚫
集成低电压侦测器,可配置 16 阶比较电
压,可监控端口电压以及电源电压
⚫
SWD 调试解决方案,提供全功能调试器
–
3 个 1 通道互补通用 16 位定时器
⚫
工作条件:-40 ~ 85℃,1.8 ~ 5.5V
–
1 个 3 通道互补输出 16 位定时器
⚫
封装形式:QFN32/48,LQFP64/48,
–
1 个低功耗 16 位定时器
–
3 个高性能 16 位定时器/计数器,
支持 PWM
TSSOP28
互补,死区保护功能
–
1 个可编程 16 位定时器 PCA,支持捕获比
较,PWM 输出
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 35 of 854
1
功能模块
Flash
Up to 64 KB
ARM
Cortex-M0+
SWDIO
SWCLK
SWD
NVIC
POR/BOR
RCH
RCL
PLL
Bus
Matrix
DMA
SRAM
Up to 8 KB
GPIO PortA
CRC
LDO
DVCC
DVSS
VCAP
GPIO PortB
AES
XTL
XTLI
XTLO
GPIO PortC
HDIV
XTH
XTHI
XTHO
GPIO PortD
TRNG
@AVCC
PA00
······
PA15
PB00
······
PB15
PC00
······
PC15
@DVCC
PD00
······
AVCC
AVSS
DVCC
RESET
PD07
AHB to APB
Bridge
UARTx_CTS
UARTx_RTS
UARTx_TXD
UARTx_RXD
LPUARTx_CTS
LPUARTx_RTS
LPUARTx_TXD
LPUARTx_RXD
RTC_1HZ
SysCtrl
UARTx
x=0,1
PCA
PCA_ECI
PCA_CH0
PCA_CH1
PCA_CH2
PCA_CH3
PCA_CH4
LPUARTx
x=0,1
TIMx
x=4,5,6
TIMx_CHA
TIMx_CHB
RTC
TIM3
y=0,1,2
TIMx_ETR
TIMx_CHyA
TIMx_CHyB
TIMx_GATE
VCIN00
······
VCIN15
VCx
x=0,1
WDT
TIMx
x=0,1,2
TIMx_ETR
TIMx_CHA
TIMx_CHB
TIMx_GATE
ADC(12bit)
CLKTRIM
LPTIM
LPTIM_EXT
LPTIM_TOG
LPTIM_TOGN
LPTIM_GATE
VCx_OUT
AIN00
······
AIN23
LVDIN1
LVDIN2
LVDIN3
LVD_OUT
LVD
SPIx
x=0,1
SPIx_CS
SPIx_SCK
SPIx_MOSI
SPIx_MISO
@AVCC
OPAx_INP
OPAx_INN
OPAx_OUT
COM0...COM7
SEG00...SEG35
OPAx
x=0,1,2
BGR
Vref
I2Cx
x=0,1
I2Cx_SDA
I2Cx_SCL
LCD
TempSensor
PCNT
PCNT_S0
PCNT_S1
图 1-1 功能模块
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 36 of 854
1.1
32 位 CORTEX M0+ 内核
ARM® Cortex®-M0+ 处理器源于 Cortex-M0,包含了一颗 32 位 RISC 处理器,运算
能力达到 0.95 Dhrystone MIPS/MHz。同时加入了多项全新设计,改进调试和追踪能力、
减少每条指令循环(IPC)数量和改进 Flash 访问的两级流水线等,更纳入了节能降耗
技术。Cortex-M0+ 处理器全面支持已整合 Keil & IAR 调试器。
Cortex-M0+ 包含了一个硬件调试电路,支持 2-pin 的 SWD 调试界面。
ARM Cortex-M0+ 特性:
指令集
Thumb / Thumb-2
流水线
2级流水线
性能效率
2.46 CoreMark / MHz
性能效率
0.95 DMIPS / MHz in Dhrystone
中断
32个快速中断
中断优先级
可配置4级中断优先级
增强指令
单周期32位乘法器
调试
Serial-wire 调试端口,支持4个硬中断(break point)以及2个观察点
(watch point)
1.2
64K Byte Flash
内建全集成 Flash 控制器,无需外部高压输入,由全内置电路产生高压来编程。支持 ISP、
IAP、ICP 功能。
1.3
8K Byte RAM
根据客户选择不同的超低功耗模式,RAM 数据都会被保留。自带硬件奇偶校验位,万
一数据被意外破坏,在数据被读取时,硬件电路会立刻产生中断,保证系统的可靠性。
1.4
时钟系统
一个频率为 4~24MHz 可配置的高精度内部时钟 RCH。在配置 24MHz 下,从低功耗
模式到工作模式的唤醒时间为 4us,全电压全温度范围内的频率偏差小于±2.5%,无需
外接昂贵的高频晶体。
一个频率为 4~32MHz 的外部晶振 XTH。
一个频率为 32.768KHz 的外部晶振 XTL,主要提供 RTC 实时时钟。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 37 of 854
一个频率为 32.8/38.4KHz 的内部时钟 RCL。
一个频率为 8~48MHz 输出的 PLL。
1.5
工作模式
1) 运行模式(Active Mode):CPU 运行,周边功能模块运行。
2) 休眠模式(Sleep Mode):CPU 停止运行,周边功能模块运行。
3) 深度休眠模式(Deep sleep Mode):CPU 停止运行,高速时钟停止,低功耗功能模块
运行。
1.6
实时时钟 RTC
RTC(Real Time Counter)是一个支持 BCD 数据的寄存器,采用 32.768KHz 晶振作为
其时钟,能实现万年历功能,中断周期可配置为年/月/日/小时/分钟/秒。24/12 小时时间
模式,硬件自动修正闰年。具有精确度补偿功能,最高精度为 0.96ppm。可使用内部温
度传感器或外部温度传感器进行精确度补偿,可用软件+1/-1 调整年/月/日/小时/分钟/秒,
最小可调精度为 1 秒。
用于指示时间和日期的 RTC 日历记录器在 MCU 受外部因素影响而复位时不会清除
保留值,是需要永久高精度实时时钟的测量设备仪表的最佳选择。
1.7
端口控制器 GPIO
最多可提供 56 个 GPIO 端口,其中部分 GPIO 与模拟端口复用。每个端口由独立的
控制寄存器位来控制,支持 FAST IO。支持边沿触发中断和电平触发中断,可从各种超
低功耗模式下把 MCU 唤醒到工作模式。支持位置位,位清零,位置位清零操作。支持
Push-Pull CMOS 推挽输出、Open-Drain 开漏输出。内置上拉电阻、下拉电阻,带有施
密特触发器输入滤波功能。输出驱动能力可配置,最大支持 20mA 的电流驱动能力。
56 个通用 IO 可支持外部异步中断。
1.8
中断控制器 NVIC
Cortex-M0+处理器内置了嵌套向量中断控制器(NVIC),支持最多 32 个中断请求(IRQ)
输入;有四个中断优先级,可处理复杂逻辑,能够进行实时控制和中断处理。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 38 of 854
32 个中断入口向量地址,分别为:
中断向量号
中断来源
[0]
GPIO_PA
[1]
GPIO_PB
[2]
GPIO_PC
[3]
GPIO_PD
[4]
DMAC
[5]
TIM3
[6]
UART0
[7]
UART1
[8]
LPUART0
[9]
LPUART1
[10]
SPI0
[11]
SPI1
[12]
I2C0
[13]
I2C1
[14]
TIM0
[15]
TIM1
[16]
TIM2
[17]
LPTIM
[18]
TIM4
[19]
TIM5
[20]
TIM6
[21]
PCA
[22]
WDT
[23]
RTC
[24]
ADC
[25]
PCNT
[26]
VC0
[27]
VC1
[28]
LVD
[29]
LCD
[30]
RAM FLASH
[31]
CLKTRIM
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 39 of 854
1.9
复位控制器 RESET
本产品具有 7 个复位信号来源,每个复位信号可以让 CPU 重新运行,绝大多数寄存器
会被重新复位,程序计数器 PC 会指向起始地址。
中断来源
[0]
上电掉电复位 POR BOR
[1]
外部 Reset Pin
[2]
WDT 复位
[3]
PCA 复位
[4]
Cortex-M0+ LOCKUP 硬件复位
[5]
Cortex-M0+ SYSRESETREQ 软件
复位
复位
[6]
LVD 复位
1.10 DMA 控制器 DMAC
DMAC(直接内存访问控制器)功能块可以不通过 CPU 高速传输数据。使用 DMAC 能
提高系统性能。
1.11 定时器 TIM
类型
名称
位宽
预除频
计数方向
PWM
捕获
互补输出
通用定时
TIM0
16/32
1/2/4/8/16
上计数/
2
2
1
32/64/256
下计数/
2
2
1
2
2
1
6
6
3
器
上下计数
TIM1
16/32
1/2/4/8/16/
上计数/
32/64/256
下计数/
上下计数
TIM2
16/32
1/2/4/8/16/
上计数/
32/64/256
下计数/
上下计数
TIM3
16/32
1/2/4/8/16/
上计数/
32/64/256
下计数/
上下计数
低功耗定
LPTIM
16
无
上计数
无
无
无
PCA
16
2/4/8/16/32
上计数
5
5
无
TIM4
16
1/2/4/8/16/
上计数/
2
2
1
64/256/1024
下计数/
时器
可编程计
数阵列
高级定时
器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 40 of 854
上下计数
TIM5
16
1/2/4/8/16/
上计数/
64/256/1024
下计数/
2
2
1
2
2
1
上下计数
TIM6
16
1/2/4/8/16/
上计数/
64/256/1024
下计数/
上下计数
通用定时器包含四个定时器 TIM0/1/2/3。
通用定时器特性
PWM 独立输出,互补输出
捕获输入
死区控制
刹车控制
边沿对齐、对称中心对齐与非对称中心对齐 PWM 输出
正交编码计数功能
单脉冲模式
外部计数功能
TIM0/1/2 功能完全相同。TIM0/1/2 是同步定时/计数器,可以作为 16 位自动重装载功
能的定时/计数器,也可以作为 32 位无重载功能的定时/计数器。TIM0/1/2 每个定时器
都具有 2 路捕获比较功能,可以产生 2 路 PWM 独立输出或 1 组 PWM 互补输出。具有
死区控制功能。
TIM3 是多通道的通用定时器,具有 TIM0/1/2 的所有功能,可以产生 3 组 PWM 互补输
出或 6 路 PWM 独立输出,最多 6 路输入捕获。具有死区控制功能。
低功耗定时器 LPTIM 是异步 16 位定时/计数器,在系统时钟关闭后仍然可以通过内部
低速 RC 或者外部低速晶体振荡计时/计数。通过中断在低功耗模式下唤醒系统。
PCA(可编程计数器阵列 Programmable Counter Array)支持最多 5 个 16 位的捕获/比较模
块。该定时/计数器可用作为一个通用的时钟计数/事件计数器的捕获/比较功能。PCA 的
每个模块都可以进行独立编程,以提供输入捕捉,输出比较或脉冲宽度调制。另外模块
4 有额外的看门狗定时器模式。
高级定时器 Advanced Timer 包含三个定时器 TIM4/5/6。TIM4/5/6 是功能相同的高性
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 41 of 854
能计数器,可用于计数产生不同形式的时钟波形,1 个定时器可以产生互补的一对 PWM
或者独立的 2 路 PWM 输出,可以捕获外界输入进行脉冲宽度或周期测量。
Advanced Timer 基本的功能及特性如表所示:
波形模式
锯齿波、三角波
递加、递减计数方向
软件同步
硬件同步
基本功能
缓存功能
正交编码计数
通用PWM输出
保护机制
AOS关联动作
计数比较匹配中断
中断类型
计数周期匹配中断
死区时间错误中断
1.12 脉冲计数器 PCNT
PCNT (Pulse Counter)模块用以对外部脉冲进行计数,支持单路以及双路(正交编码
与非交叉编码)脉冲。它可以在低功耗休眠模式下无需软件参与进行计数。
脉冲计数器特性:
支持重载功能的 16 bit 计数器
单通道脉冲计数
双通道非交脉冲计数
双通道正交脉冲计数,不失码
加/减计数溢出中断
脉冲超时中断
4 种解码错误中断,非交脉冲模式
1 种方向改变中断,正交脉冲模式
多级脉冲宽度滤波
输入脉冲极性可配置
支持低功耗模式计数
支持唤醒低功耗模式下 MCU
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 42 of 854
支持任意脉冲沿间距不小于 1 个计数时钟周期
具备低功耗模式下自动定时唤醒功能,最大定时达 1024 秒
1.13 看门狗 WDT
WDT(Watch Dog Timer)是一个可配置的 20 位定时器,在 MCU 异常的情况下提供复
位;内建 10KHz 低速时钟输入作为计数器时钟。调试模式下,可选择暂停或继续运行;
只有写入特定序列才能重启 WDT。
1.14 通用同步异步收发器 UART0~UART1
2 路通用同步异步收发器(Universal Asynchronous Receiver/Transmitter),UART0/UART1。
通用 UART 基本功能:
半双工和全双工传输
8/9-Bit 传输数据长度
硬件奇偶校验
1/1.5/2-Bit 停止位
四种不同传输模式
16-Bit 波特率计数器
多机通讯
硬件地址识别
DMAC 硬件传输握手
硬件流控
1.15 低功耗同步异步收发器 LPUART0~LPUART1
2 路低功耗模式下可以工作的同步异步收发器(Low Power Universal Asynchronous
Receiver/Transmitter),LPUART0/LPUART1。
LPUART 基本功能:
传输时钟 SCLK(SCLK 可选择 XTL、RCL 以及 PCLK)
系统低功耗模式下收发数据
半双工和全双工传输
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 43 of 854
8/9-Bit 传输数据长度
硬件奇偶校验
1/1.5/2-Bit 停止位
四种不同传输模式
16-Bit 波特率计数器
多机通讯
硬件地址识别
DMAC 硬件传输握手
硬件流控
1.16 串行外设接口 SPI
2 路同步串行接口(Serial Peripheral Interface)
SPI 基本特性:
通过编程可以配置为主机或者从机
四线传输方式,全双工通信
主机模式 7 种波特率可配置
主机模式最大分频系数为 PCLK/2,最高通信速率为 16M bps
从机模式最大分频系数为 PCLK/4,最高通信速率为 12M bps
可配置的串行时钟极性和相位
支持中断
8 位数据传输,先传输高位后低位
支持 DMA 软件/硬件访问
1.17 I2C 总线
2 路 I2C,采用串行同步时钟,可实现设备之间以不同的速率传输数据。
I2C 基本特性:
支持主机发送/接收,从机发送/接收四种工作模式
支持标准(100Kbps) / 快速(400Kbps) / 高速(1Mbps) 三种工作速率
支持 7 位寻址功能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 44 of 854
支持噪声过滤功能
支持广播地址
支持中断状态查询功能
1.18 蜂鸣器 Buzzer
4 个通用定时器与 1 个低功耗定时器功能复用输出为 Buzzer 提供可编程驱动频率。该
蜂鸣器端口可提供 20mA 的 sink 电流,互补输出,不需要额外的三极管。
1.19 时钟校准电路模块 CLKTRIM
内建时钟校准电路,可以通过外部精准的晶振时钟校准内部 RC 时钟,亦可使用内部
RC 时钟去检验外部晶振时钟是否工作正常。
时钟校准基本特性:
校准模式
监测模式
32 位参考时钟计数器可加载初值
32 位待校准时钟计数器可配置溢出值
6 种参考时钟源
5 种待校准时钟源
支持中断方式
1.20 器件电子签名
每颗芯片出厂前具备唯一的 10 字节设备标识号,包括 wafer lot 信息,以及芯片坐标
信息等。UID 地址为:0x00100E74 - 0x00100E7D。
1.21 循环冗余校验 CRC
CRC16 符合 ISO/IEC13239 中给出的多项式 =X16 + X12 + X5 + 1。
CRC32 符合 ISO/IEC13239 中给出的多项式
= x32+x26+x23+x22+x16+x12+x11+x10+x8 +x7
+x5 +x4+x2 +x+1。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 45 of 854
1.22 硬件除法器模块 HDIV
HDIV(Hardware Divider)是一个 32 位有/无符号整数硬件除法器。
HDIV 硬件除法器基本特性:
可配置有符号/无符号整数除法计算
32 位被除数,16 位除数
输出 32 位商和 32 位余数
除数为零警告标志位,除法运算结束标志位
10 个时钟周期完成一次除法运算
写除数寄存器触发除法运算开始
读商寄存器/余数寄存器时自动等待计算结束
1.23 高级加密标准模块 AES
AES(The Advanced Encryption Standard)是美国国家标准技术研究所(NIST)在 2000
年 10 月 2 日正式宣布的新的数据加密标准。AES 的分组长度固定为 128 Bit,而密钥长
度支持 128 Bit。
1.24 真随机数发生器 TRNG
TRNG 是一个真随机数发生器,用来产生真随机数。
1.25 模数转换器 ADC
单调不失码的 12 位逐次逼近型模数转换器,在 24MHz ADC 时钟下工作时,采样率达
到 1Msps。参考电压可选择片内精准电压(1.5V 或 2.5V)或从外部输入或电源电压。
30 个输入通道,包括 24 路外部引脚输入、1 路内部温度传感器电压、1 路 1/3 电源电
压、1 路内建 BGR 1.2V 电压、3 路 OPA 输出。内建可配置的输入信号放大器以检测弱
信号。
SAR ADC 基本特性:
12 位转换精度;
1Msps 转换速度;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 46 of 854
30 个输入通道,包括 24 路外部引脚输入、1 路内部温度传感器电压、1 路 1/3
AVCC 电压、1 路内建 BGR 1.2V 电压、3 路 OPA 输出;
4 种参考源:AVCC 电压、ExRef 引脚、内置 1.5v 参考电压、内置 2.5v 参考电压;
ADC 的电压输入范围:0~Vref;
4 种转换模式:单次转换、顺序扫描连续转换、插队扫描连续转换、连续转换累加;
输入通道电压阈值监测;
软件可配置 ADC 的转换速率;
内置信号放大器,可转换高阻信号;
支持片内外设自动触发 ADC 转换,有效降低芯片功耗并提高转换的实时性。
1.26 模拟电压比较器 VC
芯片引脚电压监测/比较电路。16 个可配置的正外部输入通道,11 个可配置的负外部输
入通道;5 个内部负输入通道,包括 1 路内部温度传感器电压、1 路内建 BGR 2.5V 参
考电压、1 路内建 BGR 1.2V 电压、1 路 64 阶电阻分压。VC 输出可供通用定时器
TIM0/1/2/3,低功耗定时器 LPTIM 与可编程计数阵列 PCA 捕获、门控、外部计数时钟
使用。可根据上升/下降边沿产生异步中断,从低功耗模式下唤醒 MCU。可配置的软件
防抖功能。
1.27 低电压检测器 LVD
对芯片电源电压或芯片引脚电压进行检测。16 档电压监测值(1.8 ~ 3.3V)。可根据上升
/下降边沿产生异步中断或复位。具有硬件迟滞电路和可配置的软件防抖功能。
LVD 基本特性:
4 路监测源,AVCC、PC13、PB08、PB07;
16 阶阈值电压,1.8~3.3V 可选;
8 种触发条件,高电平、上升沿、下降沿组合;
2 种触发结果,复位、中断;
8 阶滤波配置,防止误触发;
具备迟滞功能,强力抗干扰。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 47 of 854
1.28 运算放大器 OPA
OPA 模块可以灵活配置,适用于简易滤波器和 Buffer 应用。内部的三个运放可以配置
为反向、同向具有不同增益的组合运放,也可以使用外部电阻进行级联。
1.29 液晶控制器 LCD
LCD 控制器是一款适用于单色无源液晶显示器(LCD)的数字控制器/驱动器,最多具
有 8 个公用端子(COM)和 40 个区段端子(SEG),用以驱动 160 (4x40)或 288 (8x36)
个 LCD 图像元素。可以选择电容分压或电阻分压,支持内部电阻分压。内部电阻分压
可以调节对比度。支持 DMA 硬件数据传输。
LCD 基本特性:
高度灵活的帧速率控制。
支持静态、1/2、1/3、1/4、1/6 和 1/8 占空比。
支持 1/2、1/3 偏置。
多达 16 个寄存器的 LCD 数据 RAM。
可通过软件配置 LCD 的对比度。
3 种驱动波形生成方式
– 内部电阻分压、外部电阻分压,外部电容分压方式
– 可通过软件配置内部电阻分压方式的功耗,从而匹配 LCD 面板所需的电容电荷
支持低功耗模式:LCD 控制器可在 Active、Sleep、DeepSleep 模式下进行显示。
可配置帧中断。
支持 LCD 闪烁功能且可配置多种闪烁频率
未使用的 LCD 区段和公共引脚可配置为数字或模拟功能。
1.30 嵌入式调试系统
嵌入式调试解决方案,提供全功能的实时调试器,配合标准成熟的 Keil/IAR 等调试开
发软件。支持 4 个硬断点以及多个软断点。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 48 of 854
1.31 编程模式
支持两种编程模式:在线编程、离线编程。
支持两种编程协议:ISP 协议、SWD 协议。
ISP 协议编程接口:PA9、PA10 或 PA13、PA14。
SWD 协议编程接口:PA13、PA14。
当复位时 BOOT0(PD03)管脚为高电平,芯片工作于 ISP 编程模式,可通过 ISP 协议
对 Flash 进行编程。
当复位时 BOOT0(PD03)管脚为低电平,芯片工作于用户模式,芯片执行 Flash 内的
程序代码,可通过 SWD 协议对 Flash 进行编程。
注意:
- 建议预留 PA9、PA10 作为 ISP 编程接口,如需使用 PA13、PA14 作为 ISP 编程接
口请参见 PCN:PCN20191230-1_HC32L130HC32F030HC32L136 提高烧录速度。
1.32 高安全性
加密型嵌入式调试解决方案,提供全功能的实时调试器。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 49 of 854
2
引脚配置及功能
2.1
引脚配置图
PA14/SWCLK
PA15
PC10/COM4/SEG39
PC11/COM5/SEG38
PC12/COM6/SEG37
PD02/COM7/SEG36
PB03/SEG35/VLCDH
PB04/SEG34/VLCD3
PB05/SEG33/VLCD2
PB06/SEG32/VLCD1
PB07/SEG31
BOOT0
PB08/SEG29
PB09/SEG28
DVSS
DVCC
HC32L136K8TA
64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49
VCAP 1
48 PD07
PC13 2
47 PD06
XTLI/PC14 3
46 PA13/SWDIO
XTLO/PC15 4
45 PA12/COM3
XTHI/PD00 5
44 PA11/COM2
XTHO/PD01 6
43 PA10/COM1
RESETB 7
42 PA09/COM0
LQFP-64
SEG27/PC00 8
SEG26/PC01 9
41 PA08/SEG0
40 PC09/SEG1
SEG25/PC02 10
39 PC08/SEG2
SEG24/PC03 11
38 PC07/SEG3
AVSS 12
37 PC06/SEG4
AVCC 13
36 PB15/SEG5
SEG23/PA00 14
35 PB14/SEG6
SEG22/PA01 15
34 PB13/SEG7
SEG21/PA02 16
33 PB12/SEG8
DVCC
DVSS
SEG9/PB11
SEG10/PB10
SEG11/PB02
SEG12/PB01
SEG13/PB00
SEG14/PC05
SEG15/PC04
SEG16/PA07
SEG17/PA06
SEG18/PA05
PD05
SEG19/PA04
PD04
SEG20/PA03
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
注:
-
BOOT0 引脚用于控制 FLASH 编程,详见模块信号说明。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 50 of 854
PA14/SWCLK
PA15
PB03
PB04
PB05
PB06
PB07
BOOT0
PB08
PB09
DVSS
DVCC
HC32L130J8TA
48 47 46 45 44 43 42 41 40 39 38 37
VCAP 1
36 PD07
PC13 2
35 PD06
XTLI/PC14 3
34 PA13/SWDIO
XTLO/PC15 4
33 PA12
XTHI/PD00 5
32 PA11
LQFP-48
XTHO/PD01 6
31 PA10
RESETB 7
30 PA09
AVSS 8
29 PA08
AVCC 9
28 PB15
PA00 10
27 PB14
PA01 11
26 PB13
PA02 12
25 PB12
DVCC
DVSS
PB11
PB10
PB02
PB01
PB00
PA07
PA06
PA05
PA04
PA03
13 14 15 16 17 18 19 20 21 22 23 24
注:
- 在应用中,需要将该封装未引出的 IO 引脚设为输入并使能上拉。
-
该封装未引出的 IO 详见引脚功能说明。
- BOOT0 引脚用于控制 FLASH 编程,详见模块信号说明。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 51 of 854
DVCC
DVSS
PB09
PB08
BOOT0
PB07
PB06
PB05
PB04
PB03
PA15
PA14/SWCLK
48
47
46
45
44
43
42
41
40
39
38
37
HC32L130J8UA
VCAP
1
36
PD07
PC13
2
35
PD06
XTLI/PC14
3
34
PA13/SWDIO
XTLO/PC15
4
33
PA12
XTHI/PD00
5
32
PA11
XTHO/PD01
6
31
PA10
RESETB
7
30
PA09
AVSS
8
29
PA08
AVCC
9
28
PB15
PA00
10
27
PB14
PA01
11
26
PB13
PA02
12
25
PB12
13
14
15
16
17
18
19
20
21
22
23
24
PA03
PA04
PA05
PA06
PA07
PB00
PB01
PB02
PB10
PB11
DVSS
DVCC
Exposed
Thermal Pad
注:
- Exposed Thermal Pad 需要连接到 DVSS。
- 在应用中,需要将该封装未引出的 IO 引脚设为输入并使能上拉。
-
该封装未引出的 IO 详见引脚功能说明。
- BOOT0 引脚用于控制 FLASH 编程,详见模块信号说明。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 52 of 854
DVSS
BOOT0
PB07
PB06
PB05
PB04
PB03
PA15
32
31
30
29
28
27
26
25
HC32L130F8UA
VCAP
1
24
PA14/SWCLK
XTLI/PC14
2
23
PA13/SWDIO
XTLO/PC15
3
22
PA12
XTHI/PD00
4
21
PA11
XTHO/PD01
5
20
PA10
RESETB
6
19
PA09
AVCC
7
18
PA08
PA02
8
17
DVCC
9
10
11
12
13
14
15
16
PA04
PA05
PA06
PA07
PB00
PB01
PB11
DVSS
Exposed
Thermal Pad
注:
- Exposed Thermal Pad 需要连接到 DVSS。
- 在应用中,需要将该封装未引出的 IO 引脚设为输入并使能上拉。
-
该封装未引出的 IO 详见引脚功能说明。
- BOOT0 引脚用于控制 FLASH 编程,详见模块信号说明。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 53 of 854
HC32L130E8PA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
TSSOP28
VCAP
XTLI/PC14
XTLO/PC15
XTHI/PD00
XTHO/PD01
RESETB
AVCC
PA00
PA01
PA02
PA03
PA04
PA05
PA06
28
27
26
25
24
23
22
21
20
19
18
17
16
15
BOOT0
PA14/SWCLK
PA13/SWDIO
PA12
PA11
PA10
PA09
PA08
DVCC
DVSS
PB02
PB01
PB00
PA07
注:
- 在应用中,需要将该封装未引出的 IO 引脚设为输入并使能上拉。
-
该封装未引出的 IO 详见引脚功能说明。
- BOOT0 引脚用于控制 FLASH 编程,详见模块信号说明。
图 2-1 引脚配置图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 54 of 854
2.2
引脚功能说明
64
48
32
28
NAME
1
1
1
1
VCAP
DIGITAL
RTC_1HZ
2
2
PC13
3
3
2
2
PC14
4
4
3
3
PC15
5
5
4
4
PD00
TIM3_CH1B
ANALOG
LVD_IN0
XTLI
XTLO
I2C0_SDA
UART1_TXD
XTHI
I2C0_SCL
6
6
5
5
PD01
TIM4_CHB
XTHO
UART1_RXD
7
7
6
6
8
RESETB
PC00
LPTIM_GATE
AIN10
PCNT_S0
VC0_INP0
UART1_CTS
VC1_INN0
SEG27
LPTIM_TOG
9
PC01
TIM5_CHB
UART1_RTS
10
PC02
AIN11
VC0_INP1
VC1_INN1
SEG26
SPI1_MISO
AIN12
LPTIM_TOGN
VC0_INP2
PCNT_S1
VC1_INN2
SEG25
SPI1_MOSI
11
PC03
LPTIM_ETR
LPTIM_TOGN
12
8
13
9
AIN13
VC0_INP3
VC1_INN3
SEG24
AVSS
7
7
AVCC
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 55 of 854
64
48
32
28
NAME
DIGITAL
ANALOG
UART1_CTS
14
10
8
PA00
LPUART1_TXD
AIN0
TIM0_ETR
VC0_INP4
VC0_OUT
VC0_INN0
TIM1_CHA
VC1_INP0
TIM3_ETR
VC1_INN4
TIM0_CHA
SEG23
UART1_RTS
15
11
9
PA01
LPUART1_RXD
AIN1
TIM0_CHB
VC0_INP5
TIM1_ETR
VC0_INN1
TIM1_CHB
VC1_INP1
HCLK_OUT
VC1_INN5
SPI1_MOSI
SEG22
UART1_TXD
16
12
8
10
PA02
TIM0_CHA
AIN2
VC1_OUT
VC0_INP6
TIM1_CHA
VC0_INN2
TIM2_CHA
VC1_INP2
PCLK_OUT
SEG21
SPI1_MISO
UART1_RXD
17
13
11
PA03
TIM0_GATE
AIN3
TIM1_CHB
VC0_INP7
TIM2_CHB
VC0_INN3
SPI1_CS
VC1_INP3
TIM3_CH1A
SEG20
TIM5_CHA
18
PD04
19
PD05
SPI0_CS
20
14
9
12
PA04
UART1_TXD
AIN4
PCA_CH4
VC0_INP8
TIM2_ETR
VC0_INN4
TIM5_CHA
VC1_INP4
LVD_OUT
SEG19
TIM3_CH2B
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 56 of 854
64
48
32
28
NAME
DIGITAL
ANALOG
SPI0_CLK
21
15
10
13
PA05
TIM0_ETR
AIN5
PCA_ECI
VC0_INP9
TIM0_CHA
VC0_INN5
TIM5_CHB
VC1_INP5
XTL_OUT
SEG18
XTH_OUT
SPI0_MISO
PCA_CH0
TIM3_BK
22
16
11
14
PA06
TIM1_CHA
VC0_OUT
TIM3_GATE
AIN6
VC0_INP10
VC0_INN6
SEG17
LPUART0_CTS
SPI0_MOSI
PCA_CH1
HCLK_OUT
23
17
12
15
PA07
TIM3_CH0B
TIM2_CHA
VC1_OUT
AIN7
VC0_INP11
VC0_INN7
SEG16
TIM4_CHB
LPUART0_TXD
24
PC04
TIM2_ETR
IR_OUT
25
PC05
AIN14
VC0_INN8
SEG15
LPUART0_RXD
AIN15
TIM6_CHB
VC0_INN9
PCA_CH4
SEG14
PCA_CH2
TIM3_CH1B
LPUART0_TXD
26
18
13
16
PB00
TIM5_CHB
RCH_OUT
RCL_OUT
AIN8
VC0_INN10
VC1_INN6
SEG13
PLL_OUT
PCA_CH3
27
19
14
17
PB01
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
PCLK_OUT
AIN9/EXVREF
TIM3_CH2B
VC1_INP6
TIM6_CHB
VC1_INN7
LPUART0_RTS
SEG12
Page 57 of 854
64
48
32
28
NAME
DIGITAL
ANALOG
LPTIM_TOG
28
20
18
PB02
PCA_ECI
AIN16
LPUART1_TXD
VC1_INP7
TIM4_CHA
VC1_INN8
TIM1_BK
OP2_INN
TIM0_BK
SEG11
TIM2_BK
I2C1_SCL
SPI1_CLK
TIM1_CHA
29
21
PB10
LPUART0_TXD
TIM3_CH1A
LPUART1_RTS
AIN17
VC1_INP8
OP2_INP
SEG10
UART1_RTS
I2C1_SDA
TIM1_CHB
30
22
15
PB11
LPUART0_RXD
AIN18
TIM2_GATE
OP2_OUT
TIM6_CHA
SEG9
LPUART1_CTS
UART1_CTS
31
23
16
19
DVSS
32
24
17
20
DVCC
SPI1_CS
33
25
PB12
TIM3_BK
AIN19
LPUART0_TXD
VC1_INP9
TIM0_BK
OP1_INN
LPUART0_RTS
SEG8
TIM6_CHA
SPI1_CLK
I2C1_SCL
TIM3_CH0B
34
26
PB13
LPUART0_CTS
TIM1_CHA
TIM1_GATE
AIN20
VC1_INP10
OP1_INP
SEG7
TIM6_CHB
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 58 of 854
64
48
32
28
NAME
DIGITAL
ANALOG
SPI1_MISO
I2C1_SDA
TIM3_CH1B
35
27
PB14
TIM0_CHA
RTC_1HZ
LPUART0_RTS
AIN21
VC1_INP11
OP1_OUT
SEG6
TIM1_BK
SPI1_MOSI
36
28
PB15
TIM3_CH2B
AIN22
TIM0_CHB
OP0_INN
TIM0_GATE
SEG5
LPUART1_RXD
PCA_CH0
37
PC06
TIM4_CHA
TIM2_CHA
AIN23
OP0_INP
SEG4
PCA_CH1
38
PC07
TIM5_CHA
OP0_OUT
TIM2_CHB
SEG3
PCA_CH2
39
PC08
TIM6_CHA
SEG2
TIM2_ETR
PCA_CH3
40
PC09
TIM4_CHB
TIM1_ETR
SEG1
UART0_TXD
TIM3_CH0A
41
29
18
21
PA08
TIM1_GATE
TIM4_CHA
SEG0
TIM3_BK
UART0_TXD
TIM3_CH1A
42
30
19
22
PA09
TIM0_BK
I2C0_SCL
COM0
HCLK_OUT
TIM5_CHA
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 59 of 854
64
48
32
28
NAME
DIGITAL
ANALOG
UART0_RXD
TIM3_CH2A
TIM2_BK
43
31
20
23
PA10
I2C0_SDA
COM1
TIM2_GATE
PCLK_OUT
TIM6_CHA
UART0_CTS
TIM3_GATE
44
32
21
24
PA11
I2C1_SCL
VC0_OUT
COM2
SPI0_MISO
TIM4_CHB
UART0_RTS
TIM3_ETR
45
33
22
25
PA12
I2C1_SDA
VC1_OUT
COM3
SPI0_MOSI
PCNT_S0
IR_OUT
UART0_RXD
LVD_OUT
46
34
23
26
PA13
TIM3_ETR
RTC_1HZ
PCNT_S1
SWDIO
I2C1_SCL
47
35
PD06
LPUART1_CTS
UART0_CTS
I2C1_SDA
48
36
PD07
LPUART1_RTS
UART0_RTS
UART1_TXD
UART0_TXD
TIM3_CH2A
49
37
24
27
PA14
LVD_OUT
RCH_OUT
RCL_OUT
PLL_OUT
SWCLK
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 60 of 854
64
48
32
28
NAME
DIGITAL
ANALOG
SPI0_CS
UART1_RXD
LPUART1_RTS
50
38
25
PA15
TIM0_ETR
TIM0_CHA
TIM3_CH1A
LPUART1_TXD
51
PC10
LPUART0_TXD
COM4/SEG39
PCA_CH2
LPUART1_RXD
52
PC11
LPUART0_RXD
COM5/SEG38
PCA_CH3
LPUART0_TXD
53
PC12
LPUART1_TXD
COM6/SEG37
PCA_CH4
PCA_ECI
54
PD02
LPUART0_RTS
COM7/SEG36
TIM1_ETR
SPI0_CLK
TIM0_CHB
TIM1_GATE
55
39
26
PB03
TIM3_CH0A
LPTIM_GATE
VC1_INN9
SEG35/VLCDH
XTL_OUT
XTH_OUT
SPI0_MISO
PCA_CH0
TIM2_BK
56
40
27
PB04
UART0_CTS
TIM2_GATE
TIM3_CH0B
VC0_INP12
VC1_INP12
VC1_INN10
SEG34/VLCD3
LPTIM_ETR
SPI0_MOSI
57
41
28
PB05
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
TIM1_BK
VC0_INP13
PCA_CH1
VC1_INP13
LPTIM_GATE
SEG33/VLCD2
Page 61 of 854
64
48
32
28
NAME
DIGITAL
ANALOG
PCNT_S0
UART0_RTS
I2C0_SCL
UART0_TXD
58
42
29
PB06
TIM1_CHB
VC0_INP14
TIM0_CHA
VC1_INP14
LPTIM_ETR
SEG32/VLCD1
TIM3_CH0A
LPTIM_TOG
I2C0_SDA
UART0_RXD
TIM2_CHB
59
43
30
PB07
LPUART1_CTS
TIM0_CHB
LPTIM_TOGN
VC0_INP15
VC1_INP15
LVD_IN2
SEG31
PCNT_S1
60
44
31
28
PD03
BOOT0
SEG30
I2C0_SCL
TIM1_CHA
61
45
PB08
TIM2_CHA
LVD_IN1
TIM0_GATE
SEG29
TIM3_CH2A
UART0_TXD
I2C0_SDA
IR_OUT
62
46
PB09
SPI1_CS
TIM2_CHA
SEG28
TIM2_CHB
UART0_RXD
63
47
64
48
32
DVSS
DVCC
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 62 of 854
2.3
模块信号说明
模块
引脚名称
描述
电源
DVCC
数字电源
AVCC
模拟电源
DVSS
数字地
AVSS
模拟地
VCAP
LDO内核供电输出(仅限内部电路使用,需外接
不小于1uF的去耦电容)
ISP
BOOT0
当复位时BOOT0(PD03)管脚为高电平,芯片工
作于ISP编程模式,可通过ISP协议对Flash进行编
程。
当复位时BOOT0(PD03)管脚为低电平,芯片工
作于用户模式,芯片执行Flash内的程序代码,可
通过SWD协议对Flash进行编程。
ADC
AIN0~AIN23
ADC输入通道0~23
ADC_VREF
ADC外部参考电压
VCIN0~VCIN15
VC输入0~15
VC0_OUT
VC0比较输出
VC1_OUT
VC1比较输出
LVDIN0
电压侦测输入0
LVDIN1
电压侦测输入1
LVDIN2
电压侦测输入2
LVD_OUT
电压侦测输出
OPA
OPx_INN
OPA负端输入
x=0,1,2
OPx_INP
OPA正端输入
OPx_OUT
OPA输出
LCD
COMx
LCD公共端输出
x=0~7
SEGy
LCD区段端输出
y=0-39
VLCDz
外部电阻模式,外部电容模式使用引脚
UART
UARTx_TXD
UARTx数据发送端
x=0,1
UARTx_RXD
UARTx数据接收端
UARTx_CTS
UARTx CTS
UARTx_RTS
UARTx RTS
LPUART
LPUARTx_TXD
LPUART数据发送端
x=0,1
LPUARTx_RXD
LPUART数据接收端
LPUARTx_CTS
LPUART CTS
LPUARTx_RTS
LPUART RTS
SPIx_MISO
SPI模块主机输入从机输出数据信号
VC
LVD
z=1,2,3,H
SPI
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 63 of 854
x=0,1
SPIx_MOSI
SPI模块主机输出从机输入数据信号
SPIx_SCK
SPI模块时钟信号
SPIx_CS
SPI 片选
I2C
I2Cx_SDA
I2C模块数据信号
x=0,1
I2Cx_SCL
I2C模块时钟信号
通用定时器
TIMx_CHA
Timer的捕获输入比较输出A
TIMx
TIMx_CHB
Timer的捕获输入比较输出B
TIMx_ETR
Timer的外部计数输入信号
TIMx_GATE
Timer的门控信号
通用定时器
TIM3_CHyA
Timer的捕获输入比较输出A
TIM3
TIM3_CHyB
Timer的捕获输入比较输出B
TIM3_ETR
Timer的外部计数输入信号
TIM3_GATE
Timer的门控信号
低功耗定时
LPTIM_TOG
LPTimer的翻转输出信号
器LPTIM
LPTIM_TOGN
LPTimer的翻转输出反向信号
LPTIM_EXT
LPTimer的外部计数输入信号
LPTIM_GATE
LPTimer的门控信号
可编程计数
PCA_ECI
外部时钟输入信号
阵列PCA
PCA_CH0
捕获输入/比较输出/PWM输出 0
PCA_CH1
捕获输入/比较输出/PWM输出 1
PCA_CH2
捕获输入/比较输出/PWM输出 2
PCA_CH3
捕获输入/比较输出/PWM输出 3
PCA_CH4
捕获输入/比较输出/PWM输出 4
PCNT_S0
PCNT 脉冲计数输入0
PCNT_S1
PCNT 脉冲计数输入1
高级定时器
TIM4_CHA
Advanced Timer4 比较输出/捕获输入端A
Advanced
TIM4_CHB
Advanced Timer4 比较输出/捕获输入端B
Timer
TIM5_CHA
Advanced Timer5 比较输出/捕获输入端A
TIM5_CHB
Advanced Timer5 比较输出/捕获输入端B
TIM6_CHA
Advanced Timer6 比较输出/捕获输入端A
TIM6_CHB
Advanced Timer6 比较输出/捕获输入端B
TIMTRIA
硬件计数时钟输入端口或捕获输入端口
TIMTRIB
硬件启动、停止、清零条件输入端口,端口选择
TIMTRIC
参考高级定时器(TIM4/5/6)章节寄存器控制
x=0,1,2
y=0,1,2
PCNT
TIMTRID
TIMBK
刹车输入,端口选择参考高级定时器
(TIM4/5/6)章节寄存器控制
注意:
– IO 端口复位为输入高阻状态,休眠模式和深度休眠模式保持之前的端口状态。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 64 of 854
3
系统结构
3.1
概述
本产品系统由以下部分组成:
2 个 AHB 总线 Master:
– Cortex-M0+
– DMA 控制器
4 个 AHB 总线 Slaves:
– FLASH 存储器
– SRAM 存储器
– AHB0,AHB to APB Bridge,包含所有 APB 接口外设
– AHB1,包含所有 AHB 接口外设
整个系统总线结构采用多层次 AHB-lite 总线互连实现。如下图所示:
CortexM0+
FLASH
LCD Ctrl
UART0/1
LPUART0
SYSCTRL
Analog Part
SWD/ICE
Power management
SRAM
TIM3
TIM0/1/2
LPTIM
LDO/Regulator
POR/BOR/LVR
DMAC
Supply Supervision
AHB2APB
Bridge 0
TIM4/5/6
PCNT
AHB2APB
Bridge 1
LVD
VCx2
RTC
WDT
BGR/Vref
SARADC_12B
Flash Ctrl
SPI0
SPI1
I2C0
PCA
APB BUS 0
APB BUS 1
CPU AHB
DMAC AHB
RAM Ctrl
LPUART1
CLKTRIM
Temp Sensor
LCD
OPAx3
CRC
I2C1
ANALOG
CTRL
CLK Source
RCH
RCL
XTH
PORT
RNG
XTL
PLL
HDIV
OSC10K
DMAC
OSC150K
OSCRNG
AES
图 3-1 系统架构示意图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 65 of 854
3.2
系统地址划分
整个 HC32L130/HC32L136 系列系统的地址区域划分,如下图所示:
---
---
HDIV
0xe010_0000
AES
0x4002_2000
0x4002_1c00
0x4002_1800
CM0+ Internal
Peripheral
DMAC
0x4002_1400
0x4002_1000
---
PORT Ctrl
CRC
--RAM Ctrl
0x4002_0c00
0x4002_0900
0x4002_0800
0xe000_0000
Flash Ctrl
0x4002_0400
0x4002_0000
0x4002_2000
AHB
0x4002_0000
---
LCD_CTRL
0x4000_6000
TIM3
APB1
0x4000_4000
APB BUS 1
APB0
0x4000_0000
PCNT
---
RNG
SPI1
I2C1
LPUART1
---
--TIM6
TIM5
TIM4
---
0x2000_2000
SRAM (8kByte)
---
0x2000_0000
APB BUS 0
---
ANALOG CTRL
SYSCTRL
---
CLKTRIM
RTC
PCA
0x0001_0000
TIM0/1/2/LPTIM/WDT
SPI0
FLASH (64kByte)
I2C0
UAR T0/1 LPUAR T0/1
0x0000_0000
0x4000_6000
0x4000_5c00
0x4000_5800
0x4000_5400
0x4000_5000
0x4000_4c00
0x4000_4800
0x4000_4400
0x4000_4000
0x4000_3c00
0x4000_3800
0x4000_3400
0x4000_3000
0x4000_2c00
0x4000_2800
0x4000_2400
0x4000_2000
0x4000_1c00
0x4000_1800
0x4000_1400
0x4000_1000
0x4000_0c00
0x4000_0800
0x4000_0400
0x4000_0000
图 3-2 地址区域划分示意图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 66 of 854
3.3
存储器和模块地址分配
Boundary Address
Size
Memory Area
0x0000_0000 – 0x0000_FFFF
64KByte
FLASH
0x0001_0000 – 0x1FFF_FFFF
-
Reserved
0x2000_0000 – 0x2000_1FFF
8KByte
SRAM
0x2000_2000 – 0x3FFF_FFFF
-
Reserved
0x4000_0000 – 0x4000_00FF
256Byte
UART0
0x4000_0100 – 0x4000_01FF
256Byte
UART1
0x4000_0200 – 0x4000_02FF
256Byte
LPUART0
0x4000_0300 – 0x4000_03FF
-
Reserved
0x4000_0400 – 0x4000_07FF
1KByte
I2C0
0x4000_0800 – 0x4000_0BFF
1KByte
SPI0
0x4000_0C00 – 0x4000_0CFF
256Byte
TIM0
0x4000_0D00 – 0x4000_0DFF
256Byte
TIM1
0x4000_0E00 – 0x4000_0EFF
256Byte
TIM2
0x4000_0F00 – 0x4000_0F7F
128Byte
LPTIM
0x4000_0F80 – 0x4000_0FFF
128Byte
WDT
0x4000_1000 – 0x4000_13FF
1KByte
PCA
0x4000_1400 – 0x4000_17FF
1KByte
RTC
0x4000_1800 – 0x4000_1BFF
1KByte
CLKTRIM
0x4000_1C00 – 0x4000_1FFF
-
Reserved
0x4000_2000 – 0x4000_23FF
1KByte
SYSCTRL
0x4000_2400 – 0x4000_27FF
1KByte
ANALOGCTRL
0x4000_2800 – 0x4000_2FFF
-
Reserved
0x4000_3000 – 0x4000_33FF
1KByte
TIM4
0x4000_3400 – 0x4000_37FF
1KByte
TIM5
0x4000_3800 – 0x4000_3BFF
1KByte
TIM6
0x4000_3C00– 0x4000_3FFF
-
Reserved
0x4000_4000– 0x4000_43FF
1KByte
LPUART1
0x4000_4400– 0x4000_47FF
1KByte
I2C1
0x4000_4800– 0x4000_4BFF
1KByte
SPI1
0x4000_4C00– 0x4000_4FFF
1KByte
TRNG
0x4000_5000– 0x4000_53FF
-
Reserved
0x4000_5400– 0x4000_57FF
1KByte
PCNT
0x4000_5800– 0x4000_5BFF
1KByte
TIM3
0x4000_5C00– 0x4000_5FFF
1KByte
LCD
0x4000_6000 - 0x4001_FFFF
-
Reserved
0x4002_0000 - 0x4002_03FF
1KByte
FLASH CTRL
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Description
Page 67 of 854
0x4002_0400 - 0x4002_07FF
1KByte
RAM CTRL
0x4002_0800 - 0x4002_08FF
256Byte
Reserved
0x4002_0900 - 0x4002_0BFF
768Byte
CRC
0x4002_0C00 - 0x4002_0FFF
1KByte
PORT CTRL
0x4002_1000 - 0x4002_13FF
1KByte
DMAC
0x4002_1400 - 0x4002_17FF
1KByte
AES
0x4002_1800 - 0x4002_1BFF
1KByte
HDIV
表 3-1 地址划分表
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 68 of 854
4
工作模式
本产品的电源管理模块负责管理本产品各种工作模式之间的切换,以及控制各工作模式
下的各功能模块的工作状态。本产品的工作电压(VCC)为 1.8 ~ 5.5V。
本产品有如下几个工作模式:
1) 运行模式:CPU 运行,周边功能模块运行。
2) 休眠模式:CPU 停止运行,周边功能模块运行。
3) 深度休眠模式:CPU 停止运行,高速时钟停止运行。
从运行模式,通过执行软件程序,可进入其他低功耗模式。从其他各种低功耗模式,通
过中断触发,可回到运行模式。
软件进入
各工作模式
运行模式
Active mode
休眠模式
Sleep mode
深度休眠模式
Deep Sleep mode
硬件中断唤醒
进入工作模式
图 4-1 控制模式框图
在各模式下,CPU 可响应所有的中断类型。
中断向量编号
中断来源
运行模式
休眠模式
深度休眠模式
[0]
GPIO_PA
√
√
√
[1]
GPIO_PB
√
√
√
[2]
GPIO_PC
√
√
√
[3]
GPIO_PD
√
√
√
[4]
DMAC
√
√
[5]
TIM3
√
√
[6]
UART0
√
√
[7]
UART1
√
√
[8]
LPUART0
√
√
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
√
Page 69 of 854
[9]
LPUART1
√
√
[10]
SPI0
√
√
[11]
SPI1
√
√
[12]
I2C0
√
√
[13]
I2C1
√
√
[14]
TIM0
√
√
[15]
TIM1
√
√
[16]
TIM2
√
√
[17]
LPTIM
√
√
[18]
TIM4
√
√
[19]
TIM5
√
√
[20]
TIM6
√
√
[21]
PCA
√
√
[22]
WDT
√
√
√
[23]
RTC
√
√
√
[24]
ADC
√
√
[25]
PCNT
√
√
√
[26]
VC0
√
√
√
[27]
VC1
√
√
√
[28]
LVD
√
√
√
[29]
LCD
√
√
√
[30]
FLASH/RAM
√
√
[31]
CLKTRIM
√
√
√
√
√
在各模式下,本产品可响应所有的复位类型。
复位源
运行模式
休眠模式
深度休眠模式
[0]
上电掉电复位 POR
√
√
√
[1]
外部 Reset Pin 复位
√
√
√
[2]
LVD 复位
√
√
√
[3]
WDT 复位
√
√
√
[4]
PCA 复位
√
√
[5]
Cortex-M0+ LOCKUP
√
硬件复位
[6]
Cortex-M0+
√
SYSRESETREQ 软件
复位
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 70 of 854
4.1
运行模式
本产品运行模式(Active Mode):
在系统在电源上电复位后,或从各低功耗唤醒后,微控制器 MCU 处于运行状态。当
CPU 不需继续运行时,可以利用多种低功耗模式来节能,例如等待某个外部事件时。
用户需要根据最低能耗、最快速启动时间、可用的唤醒源等条件,选定一个最佳的低功
耗模式。
运行模式(Active Mode)
Cortex-M0+
SWD
XTH
FLASH
UART0-1
RCH
RAM
SPI0-1
PLL
DMAC
I2C0-1
ADC
TIM0-3
CRC
RNG
TIM4-6
AES
OPA0-2
HDIV
XTL
RESET
LPUART0-1
RCL
POR/BOR
LPTIM
RTC
LVD
PCNT
LCD
VC0-1
GPIO
CLKTRIM
WDT
PCA
表 4-1 运行模式下可运行模块图
几种降低运行模式下芯片功耗的方法:
1) 在 运 行 模 式 下 , 通 过 对 预 分 频 寄 存 器 ( SYSCTRL0.HCLK_PRS, SYSCTRL0.
PCLK_PRS)进行编程,可以降低任意一个系统时钟(HCLK,PCLK)的速度。进入
休眠模式前,也可以利用预分频器来降低外设的时钟。
2) 在运行模式下,关闭不使用外设的时钟(PERI_CLKx)来减少功耗。
3) 在运行模式下,关闭不使用外设的时钟(PERI_CLKx)来减少功耗,并让系统进入
休 眠模式下更多地减少功耗 ,并在执行 WFI 指令前关闭不使用外设的 时 钟
(PERI_CLKEN.x)。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 71 of 854
4) 使用低功耗模式代替休眠模式,因为本产品的唤醒时间极短(~4us),亦可满足系统
的实时响应的需求。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 72 of 854
4.2
休眠模式
本产品休眠模式(Sleep Mode)
使用 WFI 指令可以进入休眠模式,休眠模式下,CPU 停止运行,但时钟模块、系统时
钟、NVIC 中断处理以及周边的功能模块仍都可以工作。
系统进入休眠状态,不会改变端口状态,在进入休眠前根据需要更改 IO 的状态为休眠
下的状态。
如何进入休眠模式:
通 过 执 行 WFI 指 令 进 入 休 眠 状 态 。 根 据 Cortex-M0+ 系 统 控 制 寄 存 器 中 的
SLEEPONEXIT 位的值,有两种选项可用于选择休眠模式进入机制:
SLEEP-NOW:如果 SLEEPONEXIT 位被清除,当 WFI 或 WFE 被执行时,微控制
器立即进入休眠模式。
SLEEP-ON-EXIT:如果 SLEEPONEXIT 位被置位,系统从最低优先级的中断处理程
序中退出时,微控制器就立即进入休眠模式。
如何退出休眠模式:
如果执行 WFI 指令进入休眠模式,任意一个高优先级嵌套向量中断控制器响应的外
设中断都能将系统从休眠模式唤醒。
使用注意:
1) SLEEP-ON-EXIT 该位置 1,执行完中断自动进入 sleep,程序不需要写 __wfi();
2) SLEEP-ON-EXIT 该位清 0,main()执行 __wfi() 后进入 sleeping,中断触发且执行完
中断程序返回 main() 后,执行 WFI 指令后进入 sleeping。等待后续中断触发。
3) SLEEP-ON-EXIT 位不影响 __wfi() 指令的执行。SLEEP-ON-EXIT =0:main() 执行
wfi() 后进入 sleeping,中断触发且执行完中断程序返回 main() 后,继续往下执行;
4) 若在中断中进入 sleep,只有优先级高于此中断的中断才能唤醒,先执行高优先级,
再执行低优先级;优先级低于或等于此中断的中断不能唤醒。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 73 of 854
休眠模式(Sleep Mode)
Cortex-M0+
SWD
XTH
FLASH
UART0-1
RCH
RAM
SPI0-1
PLL
DMAC
I2C0-1
ADC
TIM0-3
CRC
RNG
TIM4-6
AES
OPA0-2
HDIV
XTL
RESET
LPUART0-1
RCL
POR/BOR
LPTIM
RTC
LVD
PCNT
LCD
VC0-1
GPIO
CLKTRIM
WDT
PCA
灰色的模块在当前状态下不工作。
表 4-2 休眠模式下可运行模块图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 74 of 854
4.3
深度休眠模式
本产品深度休眠模式 (Deep Sleep Mode)
使用 SLEEPDEEP 配合 WFI 指令可以进入深度休眠模式,在深度休眠模式下,CPU
停止运行,高速时钟关闭,低速时钟可配置是否运行,部分低功耗的周边模块可配置是
否允许,NVIC 中断处理仍可以工作。
系统从高速时钟进入深度休眠模式,高速时钟自动关闭,低速时钟保持进入深度休眠
前的状态。
系统从低速时钟进入深度休眠模式,由于低速时钟不会自动关闭,保持运行,进入休
眠模式。只有 ARM Cortex-M0+不运行,其他模块都运行。
系统时钟切换时,所有时钟都不会自动关闭,需要根据功耗及系统需求软件关闭打开
相应的时钟。
系统进入深度休眠状态,不会改变端口状态,在进入休眠前根据需要更改 IO 的状态
为休眠下的状态。
如何进入深度休眠模式:
首先设置 Cortex-M0+ 系统控制寄存器中的 SLEEPDEEP 位,通过执行 WFI 指令进入
休眠状态。根据 Cortex™-M0+ 系统控制寄存器中的 SLEEPONEXIT 位的值,有两种选
项可用于选择深度休眠模式进入机制:
SLEEP-NOW:如果 SLEEPONEXIT 位被清除,当 WFI 或 WFE 被执行时,微控制器
立即进入休眠模式。
SLEEP-ON-EXIT:如果 SLEEPONEXIT 位被置位,系统从最低优先级的中断处理程序中
退出时,微控制器就立即进入休眠模式。
如何退出深度休眠模式:
如果执行 WFI 指令进入休眠模式,任意一个被嵌套向量中断控制器响应的外设中断
(Deep Sleep 下可运行的 周边模块中断)都能将系统从休眠模式唤醒。
唤醒设置参考 5.4 中断唤醒控制。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 75 of 854
深度休眠模式(Deep Sleep Mode)
Cortex-M0+
SWD
XTH
FLASH
UART0-1
RCH
RAM
SPI0-1
PLL
DMAC
I2C0-1
ADC
TIM0-3
CRC
RNG
TIM4-6
AES
OPA0-2
HDIV
XTL
RESET
LPUART0-1
RCL
POR/BOR
LPTIM
RTC
LVD
PCNT
LCD
VC0-1
GPIO
CLKTRIM
WDT
PCA
灰色的模块在当前状态下不工作。
表 4-3 深度休眠模式下可运行模块图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 76 of 854
系统控制寄存器(Cortex-M0+ 内核系统控制寄存器)
地址: 0xE000ED10
复位值:0x0000 0000
位
标记
功能描述
31:5
RESERVED
保留
4
SEVONPEND
3
RESERVED
读写
设置为1时,每次新的中断挂起都会产生一个事件,如果
使用了WFE 休眠,它可用于唤醒处理器
RW
保留
设为1时,执行 WFI 进入深度休眠,本产品进入 Deep
2
SLEEPDEEP
sleep 模式
RW
设置为0时,执行 WFI 进入休眠,本产品进入 sleep/Idle
模式
设为1时,当退出异常处理并返回程序线程时,处理器自
1
SLEEPONEXIT
RW
动进入休眠模式(WFI)
设置为0时,该特性就会被自动禁止
0
RESERVED
保留
进入深度休眠后,唤醒后系统时钟有两种选择,默认使用进入深度休眠的时钟,配置寄存
器 SYSCTRL0.wakeup_byRCH 为 1 后不管进入深度休眠前是什么时钟,唤醒后都使用
内部高速时钟 RCH。如果使用外部晶体振荡这样设置可以加速唤醒系统。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 77 of 854
5
系统控制器(SYSCTRL)
5.1 系统时钟介绍
时钟控制模块主要控制系统时钟以及外设时钟,可以配置不同的时钟源作为系统时钟、
可以配置不同的系统时钟分频、可以启动或禁用外设时钟。为了确保振荡器精度,内部时
钟均具有校准功能。
本产品支持以下五个不同的时钟源作为系统时钟:
内部高速 RC 时钟 RCH(输出频率为 4~24MHz)
内部低速 RC 时钟 RCL(38.4K 与 32.8K 可配置)
外部高速晶振时钟 XTH
外部低速晶振时钟 XTL
锁相环时钟 PLL
注 1:切换系统时钟的时钟源时,请严格按照操作步骤进行切换,详见 5.2 章节。
注 2:XTL 可以不接晶振,直接从 PC14 引脚输入 32.768KHz 的时钟信号。XTH 可以不接晶振,直接
从 PD00 引脚输入 4~32MHz 的时钟信号。
本产品还包含以下两个辅助时钟:
内部低速 10K 时钟;仅供看门狗和 CLKTRIM 模块使用。
内部 150K 时钟:仅供 LVD 和 VC 模块使用。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 78 of 854
下图为本产品的时钟架构。
SYSCTRL0[7:5]
外部
晶振
32.768K
XTL
4M-32M
XTH
SYSCTRL0[10:8]
SystemClk
/1,.../128
HCLK
Cortex M0+
PLL
校准的内
部振荡器
粗略的内
部振荡器
PLL
4M-24M
32K/38K
PLL
RCH
RCL
PCLK
RCL
XTL
LPTIM
PCLK
RCL
XTL
LPUART
XTH
RCL
XTL
RTC
XTH
XTL
RCH
RCL
IRC10K
IRC10K
To WDT、
ClockTrim
IRC150K
To VC、LVD
PCLK
/1,.../8
SYSCTRL0[12:11]
PeriClkEn.31
ClockTrim
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
To
Flash
DIV
DMA
GPIO
AES
CRC
SWD
SysTick
LCD
ClockTrim
RTC
PCNT
RNG
VC
ADC
WDT
PCA
OPA
TIM3
TIM4-TIM6
LPTIM
TIM0-TIM2
SPI1
SPI0
I2C1
I2C0
LPUART1
LPUART0
UART1
UART0
PeriClkEn.0
图 5-1 时钟控制模块框图
5.1.1 内部高速 RC 时钟 RCH
芯片上电或复位后的默认时钟源为频率为 4MHz 的内部高速时钟;当系统进入 Deep
Sleep,此高速时钟会自动关闭。
更改寄存器 RCH_CR[10:0]的数值即可调整 RCH 的输出频率。寄存器数值每增加 1 则
RCH 的输出频率增加约 0.2%,总调整范围为 4~24MHz。
出厂时已预调好的 5 个频率 4MHz、8MHz、16MHz、22.12MHz、24MHz;如需其它频
率请手动调整该寄存器的数值。
更改 RCH 输出频率需要按照特定的更改时序,详见系统时钟切换章节。
内部高速时钟从启动到稳定仅需 4uS。为了在深度休眠模式下能快速响应中断,建议进
入深度休眠模式前将系统时钟切换为 RCH。
5.1.2 内部低速 RC 时钟 RCL
内部低速时钟可以通过寄存器 RCL_CR[9:0]来选择其输出频率,可供选择的频率为
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 79 of 854
38.4KHz、32.768KHz。当系统进入 DeepSleep,此低速时钟不会自动关闭,超低功耗外
设模块可以选择 RCL 作为其时钟。
5.1.3 外部低速晶振时钟 XTL
外部低速晶振时钟需外接一个 32.768KHz 的低功耗晶振,具有超高精度以及超低功耗。
当系统进入 Deep Sleep,此低速时钟不会自动关闭。超低功耗模式下工作的外设模块可
以选择 XTL 作为其时钟。
XTL 也可以不接晶振,直接从 PC14 引脚输入 32.768KHz 的时钟信号。从 PC14 输入时
钟信号的方法为:配置 PC14 引脚为 GPIO 输入;设置 SYSCTRL.XTL_EN 和 SYSCTRL1.
EXTL_EN 为 1。
注意:
- 晶体及其匹配器件需符合 36.3.7.4 低速外部时钟 XTL 的相关要求。
5.1.4 外部高速晶振时钟 XTH
外部高速晶振时钟需外接一个 4 MHz ~32MHz 的高速晶振。当系统进入 Deep Sleep,
此高速时钟会自动关闭。
XTH 也可以不接晶振,直接从 PD00 引脚输入 4 ~32MHz 的时钟信号。从 PD00 输入时
钟信号的方法为:配置 PD00 引脚为 GPIO 输入;设置 SYSCTRL.XTH_EN 和 SYSCTRL1.
EXTH_EN 为 1。
注意:
- 晶体及其匹配器件需符合 36.3.7.3 高速外部时钟 XTH 的相关要求。
5.1.5 锁相环时钟 PLL
内建 PLL 支持 8M~48M 的时钟输出。PLL 的参考时钟源为:RCH、XTH 晶振时钟、
PD00 引脚输入时钟。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 80 of 854
5.1.6 时钟启动过程
上述五种时钟源都需要启动稳定时间,下图以外部 XTH 为例说明时钟的启动稳定过程。
XTL_EN
XTL_O
XTL到内部时钟
副频时钟
启动时间
稳定时间
图 5-2 晶振时钟启动示意图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 81 of 854
5.2
系统时钟切换
时 钟 源 的 切 换 是 由 寄 存 器 SYSCTRL0[7:0] 来 控 制 。 系 统 时 钟 的 时 钟 源 可 通 过
SYSCTRL0[7:5]在 RCH、RCL、XTH、XTL、PLL 之间进行切换。切换时 RCH、RCL、
XTH、XTL 这四个时钟源中的任意两者可以相互切换;PLL 只可与 RCH、XTH 这两个
时钟进行切换。时钟切换操作必须按照下文所描述的 7 种时钟切换流程进行,否则可能
出现异常。
时钟切换时需要同步配置 FLASH_CR. WAIT。时钟频率不大于 24MHz 则应设置
FLASH_CR.WAIT 为 0;时钟频率大于 24MHz 则应设置 FLASH_CR. WAIT 为 1;时钟
频率大于 48MHz 则应设置 FLASH_CR. WAIT 为 2。
注:设置 FLASH_CR. WAIT 的值,需要先向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5 然后
再对 FLASH_CR. WAIT 进行赋值,详见 FLASH 控制器章节。
5.2.1 标准的时钟切换流程
操作流程如下:
Step1:如新时钟源需要外部引脚,则将该引脚设置为适当的模式。
注:接外部晶振时需要模拟引脚;接外部时钟输入时需要 GPIO 输入并使能外部时钟输入。
Step2:配置新时钟源的的振荡参数。
Step3:使能新时钟源的振荡器。
Step4:根据当前时钟源和新时钟源两者中较高的频率,按 Flash 控制器章节流程配置
FLASH_CR. WAIT。
Step5:等待新时钟源输出稳定的频率。
Step6:配置 SYSCTRL0. Clk_sw5_sel,选择系统时钟的来源为新时钟源。
Step7:根据新时钟源的频率,按 Flash 控制器章节流程配置 FLASH_CR. WAIT。
Step8:关闭不再使用的时钟源。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 82 of 854
5.2.2 RCH 不同振荡频率间切换流程
RCH 不同振荡频率间切换具有两种方案。
方案 1:
Step1:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step2:设置 SYSCTRL0.HCLK_PRS 为 0x7。
Step3:向上或向下逐级调整 RCH 的输出频率,4M -> 8M -> 16M -> 24M/22.12M 或
24M/22.12M -> 16M -> 8M -> 4M。
Step4:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step5:设置 SYSCTRL0.HCLK_PRS 为 0x0。
从 4M 切换到 24M 的示例代码如下所示:
M0P_SystemCtrl->SYSCTRL2 = 0X5A5A;
M0P_SystemCtrl->SYSCTRL2 = 0XA5A5;
M0P_SystemCtrl->SYSCTRL0_f.HCLK_PRS = 7;
M0P_SystemCtrl->RCH_CR = *((uint16 *)( 0X00100C08 ) ); //4M
M0P_SystemCtrl->RCH_CR = *((uint16 *)( 0X00100C06 ) ); //8M
M0P_SystemCtrl->RCH_CR = *((uint16 *)( 0X00100C04 ) ); //16M
M0P_SystemCtrl->RCH_CR = *((uint16 *)( 0X00100C00 ) ); //24M
M0P_SystemCtrl->SYSCTRL2 = 0X5A5A;
M0P_SystemCtrl->SYSCTRL2 = 0XA5A5;
M0P_SystemCtrl->SYSCTRL0_f.HCLK_PRS = 0
方案 2:
Step1:将系统时钟切换为 RCL,参见 5.2.5 从其它时钟切换到 RCL 示例。
Step2:将系统时钟切换为 RCH,参见 5.2.6 从其它时钟切换到 RCH 示例。
5.2.3 从其它时钟切换到 XTL 示例
操作流程如下:
Step1:设置 PCADS. 14 及 PCADS. 15 为 1,配置 PC14/PC15 引脚为模拟端口。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 83 of 854
Step2:根据晶振特性,配置 XTL_CR[5:0]。
Step3:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step4:设置 SYSCTRL0. XTL_EN 为 1,使能晶振振荡电路。
Step5:查询等待 XTL_CR. Stable 标志变为 1,晶振输出稳定时钟。
Step6:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step7:设置 SYSCTRL0. Clk_sw5_sel 为 3,将系统时钟切换为 XTL。
Step8:按 Flash 控制器章节流程设置 FLASH_CR. WAIT 为 0。
Step9:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step10:设置 SYSCTRL0.xxx_EN 为 0,关闭原时钟。
5.2.4 从其它时钟切换到 XTH 示例
Step1:设置 PDADS. 0 及 PDADS. 1 为 1,配置 PD00/PD01 引脚为模拟端口。
Step2:根据晶振特性,配置 XTH_CR[3:0]。
Step3:设置 XTH_CR. Startup 为 3,选择最长的晶振稳定时间。
Step4:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step5:设置 SYSCTRL0. XTH_EN 为 1,使能晶振振荡电路。
Step6:根据当前时钟和 XTH 两者中较高的频率,按 Flash 控制器章节流程配置
FLASH_CR.WAIT。
Step7:查询等待 XTH_CR. Stable 标志变为 1 后,软件延时 10ms 以上,晶振输出稳定
时钟。
Step8:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step9:设置 SYSCTRL0. Clk_sw5_sel 为 1,将系统时钟切换为 XTH。
Step10:根据 XTH 的频率,按 Flash 控制器章节流程配置 FLASH_CR. WAIT。
Step11:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step12:设置 SYSCTRL0.xxx_EN 为 0,关闭原时钟。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 84 of 854
5.2.5 从其它时钟切换到 RCL 示例
操作流程如下:
Step1:配置 RCL_CR.TRIM 及 RCL_CR. Startup。
Step2:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step3:设置 SYSCTRL0. RCL_EN 为 1,使能 RCL 振荡电路。
Step4:查询等待 RCL_CR. Stable 标志变为 1,RCL 输出稳定时钟。
Step5:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step6:设置 SYSCTRL0. Clk_sw5_sel 为 2,将系统时钟切换为 RCL。
Step7:按 Flash 控制器章节流程设置 FLASH_CR. WAIT 为 0。
Step8:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step9:设置 SYSCTRL0.xxx_EN 为 0,关闭原时钟。
5.2.6 从其它时钟切换到 RCH 示例
操作流程如下:
Step1:配置 RCH_CR.TRIM。
Step2:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step3:设置 SYSCTRL0. RCH_EN 为 1,使能 RCH 振荡电路。
Step4:查询等待 RCH_CR. Stable 标志变为 1,RCH 输出稳定时钟。
Step5:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step6:设置 SYSCTRL0. Clk_sw5_sel 为 0,将系统时钟切换为 RCH。
Step7:按 Flash 控制器章节流程设置 FLASH_CR. WAIT 为 0。
Step8:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step9:设置 SYSCTRL0.xxx_EN 为 0,关闭原时钟。
5.2.7 PLL 与 RCH 相互切换示例,参考时钟为 RCH
从 RCH 切换到 PLL 操作流程如下:
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 85 of 854
Step1:设置 PLL_CR.REFSEL 为 3,选择 PLL 时钟源为 RCH。
Step2:根据 RCH 频率,配置 PLL_CR.FRSEL。
Step2:根据 PLL 输出频率,配置 PLL_CR.DIVN 及 PLL_CR.FOSC。
Step3:设置 PLL_CR. Startup 为 7,选择最长的 PLL 稳定时间。
Step4:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step5:设置 SYSCTRL0.PLL_EN 为 1,使能 PLL 振荡电路。
Step6:根据 PLL 输出频率,按 Flash 控制器章节流程配置 FLASH_CR. WAIT。
Step7:查询等待 PLL_CR. Stable 标志变为 1,PLL 输出稳定时钟。
Step8:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step9:设置 SYSCTRL0. Clk_sw5_sel 为 4,将系统时钟切换为 PLL。
警告:切换过程中不可以更改 RCH_CR.TRIM。
从 PLL 切换到 RCH 操作流程如下:
Step1:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step2:设置 SYSCTRL0. Clk_sw5_sel 为 0,将系统时钟切换为 RCH。
Step3:按 Flash 控制器章节流程设置 FLASH_CR. WAIT 为 0。
Step4:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step5:设置 SYSCTRL0.PLL_EN 为 0,关闭 PLL。
警告:切换过程中不可以更改 RCH_CR.TRIM。
5.2.8 PLL 与 XTH 相互切换示例,参考时钟为 XTH
从 RCH 切换到 PLL 操作流程如下:
Step1:设置 PLL_CR.REFSEL 为 0,选择 PLL 时钟源为 XTH。
Step2:根据 XTH 频率,配置 PLL_CR.FRSEL。
Step2:根据 PLL 输出频率,配置 PLL_CR.DIVN 及 PLL_CR.FOSC。
Step3:设置 PLL_CR. Startup 为 7,选择最长的 PLL 稳定时间。
Step4:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 86 of 854
Step5:设置 SYSCTRL0.PLL_EN 为 1,使能 PLL 振荡电路。
Step6:根据 PLL 输出频率,按 Flash 控制器章节流程配置 FLASH_CR. WAIT。
Step7:查询等待 PLL_CR. Stable 标志变为 1,PLL 输出稳定时钟。
Step8:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step9:设置 SYSCTRL0. Clk_sw5_sel 为 4,将系统时钟切换为 PLL。
从 PLL 切换到 XTH 操作流程如下:
Step1:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step2:设置 SYSCTRL0. Clk_sw5_sel 为 1,将系统时钟切换为 XTH。
Step7:根据 XTH 的频率,按 Flash 控制器章节流程配置 FLASH_CR. WAIT。
Step8:向 SYSCTRL2 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step9:设置 SYSCTRL0.PLL_EN 为 0,关闭 PLL。
下图为时钟切换时序图:
系统时钟:RCH切换XTH
外部XTH启动
外部XTH
内部采样到
的XTH时钟
XTH 稳定信号
内部RCH使能
信号
内部RCH
时钟
时钟切换信号
SYSCTRL0[7:5]
系统时钟
图 5-3
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
时钟切换示意图
Page 87 of 854
5.3
时钟校准模块
本产品内嵌时钟校准电路,如下图所示,系统时钟的 5 个源均可以相互校准,当选择好
参考时钟以及被校准时钟后,设置寄存器 REFCNT 值,置位 cali.start 启动时钟校准电
路,此时两个 32 位计数器(递增、递减)同时工作,当递减计数器等于 0 时,cali.finish
被置位,表明校准结束,此时软件可以读取 CALCNT 值,这样就很容易得到参考时钟
与被校准时钟之间的频率关系。
REFCLK域
RCH
XTH
RCL
XTL
EXT
RC10K
REFCNT
REFCLK
在开始之前写
入REFCNT值
32位计数器(递减)
START
STOP
=0?
CALCLK域
RCH
XTH
RCL
XTL
PLL
STOP
CALCLK
32位计数器(递增)
HCLK域
cali_start
CALCNT
图 5-4 时钟校准原理图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 88 of 854
5.4
中断唤醒控制
当处理器执行 WFI 指令进入休眠状态时,会停止执行指令。在休眠状态下发生了中断
请求(更高优先级)且需要处理时,处理器就会被唤醒。
休眠状态下的处理器收到中断请求时的行为如下表所示:
PRIMASK 状态
WFI 行为
唤醒
ISR 执行
0
IRQ 优先级>当前等级
Y
Y
0
IRQ 优先级≦当前等级
N
N
1
IRQ 优先级>当前等级
Y
N
1
IRQ 优先级≦当前等级
N
N
5.4.1 从深度休眠模式唤醒后执行中断服务程序的方法
1. 使能需要唤醒处理器的模块所对应的 NVIC
2. 使能需要唤醒处理器的模块所对应的中断
3. 设置 SCB->SCR.SLEEPDEEP 为 1
4. 执行 WFI 指令以进入深度休眠模式
5. 系统进入深度休眠模式等待中断唤醒,唤醒后执行中断服务程序
例程:
SCB_SCR |= 0x00000004u;
while(1)
{
__asm("WFI");
}
5.4.2 从深度休眠模式唤醒后不执行中断服务程序的方法
1. 使能需要唤醒处理器的模块所对应的 NVIC
2. 使能需要唤醒处理器的模块所对应的中断
3. 设置 PRIMASK 为 1
4. 设置 SCB->SCR.SLEEPDEEP 为 1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 89 of 854
5. 执行 WFI 指令以进入深度休眠模式
6. 系统进入深度休眠模式等待中断唤醒,唤醒后执行下一条指令
7. 清除中断标志,清除中断挂起状态
8. 执行用户定义的操作
例程:
__asm("CPSID I");
//Set PRIMASK
SCB_SCR |= 0x00000004u;
while(1)
{
__asm("WFI");
BTIMERLP_REG->TFCR_f.TFC=0;
//Clear Int Flag
NVIC_ClearPendingIRQ(TIMERLP_IRQn); //Clear Pending Flag
…
//执行用户定义的操作
}
5.4.3 使用退出休眠特性
退出休眠(sleep-on-exit)非常适合中断驱动的应用程序。当该特性使能时,只要完成异
常处理并且返回到了线程模式,处理器就会进入休眠模式。利用退出休眠特性,处理器
可以尽可能多的处于休眠模式。
Cortex-M0 利用退出休眠特性进入休眠,这种情况同执行完异常退出后立即执行 WFI
的效果差不多。不过,为了下次进入异常时,不用再进行压栈操作,处理器不会执行出
栈的过程。
1. 使能需要唤醒处理器的模块所对应的 NVIC
2. 使能需要唤醒处理器的模块所对应的中断
3. 设置 SCB->SCR.SLEEPDEEP 为 1
4. 设置 SCB—>SCR.SLEEPONEXIT 为 1
5. 执行 WFI 指令以进入深度休眠模式
6. 系统进入深度休眠模式等待中断唤醒,唤醒后执行中断服务子程序
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 90 of 854
7. 退出中断服务时自动进入休眠模式
例程:
SCB_SCR |= 0x00000004u;
SCB_SCR |= 0x00000002u;
while(1)
{
__asm("WFI");
}
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 91 of 854
5.5
寄存器
基地址 0x40002000
寄存器
偏移地址
描述
SYSCTRL0
0x000
系统控制寄存器0
SYSCTRL1
0x004
系统控制寄存器1
SYSCTRL2
0x008
系统控制寄存器2
RCH_CR
0x00C
RCH 控制寄存器
XTH_CR
0x010
XTH 控制寄存器
RCL_CR
0x014
RCL 控制寄存器
XTL_CR
0x018
XTL 控制寄存器
PERI_CLKEN
0x020
外围模块时钟控制寄存器
PLL_CR
0x03C
PLL 控制寄存器
表 5-1 系统控制寄存器表格
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 92 of 854
5.5.1 系统控制寄存器 0(SYSCTRL0)
偏移地址:0x000
复位值:0x0000 0001
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
PLL
XTL_
RCL_
XTH_
RCH_
_EN
EN
EN
EN
EN
RW
RW
RW
RW
RW
Reserved
15
14
13
Wakeup_
byRCH
12
11
10
PCLK_PR
Reserved
RW
S
9
8
HCLK_PRS
RW
RW
7
clk_sw5_sel
RW
位
标记
功能描述
31:16
Reserved
保留
wakeup_
1:从 Deep Sleep 唤醒后,system clock来源为RCH,原时钟继续使能。
byRCH
0:从 Deep Sleep 唤醒后,不改变system clock来源。
Reserved
保留
15
14:13
PCLK时钟来源选择
00: HCLK
12:11
PCLK_PRS
01: HCLK/2
10: HCLK/4
11: HCLK/8
HCLK时钟来源选择
000: SystemClk
001: SystemClk/2
010: SystemClk/4
10:8
HCLK_PRS
011: SystemClk/8
100: SystemClk/16
101: SystemClk/32
110: SystemClk/64
111: SystemClk/128
SystemClk时钟来源选择
000:内部高速时钟 RCH
7:5
Clk_sw5_sel
001:外部高速晶振 XTH
010:内部低速时钟 RCL
011:外部低速晶振 XTL
100:内部 PLL
PLL使能控制
4
PLL_EN
0: 关闭
1: 使能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 93 of 854
外部低速晶振 XTL 使能控制
3
XTL_EN
0: 关闭
1: 使能
注:需要将PC14、PC15设置成模拟端口。
内部低速时钟 RCL 使能控制
2
RCL_EN
0: 关闭
1: 使能
外部高速晶振 XTH 使能控制
1
XTH_EN
0: 关闭
1: 使能
注:当系统进入DeepSleep,此高速时钟会自动关闭
内部高速时钟 RCH 使能信号。
0
RCH_EN
0: 关闭
1: 使能
注:当系统进入DeepSleep,此高速时钟会自动关闭。
注意:
– 每次改写 SYSCTRL0,SYSCTRL1 的值,均需要先对 SYSCTRL2 依次写入 0x5A5、
0xA5A5。这样的步骤可有效防止对 SYSCTRL0,SYSCTRL1 寄存器的误操作。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 94 of 854
5.5.2 系统控制寄存器 1(SYSCTRL1)
偏移地址:0x004
复位值: 0x00000008
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
6
5
4
3
2
1
XTL_ALW
EXTL
EXTH
AYS_ON
_EN
_EN
RW
RW
RW
16
Reserved
15
14
13
12
11
10
9
8
7
SWD_
LOCK
USE_
UP_E
RTC_
RTC_FREQ_ADJUST
Reserved
Res.
RW
位
标记
功能描述
31:12
Reserved
保留位
11:9
8
7
RTC_FREQ_
ADJUST
SWD_
USE_IO
Res.
LPW
IO
N
RW
RW
RW
Res.
0
Res.
RTC 高速时钟补偿时钟频率选择
000 4M; 001 6M; 010 8M;011 12M
100 16M; 101 20M; 110 24M; 111 32M;
SWD 端口功能配置
0:SWD 端口
1:GPIO 端口
保留位
Cortex-M0+ LockUp 功能配置
6
LOCKUP_EN
0:关闭
1:使能
注:使能后,CPU读到无效指令时会复位MCU,可增强系统可靠性。
RTC 模块低功耗控制
5
RTC_LPW
1:低功耗模式使能
0:低功耗模式禁能
注:使能后,RTC 模块进低功耗状态,其寄存器不可以读写。
4
3
Res.
XTL_
ALWAYS_ON
保留位
XTL 高级使能控制
1:SYSCTRL0.XTL_EN 只可置位。
0:SYSCTRL0.XTL_EN 可置位可清零。
外部 XTL 时钟输入控制
2
EXTL_EN
1:XTL 输出时钟从 PC14 输入。
0:XTL 输出时钟由晶振产生。
注:使用PC14 输入时钟时,需设置SYSCTRL0.XTL_EN为1。
1
EXTH_EN
外部 XTH 输入控制
1:XTH 输出时钟从 PD00输入。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 95 of 854
0:XTH 输出时钟由晶振产生。
注:使用PD00 输入时钟时,需设置SYSCTRL0.XTH_EN为1。
0
Reserved
保留位
注意:
– 每次改写 SYSCTRL0,SYSCTRL1 的值,均需要先对 SYSCTRL2 依次写入 0x5A5、
0xA5A5。这样的步骤可有效防止对 SYSCTRL0,SYSCTRL1 寄存器的误操作。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 96 of 854
5.5.3 系统控制寄存器 2(SYSCTRL2)
偏移地址:0x008
复位值: 0x00000000
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
SYSCTRL2
WO
位
标记
功能描述
31:16
Reserved
保留位
寄 存器 SYSCTL0, SYSCTRL1 保护系 列控制 寄存 器,对 SYSCTRL2 先 写
0x5A5A,再写 0xA5A5,启动对于寄存器 SYSCTL0,SYSCTRL1 的写操作,只
15:0
SYSCTRL2
要对寄存器 SYSCTL0,SYSCTRL1 写操作了,这个保护位自动回复保护状态,
需要重新写入系列打开保护。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 97 of 854
5.5.4 RCH 控制寄存器(RCH_CR)
偏移地址:0x00C
复位值: 0x00000126
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
Reserved
12
11
10
9
8
7
Stable
TRIM
RO
RW
位
标记
功能描述
31:12
Reserved
保留位
RCH 时钟稳定标志位。
11
stable
1:代表 RCH 已经稳定,可以被内部电路使用。
0:代表 RCH 未稳定,不可以被内部电路使用。
时钟频率调整,更改该寄存器的数值即可调整RCH的输出频率。寄存器数值
每增加1则RCH的输出频率增加约0.2%,总调整范围为4~24MHz。
Flash中已保存了5组频率的校准值,将Flash内的校准值读出并写入
RCH_CR.TRIM即可获得精准的频率。
10:0
TRIM
24M校准值地址:0x00100C00 - 0x00100C01
22.12M校准值地址:0x00100C02 - 0x00100C03
16M校准值地址:0x00100C04 - 0x00100C05
8M校准值地址:0x00100C06 - 0x00100C07
4M校准值地址:0x00100C08 - 0x00100C09
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 98 of 854
5.5.5 XTH 控制寄存器(XTH_CR)
偏移地址:0x010
复位值: 0x00000022
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
Reserved
位
标记
功能描述
31:7
Reserved
保留位
Stable
Startup
xth_fsel
Driver
RO
RW
RW
RW
外部高速时钟 XTH 稳定标志位。
1:代表 XTH 已经稳定,可以被内部电路使用。
6
stable
0:代表 XTH 未稳定,不可以被内部电路使用。
注意:为了增加系统可靠性,在查询到该标志后,需要软件延时 10ms 以上,
才可将系统时钟切换为 XTH。
外部高速时钟 XTH 稳定时间选择
00: 256 个周期;
01: 1024 个周期;
5:4
Startup
10: 4096 个周期;
11: 16384 个周期;
注:强烈建议将 XTH 的稳定时间设置为 11。如果 XTH 稳定时间不足,在
进行时钟切换时或从深度休眠唤醒时,系统不能稳定工作。
外部晶振工作频率选择
11: 24M~32M
3:2
xth_fsel
10: 16M~24M
01: 8M~16M
00: 4M~8M
外部晶振驱动能力选择
11: 最强驱动能力
10: 默认驱动能力 (推荐值)
1:0
Driver
01: 弱驱动能力
00: 最弱驱动能力
注:需要根据晶振特性、负载电容以及电路板的寄生参数选择适当的驱动能力。
驱动能力越大则功耗越大;驱动能力越弱则功耗越小。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 99 of 854
5.5.6 RCL 控制寄存器(RCL_CR)
偏移地址:0x014
复位值: 0x0000033Fh
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
Reserved
12
11
10
9
8
7
Stable
Startup
TRIM
RO
RW
RW
RW
位
标记
功能描述
31:13
Reserved
保留位
内部低速时钟 RCL 稳定标志位。
12
stable
1:代表 RCL 已经稳定,可以被内部电路使用。
0:代表 RCL 未稳定,不可以被内部电路使用。
内部低速时钟 RCL 稳定时间选择
11: 256个周期;
11:10
Startup
10: 64个周期;
01: 16个周期;
00: 4个周期;
内部低速时钟频率调整,Flash中保存了2组频率的校准值。
9:0
TRIM
将Flash内的校准值读出并写入RCL_CR.TRIM即可获得精准的频率。
38.4K校准值地址: 0x00100C20 - 0x00100C21
32.768K校准值地址:0x00100C22 - 0x00100C23
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 100 of 854
5.5.7 XTL 控制寄存器(XTL_CR)
偏移地址:0x018
复位值: 0x00000021
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
Reserved
位
标记
31:7
Reserved
Stable
Startup
Amp_sel
Driver
RO
RW
RW
RW
功能描述
外部低速晶振 XTL 稳定标志位。
6
stable
1:代表 XTL 已经稳定,可以被内部电路使用。
0:代表 XTL 未稳定,不可以被内部电路使用。
外部低速晶振 XTL 稳定时间选择
00: 256 个周期;
5:4
Startup
01: 1024 个周期;
10: 4096 个周期;
11: 16384 个周期;
XTL晶振振荡幅度的调整。
11: 最大振幅
3:2
amp_sel
10: 较大振幅(推荐值)
01: 正常振幅
00: 最小振幅
XTL晶振驱动能力选择
11: 最强驱动能力
10: 较强驱动能力
1:0
Driver
01: 一般驱动能力 (推荐值)
00: 最弱驱动能力
注:需要根据晶振特性、负载电容以及电路板的寄生参数选择适当的驱动能力。
驱动能力越大则功耗越大;驱动能力越弱则功耗越小。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 101 of 854
5.5.8 PLL 控制寄存器(PLL_CR)
偏移地址:0x03C
复位值: 0x000010B0F
31
2
30
28
27
26
25
24
23
22
21
20
19
9
Reserved
15
14
13
12
11
10
9
8
7
6
5
4
18
17
16
Stable
Startup
RO
RW
3
2
1
0
Stableopt
FRSEL
LFSEL
IBSEL
DVIN
FOSC
REFSEL
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能描述
31:19
Reserved
保留
PLL 稳定标志
18
Stable
0: PLL未稳定
1:PLL已经稳定
PLL 稳定时间选择
000: 128个PLL周期
001: 256个PLL周期
010: 512个PLL周期
17:15
Startup
011: 1024个PLL周期
100: 2048个PLL周期
101: 4096个PLL周期
110: 8192个PLL周期
111: 16384个PLL周期
PLL 输入频率选择,根据PLL输入时钟的频率进行如下配置
00:4M~6M
14:13
FRSEL
01:6M~12M
10:12M~20M
11:20M~24M
12:11
LFSEL
PLL 滤波器控制位, 请保持默认值
10:9
IBSEL
PLL 偏置电流选择, 请保持默认值
PLL 输出时钟的倍频系数,
8:5
DIVN
PLL输出频率与输入频率的倍数
输出频率 = DIVN*输入频率,
DIVN 允许范围0X2~0XC
4:2
FOSC
PLL 输出频率范围选择,根据PLL输出时钟频率进行如下配置
000:8M~12M
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 102 of 854
001:12M~18M
010:18M~24M
011:24M~36M
1xx:36M~48M
输入时钟选择
1:0
REFSEL
x0:XTH晶振生成的时钟
01:XTH从引脚PD00输入的时钟。(详见5.1.4)
11:RCH时钟
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 103 of 854
5.5.9 外围模块时钟控制寄存器(PERI_CLKEN)
复位值: 0x8080_0000
偏移地址:0x020
31
30
29
28
27
26
25
24
DIV
DMA
GPIO
AES
CRC
SWD
TICK
23
22
21
20
19
18
17
16
LCD
Trim
RTC
PCNT
RNG
VC
ADC
RW
RW
RW
RW
RW
RW
RW
7
6
5
4
3
2
1
0
LPUA
LPUA
SPI1
SPI0
I2C1
I2C0
UART1
UART0
RT1
RT0
RW
RW
RW
RW
FLAS
Res.
H
RW
RW
RW
RW
RW
RW
RW
RW
15
14
13
12
11
10
9
8
LP
BASE
PCA
OPA
TIM
ADV
WDT
3
TIM
TIM
TIM
RW
RW
RW
RW
Res.
RW
位
RW
RW
标记
RW
RW
RW
RW
功能描述
FLASH 控制器模块时钟使能。关闭后 FLASH 配置寄存器不可写,FLASH
31
FLASH
中的程序仍然可以运行。
1:使能;0:关闭
30
DIV
29
DMA
28
GPIO
27
AES
26
CRC
25
SWD
24
TICK
23
Res.
22
LCD
21
TRIM
20
RTC
19
PCNT
HDIV 模块时钟使能。
1:使能;0:关闭
DMAC 模块时钟使能。
1:使能;0:关闭
GPIO 模块时钟使能。
1:使能;0:关闭
AES 模块时钟使能。
1:使能;0:关闭
CRC 模块时钟使能。
1:使能;0:关闭
SWD 模块时钟使能。
1:使能;0:关闭
SysTick定时器参考时钟使能。
1:使能;0:关闭
保留位
LCD 模块时钟使能。
1:使能;0:关闭
CLKTRIM 模块时钟使能。
1:使能;0:关闭
RTC 模块时钟使能。
1:使能;0:关闭
PCNT 模块时钟使能。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 104 of 854
1:使能;0:关闭
18
RNG
17
VC
16
ADC
15
WDT
14
PCA
13
OPA
12
Res.
11
TIM3
10
ADVTIM
9
LPTIM
8
BASETIM
7
SPI1
6
SPI0
5
I2C1
4
I2C0
3
LPUART1
2
LPUART0
1
UART1
0
UART0
RNG 模块时钟使能。
1:使能;0:关闭
VC、LVD,模块时钟使能。
1:使能;0:关闭
ADC、BGR 模块时钟使能。
1:使能;0:关闭
WDT 模块时钟使能。
1:使能;0:关闭
PCA 模块时钟使能。
1:使能;0:关闭
OPA 模块时钟使能。
1:使能;0:关闭
保留位
TIM3 模块时钟使能。
1:使能;0:关闭
TIM456 模块时钟使能。
1:使能;0:关闭
LPTIM 模块时钟使能。
1:使能;0:关闭
TIM012 模块时钟使能。
1:使能;0:关闭
SPI1 模块时钟使能。
1:使能;0:关闭
SPI0 模块时钟使能。
1:使能;0:关闭
I2C1 模块时钟使能。
1:使能;0:关闭
I2C0 模块时钟使能。
1:使能;0:关闭
LPUART1 模块时钟使能。
1:使能;0:关闭
LPUART0 模块时钟使能。
1:使能;0:关闭
UART1 模块时钟使能。
1:使能;0:关闭
UART0 模块时钟使能。
1:使能;0:关闭
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 105 of 854
6
复位控制器(RESET)
6.1
复位控制器介绍
本产品具有 7 个复位信号来源,每个复位信号都可以让 CPU 重新运行,绝大多数寄存
器会被复位到复位值,程序会从复位向量处开始执行。
数字区域上电掉电复位 POR
外部 Reset PAD,低电平为复位信号
WDT 复位
PCA 复位
LVD 低电压复位
Cortex-M0+ SYSRESETREQ 软件复位
Cortex-M0+ LOCKUP 硬件复位
每个复位源由相应的复位标志进行指示。复位标志均由硬件置位,需要用户软件清零。
芯片复位时,如果查询到 Reset_flag. POR15V 或 Reset_flag. POR5V 为 1 则为上电复位。
上电复位时用户程序应当将寄存器 Reset_flag 清零,则下一次复位时可通过 Reset_flag
的相关比特判断复位来源。
下图描述各区域的复位来源。
POR
Reset_pad
WDT_Reset
OR
PCA Reset
MCU
LVD_Reset
Cortex-M0+ SYSRESETREQ Reset
Cortex-M0+ LOCKUP Reset
图 6-1 复位来源示意图
6.1.1 上电下电复位 POR
本产品有两个供电区域:VCC 区域、VCAP 区域。所有的模拟模块及 IO 工作于 VCC
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 106 of 854
区域;其它模块工作于 VCAP 区域。
VCC 区域上电时,当 VCC 电压低于 POR 阈值电压时(典型值为 1.65V),会产生 POR5V
信号;VCC 区域下电时,当 VCC 电压低于 BOR 阈值电压时(典型值为 1.5V),会产生
POR5V 信号。
VCAP 区域上电时,当 VCAP 电压低于 POR 阈值电压时,会产生 POR15V 信号;VCAP
区域下电时,当 VCAP 电压低于 BOR 阈值电压时,会产生 POR15V 信号。
POR5V 信号和 POR15V 信号均会将芯片的寄存器复位到初始化状态。
6.1.2 外部复位引脚复位
当外部复位引脚检测到低电平时会产生一个系统复位。该复位引脚已内置上拉电阻,并
集成了一个毛刺过滤电路。毛刺过滤电路会过滤小于 20uS(典型值)的毛刺信号,因
此,加到复位引脚上的低电平信号必须大于 20uS,才能确保芯片可靠复位。
6.1.3 WDT 复位
看门狗复位,请参看 WDT 一章说明。
6.1.4 PCA 复位
PCA 复位,请参看 PCA 一章说明。
6.1.5 LVD 低电压复位
LVD 复位,请参考 LVD 一章说明。
6.1.6 Cortex-M0+ SYSRESETREQ 复位
Cortex-M0+ 软件复位
6.1.7 Cortex-M0+ LOCKUP 复位
当 Cortex-M0+ 遇到严重的异常时,它会将自己的 PC 指针停在当前地址处,并锁死自
己,并在几个时钟周期延时之后复位整个 CORE 区域。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 107 of 854
6.2
寄存器
6.2.1 复位标识寄存器(RESET_FLAG)
复位值: 00000000_00000000_00000000_xxxxxx11b
地址:0x4000201C
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
7
6
5
4
3
2
1
0
RSTB
sysreq
lockup
PCA
WDT
LVD
Por15
Por5v
RW0
RW0
RW0
RW0
RW0
RW0
RW0
RW0
Reserved
15
14
13
12
11
10
9
8
Reserved
位
标记
功能描述
31:8
Reserved
保留位
RESETB 端口复位标志,需要软件初始化及清除,上电状态不定
7
RSTB
1:发生端口复位
0:无端口复位发生
写0清除,写1无效
Cotrex-M0+ CPU 软件复位标志,需要软件初始化及清除,上电状态不定
6
Sysreq
1:发生 Cotrex-M0+ CPU 软件复位
0:无 Cotrex-M0+ CPU 软件复位发生
写0清除,写1无效
Cotrex-M0+ CPU Lockup 复位标志,需要软件初始化及清除,上电状态不定
5
Lockup
1:发生 Cotrex-M0+ CPU
0:无 Cotrex-M0+ CPU
Lockup 复位
Lockup 复位发生
写0清除,写1无效
PCA 复位标志,需要软件初始化及清除,上电状态不定
4
PCA
1:发生 PCA 复位
0:无 PCA 复位发生
写0清除,写1无效
WDT 复位标志,需要软件初始化及清除,上电状态不定
3
WDT
1:发生 WDT 复位
0:无 WDT 复位发生
写0清除,写1无效
LVD 复位标志,需要软件初始化及清除,上电状态不定
2
LVD
1:发生 LVD 复位
0:无 LVD 复位发生
写0清除,写1无效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 108 of 854
VCAP域复位标志
1:VCAP域发生复位
1
POR15V
0:VCAP域无复位发生
写 0 清除,写 1 无效
VCC电源域复位标志
0
POR5V
1:VCC电源域发生复位
0:VCC电源域无复位发生
写0清除,写1无效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 109 of 854
6.2.2 外围模块复位控制寄存器(PREI_RESET)
复位值: 0x7F7F6FFF
地址:0x40002028
31
30
29
28
27
26
25
24
DIV
DMA
GPIO
AES
CRC
SWD
TICK
Res.
15
23
22
21
20
19
18
17
16
LCD
Trim
RTC
PCNT
RNG
VC
ADC
RW
RW
RW
RW
RW
RW
RW
7
6
5
4
3
2
1
0
LPUA
LPUA
UART
UART
SPI1
SPI0
I2C1
I2C0
RT1
RT0
1
0
RW
RW
RW
RW
Res.
RW
RW
RW
RW
RW
RW
RW
14
13
12
11
10
9
8
ADV
LP
BASE
PCA
OPA
Res
TIM3
Res.
RW
RW
RW
位
标记
功能描述
31
Res.
保留位
30
DIV
29
DMA
28
GPIO
27
AES
26
CRC
25
SWD
24
TICK
23
Res.
22
LCD
21
TRIM
20
RTC
19
PCNT
18
RNG
TIM
TIM
TIM
RW
RW
RW
RW
RW
RW
RW
HDIV 模块复位使能。
1:正常工作;0:模块处于复位状态
DMAC 模块复位使能。
1:正常工作;0:模块处于复位状态
GPIO 模块复位使能。
1:正常工作;0:模块处于复位状态
AES 模块复位使能。
1:正常工作;0:模块处于复位状态
CRC 模块复位使能。
1:正常工作;0:模块处于复位状态
SWD 模块复位使能。
1:正常工作;0:模块处于复位状态
SYSTICK 模块复位使能。
1:正常工作;0:模块处于复位状态
保留位
LCD 模块复位使能。
1:正常工作;0:模块处于复位状态
CLKTRIM 模块复位使能。
1:正常工作;0:模块处于复位状态
RTC 模块复位使能。
1:正常工作;0:模块处于复位状态
PCNT 模块复位使能。
1:正常工作;0:模块处于复位状态
RNG 模块复位使能。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 110 of 854
1:正常工作;0:模块处于复位状态
17
VC
16
ADC
15
Res.
14
PCA
13:11
OPA
12
Res.
11
TIM3
10
ADVTIM
9
LPTIM
8
BASETIM
7
SPI1
6
SPI0
5
I2C1
4
I2C0
3
LPUART1
2
LPUART0
1
UART1
0
UART0
VC,LVD,模块复位使能。
1:正常工作;0:模块处于复位状态
ADC 模块复位使能。
1:正常工作;0:模块处于复位状态
保留位
PCA 模块复位使能。
1:正常工作;0:模块处于复位状态
OPA 模块复位使能。
1:正常工作;0:模块处于复位状态
保留位
TIM3 模块复位使能。
1:正常工作;0:模块处于复位状态
TIM456 模块复位使能。
1:正常工作;0:模块处于复位状态
LPTIM 模块复位使能。
1:正常工作;0:模块处于复位状态
TIM012 模块复位使能。
1:正常工作;0:模块处于复位状态
SPI1 模块复位使能。
1:正常工作;0:模块处于复位状态
SPI0 模块复位使能。
1:正常工作;0:模块处于复位状态
I2C1 模块复位使能。
1:正常工作;0:模块处于复位状态
I2C0 模块复位使能。
1:正常工作;0:模块处于复位状态
LPUART1 模块复位使能。
1:正常工作;0:模块处于复位状态
LPUART0 模块复位使能。
1:正常工作;0:模块处于复位状态
UART1 模块复位使能。
1:正常工作;0:模块处于复位状态
UART0 模块复位使能。
1:正常工作;0:模块处于复位状态
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 111 of 854
7
中断控制器(NVIC)
7.1
概述
Cortex-M0+ 处理器内置了嵌套向量中断控制器(NVIC),支持最多 32 个中断请求(IRQ)
输入,以及 1 个不可屏蔽中断(NMI)输入(在本产品系统中并未使用)。另外,处理
器还支持多个内部异常。
每个异常源都有一个单独的异常编号,每种异常类型都有对应的优先级,有些异常的优
先级是固定的,而有些则是可编程的。具体如下表所示:
异常编号
异常类型
优先级
描述
1
复位
-3(最高)
复位
2
NMI
-2
不可屏蔽中断(在本系统中没有使用)
3
硬件错误
-1
错误处理异常
4-10
保留
NA
…
11
SVC
可编程
通过SVC指令调用管理程序
12-13
保留
NA
…
14
PendSV
可编程
系统服务的可挂起请求
15
SysTick
可编程
SysTick定时器
16
中断#0
可编程
外部中断#0
17
中断#1
可编程
外部中断#1
…
…
…
…
47
中断#31
可编程
外部中断#31
表 7-1
Cortex-M0+ 处理器中断一览
本章节只对处理器的 32 个外部中断请求(中断#0 到中断#31)做详细介绍,处理器内部
异常的具体情况可参考其他相关文档。同时,本章节只讨论处理器内核中 NVIC 的中
断处理机制,外设模块自身的中断产生机制不在这里展开讨论。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 112 of 854
7.2
中断优先级
每一个外部中断都对应一个优先级寄存器,每个优先级都是 2 位宽,并且使用中断优先
级寄存器的最高两位,每个寄存器占 1 个字节(8 位)。在这个设定下,可以使用的优先
级为 0x00(最高)、0x40、0x80 和 0xc0(最低)。
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
未使用,读出为 0
已使用
图 7-1 只使用了高两位的优先级寄存器
如果处理器已经在运行另外一个中断处理,而新中断的优先级大于正在执行的,这时就
会发生抢占。正在运行的中断处理会被暂停,转而执行新的中断,这个过程通常被称为
中断嵌套。新的中断执行完毕后,之前的中断处理会继续执行,并且在其结束后返回到
程序线程中。
如果处理器正在运行的另外一个中断处理的优先级相同或者更高,新的中断将会等待并
且进入挂起状态。挂起的中断将会一直等到当前中断等级改变,例如,当前运行的中断
处理完成返回后,当前优先级降低到了比挂起中断还要小。
如果两个中断同时发生,并且它们的优先级相同,中断编号较小的中断将会首先执行。
例如,如果中断#0 和中断#1 使能且具有相同的优先级,在它们同时被触发时,中断#0
会首先执行。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 113 of 854
7.3
中断向量表
当 Cortex-M0+处理器要处理中断服务请求时,它需要首先确定异常处理的起始地址,所
需的信息叫做向量表,如图 7-2 所示。向量表存储在存储器空间的开始位置,包含了系
统中可用异常(中断)的异常(中断)向量,以及主栈指针(MSP)的初始值。
异常编号
存储器地址
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
图 7-2 中断向量表
其中,中断向量的存储顺序同中断编号一致,由于每个向量都是 1 个字(4 字节),中断
向量的地址为中断编号乘 4,每个中断向量都是中断处理的起始地址。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 114 of 854
7.4
中断输入和挂起行为
Cortex-M0+ 处理器的 NVIC 模块中,每一个中断输入都对应着一个挂起状态寄存器,
且每个寄存器只有 1 位,用于保存中断请求,而不管这个请求有没有得到确认。当处理
器开始处理这个中断时,硬件将会自动清除挂起状态位。
本系统的外设使用电平触发中断输出,当中断事件发生时,由于外设连接到了 NVIC 上,
中断信号会得到确认。在处理器执行中断服务并且清除外设的中断信号以前,该信号会
保持高电平。在 NVIC 内部,当检测到有中断发生时,该中断的挂起状态会被置位,当
处理器接收该中断并且开始执行中断服务程序后,挂起状态就会被清除。该过程如图
7-3 所示:
中断请求的确认会引起
挂起状态置位
中断服务程序清除外设
的中断请求
中断请求X
进入中断处理会引起挂
起状态清除
中断挂起状态X
异常处理
处理器模式
处理器操作
线程
线程
线程
中断处理X
压栈
取向量
线程
异常返回
出栈
图 7-3 中断激活和挂起状态
如果中断请求没有立即执行,并且在确认之前被软件清除了,这样处理器会忽略掉本次
请求,并且不会执行中断处理。可以通过写 NVIC_CLRPEND 寄存器来清除中断挂起
状态,这种处理在设置外设时非常有用,因为在设置以前,该外设可能已经产生了一个
中断请求。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 115 of 854
如果在软件清除挂起状态时,外设仍然保持着中断请求,挂起状态还会立即生成。该过
程如图 7-4 所示:
中断请求的确认会
引起挂起状态置位
中断请求X
挂起状态被重新确认
中断挂起状态X
软件清除挂起状态
线程
线程
线程(由于被禁止或被PRIMASK屏蔽,中断X未被接受)
图 7-4 中断挂起状态被清除然后被重新确认
如果外设产生的中断请求在异常处理时没有被清除,异常返回后挂起状态就会被又一次
激活,这样中断服务程序会再次执行。该过程如图 7-5 所示:
中断请求的确认会
引起挂起状态置位
中断请求保持为高
中断请求X
中断挂起状态X
处理器模式
处理器操作
重新进入中断处理
并清除挂起状态
进入中断处理会引
起挂起状态清除
线程
异常处理
线程
中断确认引发挂起
状态被激活的同时
异常返回
中断处理X
压栈
取向量
异常返回
重新使能中断
中断处理X
取向量
图 7-5 中断退出时若中断请求保持高电平就会引起中断处理的再次执行
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 116 of 854
如果在终端服务程序执行的过程中产生外设中断请求,该请求会被当作新的中断请求,
并且在本次中断退出后,还会引起中断服务程序的再次执行。该过程如图 7-6 所示:
中断请求的确认会
引起挂起状态置位
中断请求X
异常处理执行过程中,新的中断
请求会引起挂起状态的重新置位
中断挂起状态X
处理器模式
处理器操作
线程
线程
异常处理
线程
中断处理X
压栈
取向量
异常返回
中断处理X
取向量
线程
出栈
图 7-6 中断处理中产生的中断挂起也可以被确认
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 117 of 854
7.5
中断等待
通常情况下,NVIC 的中断等待时间为 16 个周期。这个等待时间从中断确认的处理器
时钟周期开始,一直到中断处理开始执行结束。计算中断等待需要具备以下前提:
该中断使能并且没有被 SCS_PRIMASK 或是其他正在执行的异常处理所屏蔽。
存储器系统没有任何等待状态,在中断处理、压栈、取向量或者中断处理开始时的取
指都会用到总线传输,如果存储器系统需要等待,那么发生总线传输时产生的等待状
态则可能使得中断延迟。
下面的几种情况可能会导致不同的中断等待:
中断的末尾连锁,如果中断返回时产生了另外一个中断请求,处理器就会跳过出栈和
压栈过程,这样就减少了中断等待时间。
延迟到达,如果中断发生时,另外一个低优先级的中断正在进行压栈处理,由于延迟
到达机制的存在,高优先级的中断会首先执行,这样也会导致高优先级中断的等待时
间减小。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 118 of 854
7.6
中断源
因为 Cortex-M0+ 处理器的 NVIC 支持最多 32 个外部中断,而在本系统中,外部中断
源大于 32 个,所以部分外部中断复用在同一个 NVIC 中断输入上,其中 NMI(不可屏
蔽中断)并没有使用。本系统所有外部中断源和 NVIC 中断输入的对应关系如下表所
示:
NVIC中断输入
外部中断源
中断#0
PORTA
中断#1
Sleep模式
DeepSleep模式
v
v
v
PORTB
v
v
v
中断#2
PORTC
v
v
v
中断#3
PORTD
v
v
v
中断#4
DMAC
v
v
-
中断#5
TIM3
v
v
-
中断#6
UART0
v
v
-
中断#7
UART1
v
v
-
中断#8
LPUART0
v
v
v
中断#9
LPUART1
v
v
v
中断#10
SPI0
v
v
-
中断#11
SPI1
v
v
-
中断#12
I2C0
v
v
-
中断#13
I2C1
v
v
-
中断#14
TIM0
v
v
-
中断#15
TIM1
v
v
-
中断#16
TIM2
v
v
-
中断#17
LPTIM
v
v
v
中断#18
TIM4
v
v
-
中断#19
TIM5
v
v
-
中断#20
TIM6
v
v
-
中断#21
PCA
v
v
-
中断#22
WDT
v
v
v
中断#23
RTC
v
v
v
中断#24
ADC
v
v
-
中断#25
PCNT
v
v
v
中断#26
VC0
v
v
v
中断#27
VC1
v
v
v
中断#28
LVD
v
v
v
中断#29
LCD
v
v
v
中断#30
FLASH/RAM
v
v
-
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Active模式
Page 119 of 854
中断#31
CLKTRIM
v
v
v
表 7-2 外部中断与 NVIC 中断输入对应关系
注意:
– 由于某些模块中断被复用于同一个 IRQ 中断源,当 CPU 进入该中断操作时,必
须先判断是哪个模块产生的中断,再进行相对应的中断操作。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 120 of 854
7.7
中断结构图
外设中断产生源
中断挂起标志
SETPEND寄存器
中断使能
SETENA寄存器
中断优先级设置
IPR0-IPR7寄存器
PORTA
PORTB
PORTC
PORTD
B0
B1
B2
B3
B0
B1
B2
B3
IRQ0
IRQ1
IRQ2
IRQ3
DMAC
TIM3
UART0
UART1
B4
B5
B6
B7
B4
B5
B6
B7
IRQ4
IRQ5
IRQ6
IRQ7
LPUART0
LPUART1
SPI0
SPI1
B8
B9
B10
B11
B8
B9
B10
B11
IRQ8
IRQ9
IRQ10
IRQ11
I2C0
I2C1
TIM0
TIM1
B12
B13
B14
B15
B12
B13
B14
B15
IRQ12
IRQ13
IRQ14
IRQ15
TIM2
LPTIM
TIM4
TIM5
B16
B17
B18
B19
B16
B17
B18
B19
IRQ16
IRQ17
IRQ18
IRQ19
TIM6
PCA
WDT
RTC
B20
B21
B22
B23
B20
B21
B22
B23
IRQ20
IRQ21
IRQ22
IRQ23
ADC
PCNT
VC0
VC1
B24
B25
B26
B27
B24
B25
B26
B27
IRQ24
IRQ25
IRQ26
IRQ27
LVD
LCD
RAM
CLKTRIM
B28
B29
B30
B31
B28
B29
B30
B31
IRQ28
IRQ29
IRQ30
IRQ31
00
01
10
IPR0
11
IPR1
IPR2
IPR3
中断响应
FLASH
IPR4
IPR5
IPR6
IPR7
NVIC
图 7-7 中断结构图
本系统的中断结构框图如图 7-7 所示。需要注意几点:
外设中断源各自的中断使能没有在图中标出,这里只包括外设中断产生之后的中断
信号逻辑框图。
IRQ30 有 2 个外设中断输入复用,必须分别读取这 2 个外设的中断标志位来判定是
哪个外设的中断。
如果外设中断源有高电平产生,无论 NVIC 中断使能寄存器 SCS_SETENA 置位与
否,中断挂起寄存器 SCS_SEPEND 都会被置位,表示相应的外设中断源有中断产生。
只有中断使能寄存器 SCS_SETENA 置位,相应的中断 IRQ 才会给处理器相应,执
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 121 of 854
行相应的中断程序。
在中断程序中必须清除外设中断源高电平中断信号,中断挂起寄存器
SCS_SETPEND 由硬件自动清除。
中断优先级寄存器 SCS_IPR0- SCS_IPR7 设置了 32 个中断源的优先级,00 优先级
最高,11 优先级最低。当优先级相同时,优先级由中断编号决定,编号越小优先级越
高。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 122 of 854
7.8
寄存器
基地址:0xE000 E000
寄存器
偏移地址
描述
SCS_SETENA
0x100
中断请求使能寄存器
SCS_CLRENA
0x180
中断请求清除使能寄存器
SCS_SETPEND
0x200
中断设置挂起寄存器
SCS_CLRPEND
0x280
中断清除挂起寄存器
SCS_IPR0
0x400
中断#0-中断#3优先级寄存器
SCS_IPR1
0x404
中断#4-中断#7优先级寄存器
SCS_IPR2
0x408
中断#8-中断#11优先级寄存器
SCS_IPR3
0x40C
中断#12-中断#15优先级寄存器
SCS_IPR4
0x410
中断#16-中断#19优先级寄存器
SCS_IPR5
0x414
中断#20-中断#23优先级寄存器
SCS_IPR6
0x418
中断#24-中断#27优先级寄存器
SCS_IPR7
0x41C
中断#28-中断#31优先级寄存器
SCS_PRIMASK
-
中断屏蔽特殊寄存器
7.8.1 中断使能设置寄存器(SCS_SETENA)
偏移地址:0x100
复位值: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
SETENA[31:16]
RW
15
14
13
12
11
10
9
8
7
SETENA[15:0]
RW
位
标记
31:0
SETENA
[31:0]
功能描述
设置使能中断#0到中断#31;写“1”置位,写“0”无效
[0]:IRQ0
[1]:IRQ1
[2]:IRQ2
……
[31]:IRQ31
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 123 of 854
7.8.2 中断使能清除寄存器(SCS_CLRENA)
偏移地址: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
CLRENA
RW
15
14
13
12
11
10
9
8
7
CLRENA
RW
位
标记
31:0
CLRENA
描述
清除使能中断#0到中断#31;写“1”清零,写“0”无效
7.8.3 中断挂起状态设置寄存器(SCS_SETPEND)
偏移地址:0x200
复位值: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
SETPEND[31:16]
RW
15
14
13
12
11
10
9
8
7
SETPEND[15:0]
RW
位
标记
31:0
SETPEND
功能描述
设置中断#0到中断#31的挂起状态;写“1”置位,写“0”无效
[0]:IRQ0
[1]:IRQ1
[2]:IRQ2
……
[31]:IRQ31
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 124 of 854
7.8.4 中断挂起状态清除寄存器(SCS_CLRPEND)
偏移地址: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
15
14
13
12
11
10
9
8
7
CLRPEND[15:0]
RW
位
标记
31:0
CLRPEND
描述
清除中断#0到中断#31的挂起状态;写“1”清零,写“0”无效
[0]:IRQ0
[1]:IRQ1
[2]:IRQ2
……
[31]:IRQ31
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 125 of 854
7.8.5 中断优先级寄存器(SCS_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
15
14
13
12
11
10
9
8
7
IPR0[15:0]]
RW
位
标记
31:0
IPR0[31:0]
功能描述
中断#0到中断#3的优先级;
[31:30]:中断#3 的优先级
[23:22]:中断#2 的优先级
[15:14]:中断#1 的优先级
[7:6]: 中断#0 的优先级
其中,00 优先级最高,11 优先级最低
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 126 of 854
7.8.6 中断优先级寄存器(SCS_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
15
14
13
12
11
10
9
8
7
IPR1[15:0]]
RW
位
标记
31:0
IPR1[31:0]
功能描述
中断#4到中断#7的优先级;
[31:30]:中断#7 的优先级
[23:22]:中断#6 的优先级
[15:14]:中断#5 的优先级
[7:6]: 中断#4 的优先级
其中,00 优先级最高,11 优先级最低
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 127 of 854
7.8.7 中断优先级寄存器(SCS_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
15
14
13
12
11
10
9
8
7
IPR2[15:0]]
RW
位
标记
31:0
IPR2[31:0]
功能描述
中断#8到中断#11的优先级;
[31:30]:中断#11 的优先级
[23:22]:中断#10 的优先级
[15:14]:中断#9 的优先级
[7:6]: 中断#8 的优先级
其中,00 优先级最高,11 优先级最低
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 128 of 854
7.8.8 中断优先级寄存器(SCS_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
15
14
13
12
11
10
9
8
7
IPR3[15:0]]
RW
位
标记
31:0
IPR3[31:0]
功能描述
中断#12到中断#15的优先级;
[31:30]:中断#15 的优先级
[23:22]:中断#14 的优先级
[15:14]:中断#13 的优先级
[7:6]: 中断#12 的优先级
其中,00 优先级最高,11 优先级最低
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 129 of 854
7.8.9 中断优先级寄存器(SCS_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
15
14
13
12
11
10
9
8
7
IPR4[15:0]]
RW
位
标记
31:0
IPR4[31:0]
功能描述
中断#16到中断#19的优先级;
[31:30]:中断#19 的优先级
[23:22]:中断#18 的优先级
[15:14]:中断#17 的优先级
[7:6]: 中断#16 的优先级
其中,00 优先级最高,11 优先级最低
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 130 of 854
7.8.10 中断优先级寄存器(SCS_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
15
14
13
12
11
10
9
8
7
IPR5[15:0]]
RW
位
标记
31:0
IPR5[31:0]
功能描述
中断#20到中断#23的优先级;
[31:30]:中断#23 的优先级
[23:22]:中断#22 的优先级
[15:14]:中断#21 的优先级
[7:6]: 中断#20 的优先级
其中,00 优先级最高,11 优先级最低
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 131 of 854
7.8.11 中断优先级寄存器(SCS_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
15
14
13
12
11
10
9
8
7
IPR6[15:0]]
RW
位
标记
31:0
IPR6[31:0]
功能描述
中断#24到中断#27的优先级;
[31:30]:中断#27 的优先级
[23:22]:中断#26 的优先级
[15:14]:中断#25 的优先级
[7:6]: 中断#24 的优先级
其中,00 优先级最高,11 优先级最低
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 132 of 854
7.8.12 中断优先级寄存器(SCS_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
15
14
13
12
11
10
9
8
7
IPR7[15:0]]
RW
位
标记
31:0
IPR7[31:0]
功能描述
中断#28到中断#31的优先级;
[31:30]:中断#31 的优先级
[23:22]:中断#30 的优先级
[15:14]:中断#29 的优先级
[7:6]: 中断#28 的优先级
其中,00 优先级最高,11 优先级最低
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 133 of 854
7.8.13 中断屏蔽特殊寄存器(SCS_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
15
14
13
12
11
10
9
8
7
PRIM
ASK
Reserved
RW
BIT
符号
31:1
Reserved
0
PRIMASK
描述
置位后,除了 NMI 和硬件错误异常外的其他中断都会被屏蔽掉
清零后,所有异常和中断都不会被屏蔽掉
该特殊寄存器需要通过 MSR 和 MRS 特殊寄存器操作指令访问,也可以用改变处理器状态指令
CPS 访问。在处理对时间敏感的应用时,需要操作 PRIMASK 寄存器。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 134 of 854
7.9
软件基本操作
7.9.1 外部中断使能
在每一个外设模块内部都有各自的中断使能寄存器,在需要进行中断操作时,必须首先
打开外设自己的中断使能。该使能位的操作没有在本章节讨论,请参考外设模块各自的
章节描述。
7.9.2 NVIC 中断使能和清除使能
Cortex-M0+ 处理器支持最多 32 个中断源,每个中断源都对应有一个中断使能位和清零
使能位。这样就有了 32 位的中断使能寄存器 SCS_SETENA 和 32 位的清零使能寄存器
SCS_CLRENA。如果想使能某一个中断,则对 SCS_SETENA 寄存器的相应位置 1。如
果想清零某一个中断,则对 SCS_CLRENA 寄存器的相应位置 1。
注意,这里提到的中断使能仅仅是针对处理器 NVIC 而言的,每个外设的中断生成与
否,是由外设的中断控制寄存器决定,与 SCS_SETENA 和 SCS_CLRENA 无关。
7.9.3 NVIC 中断挂起和清除挂起
如果一个中断发生了,却无法立即处理,这个中断请求将会被挂起。挂起状态保存在一
个寄存器中,如果处理器的当前优先级还没有降低到可以处理挂起的请求,并且没有手
动清除挂起状态,该状态将会一直保持合法。
当处理器开始进入中断处理,硬件会自动引起挂起状态的清除。
可以通过操作中断设置挂起 SCS_SETPEND 和中断清除挂起 SCS_CLRPEND 这两个
寄存器来访问或修改中断挂起状态。中断挂起状态寄存器允许使用软件来触发中断。
7.9.4 NVIC 中断优先级
设置 SCS_IPR0- SCS_IPR7 寄存器决定 SCS_IRQ0- SCS_IRQ32 的优先级。中断优先
级寄存器的编程应该在中断使能之前,其通常是在程序开始时完成的。应该避免在中断
使能之后改变中断优先级,这种情况的结果不可预知,并且不被 Cortex-M0+ 处理器支
持。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 135 of 854
7.9.5 NVIC 中断屏蔽
有些对时间敏感的应用,需要在一段较短的时间内禁止所有中断,可以利用中断屏蔽寄
存器 SCS_PRIMASK 实现。特殊寄存器 SCS_PRIMASK 只有 1 位有效,并且在复位
后默认为 0。该寄存器为 0 时,所有的中断和异常都处于允许状态;而设为 1 后,只有
NMI(本系统不支持)和硬件错误异常处于使能。实际上,当 SCS_PRIMASK 设置为
1 后,处理器的当前优先级就降到了 0(可和值的最高优先级)。
可以通过多种方法编程 SCS_PRIMASK 寄存器,使用汇编语言,可以利用 MS R 指令
在设置和清除 SCS_PRIMASK 寄存器。若使用 C 语言以及 CMSIS 设备驱动库,用户
可以使用以下函数来设置和清除 PRIMASK。
void __enable_irq(void);
//清除 PRIMASK
void __disable_irq(void); //设置 PRIMASK
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 136 of 854
8
端口控制器(GPIO)
8.1
端口控制器简介
HC32L130/HC32L136 系列有 56 个数字通用输入输出端口 PA[15:0], PB[15:0], PC[15:0],
PD[7:0]。模拟模块 ADC/VC/LVD/LCD 的输入输出信号、各功能模块(如 SPI,UART,
I2C,Timer 等)的输入输出信号可以和数字通用输入输出端口复用。
每个端口都可以配置成内部上拉(pull up)/下拉(pull down)的输入,高阻输入(floating
input),推挽输出(CMOS output),开漏输出(open drain output),两档驱动能力输出。
数字端口被配置成模拟端口后,数字功能被隔离,不能输出数字“1”和“0”,CPU 读取端
口输入值寄存器的结果为“0”。
每个数字端口被配置为输入时,都可以提供外部中断,中断类型可以配置成高电平触发、
低电平触发、上升沿触发、下降沿触发 4 种,查询 Px_STAT[n]的中断标志位即可知道
相应的中断触发端口。另外,每个数字端口的中断都可以把芯片从睡眠模式/深度睡眠模
式唤醒到工作模式。
芯片复位后端口为高阻输入(floating input),目的是防止芯片被异常复位时,对外部器
件产生异常动作。但为了避免高阻输入而产生的漏电,用户要在芯片启动之后对端口进
行相应的配置(配置成内部上拉/下拉输入或者输出)。
8.2
端口控制器主要特性
端口控制器支持以下特性:
端口输入值/输出值寄存器支持 FAST IO/AHB 总线读写
其他寄存器支持 AHB 总线接口读写
模拟功能引脚/数字通用引脚/数字功能引脚复用
支持上拉/下拉/两档驱动/开漏输出功能选择
支持工作模式/睡眠模式/深度睡眠模式下中断
支持高电平/低电平/上升沿/下降沿触发中断
支持位置位,位清零,位置位清零功能
注:FAST IO 介绍请参考 ARM Cortex-M0+_IntegrationAndImplementationManual.pdf。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 137 of 854
端口控制器功能描述
8.3
8.3.1 端口配置功能
每一个端口都可以根据系统需求通过配置寄存器(PxADS)把端口配置成模拟端口或数
字端口。当 PxADS 为‘1’时,端口配置成模拟端口,当 PxADS 为‘0’时,端口配置
成数字端口。
端口电路结构如下图所示:
模拟输入
Vdd
时钟序列输入
复用功能输入
到片上
外设
Q
施密特
触发器
Q
PINxn
PxIN
读
Q
D
Q
Vdd
ADS
D
同步器
PU
写
读/写
I/O
引脚
PxOUT
BSET、BCLR
BSETCLR
输入驱动器
保护
二极管
输出驱动器
Vdd
PD
PMOS
保护
二极管
输出控制
NMOS
自片上
外设
复用功能输出
推挽/开漏/禁止
Vss
Vss
Vss
注:输出/输入数据寄存器(PxOUT/PxIN)支持AHB/FAST IO总线访问,其他寄存器支持AHB总线访问
图 8-1 端口电路图
端口配置为数字端口时,可以接受数字通用输入输出信号(设置 Px_SEL 寄存器为‘0’),
也可以通过配置寄存器 Px_SEL 接受各功能模块(如 SPI,UART,I2C,Timer 等)的
输入输出信号,详见端口数字复用功能模块。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 138 of 854
还可以配置相应的寄存器实现以下特性:
1) 内部上拉(PxPU)/下拉(PxPD)
上拉寄存器(PxPU)、下拉寄存器(PxPD)分别对应端口上拉使能和端口下拉使
能,当对应位为‘1’时,设置对应位引脚上拉/下拉使能,为‘0’时,禁止对应
位引脚上拉/下拉。
2) 两档驱动输出(PxDR)
能够通过 PxDR 寄存器改变驱动能力,PxDR 为‘1’时为低驱动能力,PxDR 为
‘0’时为高驱动能力。
3) 开漏输出(PxOD)
通过 PxOD 寄存器设置管脚输出状态。当 PxOD 为‘1’时,端口开漏输出使能,
为‘0’时,端口推挽输出使能。开漏引脚不连接外部的上拉电阻时,只能输出低
电平,如果需要同时具备输出高电平的功能时,则需要上拉电阻。
4)方向选择(PxDIR)
用于设置端口引脚的方向。PxDIR 为‘0’的时候端口为输出,PxDIR 为‘1’的时
候端口为输入。
5)输入电平状态 (PxIN)
通过读取 PxIN 寄存器能够获得同步后的管脚电平,PxIN 为‘1’时为高电平,PxIN
为‘0’时为低电平。可通过 AHB/FAST IO 总线访问。
6)输出高低电平选择(PxOUT)
当端口引脚配置为输出时,如果 PxOUT 为‘1’,端口引脚输出为高电平,如果
PxOUT 为‘0’,则输出低电平。可通过 AHB/FAST IO 总线访问。
7)位置位(PxBSET)、位清零(PxBCLR)、位置位清零(PxBSETCLR)
位置位与位清零适用于在不改变其他位的值的情况下,对用户想要改变的位进行
设置,得到相应的值。位置位是将对应的值设置为‘1’,位清零是将对应的值设置
为‘0’。
注意:
- 以上特性在配置为模拟端口时无效。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 139 of 854
端口的状态和寄存器配置的关系如下表:
IO 状态
IO 方向
PxADS
PxDIR
PxOUT
PxIN
PxBSET
PxBCLR
PxBSETCLR
PxPU
PxPD
PxOD
PxDR
Px_SEL
模拟
输入/输出
1
W
W
0
W
W
W
W
W
W
W
W
浮空
输入
0
1
W
X
W
W
W
0
0
W
W
0
下拉
输入
0
1
W
0
W
W
W
0
1
W
W
0
上拉
输入
0
1
W
1
W
W
W
1
0
W
W
0
上拉
输入
0
1
W
1
W
W
W
1
1
W
W
0
1
输入
0
1
W
1
W
W
W
W
W
W
W
0
0
输入
0
1
W
0
W
W
W
W
W
W
W
0
1
输出
0
0
1
1
0
0
0
W
W
0
W
0
0
输出
0
0
0
0
0
0
0
W
W
0
W
0
1
输出
0
0
W
1
1
0
0
W
W
0
W
0
0
输出
0
0
W
0
0
1
0
W
W
0
W
0
(SET)1
输出
0
0
W
(SET)1
0
0
1
W
W
0
W
0
(CLR)0
输出
0
0
W
(CLR)0
0
0
1
W
W
0
W
0
0
输出
0
0
0
0
0
0
0
W
W
1
W
0
Z
输出
0
0
1
X
0
0
0
0
0
1
W
0
0
输出
0
0
1
0
0
0
0
0
1
1
W
0
1
输出
0
0
1
1
0
0
0
1
0
1
W
0
1
输出
0
0
1
1
0
0
0
1
1
1
W
0
注:
0 - Logic low
1 - Logic high
W - Whatever 0 or 1
X - unknow state
Z - high impedance
表 8-1 端口状态真值表
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 140 of 854
8.3.2 端口的写入
端口输入值/输出值寄存器(PxIN/PxOUT)支持 AHB 总线和 FAST IO 总线的读写(通
过寄存器 GPIO_CTRL2.ahb_sel 位控制),对于其他的寄存器则只支持 AHB 总线的读
写。对于这两种不同的总线,系统时钟(HCLK)对这两种总线的处理周期并不相
同。下面两幅图为对于两种总线端口翻转的最快时序:
HCLK
HCLK
端口
端口
图 8-2 AHB/FASTIO 总线端口随系统时钟的变化
(左为 FAST IO,右为 AHB)
对于 AHB 总线,每两个 HCLK 周期,IO 翻转一次,而对于 FAST IO 总线,每个 HCLK
周期,IO 翻转一次。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 141 of 854
8.3.3 端口的读取
每一个端口可以通过读取 PxIN 寄存器来获得端口引脚电平。如图 8-1 所示,PxIN 寄
存器的各个位与其前面的锁存器组成了一个同步器从而避免了系统时钟状态发生改变
时在短时间内引脚电平变化而造成的信号不稳定,但是同时也引入了延迟。读取端口
引脚数据的同步图如下:
HCLK
PIN voltage
PxIN
Tpd,max
Tpd,min
图 8-3 读取端口引脚数据同步图
在系统时钟上升沿之后的时钟时期,管脚电平信号会锁存在内部寄存器,如阴影部分
所示,在下一次系统时钟上升沿之后,稳定的管脚电平信号能够被读取。之后再系统
时钟上升沿时,数据锁存到 PxIN 寄存器中。信号装换延迟 Tpd 为 1-2 个系统时钟。
注意:
- 未连接引脚的处理:
在使用过程中如果有未接引脚,为避免在其他数字输入使能模式时引脚没有确定的
电平造成悬空消耗电流,推荐赋予引脚一个确定的电平,但未用引脚与 Vcc 或 GND
连接时,可能会在引脚偶然作为输出时出现冲击电流。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 142 of 854
8.3.4 端口数字复用功能
端口数字复用是端口控制器的主要功能之一。通过配置寄存器,可以灵活的把端口配置
成数字通用端口/数字功能端口。
如下表所示:Px_SEL 寄存器用于数字通用端口/数字功能端口切换,每一个端口都可以
独立配置成系统所需的功能端口。
Px_SEL
0
1
2
3
4
5
6
7
PA00
UART1_CTS
LPUART1_TXD
TIM0_ETR
VC0_OUT
TIM1_CHA
TIM3_ETR
TIM0_CHA
PA01
UART1_RTS
LPUART1_RXD
TIM0_CHB
TIM1_ETR
TIM1_CHB
HCLK_OUT
SPI1_MOSI
PA02
UART1_TXD
TIM0_CHA
VC1_OUT
TIM1_CHA
TIM2_CHA
PCLK_OUT
SPI1_MISO
PA03
UART1_RXD
TIM0_GATE
TIM1_CHB
TIM2_CHB
SPI1_CS
TIM3_CH1A
TIM5_CHA
PA04
SPI0_CS
UART1_TXD
PCA_CH4
TIM2_ETR
TIM5_CHA
LVD_OUT
TIM3_CH2B
PA05
SPI0_SCK
TIM0_ETR
PCA_ECI
TIM0_CHA
TIM5_CHB
XTL_OUT
XTH_OUT
PA06
SPI0_MISO
PCA_CH0
TIM3_BK
TIM1_CHA
VC0_OUT
TIM3_GATE
LPUART0_CTS
PA07
SPI0_MOSI
PCA_CH1
HCLK_OUT
TIM3_CH0B
TIM2_CHA
VC1_OUT
TIM4_CHB
PA08
UART0_TXD
TIM3_CH0A
TIM1_GATE
TIM4_CHA
TIM3_BK
PA09
UART0_TXD
TIM3_CH1A
TIM0_BK
I2C0_SCL
HCLK_OUT
TIM5_CHA
PA10
UART0_RXD
TIM3_CH2A
TIM2_BK
I2C0_SDA
TIM2_GATE
PCLK_OUT
TIM6_CHA
PA11
UART0_CTS
TIM3_GATE
I2C1_SCL
VC0_OUT
SPI0_MISO
TIM4_CHB
PA12
UART0_RTS
TIM3_ETR
I2C1_SDA
VC1_OUT
SPI0_MOSI
PCNT_S0
PA13
IR_OUT
UART0_RXD
LVD_OUT
TIM3_ETR
RTC_1HZ
PCNT_S1
PA14
UART1_TXD
UART0_TXD
TIM3_CH2A
LVD_OUT
RCH_OUT
RCL_OUT
PA15
SPI0_CS
UART1_RXD
LPUART1_RTS
TIM0_ETR
TIM0_CHA
TIM3_CH1A
PB00
PCA_CH2
TIM3_CH1B
LPUART0_TXD
TIM5_CHB
RCH_OUT
RCL_OUT
PLL_OUT
PB01
PCA_CH3
PCLK_OUT
TIM3_CH2B
TIM6_CHB
LPUART0_RTS
PB02
LPTIM_TOG
PCA_ECI
LPUART1_TXD
TIM4_CHA
TIM1_BK
TIM0_BK
TIM2_BK
PB03
SPI0_SCK
TIM0_CHB
TIM1_GATE
TIM3_CH0A
LPTIM_GATE
XTL_OUT
XTH_OUT
PB04
SPI0_MISO
PCA_CH0
TIM2_BK
UART0_CTS
TIM2_GATE
TIM3_CH0B
LPTIM_ETR
PB05
SPI0_MOSI
TIM1_BK
PCA_CH1
LPTIM_GATE
PCNT_S0
UART0_RTS
PB06
I2C0_SCL
UART0_TXD
TIM1_CHB
TIM0_CHA
LPTIM_ETR
TIM3_CH0A
LPTIM_TOG
PB07
I2C0_SDA
UART0_RXD
TIM2_CHB
LPUART1_CTS
TIM0_CHB
LPTIM_TOGN
PCNT_S1
PB08
I2C0_SCL
TIM1_CHA
TIM2_CHA
TIM0_GATE
TIM3_CH2A
UART0_TXD
PB09
I2C0_SDA
IR_OUT
SPI1_CS
TIM2_CHA
TIM2_CHB
UART0_RXD
PB10
I2C1_SCL
SPI1_SCK
TIM1_CHA
LPUART0_TXD
TIM3_CH1A
LPUART1_RTS
UART1_RTS
PB11
I2C1_SDA
TIM1_CHB
LPUART0_RXD
TIM2_GATE
TIM6_CHA
LPUART1_CTS
UART1_CTS
PB12
SPI1_CS
TIM3_BK
LPUART0_TXD
TIM0_BK
LPUART0_RTS
TIM6_CHA
PB13
SPI1_SCK
I2C1_SCL
TIM3_CH0B
LPUART0_CTS
TIM1_CHA
TIM1_GATE
TIM6_CHB
PB14
SPI1_MISO
I2C1_SDA
TIM3_CH1B
TIM0_CHA
RTC_1HZ
LPUART0_RTS
TIM1_BK
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
PLL_OUT
Page 143 of 854
PB15
SPI1_MOSI
TIM3_CH2B
TIM0_CHB
PC00
LPTIM_GATE
PCNT_S0
UART1_CTS
PC01
LPTIM_TOG
TIM5_CHB
UART1_RTS
PC02
SPI1_MISO
LPTIM_TOGN
PCNT_S1
PC03
SPI1_MOSI
LPTIM_ETR
LPTIM_TOGN
PC04
LPUART0_TXD
TIM2_ETR
IR_OUT
PC05
LPUART0_RXD
TIM6_CHB
PCA_CH4
PC06
PCA_CH0
TIM4_CHA
TIM2_CHA
PC07
PCA_CH1
TIM5_CHA
TIM2_CHB
PC08
PCA_CH2
TIM6_CHA
TIM2_ETR
PC09
PCA_CH3
TIM4_CHB
TIM1_ETR
PC10
LPUART1_TXD
LPUART0_TXD
PCA_CH2
PC11
LPUART1_RXD
LPUART0_RXD
PCA_CH3
PC12
LPUART0_TXD
LPUART1_TXD
PCA_CH4
RTC_1HZ
TIM3_CH1B
PC13
TIM0_GATE
LPUART1_RXD
PC14
PC15
PD00
I2C0_SDA
UART1_TXD
PD01
I2C0_SCL
TIM4_CHB
UART1_RXD
PD02
PCA_ECI
LPUART0_RTS
TIM1_ETR
PD06
I2C1_SCL
LPUART1_CTS
UART0_CTS
PD07
I2C1_SDA
LPUART1_RTS
UART0_RTS
PD03
PD04
PD05
表 8-2 端口数字功能复用表
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 144 of 854
8.3.5 端口中断功能
每一个数字通用端口都可以由外部信号源产生中断,外部信号源可以是高电平/低电平/
上升沿/下降沿 4 种类型的信号,分别对应的中断使能寄存器为高电平中断使能寄存器
(PxHIE))/低电平中断使能寄存器(PxLIE)/上升沿中断使能寄存器(PxRIE)/下降沿
中断使能寄存器(PxHIE)。当中断触发时,通过查询中断状态寄存器(Px_STAT)就可
以判断是哪一个端口触发了中断,通过清零中断清除寄存器(Px_ICLR)就可以清除对
应的中断状态标志位。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 145 of 854
8.4
端口配置操作流程
8.4.1 端口复用配置为模拟端口操作流程
a) 设置寄存器 PxADS[n]为 1
8.4.2 端口复用配置为数字通用端口操作流程
a) 设置寄存器 PxADS[n]为 0
b) 设置寄存器 Px_SEL 为 0
c) 设置寄存器 PxDIR[n]为 1:端口方向为输入,CPU 可以读取端口的状态 PxIN[n]。
d) 设置寄存器 PxDIR[n]为 0:端口方向为输出
e) 设置寄存器 PxOUT[n]为 1:端口输出高电平
f) 设置寄存器 PxOUT[n]为 0:端口输出低电平
8.4.3 端口复用配置为数字功能端口操作流程
a) 设置寄存器 PxADS[n]为 0
b) 设置寄存器 Px_SEL 为 1~7 (根据系统需求,参考端口复用表)
c) 设置寄存器 PxDIR[n](根据系统需求)
d) 设置寄存器 PxPU[n]/PxPD[n]/PxOD[n](根据系统需求)
8.4.4 端口复用配置为调试测试端口操作流程
参考测试调试相关章节。
8.4.5 端口复用配置为红外输出信号操作流程
端口 PA13,PB09,PC04 可以把频率为 38K 的内部时钟信号调制成红外信号输出。
a) 设置寄存器 PAADS[13]/PBADS[9]/PCADS[4]为 0
b) 设置寄存器 PA13_SEL = 1/PB09_SEL = 2/PC04_SEL = 3
c) 设置寄存器 PADIR[13] = 0/PBDIR[9] = 0/PCDIR[4] = 0:端口方向为输出
d) 设置寄存器 GPIO_CTRL1 的 bit14 选择红外信号输出极性
e) 设置寄存器 PAOUT[13]/PBOUT[9]/PCOUT[4]门控红外信号的输出
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 146 of 854
8.4.6 端口高电平中断操作流程
a) 设置寄存器 PxADS[n]为 0
b) 设置寄存器 Px_SEL 为 0
c) 设置寄存器 PxDIR[n]为 1
d) 设置寄存器 Px_HIE[n]为 1
e) 中断触发后读取中断状态寄存器 Px_STAT[n]
f) 设置寄存器 Px_ICLR[n]为 0 清除中断状态寄存器 Px_STAT[n]
8.4.7 端口低电平中断操作流程
a) 设置寄存器 PxADS[n]为 0
b) 设置寄存器 Px_SEL 为 0
c) 设置寄存器 PxDIR[n]为 1
d) 设置寄存器 Px_ LIE[n]为 1
e) 中断触发后读取中断状态寄存器 Px_STAT[n]
f) 设置寄存器 Px_ICLR[n]为 0 清除中断状态寄存器 Px_STAT[n]
8.4.8 端口上升沿中断操作流程
a) 设置寄存器 PxADS[n]为 0
b) 设置寄存器 Px_SEL 为 0
c) 设置寄存器 PxDIR[n]为 1
d) 设置寄存器 Px_ RIE[n]为 1
e) 中断触发后读取中断状态寄存器 Px_STAT[n]
f) 设置寄存器 Px_ICLR[n]为 0 清除中断状态寄存器 Px_STAT[n]
8.4.9 端口下降沿中断操作流程
a) 设置寄存器 PxADS[n]为 0
b) 设置寄存器 Px_SEL 为 0
c) 设置寄存器 PxDIR[n]为 1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 147 of 854
d) 设置寄存器 Px_ FIE[n]为 1
e) 中断触发后读取中断状态寄存器 Px_STAT[n]
f)
设置寄存器 Px_ICLR[n]为 0 清除中断状态寄存器 Px_STAT[n]
8.4.10 端口上拉使能配置操作流程
a) 设置寄存器 PxPU[n]为 1
8.4.11 端口下拉使能配置操作流程
a) 设置寄存器 PxPU[n]为 0
b) 设置寄存器 PxPD[n]为 1
注:当 PxPU[n],PxPD[n]同时置 1 时,PxPU[n]优先级高,PxPD[n]无效。
8.4.12 端口增强驱动配置操作流程
a) 设置寄存器 PxDR[n]为 0
8.4.13 端口开漏输出配置操作流程
a) 设置寄存器 PxOD[n]为 1
8.4.14 端口位置位操作流程
a) 设置寄存器 PxBSET[n]为 1
8.4.15 端口位清零操作流程
a) 设置寄存器 PxBCLR[n]为 1
8.4.16 端口位置位清零操作流程
a) 设置寄存器 PxBSETCLR[n]为 1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 148 of 854
8.5
端口控制器寄存器描述
寄存器列表
基地址:0x40020C00
偏移量
寄存器名称
访问
寄存器描述
0x00
PA00_SEL
RW
端口 PA00 功能配置寄存器
0x04
PA01_SEL
RW
端口 PA01 功能配置寄存器
0x08
PA02_SEL
RW
端口 PA02 功能配置寄存器
0x0c
PA03_SEL
RW
端口 PA03 功能配置寄存器
0x10
PA04_SEL
RW
端口 PA04 功能配置寄存器
0x14
PA05_SEL
RW
端口 PA05 功能配置寄存器
0x18
PA06_SEL
RW
端口 PA06 功能配置寄存器
0x1c
PA07_SEL
RW
端口 PA07 功能配置寄存器
0x20
PA08_SEL
RW
端口 PA08 功能配置寄存器
0x24
PA09_SEL
RW
端口 PA09 功能配置寄存器
0x28
PA10_SEL
RW
端口 PA10 功能配置寄存器
0x2c
PA11_SEL
RW
端口 PA11 功能配置寄存器
0x30
PA12_SEL
RW
端口 PA12 功能配置寄存器
0x34
PA13_SEL
RW
端口 PA13 功能配置寄存器
0x38
PA14_SEL
RW
端口 PA14 功能配置寄存器
0x3c
PA15_SEL
RW
端口 PA15 功能配置寄存器
0x40
PB00_SEL
RW
端口 PB00 功能配置寄存器
0x44
PB01_SEL
RW
端口 PB01 功能配置寄存器
0x48
PB02_SEL
RW
端口 PB02 功能配置寄存器
0x4c
PB03_SEL
RW
端口 PB03 功能配置寄存器
0x50
PB04_SEL
RW
端口 PB04 功能配置寄存器
0x54
PB05_SEL
RW
端口 PB05 功能配置寄存器
0x58
PB06_SEL
RW
端口 PB06 功能配置寄存器
0x5c
PB07_SEL
RW
端口 PB07 功能配置寄存器
0x60
PB08_SEL
RW
端口 PB08 功能配置寄存器
0x64
PB09_SEL
RW
端口 PB09 功能配置寄存器
0x68
PB10_SEL
RW
端口 PB10 功能配置寄存器
0x6c
PB11_SEL
RW
端口 PB11 功能配置寄存器
0x70
PB12_SEL
RW
端口 PB12 功能配置寄存器
0x74
PB13_SEL
RW
端口 PB13 功能配置寄存器
0x78
PB14_SEL
RW
端口 PB14 功能配置寄存器
0x7c
PB15_SEL
RW
端口 PB15 功能配置寄存器
0x80
PC00_SEL
RW
端口 PC00 功能配置寄存器
0x84
PC01_SEL
RW
端口 PC01 功能配置寄存器
0x88
PC02_SEL
RW
端口 PC02 功能配置寄存器
0x8c
PC03_SEL
RW
端口 PC03 功能配置寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 149 of 854
0x90
PC04_SEL
RW
端口 PC04 功能配置寄存器
0x94
PC05_SEL
RW
端口 PC05 功能配置寄存器
0x98
PC06_SEL
RW
端口 PC06 功能配置寄存器
0x9c
PC07_SEL
RW
端口 PC07 功能配置寄存器
0xa0
PC08_SEL
RW
端口 PC08 功能配置寄存器
0xa4
PC09_SEL
RW
端口 PC09 功能配置寄存器
0xa8
PC10_SEL
RW
端口 PC10 功能配置寄存器
0xac
PC11_SEL
RW
端口 PC11 功能配置寄存器
0xb0
PC12_SEL
RW
端口 PC12 功能配置寄存器
0xb4
PC13_SEL
RW
端口 PC13 功能配置寄存器
0xb8
PC14_SEL
RW
端口 PC14 功能配置寄存器
0xbc
PC15_SEL
RW
端口 PC15 功能配置寄存器
0xc0
PD00_SEL
RW
端口 PD00 功能配置寄存器
0xc4
PD01_SEL
RW
端口 PD01 功能配置寄存器
0xc8
PD02_SEL
RW
端口 PD02 功能配置寄存器
0xcc
PD03_SEL
RW
端口 PD03 功能配置寄存器
0xd0
PD04_SEL
RW
端口 PD04 功能配置寄存器
0xd4
PD05_SEL
RW
端口 PD05 功能配置寄存器
0xd8
PD06_SEL
RW
端口 PD06 功能配置寄存器
0xdc
PD07_SEL
RW
端口 PD07 功能配置寄存器
0x100
PADIR
RW
端口 PA 输入输出配置寄存器
0x104
PAIN
RO
端口 PA 输入值寄存器
0x108
PAOUT
RW
端口 PA 输出值配置寄存器
0x10c
PAADS
RW
端口 PA 数模配置寄存器
0x110
PABSET
RW
端口 PA 位置位寄存器
0x114
PABCLR
RW
端口 PA 位清零寄存器
0x118
PABSETCLR
RW
端口 PA 位置位清零寄存器
0x11c
PADR
RW
端口 PA 驱动能力配置寄存器
0x120
PAPU
RW
端口 PA 上拉使能配置寄存器
0x124
PAPD
RW
端口 PA 下拉使能配置寄存器
0x12c
PAOD
RW
端口 PA 开漏输出配置寄存器
0x130
PAHIE
RW
端口 PA 高电平中断使能配置寄存器
0x134
PALIE
RW
端口 PA 低电平中断使能配置寄存器
0x138
PARIE
RW
端口 PA 上升沿中断使能配置寄存器
0x13c
PAFIE
RW
端口 PA 下降沿中断使能配置寄存器
0x200
PA_STAT
RO
端口 PA 中断状态寄存器
0x210
PA_ICLR
RW
端口 PA 中断清除寄存器
0x140
PBDIR
RW
端口 PB 输入输出配置寄存器
0x144
PBIN
RO
端口 PB 输入值寄存器
0x148
PBOUT
RW
端口 PB 输出值配置寄存器
0x14c
PBADS
RW
端口 PB 数模配置寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 150 of 854
0x150
PBBSET
RW
端口 PB 位置位寄存器
0x154
PBBCLR
RW
端口 PB 位清零寄存器
0x158
PBBSETCLR
RW
端口 PB 位置位清零寄存器
0x15c
PBDR
RW
端口 PB 驱动能力配置寄存器
0x160
PBPU
RW
端口 PB 上拉使能配置寄存器
0x164
PBPD
RW
端口 PB 下拉使能配置寄存器
0x16c
PBOD
RW
端口 PB 开漏输出配置寄存器
0x170
PBHIE
RW
端口 PB 高电平中断使能配置寄存器
0x174
PBLIE
RW
端口 PB 低电平中断使能配置寄存器
0x178
PBRIE
RW
端口 PB 上升沿中断使能配置寄存器
0x17c
PBFIE
RW
端口 PB 下降沿中断使能配置寄存器
0x240
PB_STAT
RO
端口 PB 中断状态寄存器
0x250
PB_ICLR
RW
端口 PB 中断清除寄存器
0x180
PCDIR
RW
端口 PC 输入输出配置寄存器
0x184
PCIN
RO
端口 PC 输入值寄存器
0x188
PCOUT
RW
端口 PC 输出值配置寄存器
0x18c
PCADS
RW
端口 PC 数模配置寄存器
0x190
PCBSET
RW
端口 PC 位置位寄存器
0x194
PCBCLR
RW
端口 PC 位清零寄存器
0x198
PCBSETCLR
RW
端口 PC 位置位清零寄存器
0x19c
PCDR
RW
端口 PC 驱动能力配置寄存器
0x1a0
PCPU
RW
端口 PC 上拉使能配置寄存器
0x1a4
PCPD
RW
端口 PC 下拉使能配置寄存器
0x1ac
PCOD
RW
端口 PC 开漏输出配置寄存器
0x1b0
PCHIE
RW
端口 PC 高电平中断使能配置寄存器
0x1b4
PCLIE
RW
端口 PC 低电平中断使能配置寄存器
0x1b8
PCRIE
RW
端口 PC 上升沿中断使能配置寄存器
0x1bc
PCFIE
RW
端口 PC 下降沿中断使能配置寄存器
0x280
PC_STAT
RO
端口 PC 中断状态寄存器
0x290
PC_ICLR
RW
端口 PC 中断清除寄存器
0x1c0
PDDIR
RW
端口 PD 输入输出配置寄存器
0x1c4
PDIN
RO
端口 PD 输入值寄存器
0x1c8
PDOUT
RW
端口 PD 输出值配置寄存器
0x1cc
PDADS
RW
端口 PD 数模配置寄存器
0x1d0
PDBSET
RW
端口 PD 位置位寄存器
0x1d4
PDBCLR
RW
端口 PD 位清零寄存器
0x1d8
PDBSETCLR
RW
端口 PD 位置位清零寄存器
0x1dc
PDDR
RW
端口 PD 驱动能力配置寄存器
0x1e0
PDPU
RW
端口 PD 上拉使能配置寄存器
0x1e4
PDPD
RW
端口 PD 下拉使能配置寄存器
0x1ec
PDOD
RW
端口 PD 开漏输出配置寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 151 of 854
0x1f0
PDHIE
RW
端口 PD 高电平中断使能配置寄存器
0x1f4
PDLIE
RW
端口 PD 低电平中断使能配置寄存器
0x1f8
PDRIE
RW
端口 PD 上升沿中断使能配置寄存器
0x1fc
PDFIE
RW
端口 PD 下降沿中断使能配置寄存器
0x2c0
PD_STAT
RO
端口 PD 中断状态寄存器
0x2d0
PD_ICLR
RW
端口 PD 中断清除寄存器
0x304
GPIO_CTRL1
RW
端口辅助功能配置寄存器 1
0x308
GPIO_CTRL2
RW
端口辅助功能配置寄存器 2
0x30c
GPIO_TIMGS
RW
端口辅助功能定时器门控选择
0x310
GPIO_TIMES
RW
端口辅助功能定时器ETR选择
0x314
GPIO_TIMCPS
RW
端口辅助功能定时器捕获输入选择
0x318
GPIO_PCAS
RW
端口辅助功能PCA捕获选择
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 152 of 854
8.5.1
端口 PA
8.5.1.1 端口 PA00 功能配置寄存器(PA00_SEL)
地址偏移量:0x00
复位值: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
Reserved
PA00_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA00功能选择.
2:0
PA00_SEL
000
----
GPIO PA00
001
----
UART1_CTS
UART1模块CTS信号
010
----
LPUART1_TXD
LPUART1模块TXD信号
011
----
TIM0_ETR
Timer0模块外部时钟输入信号
100
----
VC0_OUT
VC0模块输出/反向输出信号
101
----
TIM1_CHA
Timer1模块通道A信号
110
----
TIM3_ETR
Timer3模块外部时钟输入信号
111
----
TIM0_CHA
Timer0模块通道A信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 153 of 854
8.5.1.2 端口 PA01 功能配置寄存器(PA01_SEL)
地址偏移量:0x04
复位值: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
Reserved
PA01_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA01功能选择.
2:0
PA01_SEL
000
----
GPIO PA01
001
----
UART1_RTS
UART1模块RTS信号
010
----
LPUART1_RXD
LPUART1模块RXD信号
011
----
TIM0_CHB
Timer0模块通道B信号
100
----
TIM1_ETR
Timer1模块外部时钟输入信号
101
----
TIM1_CHB
Timer1模块通道B信号
110
----
HCLK_OUT
AHB总线时钟输出信号
111
----
SPI1_MOSI
SPI1模块主机输出从机输入数据信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 154 of 854
8.5.1.3 端口 PA02 功能配置寄存器(PA02_SEL)
地址偏移量: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
Reserved-
PA02_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA02功能选择.
2:0
PA02_SEL
000
----
GPIO PA02
001
----
UART1_TXD
UART1模块TXD信号
010
----
TIM0_CHA
Timer0模块通道A信号
011
----
VC1_OUT
VC1模块输出/反向输出信号
100
----
TIM1_CHA
Timer1模块通道A信号
101
----
TIM2_CHA
Timer2模块通道A信号
110
----
PCLK_OUT
APB总线时钟输出信号
111
----
SPI1_MISO
SPI1模块主机输入从机输出数据信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 155 of 854
8.5.1.4 端口 PA03 功能配置寄存器(PA03_SEL)
地址偏移量:0x0C
复位值: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
Reserved
PA03_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA03功能选择.
2:0
PA03_SEL
000
----
GPIO PA03
001
----
UART1_RXD
UART1模块RXD信号
010
----
TIM0_GATE
Timer0模块门控信号
011
----
TIM1_CHB
Timer1模块通道B信号
100
----
TIM2_CHB
Timer2模块通道B信号
101
----
SPI1_CS
SPI1模块主机模式片选信号
110
----
TIM3_CH1A
Timer3模块通道1A信号
111
----
TIM5_CHA
ADV Timer模块通道1A信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 156 of 854
8.5.1.5 端口 PA04 功能配置寄存器(PA04_SEL)
地址偏移量:0x10
复位值: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
Reserved
PA04_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA04功能选择.
2:0
PA04_SEL
000
----
GPIO PA04
001
----
SPI0_CS
SPI0模块主机模式片选信号
010
----
UART1_TXD
UART1模块TXD信号
011
----
PCA_CH4
PCA模块通道4捕获/比较信号
100
----
TIM2_ETR
Timer2模块外部时钟输入信号
101
----
TIM5_CHA
ADV Timer模块通道1A信号
110
----
LVD_OUT
LVD模块输出信号
111
----
TIM3_CH2B
Timer3模块通道2B信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 157 of 854
8.5.1.6 端口 PA05 功能配置寄存器(PA05_SEL)
地址偏移量:0x14
复位值: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
Reserved
PA05_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA05功能选择.
2:0
PA05_SEL
000
----
GPIO PA05
001
----
SPI0_SCK
SPI0模块时钟信号
010
----
TIM0_ETR
Timer0模块外部时钟输入信号
011
----
PCA_ECI
PCA模块外部时钟输入信号
100
----
TIM0_CHA
Timer0模块通道A信号
101
----
TIM5_CHB
ADV Timer模块通道1B信号
110
----
XTL_OUT
外部32K晶振输出信号
111
----
XTH_OUT
外部32M晶振输出信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 158 of 854
8.5.1.7 端口 PA06 功能配置寄存器(PA06_SEL)
地址偏移量:0x18
复位值: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
Reserved
PA06_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA06功能选择.
2:0
PA06_SEL
000
----
GPIO PA06
001
----
SPI0_MISO
SPI0模块主机输入从机输出数据信号
010
----
PCA_CH0
PCA模块通道0捕获/比较信号
011
----
TIM3_BK
Timer3模块刹车信号
100
----
TIM1_CHA
Timer1模块通道A信号
101
----
VC0_OUT
VC0模块输出/反向输出信号
110
----
TIM3_GATE
Timer3模块门控信号
111
----
LPUART0_CTS LPUART0模块CTS信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 159 of 854
8.5.1.8 端口 PA07 功能配置寄存器(PA07_SEL)
地址偏移量:0x1C
复位值: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
Reserved
PA07_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA07功能选择.
2:0
PA07_SEL
000
----
GPIO PA07
001
----
SPI0_MOSI
SPI0模块主机输出从机输入数据信号
010
----
PCA_CH1
PCA模块通道1捕获/比较信号
011
----
HCLK_OUT
AHB总线时钟输出信号
100
----
TIM3_CH0B
Timer3模块通道0B信号
101
----
TIM2_CHA
Timer2模块通道A信号
110
----
VC1_OUT
VC1模块输出/反向输出信号
111
----
TIM4_CHB
ADV Timer模块通道0B信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 160 of 854
8.5.1.9 端口 PA08 功能配置寄存器(PA08_SEL)
地址偏移量:0x20
复位值: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
Reserved
PA08_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA08功能选择.
2:0
PA08_SEL
000
----
GPIO PA08
001
----
UART0_TXD
UART0模块TXD信号
010
----
TIM3_CH0A
Timer3模块通道0A信号
011
----
Reserved
Reserved
100
----
Reserved
Reserved
101
----
TIM1_GATE
Timer1模块门控信号
110
----
TIM4_CHA
ADV Timer模块通道0A信号
111
----
TIM3_BK
Timer3模块刹车信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 161 of 854
8.5.1.10 端口 PA09 功能配置寄存器(PA09_SEL)
地址偏移量: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
Reserved
PA09_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA09功能选择.
2:0
PA09_SEL
000
----
GPIO PA09
001
----
UART0_TXD
UART0模块TXD信号
010
----
TIM3_CH1A
Timer3模块通道1A信号
011
----
TIM0_BK
Timer0模块刹车信号
100
----
I2C0_SCL
I2C0模块时钟信号
101
----
Reserved
Reserved
110
----
HCLK_OUT
AHB总线时钟输出信号
111
----
TIM5_CHA
ADV Timer模块通道1A信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 162 of 854
8.5.1.11 端口 PA10 功能配置寄存器(PA10_SEL)
地址偏移量:0x28
复位值: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
Reserved
PA10_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA10功能选择.
2:0
PA10_SEL
000
----
GPIO PA10
001
----
UART0_RXD
UART0模块RXD信号
010
----
TIM3_CH2A
Timer3模块通道2A信号
011
----
TIM2_BK
Timer2模块刹车信号
100
----
I2C0_SDA
I2C0模块数据信号
101
----
TIM2_GATE
Timer2模块门控信号
110
----
PCLK_OUT
APB总线时钟输出信号
111
----
TIM6_CHA
ADV Timer模块通道2A信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 163 of 854
8.5.1.12 端口 PA11 功能配置寄存器(PA11_SEL)
地址偏移量: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
Reserved
PA11_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA11功能选择.
2:0
PA11_SEL
000
----
GPIO PA11
001
----
UART0_CTS
UART0模块CTS信号
010
----
TIM3_GATE
Timer3模块门控信号
011
----
I2C1_SCL
I2C1模块时钟信号
100
----
Reserved
Reserved
101
----
VC0_OUT
VC0模块输出/反向输出信号
110
----
SPI0_MISO
SPI0模块主机输入从机输出数据信号
111
----
TIM4_CHB
ADV Timer模块通道0B信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 164 of 854
8.5.1.13 端口 PA12 功能配置寄存器(PA12_SEL)
地址偏移量:0x30
复位值: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
Reserved
PA12_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA12功能选择.
2:0
PA12_SEL
000
----
GPIO PA12
001
----
UART0_RTS
UART0模块RTS信号
010
----
TIM3_ETR
Timer3模块外部时钟输入信号
011
----
I2C1_SDA
I2C1模块数据信号
100
----
Reserved
Reserved
101
----
VC1_OUT
VC1模块输出/反向输出信号
110
----
SPI0_MOSI
SPI0模块主机输出从机输入数据信号
111
----
PCNT_S0
PCNT模块输入信号0
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 165 of 854
8.5.1.14 端口 PA13 功能配置寄存器(PA13_SEL)
地址偏移量:0x34
复位值: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
Reserved
PA13_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA13功能选择.
2:0
PA13_SEL
000
----
GPIO PA13
001
----
IR_OUT
红外输出信号
010
----
UART0_RXD
UART0模块RXD信号
011
----
LVD_OUT
LVD模块输出信号
100
----
TIM3_ETR
Timer3模块外部时钟输入信号
101
----
RTC_1HZ
RTC模块1Hz输出信号
110
----
PCNT_S1
PCNT模块输入信号1
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 166 of 854
8.5.1.15 端口 PA14 功能配置寄存器(PA14_SEL)
地址偏移量: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
15
14
13
12
11
10
9
8
7
Reserved
PA14_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA14功能选择.
2:0
PA14_SEL
000
----
GPIO PA14
001
----
UART1_TXD
UART1模块TXD信号
010
----
UART0_TXD
UART0模块TXD信号
011
----
TIM3_CH2A
Timer3模块通道2A信号
100
----
LVD_OUT
LVD模块输出信号
101
----
RCH_OUT
内部24M RC时钟输出信号
110
----
RCL_OUT
内部38K RC时钟输出信号
111
----
PLL_OUT
内部PLL时钟输出信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 167 of 854
8.5.1.16 端口 PA15 功能配置寄存器(PA15_SEL)
地址偏移量:0x3C
复位值: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
Reserved
PA15_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PA15功能选择.
2:0
PA15_SEL
000
----
GPIO PA15
001
----
SPI0_CS
SPI0模块主机模式片选信号
010
----
UART1_RXD
UART1模块RXD信号
011
----
LPUART1_RTS LPUART1模块RTS信号
100
----
TIM0_ETR
Timer0模块外部时钟输入信号
101
----
TIM0_CHA
Timer0模块通道A信号
110
----
TIM3_CH1A
Timer3模块通道1A信号
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 168 of 854
8.5.1.17 端口 PA 输入输出配置寄存器(PADIR)
地址偏移量:0x100
复位值:0xffff ffff
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
PADIR[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PA输入输出配置寄存器 (对应PA15-PA00)
15:0
PADIR
1:配置成输入
0:配置成输出
注:每个 bit 对应一个端口,例如:PADIR[15]对应端口 PA15
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 169 of 854
8.5.1.18 端口 PA 输入值寄存器(PAIN)
地址偏移量:0x104
复位值:NA
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
PAIN[15:0]
RO
位
标记
功能描述
31:16
Reserved
保留
端口PA输入值寄存器 (对应PA15-PA00)
15:0
PAIN
1:输入为高电平
0:输入为低电平
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 170 of 854
8.5.1.19 端口 PA 输出值配置寄存器(PAOUT)
地址偏移量:0x108
复位值:NA
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
PAOUT[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PA输出值配置寄存器 (对应PA15-PA00)
15:0
PAOUT
1:输出高电平。如果配置成开漏输出,则需外部上拉电阻来拉高。
0:输出低电平。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 171 of 854
8.5.1.20 端口 PA 数模配置寄存器(PAADS)
地址偏移量:0x10C
复位值: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
PAADS[15:0]
RW
位
31:16
标记
Reserved
功能描述
保留
端口PA数模配置寄存器 (对应PA15-PA00)
15:0
PAADS
1:配置为模拟端口
0:配置为数字端口
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 172 of 854
8.5.1.21 端口 PA 位置位寄存器(PABSET)
地址偏移量:0x110
复位值: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
PABSET[15:0]
W1
位
标记
功能描述
31:16
Reserved
保留
端口PA位置位寄存器 (对应PA15-PA00)
15:0
PABSET
1:置位
0:保持
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 173 of 854
8.5.1.22 端口 PA 位清零寄存器(PABCLR)
地址偏移量:0x114
复位值: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
PABCLR[15:0]
W1
位
标记
功能描述
31:16
Reserved
保留
端口PA位清零寄存器 (对应PA15-PA00)
15:0
PABCLR
1:清零
0:保持
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 174 of 854
8.5.1.23 端口 PA 位置位清零寄存器(PABSETCLR)
地址偏移量:0x118
复位值: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
PABSET[15:0]
W1
15
14
13
12
11
10
9
8
7
PABCLR[15:0]
W1
位
标记
功能描述
端口PA位置位寄存器 (对应PA15-PA00)
31:16
PABSET
1:置位
0:保持
15:0
PABCLR
端口PA位清零寄存器 (对应PA15-PA00)
1:清零
0:保持
注意:
– PABSET 和 PABCLR 相同位同时置 1 时,PABCLR 具有高优先级。即该端口被清
零。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 175 of 854
8.5.1.24 端口 PA 驱动能力配置寄存器(PADR)
地址偏移量:0x11C
复位值: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
PADR[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PA驱动能力配置寄存器 (对应PA15-PA00)
15:0
PADR
1:低驱动能力
0:高驱动能力
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 176 of 854
8.5.1.25 端口 PA 上拉使能配置寄存器(PAPU)
地址偏移量:0x120
复位值: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
PAPU[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PA上拉使能配置寄存器 (对应PA15-PA00)
15:0
PAPU
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 177 of 854
8.5.1.26 端口 PA 下拉使能配置寄存器(PAPD)
地址偏移量:0x124
复位值: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
PAPD[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
PAPD
端口PA下拉使能配置寄存器 (对应PA15-PA00)
1:使能
15:0
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 178 of 854
8.5.1.27 端口 PA 开漏输出配置寄存器(PAOD)
地址偏移量:0x12C
复位值: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
PAOD[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PA开漏输出配置寄存器 (对应PA15-PA00)
15:0
PAOD
1:将端口输出方式设置为开漏输出
0:将端口输出方式设置为推挽输出
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 179 of 854
8.5.1.28 端口 PA 高电平中断使能配置寄存器(PAHIE)
地址偏移量:0x130
复位值: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
PAHIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PA高电平中断使能配置寄存器 (对应PA15-PA00)
15:0
PAHIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 180 of 854
8.5.1.29 端口 PA 低电平中断使能配置寄存器(PALIE)
地址偏移量:0x134
复位值: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
PALIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PA低电平中断使能配置寄存器 (对应PA15-PA00)
15:0
PALIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 181 of 854
8.5.1.30 端口 PA 上升沿中断使能配置寄存器(PARIE)
地址偏移量:0x138
复位值: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
PARIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PA上升沿中断使能配置寄存器 (对应PA15-PA00)
15:0
PARIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 182 of 854
8.5.1.31 端口 PA 下降沿中断使能配置寄存器(PAFIE)
地址偏移量:0x13C
复位值: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
PAFIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PA下降沿中断使能配置寄存器 (对应PA15-PA00)
15:0
PAFIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 183 of 854
8.5.1.32 端口 PA 中断状态寄存器(PA_STAT)
地址偏移量:0x200
复位值: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
PA_STAT[15:0]
RO
位
标记
功能描述
31:16
Reserved
保留
端口PA中断状态寄存器 (对应PA15-PA00)
15:0
PA_STAT
1:中断触发
0:无中断触发
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 184 of 854
8.5.1.33 端口 PA 中断清除寄存器(PA_ICLR)
地址偏移量:0x210
复位值:0xffff ffff
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
PA_ICLR[15:0]
R1W0(读出为1,写0清除)
位
标记
功能描述
31:16
Reserved
保留
端口PA中断清除寄存器 (对应PA15-PA00)
15:0
PA_ICLR
1:保留中断标志位
0:清除中断标志位
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 185 of 854
8.5.2
端口 PB
8.5.2.1 端口 PB00 功能配置寄存器(PB00_SEL)
地址偏移量: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
15
14
13
12
11
10
9
8
7
Reserved
PB00_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB00功能选择.
2:0
PB00_SEL
000
----
GPIO PB00
001
----
PCA_CH2
PCA模块通道2捕获/比较信号
010
----
TIM3_CH1B
Timer3模块通道1B信号
011
----
LPUART0_TXD LPUART0模块TXD信号
100
----
TIM5_CHB
ADV Timer模块通道1B信号
101
----
RCH_OUT
内部24M RC时钟输出信号
110
----
RCL_OUT
内部38K RC时钟输出信号
111
----
PLL_OUT
内部PLL时钟输出信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 186 of 854
8.5.2.2 端口 PB01 功能配置寄存器(PB01_SEL)
地址偏移量:0x44
复位值: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
Reserved
PB01_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB01功能选择.
2:0
PB01_SEL
000
----
GPIO PB01
001
----
PCA_CH3
PCA模块通道3捕获/比较信号
010
----
PCLK_OUT
APB总线时钟输出信号
011
----
TIM3_CH2B
Timer3模块通道2B信号
100
----
TIM6_CHB
ADV Timer模块通道2B信号
101
----
LPUART0_RTS
LPUART0模块RTS信号
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 187 of 854
8.5.2.3 端口 PB02 功能配置寄存器(PB02_SEL)
地址偏移量: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
15
14
13
12
11
10
9
8
7
Reserved
PB02_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB02功能选择.
2:0
PB02_SEL
000
----
GPIO PB02
001
----
LPTIM_TOG
低功耗timer模块翻转信号
010
----
PCA_ECI
PCA模块外部时钟输入信号
011
----
LPUART1_TXD
LPUART1模块TXD信号
100
----
TIM4_CHA
ADV Timer模块通道0A信号
101
----
TIM1_BK
Timer1模块刹车信号
110
----
TIM0_BK
Timer0模块刹车信号
111
----
TIM2_BK
Timer2模块刹车信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 188 of 854
8.5.2.4 端口 PB03 功能配置寄存器(PB03_SEL)
地址偏移量:0x4C
复位值: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
Reserved
PB03_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB03功能选择.
2:0
PB03_SEL
000
----
GPIO PB03
001
----
SPI0_SCK
SPI0模块时钟信号
010
----
TIM0_CHB
Timer0模块通道B信号
011
----
TIM1_GATE
Timer1模块门控信号
100
----
TIM3_CH0A
Timer3模块通道0A信号
101
----
LPTIM_GATE
低功耗timer模块门控信号
110
----
XTL_OUT
外部32K晶振输出信号
111
----
XTH_OUT
外部32M晶振输出信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 189 of 854
8.5.2.5 端口 PB04 功能配置寄存器(PB04_SEL)
地址偏移量: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
15
14
13
12
11
10
9
8
7
Reserved
PB04_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB04功能选择.
2:0
PB04_SEL
000
----
GPIO PB04
001
----
SPI0_MISO
SPI0模块主机输入从机输出数据信号
010
----
PCA_CH0
PCA模块通道0捕获/比较信号
011
----
TIM2_BK
Timer2模块刹车信号
100
----
UART0_CTS
UART0模块CTS信号
101
----
TIM2_GATE
Timer2模块门控信号
110
----
TIM3_CH0B
Timer3模块通道0B信号
111
----
LPTIM_ETR
低功耗timer模块外部时钟输入信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 190 of 854
8.5.2.6 端口 PB05 功能配置寄存器(PB05_SEL)
地址偏移量:0x54
复位值: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
Reserved
PB05_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB05功能选择.
2:0
PB05_SEL
000
----
GPIO PB05
001
----
SPI0_MOSI
SPI0模块主机输出从机输入数据信号
010
----
Reserved
Reserved
011
----
TIM1_BK
Timer1模块刹车信号
100
----
PCA_CH1
PCA模块通道1捕获/比较信号
101
----
LPTIM_GATE 低功耗timer模块门控信号
110
----
PCNT_S0
PCNT模块输入信号0
111
----
UART0_RTS
UART0模块RTS信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 191 of 854
8.5.2.7 端口 PB06 功能配置寄存器(PB06_SEL)
地址偏移量:0x58
复位值: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
Reserved
PB06_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB06功能选择.
2:0
PB06_SEL
000
----
GPIO PB06
001
----
I2C0_SCL
I2C0模块时钟信号
010
----
UART0_TXD
UART0模块TXD信号
011
----
TIM1_CHB
Timer1模块通道B信号
100
----
TIM0_CHA
Timer0模块通道A信号
101
----
LPTIM_ETR
低功耗timer模块外部时钟输入信号
110
----
TIM3_CH0A
Timer3模块通道0A信号
111
----
LPTIM_TOG
低功耗timer模块翻转信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 192 of 854
8.5.2.8 端口 PB07 功能配置寄存器(PB07_SEL)
地址偏移量:0x5C
复位值: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
Reserved
PB07_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB07功能选择.
2:0
PB07_SEL
000
----
GPIO PB07
001
----
I2C0_SDA
I2C0模块数据信号
010
----
UART0_RXD
UART0模块RXD信号
011
----
TIM2_CHB
Timer2模块通道B信号
100
----
LPUART1_CTS
101
----
TIM0_CHB
Timer0模块通道B信号
110
----
LPTIM_TOGN
低功耗timer模块翻转反向信号
111
----
PCNT_S1
PCNT模块输入信号1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
LPUART1模块CTS信号
Page 193 of 854
8.5.2.9 端口 PB08 功能配置寄存器(PB08_SEL)
地址偏移量:0x60
复位值: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
Reserved
PB08_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB08功能选择.
2:0
PB08_SEL
000
----
GPIO PB08
001
----
I2C0_SCL
010
----
TIM1_CHA
Timer1模块通道A信号
011
----
Reserved
Reserved
100
----
TIM2_CHA
Timer2模块通道A信号
101
----
TIM0_GATE
Timer0模块门控信号
110
----
TIM3_CH2A
Timer3模块通道2A信号
111
----
UART0_TXD
UART0模块TXD信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
I2C0模块时钟信号
Page 194 of 854
8.5.2.10 端口 PB09 功能配置寄存器(PB09_SEL)
地址偏移量:0x64
复位值: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
Reserved
PB09_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB09功能选择.
2:0
PB09_SEL
000
----
GPIO PB09
001
----
I2C0_SDA
I2C0模块数据信号
010
----
IR_OUT
红外输出信号
011
----
SPI1_CS
SPI1模块主机模式片选信号
100
----
TIM2_CHA
Timer2模块通道A信号
101
----
Reserved
Reserved
110
----
TIM2_CHB
Timer2模块通道B信号
111
----
UART0_RXD
UART0模块RXD信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 195 of 854
8.5.2.11 端口 PB10 功能配置寄存器(PB10_SEL)
地址偏移量:0x68
复位值: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
Reserved
PB10_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB10功能选择.
2:0
PB10_SEL
000
----
GPIO PB10
001
----
I2C1_SCL
I2C1模块时钟信号
010
----
SPI1_SCK
SPI1模块时钟信号
011
----
TIM1_CHA
Timer1模块通道A信号
100
----
LPUART0_TXD
LPUART0模块TXD信号
101
----
TIM3_CH1A
Timer3模块通道1A信号
110
----
LPUART1_RTS
LPUART1模块RTS信号
111
----
UART1_RTS
UART1模块RTS信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 196 of 854
8.5.2.12 端口 PB11 功能配置寄存器(PB11_SEL)
地址偏移量:0x6C
复位值: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
Reserved
PB11_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB11功能选择.
2:0
PB11_SEL
000
----
GPIO PB11
001
----
I2C1_SDA
I2C1模块数据信号
010
----
TIM1_CHB
Timer1模块通道B信号
011
----
LPUART0_RXD
LPUART0模块RXD信号
100
----
TIM2_GATE
Timer2模块门控信号
101
----
TIM6_CHA
ADV Timer模块通道2A信号
110
----
LPUART1_CTS
LPUART1模块CTS信号
111
----
UART1_CTS
UART1模块CTS信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 197 of 854
8.5.2.13 端口 PB12 功能配置寄存器(PB12_SEL)
地址偏移量:0x70
复位值: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
Reserved
PB12_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB12功能选择.
2:0
PB12_SEL
000
----
GPIO PB12
001
----
SPI1_CS
SPI1模块主机模式片选信号
010
----
TIM3_BK
Timer3模块刹车信号
011
----
LPUART0_TXD LPUART0模块TXD信号
100
----
TIM0_BK
Timer0模块刹车信号
101
----
Reserved
Reserved
110
----
LPUART0_RTS LPUART0模块RTS信号
111
----
TIM6_CHA
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
ADV Timer模块通道2A信号
Page 198 of 854
8.5.2.14 端口 PB13 功能配置寄存器(PB13_SEL)
地址偏移量:0x74
复位值: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
Reserved
PB13_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB13功能选择.
2:0
PB13_SEL
000
----
GPIO PB13
001
----
SPI1_SCK
SPI1模块时钟信号
010
----
I2C1_SCL
I2C1模块时钟信号
011
----
TIM3_CH0B
Timer3模块通道0B信号
100
----
LPUART0_CTS LPUART0模块CTS信号
101
----
TIM1_CHA
Timer1模块通道A信号
110
----
TIM1_GATE
Timer1模块门控信号
111
----
TIM6_CHB
ADV Timer模块通道2B信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 199 of 854
8.5.2.15 端口 PB14 功能配置寄存器(PB14_SEL)
地址偏移量:0x78
复位值: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
Reserved
PB14_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB14功能选择.
2:0
PB14_SEL
000
----
GPIO PB14
001
----
SPI1_MISO
SPI1模块主机输入从机输出数据信号
010
----
I2C1_SDA
I2C1模块数据信号
011
----
TIM3_CH1B
Timer3模块通道1B信号
100
----
TIM0_CHA
Timer0模块通道A信号
101
----
RTC_1HZ
RTC模块1Hz输出信号
110
----
LPUART0_RTS
LPUART0模块RTS信号
111
----
TIM1_BK
Timer1模块刹车信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 200 of 854
8.5.2.16 端口 PB15 功能配置寄存器(PB15_SEL)
地址偏移量:0x7C
复位值: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
Reserved
PB15_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PB15功能选择.
2:0
PB15_SEL
000
----
GPIO PB15
001
----
SPI1_MOSI
SPI1模块主机输出从机输入数据信号
010
----
TIM3_CH2B
Timer3模块通道2B信号
011
----
TIM0_CHB
Timer0模块通道B信号
100
----
TIM0_GATE
Timer0模块门控信号
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
LPUART1_RXD
LPUART1模块RXD信号
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 201 of 854
8.5.2.17 端口 PB 输入输出配置寄存器(PBDIR)
地址偏移量:0x140
复位值:0xffff ffff
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
PBDIR[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PB输入输出配置寄存器 (对应PB15-PB00)
15:0
PBDIR
1:配置成输入
0:配置成输出
注:每个 bit 对应一个端口,例如:PBDIR[15]对应端口 PB15
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 202 of 854
8.5.2.18 端口 PB 输入值寄存器(PBIN)
地址偏移量:0x144
复位值:NA
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
PBIN[15:0]
RO
位
标记
功能描述
31:16
Reserved
保留
端口PB输入值寄存器 (对应PB15-PB00)
15:0
PBIN
1:输入为高电平
0:输入为低电平
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 203 of 854
8.5.2.19 端口 PB 输出值配置寄存器(PBOUT)
地址偏移量:0x148
复位值:NA
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
PBOUT[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PB输出值配置寄存器 (对应PB15-PB00)
15:0
PBOUT
1:输出高电平。如果配置成开漏输出,则需外部上拉电阻来拉高。
0:输出低电平。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 204 of 854
8.5.2.20 端口 PB 数模配置寄存器(PBADS)
地址偏移量:0x14C
复位值: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
PBADS[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PB数模配置寄存器 (对应PB15-PB00)
15:0
PBADS
1:配置为模拟端口
0:配置为数字端口
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 205 of 854
8.5.2.21 端口 PB 位置位寄存器(PBBSET)
地址偏移量:0x150
复位值: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
PBBSET[15:0]
W1
位
标记
功能描述
31:16
Reserved
保留
端口PB位置位寄存器 (对应PB15-PB00)
15:0
PBBSET
1:置位
0:保持
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 206 of 854
8.5.2.22 端口 PB 位清零寄存器(PBBCLR)
地址偏移量:0x154
复位值: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
PBBCLR[15:0]
W1
位
标记
功能描述
31:16
Reserved
保留
端口PB位清零寄存器 (对应PB15-PB00)
15:0
PBBCLR
1:清零
0:保持
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 207 of 854
8.5.2.23 端口 PB 位置位清零寄存器(PBBSETCLR)
地址偏移量:0x158
复位值: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
PBBSET[15:0]
W1
15
14
13
12
11
10
9
8
7
PBBCLR[15:0]
W1
位
标记
功能描述
端口PB位置位寄存器 (对应PB15-PB00)
31:16
PBBSET
1:置位
0:保持
15:0
PBBCLR
端口PB位清零寄存器 (对应PB15-PB00)
1:清零
0:保持
注意:
– PBBSET 和 PBBCLR 相同位同时置 1 时,PBBCLR 具有高优先级。即该端口被清
零。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 208 of 854
8.5.2.24 端口 PB 驱动能力配置寄存器(PBDR)
地址偏移量:0x15C
复位值: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
PBDR[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PB驱动能力配置寄存器 (对应PB15-PB00)
15:0
PBDR
1:低驱动能力
0:高驱动能力
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 209 of 854
8.5.2.25 端口 PB 上拉使能配置寄存器(PBPU)
地址偏移量:0x160
复位值: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
PBPU[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PB上拉使能配置寄存器 (对应PB15-PB00)
15:0
PBPU
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 210 of 854
8.5.2.26 端口 PB 下拉使能配置寄存器(PBPD)
地址偏移量:0x164
复位值: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
PBPD[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PB下拉使能配置寄存器 (对应PB15-PB00)
15:0
PBPD
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 211 of 854
8.5.2.27 端口 PB 开漏输出配置寄存器(PBOD)
地址偏移量:0x16C
复位值: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
PBOD[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PB开漏输出配置寄存器 (对应PB15-PB00)
15:0
PBOD
1:将端口输出方式设置为开漏输出
0:将端口输出方式设置为推挽输出
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 212 of 854
8.5.2.28 端口 PB 高电平中断使能配置寄存器(PBHIE)
地址偏移量:0x170
复位值: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
PBHIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PB高电平中断使能配置寄存器 (对应PB15-PB00)
15:0
PBHIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 213 of 854
8.5.2.29 端口 PB 低电平中断使能配置寄存器(PBLIE)
地址偏移量:0x174
复位值: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
PBLIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PB低电平中断使能配置寄存器 (对应PB15-PB00)
15:0
PBLIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 214 of 854
8.5.2.30 端口 PB 上升沿中断使能配置寄存器(PBRIE)
地址偏移量:0x178
复位值: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
PBRIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PB上升沿中断使能配置寄存器 (对应PB15-PB00)
15:0
PBRIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 215 of 854
8.5.2.31 端口 PB 下降沿中断使能配置寄存器(PBFIE)
地址偏移量:0x17C
复位值: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
PBFIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
PBFIE
端口PB下降沿中断使能配置寄存器 (对应PB15-PB00)
1:使能
15:0
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 216 of 854
8.5.2.32 端口 PB 中断状态寄存器(PB_STAT)
地址偏移量:0x240
复位值: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
PB_STAT[15:0]
RO
位
标记
功能描述
31:16
Reserved
保留
PB_STAT
端口PB中断状态寄存器 (对应PB15-PB00)
1:中断触发
15:0
0:无中断触发
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 217 of 854
8.5.2.33 端口 PB 中断清除寄存器(PB_ICLR)
地址偏移量:0x250
复位值:0xffff ffff
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
PB_ICLR[15:0]
R1W0(读出为1,写0清除)
位
标记
功能描述
31:16
Reserved
保留
端口PB中断清除寄存器 (对应PB15-PB00)
15:0
PB_ICLR
1:保留中断标志位
0:清除中断标志位
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 218 of 854
8.5.3
端口 PC
8.5.3.1 端口 PC00 功能配置寄存器(PC00_SEL)
地址偏移量:0x80
复位值: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
Reserved
PC00_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC00功能选择.
2:0
PC00_SEL
000
----
GPIO PC00
001
----
LPTIM_GATE 低功耗timer模块门控信号
010
----
PCNT_S0
PCNT模块输入信号0
011
----
UART1_CTS
UART1模块CTS信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 219 of 854
8.5.3.2 端口 PC01 功能配置寄存器(PC01_SEL)
地址偏移量:0x84
复位值: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
Reserved
PC01_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC01功能选择.
2:0
PC01_SEL
000
----
GPIO PC01
001
----
LPTIM_TOG
低功耗timer模块翻转信号
010
----
TIM5_CHB
ADV Timer模块通道1B信号
011
----
UART1_RTS
UART1模块RTS信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 220 of 854
8.5.3.3 端口 PC02 功能配置寄存器(PC02_SEL)
地址偏移量:0x88
复位值: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
Reserved
PC02_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC02功能选择.
2:0
PC02_SEL
000
----
GPIO PC02
001
----
SPI1_MISO
SPI1模块主机输入从机输出数据信号
010
----
LPTIM_TOGN
低功耗timer模块翻转反向信号
011
----
PCNT_S1
PCNT模块输入信号1
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 221 of 854
8.5.3.4 端口 PC03 功能配置寄存器(PC03_SEL)
地址偏移量:0x8C
复位值: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
Reserved
PC03_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC03功能选择.
2:0
PC03_SEL
000
----
GPIO PC03
001
----
SPI1_MOSI
SPI1模块主机输出从机输入数据信号
010
----
LPTIM_ETR
低功耗timer模块外部时钟输入信号
011
----
LPTIM_TOGN
低功耗timer模块翻转反向信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 222 of 854
8.5.3.5 端口 PC04 功能配置寄存器(PC04_SEL)
地址偏移量:0x90
复位值: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
Reserved
PC04_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC04功能选择.
2:0
PC04_SEL
000
----
GPIO PC04
001
----
LPUART0_TXD
LPUART0模块TXD信号
010
----
TIM2_ETR
Timer2模块外部时钟输入信号
011
----
IR_OUT
红外输出信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 223 of 854
8.5.3.6 端口 PC05 功能配置寄存器(PC05_SEL)
地址偏移量:0x94
复位值: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
Reserved
PC05_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC05功能选择.
2:0
PC05_SEL
000
----
GPIO PC05
001
----
LPUART0_RXD
LPUART0模块RXD信号
010
----
TIM6_CHB
ADV Timer模块通道2B信号
011
----
PCA_CH4
PCA模块通道4捕获/比较信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 224 of 854
8.5.3.7 端口 PC06 功能配置寄存器(PC06_SEL)
地址偏移量:0x98
复位值: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
Reserved
PC06_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC06功能选择.
2:0
PC06_SEL
000
----
GPIO PC06
001
----
PCA_CH0
PCA模块通道0捕获/比较信号
010
----
TIM4_CHA
ADV Timer模块通道0A信号
011
----
TIM2_CHA
Timer2模块通道A信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 225 of 854
8.5.3.8 端口 PC07 功能配置寄存器(PC07_SEL)
地址偏移量:0x9C
复位值: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
Reserved
PC07_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC07功能选择.
2:0
PC07_SEL
000
----
GPIO PC07
001
----
PCA_CH1
PCA模块通道1捕获/比较信号
010
----
TIM5_CHA
ADV Timer模块通道1A信号
011
----
TIM2_CHB
Timer2模块通道B信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 226 of 854
8.5.3.9 端口 PC08 功能配置寄存器(PC08_SEL)
地址偏移量:0xA0
复位值: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
Reserved
PC08_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC08功能选择.
2:0
PC08_SEL
000
----
GPIO PC08
001
----
PCA_CH2
PCA模块通道2捕获/比较信号
010
----
TIM6_CHA
ADV Timer模块通道2A信号
011
----
TIM2_ETR
Timer2模块外部时钟输入信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 227 of 854
8.5.3.10 端口 PC09 功能配置寄存器(PC09_SEL)
地址偏移量: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
15
14
13
12
11
10
9
8
7
Reserved
PC09_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC09功能选择.
2:0
PC09_SEL
000
----
GPIO PC09
001
----
PCA_CH3
PCA模块通道3捕获/比较信号
010
----
TIM4_CHB
ADV Timer模块通道0B信号
011
----
TIM1_ETR
Timer1模块外部时钟输入信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 228 of 854
8.5.3.11 端口 PC10 功能配置寄存器(PC10_SEL)
地址偏移量:0xA8
复位值: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
Reserved
PC10_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC10功能选择.
2:0
PC10_SEL
000
----
GPIO PC10
001
----
LPUART1_TXD
LPUART1模块TXD信号
010
----
LPUART0_TXD
LPUART0模块TXD信号
011
----
PCA_CH2
PCA模块通道2捕获/比较信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 229 of 854
8.5.3.12 端口 PC11 功能配置寄存器(PC11_SEL)
地址偏移量:0xAC
复位值: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
Reserved
PC11_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC11功能选择.
2:0
PC11_SEL
000
----
GPIO PC11
001
----
LPUART1_RXD
LPUART1模块RXD信号
010
----
LPUART0_RXD
LPUART0模块RXD信号
011
----
PCA_CH3
PCA模块通道3捕获/比较信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 230 of 854
8.5.3.13 端口 PC12 功能配置寄存器(PC12_SEL)
地址偏移量: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
15
14
13
12
11
10
9
8
7
Reserved
PC12_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC12功能选择.
2:0
PC12_SEL
000
----
GPIO PC12
001
----
LPUART0_TXD
LPUART0模块RXD信号
010
----
LPUART1_TXD
LPUART1模块TXD信号
011
----
PCA_CH4
PCA模块通道4捕获/比较信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 231 of 854
8.5.3.14 端口 PC13 功能配置寄存器(PC13_SEL)
地址偏移量:0xB4
复位值: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
Reserved
PC13_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC13功能选择.
2:0
PC13_SEL
000
----
GPIO PC13
001
----
Reserved
Reserved
010
----
RTC_1HZ
RTC模块1Hz输出信号
011
----
TIM3_CH1B Timer3模块通道1B信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 232 of 854
8.5.3.15 端口 PC14 功能配置寄存器(PC14_SEL)
地址偏移量:0xB8
复位值: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
Reserved
PC14_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC14功能选择.
2:0
PC14_SEL
000
----
GPIO PC14
001
----
Reserved
Reserved
010
----
Reserved
Reserved
011
----
Reserved
Reserved
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 233 of 854
8.5.3.16 端口 PC15 功能配置寄存器(PC15_SEL)
地址偏移量:0xBC
复位值: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
Reserved
PC15_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PC15功能选择.
2:0
PC15_SEL
000
----
GPIO PC15
001
----
Reserved
Reserved
010
----
Reserved
Reserved
011
----
Reserved
Reserved
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 234 of 854
8.5.3.17 端口 PC 输入输出配置寄存器(PCDIR)
地址偏移量:0x180
复位值:0xffff ffff
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
PCDIR[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PC输入输出配置寄存器 (对应PC15-PC00)
15:0
PCDIR
1:配置成输入
0:配置成输出
注:每个 bit 对应一个端口,例如:PCDIR[15]对应端口 PC15
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 235 of 854
8.5.3.18 端口 PC 输入值寄存器(PCIN)
地址偏移量:0x184
复位值:NA
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
PCIN[15:0]
RO
位
标记
功能描述
31:16
Reserved
保留
端口PC输入值寄存器 (对应PC15-PC00)
15:0
PCIN
1:输入为高电平
0:输入为低电平
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 236 of 854
8.5.3.19 端口 PC 输出值配置寄存器(PCOUT)
地址偏移量:0x188
复位值:NA
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
PCOUT[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PC输出值配置寄存器 (对应PC15-PC00)
15:0
PCOUT
1:输出高电平。如果配置成开漏输出,则需外部上拉电阻来拉高。
0:输出低电平。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 237 of 854
8.5.3.20 端口 PC 数模配置寄存器(PCADS)
地址偏移量:0x18C
复位值: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
PCADS[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PC数模配置寄存器 (对应PC15-PC00)
15:0
PCADS
1:配置为模拟端口
0:配置为数字端口
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 238 of 854
8.5.3.21 端口 PC 位置位寄存器(PCBSET)
地址偏移量:0x190
复位值: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
PCBSET[15:0]
W1
位
标记
功能描述
31:16
Reserved
保留
端口PC位置位寄存器 (对应PC15-PC00)
15:0
PCBSET
1:置位
0:保持
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 239 of 854
8.5.3.22 端口 PC 位清零寄存器(PCBCLR)
地址偏移量:0x194
复位值: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
PCBCLR[15:0]
W1
位
标记
功能描述
31:16
Reserved
保留
端口PC位清零寄存器 (对应PC15-PC00)
15:0
PCBCLR
1:清零
0:保持
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 240 of 854
8.5.3.23 端口 PC 位置位清零寄存器(PCBSETCLR)
地址偏移量:0x198
复位值: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
PCBSET[15:0]
W1
15
14
13
12
11
10
9
8
7
PCBCLR[15:0]
W1
位
标记
功能描述
端口PC位置位寄存器 (对应PC15-PC00)
31:16
PCBSET
1:置位
0:保持
端口PC位清零寄存器 (对应PC15-PC00)
15:0
PCBCLR
1:清零
0:保持
注意:
– PCBSET 和 PCBCLR 相同位同时置 1 时,PCBCLR 具有高优先级。即该端口被清
零。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 241 of 854
8.5.3.24 端口 PC 驱动能力配置寄存器(PCDR)
地址偏移量:0x19C
复位值: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
PCDR[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PC驱动能力配置寄存器 (对应PC15-PC00)
15:0
PCDR
1:低驱动能力
0:高驱动能力
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 242 of 854
8.5.3.25 端口 PC 上拉使能配置寄存器(PCPU)
地址偏移量:0x1A0
复位值: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
PCPU[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PC上拉使能配置寄存器 (对应PC15-PC00)
15:0
PCPU
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 243 of 854
8.5.3.26 端口 PC 下拉使能配置寄存器(PCPD)
地址偏移量:0x1A4
复位值: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
PCPD[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PC下拉使能配置寄存器 (对应PC15-PC00)
15:0
PCPD
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 244 of 854
8.5.3.27 端口 PC 开漏输出配置寄存器(PCOD)
地址偏移量:0x1AC
复位值: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
PCOD[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
PCOD
端口PC开漏输出配置寄存器 (对应PC15-PC00)
1:将端口输出方式设置为开漏输出
0:将端口输出方式设置为推挽输出
15:0
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 245 of 854
8.5.3.28 端口 PC 高电平中断使能配置寄存器(PCHIE)
地址偏移量:0x1B0
复位值: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
PCHIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PC高电平中断使能配置寄存器 (对应PC15-PC00)
15:0
PCHIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 246 of 854
8.5.3.29 端口 PC 低电平中断使能配置寄存器(PCLIE)
地址偏移量:0x1B4
复位值: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
PCLIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PC低电平中断使能配置寄存器 (对应PC15-PC00)
15:0
PCLIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 247 of 854
8.5.3.30 端口 PC 上升沿中断使能配置寄存器(PCRIE)
地址偏移量:0x1B8
复位值: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
PCRIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PC上升沿中断使能配置寄存器 (对应PC15-PC00)
15:0
PCRIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 248 of 854
8.5.3.31 端口 PC 下降沿中断使能配置寄存器(PCFIE)
地址偏移量:0x1BC
复位值: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
PCFIE[15:0]
RW
位
标记
功能描述
31:16
Reserved
保留
端口PC下降沿中断使能配置寄存器 (对应PC15-PC00)
15:0
PCFIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 249 of 854
8.5.3.32 端口 PC 中断状态寄存器(PC_STAT)
地址偏移量: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
Reserved
15
14
13
12
11
10
9
8
7
PC_STAT[15:0]
RO
位
标记
功能描述
31:16
Reserved
保留
端口PC中断状态寄存器 (对应PC15-PC00)
15:0
PC_STAT
1:中断触发
0:无中断触发
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 250 of 854
8.5.3.33 端口 PC 中断清除寄存器(PC_ICLR)
地址偏移量:0x290
复位值:0xffff ffff
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
PC_ICLR[15:0]
R1W0(读出为1,写0清除)
位
标记
功能描述
31:16
Reserved
保留
端口PC中断清除寄存器 (对应PC15-PC00)
15:0
PC_ICLR
1:保留中断标志位
0:清除中断标志位
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 251 of 854
8.5.4
端口 PD
8.5.4.1 端口 PD00 功能配置寄存器(PD00_SEL)
地址偏移量:0xC0
复位值: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
Reserved
PD00_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PD00功能选择.
2:0
PD00_SEL
000
----
GPIO PD00
001
----
I2C0_SDA
I2C0模块数据信号
010
----
Reserved
Reserved
011
----
UART1_TXD
UART1模块TXD信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 252 of 854
8.5.4.2 端口 PD01 功能配置寄存器(PD01_SEL)
地址偏移量:0xC4
复位值: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
Reserved
PD01_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PD01功能选择.
2:0
PD01_SEL
000
----
GPIO PD01
001
----
I2C0_SCL
I2C0模块时钟信号
010
----
TIM4_CHB
ADV Timer模块通道0B信号
011
----
UART1_RXD
UART1模块RXD信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 253 of 854
8.5.4.3 端口 PD02 功能配置寄存器(PD02_SEL)
地址偏移量:0xC8
复位值: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
Reserved
PD02_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PD02功能选择.
2:0
PD02_SEL
000
----
GPIO PD02
001
----
PCA_ECI
PCA模块外部时钟输入信号
010
----
LPUART0_RTS
LPUART0模块RTS信号
011
----
TIM1_ETR
Timer1模块外部时钟输入信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 254 of 854
8.5.4.4 端口 PD03 功能配置寄存器(PD03_SEL)
地址偏移量:0xCC
复位值: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
Reserved
PD03_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PD03功能选择.
2:0
PD03_SEL
000
----
GPIO PD03
001
----
Reserved
Reserved
010
----
Reserved
Reserved
011
----
Reserved
Reserved
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 255 of 854
8.5.4.5 端口 PD04 功能配置寄存器(PD04_SEL)
地址偏移量:0xD0
复位值: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
Reserved
PD04_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PD04功能选择.
2:0
PD04_SEL
000
----
GPIO PD04
001
----
Reserved
Reserved
010
----
Reserved
Reserved
011
----
Reserved
Reserved
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 256 of 854
8.5.4.6 端口 PD05 功能配置寄存器(PD05_SEL)
地址偏移量:0xD4
复位值: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
Reserved
PD05_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PD05功能选择.
2:0
PD05_SEL
000
----
GPIO PD05
001
----
Reserved
Reserved
010
----
Reserved
Reserved
011
----
Reserved
Reserved
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 257 of 854
8.5.4.7 端口 PD06 功能配置寄存器(PD06_SEL)
地址偏移量:0xD8
复位值: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
Reserved
PD06_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PD06功能选择.
2:0
PD06_SEL
000
----
GPIO PD06
001
----
I2C1_SCL
I2C1模块时钟信号
010
----
LPUART1_CTS
LPUART1模块CTS信号
011
----
UART0_CTS
UART0模块CTS信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 258 of 854
8.5.4.8 端口 PD07 功能配置寄存器(PD07_SEL)
地址偏移量:0xDC
复位值: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
Reserved
PD07_SEL
RW
位
标记
功能描述
31:3
Reserved
保留
端口PD07功能选择.
2:0
PD07_SEL
000
----
GPIO PD07
001
----
I2C1_SDA
I2C1模块数据信号
010
----
LPUART1_RTS
LPUART1模块RTS信号
011
----
UART0_RTS
UART0模块RTS信号
100
----
Reserved
Reserved
101
----
Reserved
Reserved
110
----
Reserved
Reserved
111
----
Reserved
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 259 of 854
8.5.4.9 端口 PD 输入输出配置寄存器(PDDIR)
地址偏移量:0x1C0
复位值:0xffff ffff
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
Reserved
PDDIR[7:0]
RW
位
标记
功能描述
31:8
Reserved
保留
端口PD[7:0]输入输出配置寄存器 (对应PD07-PD00)
7:0
PDDIR
1:配置成输入
0:配置成输出
注:每个 bit 对应一个端口,例如:PDDIR[7]对应端口 PD07
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 260 of 854
8.5.4.10 端口 PD 输入值寄存器(PDIN)
地址偏移量:0x1C4
复位值:NA
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
Reserved
8
7
PDIN[7:0]
RO
位
标记
功能描述
31:8
Reserved
保留
端口PD[7:0] 输入值寄存器 (对应PD07-PD00)
7:0
PDIN
1:输入为高电平
0:输入为低电平
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 261 of 854
8.5.4.11 端口 PD 输出值配置寄存器(PDOUT)
地址偏移量:0x1C8
复位值:NA
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
Reserved
8
7
PDOUT[7:0]
RW
位
标记
功能描述
31:8
Reserved
保留
端口PD[7:0] 输出值配置寄存器 (对应PD07-PD00)
7:0
PDOUT
1:输出高电平。如果配置成开漏输出,则需外部上拉电阻来拉高。
0:输出低电平。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 262 of 854
8.5.4.12 端口 PD 数模配置寄存器(PDADS)
地址偏移量:0x1CC
复位值: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
Reserved
7
PDADS[7:0]
RW
位
标记
功能描述
31:8
Reserved
保留
端口PD[7:0] 数模配置寄存器 (对应PD07-PD00)
7:0
PDADS
1:配置为模拟端口
0:配置为数字端口
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 263 of 854
8.5.4.13 端口 PD 位置位寄存器(PDBSET)
地址偏移量:0x1D0
复位值: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
Reserved
8
7
PDBSET[7:0]
W1
位
标记
功能描述
31:8
Reserved
保留
端口PD位置位寄存器 (对应PD07-PD00)
7:0
PDBSET
1:置位
0:保持
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 264 of 854
8.5.4.14 端口 PD 位清零寄存器(PDBCLR)
地址偏移量:0x1D4
复位值: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
Reserved
8
7
PDBCLR[7:0]
W1
位
标记
功能描述
31:8
Reserved
保留
端口PD位清零寄存器 (对应PD07-PD00)
7:0
PDBCLR
1:清零
0:保持
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 265 of 854
8.5.4.15 端口 PD 位置位清零寄存器(PDBSETCLR)
地址偏移量:0x1D8
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
Reserved
20
19
18
17
16
2
1
0
PDBSET[7:0]
W1
15
14
13
12
11
10
9
Reserved
8
7
6
5
4
3
PDBCLR[7:0]
W1
位
标记
功能描述
31:24
Reserved
保留
端口PD位置位寄存器 (对应PD07-PD00)
23:16
PDBSET
1:置位
0:保持
15:8
Reserved
保留
端口PD位清零寄存器 (对应PD07-PD00)
7:0
PDBCLR
1:清零
0:保持
注意:
– PDBSET 和 PDBCLR 相同位同时置 1 时,PDBCLR 具有高优先级。即该端口被清
零。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 266 of 854
8.5.4.16 端口 PD 驱动能力配置寄存器(PDDR)
地址偏移量:0x1DC
复位值: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
Reserved
8
7
PDDR[7:0]
RW
位
标记
功能描述
31:8
Reserved
保留
端口PD[7:0] 驱动能力配置寄存器 (对应PD07-PD00)
7:0
PDDR
1:低驱动能力
0:高驱动能力
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 267 of 854
8.5.4.17 端口 PD 上拉使能配置寄存器(PDPU)
地址偏移量:0x1E0
复位值: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
Reserved
8
7
PDPU[7:0]
RW
位
标记
功能描述
31:8
Reserved
保留
端口PD[7:0] 上拉使能配置寄存器 (对应PD07-PD00)
7:0
PDPU
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 268 of 854
8.5.4.18 端口 PD 下拉使能配置寄存器(PDPD)
地址偏移量:0x1E4
复位值: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
Reserved
8
7
PDPD[7:0]
RW
位
标记
功能描述
31:8
Reserved
保留
端口PD[7:0] 下拉使能配置寄存器 (对应PD07-PD00)
7:0
PDPD
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 269 of 854
8.5.4.19 端口 PD 开漏输出配置寄存器(PDOD)
地址偏移量:0x1EC
复位值: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
Reserved
8
7
PDOD[7:0]
RW
位
标记
功能描述
31:8
Reserved
保留
PDOD
端口PD[7:0] 开漏输出配置寄存器 (对应PD07-PD00)
1:将端口输出方式设置为开漏输出
0:将端口输出方式设置为推挽输出
7:0
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 270 of 854
8.5.4.20 端口 PD 高电平中断使能配置寄存器(PDHIE)
地址偏移量:0x1F0
复位值: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
Reserved
8
7
PDHIE[7:0]
RW
位
标记
功能描述
31:8
Reserved
保留
端口PD[7:0] 高电平中断使能配置寄存器 (对应PD07-PD00)
7:0
PDHIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 271 of 854
8.5.4.21 端口 PD 低电平中断使能配置寄存器(PDLIE)
地址偏移量:0x1F4
复位值: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
Reserved
8
7
PDLIE[7:0]
RW
位
标记
功能描述
31:8
Reserved
保留
PDLIE
端口PD[7:0] 低电平中断使能配置寄存器 (对应PD07-PD00)
1:使能
7:0
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 272 of 854
8.5.4.22 端口 PD 上升沿中断使能配置寄存器(PDRIE)
地址偏移量:0x1F8
复位值: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
Reserved
8
7
PDRIE[7:0]
RW
位
标记
功能描述
31:8
Reserved
保留
端口PD[7:0] 上升沿中断使能配置寄存器 (对应PD07-PD00)
7:0
PDRIE
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 273 of 854
8.5.4.23 端口 PD 下降沿中断使能配置寄存器(PDFIE)
地址偏移量:0x1FC
复位值: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
Reserved
8
7
PDFIE[7:0]
RW
位
标记
功能描述
31:8
Reserved
保留
PDFIE
端口PD[7:0] 下降沿中断使能配置寄存器 (对应PD07-PD00)
1:使能
7:0
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 274 of 854
8.5.4.24 端口 PD 中断状态寄存器(PD_STAT)
地址偏移量:0x2C0
复位值: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
Reserved
8
7
PD_STAT[7:0]
RO
位
标记
功能描述
31:8
Reserved
保留
端口PD[7:0] 中断状态寄存器 (对应PD07-PD00)
7:0
PD_STAT
1:中断触发
0:无中断触发
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 275 of 854
8.5.4.25 端口 PD 中断清除寄存器(PD_ICLR)
地址偏移量:0x2D0
复位值:0xffff ffff
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
Reserved
7
PD_ICLR[7:0]
R1W0(读出为1,写0清除)
位
标记
功能描述
31:8
Reserved
保留
端口PD[7:0] 中断清除寄存器 (对应PD07-PD00)
7:0
PD_ICLR
1:保留中断标志位
0:清除中断标志位
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 276 of 854
8.5.5
端口辅助功能
8.5.5.1 端口辅助功能配置寄存器 1(GPIO_CTRL1)
地址偏移量:0x304
复位值: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
Res
14
13
12
ir_p
hclk
pclk
ol
_en
_en
RW
RW
RW
11
10
9
8
7
hclk_sel
pclk_sel
ssn0_sel
ext_clk_sel
RW
RW
RW
RW
位
标记
功能描述
31:15
Reserved
保留
IR输出极性选择.
14
ir_pol
0 – 正向输出
1 – 反向输出
hclk输出门控.
13
hclk_en
0 – 门控
1 – 输出
pclk输出门控.
12
pclk_en
0 – 门控
1 – 输出
hclk输出分频选择.
11:10
hclk_sel
00
hclk
01
hclk/2
10
hclk/4
11
hclk/8
pclk输出分频选择.
9:8
pclk_sel
00
pclk
01
pclk/2
10
pclk/4
11
pclk/8
SPI0 SSN信号来源选择.
7:4
ssn0_sel
0000
高电平
0001
PA03
0010
PA04
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 277 of 854
0011
PA06
0100
PA08
0101
PA09
0110
PA12
0111
PA15
1000
PB01
1001
PB02
1010
PB05
1011
PB06
1100
PB09
1101
PB10
1110
PB12
1111
PB14
外部时钟信号来源选择.
3:0
ext_clk_sel
0000
高电平
0001
PA03
0010
PA04
0011
PA06
0100
PA08
0101
PA09
0110
PA12
0111
PA15
1000
PB01
1001
PB02
1010
PB05
1011
PB06
1100
PB09
1101
PB10
1110
PB12
1111
PB14
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 278 of 854
8.5.5.2 端口辅助功能配置寄存器 2(GPIO_CTRL2)
地址偏移量:0x308
复位值: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
ahb
ssn1_sel
_sel
Reserved
RW
RW
位
标记
功能描述
31:16
Reserved
保留
端口输入值/输出值寄存器总线控制选择
15
ahb_sel
0 ---- FAST IO 总线控制模式
1 ---- AHB 总线控制模式
14:4
Reserved
保留
SPI1 SSN信号来源选择.
3:0
ssn1_sel
0000
高电平
0001
PA03
0010
PA04
0011
PA06
0100
PA08
0101
PA09
0110
PA12
0111
PA15
1000
PB01
1001
PB02
1010
PB05
1011
PB06
1100
PB09
1101
PB10
1110
PB12
1111
PB14
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 279 of 854
8.5.5.3 端口辅助功能定时器门控选择(GPIO_TIMGS)
地址偏移量:0x30C
复位值: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
LPTIM_G
TIM3_G
TIM2_G
TIM1_G
TIM0_G
RW
RW
RW
RW
RW
Res.
位
标记
功能描述
31:15
Reserved
保留
14:12
LPTIM_G
LPTimer 定时器GATE输入选择,选择见下表
11:9
TIM3_G
Timer3 定时器GATE输入选择,选择见下表
8:6
TIM2_G
Timer2 定时器GATE输入选择,选择见下表
5:3
TIM1_G
Timer1 定时器GATE输入选择,选择见下表
2:0
TIM0_G
Timer0 定时器GATE输入选择,选择见下表
TIM0_g
TIM1_g
TIM2_g
TIM3_g
LPTIM_g
000
PX_SEL
PX_SEL
PX_SEL
PX_SEL
PX_SEL
001
UART0_RXD
LPUART0_RXD
UART0_RXD
UART0_RXD
LPUART0_RXD
010
UART1_RXD
LPUART1_RXD
UART1_RXD
UART1_RXD
LPUART1_RXD
011
VC0_OUT
VC0_OUT
VC0_OUT
LPUART0
VC0_OUT
100
VC1_OUT
VC1_OUT
VC1_OUT
LPUART1
VC1_OUT
101
PA03
PA08
PA10
VC0_OUT
PB03
110
PB08
PB03
PB04
PA06
PB05
111
PB15
PB13
PB11
PA11
PC00
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 280 of 854
8.5.5.4 端口辅助功能定时器 ETR 选择(GPIO_TIMES)
地址偏移量:0x310
复位值: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
LPTIM_E
TIM3_E
TIM2_E
TIM1_E
TIM0_E
RW
RW
RW
RW
RW
Res.
位
标记
功能描述
31:15
Reserved
保留
14:12
LPTIM_E
LPTimer 定时器ETR输入选择,选择见下表
11:9
TIM3_E
Timer3 定时器ETR输入选择,选择见下表
8:6
TIM2_E
Timer2 定时器ETR输入选择,选择见下表
5:3
TIM1_E
Timer1 定时器ETR输入选择,选择见下表
2:0
TIM0_E
Timer0 定时器ETR输入选择,选择见下表
TIM0_e
TIM1_e
TIM2_e
TIM3_e
LPTIM_E
000
PX_SEL
PX_SEL
PX_SEL
PX_SEL
PX_SEL
001
LPUART0_RXD
UART0_RXD
LPUART0_RXD
UART0_RXD
PCNT_S0
010
LPUART1_RXD
UART1_RXD
LPUART1_RXD
UART1_RXD
LVD_OUT
011
VC0_OUT
VC1_OUT
VC0_OUT
VC1_OUT
VC0_OUT
100
LVD_OUT
LVD_OUT
PCNT_S1
PCNT_S0
VC1_OUT
101
PA00
PA01
PA04
PA00
PB04
110
PA05
PC09
PC04
PA12
PB06
111
PA15
PD02
PC08
PA13
PC03
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 281 of 854
8.5.5.5 端口辅助功能定时器捕获输入选择(GPIO_TIMCPS)
地址偏移量:0x314
复位值: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
TIM3_CB
TIM3_CA
TIM2_CA
TIM1_CA
TIM0_CA
RW
RW
RW
RW
RW
Res.
位
标记
功能描述
31:15
Reserved
保留
14:12
TIM3_CB
Timer3 定时器CH0B输入选择,选择见下表
11:9
TIM3_CA
Timer3 定时器CH0A输入选择,选择见下表
8:6
TIM2_CA
Timer2 定时器CHA输入选择,选择见下表
5:3
TIM1_CA
Timer1 定时器CHA输入选择,选择见下表
2:0
TIM0_CA
Timer0 定时器CHA输入选择,选择见下表
TIM0_CHA
TIM1_CHA
TIM2_CHA
TIM3_CH0A
TIM3_CH0B
000
PX_SEL
PX_SEL
PX_SEL
PX_SEL
PX_SEL
001
UART0_RXD
UART1_RXD
LPUART0_RXD
LPUART1_RXD
UART0_RXD
010
PA00
PA00
VC0_OUT
LPUART0_RXD
UART1_RXD
011
PA02
PA02
PA02
PCNT_S0
PCNT_S1
100
PA05
PA06
PA07
VC0_OUT
VC1_OUT
101
PA15
PB08
PB08
PA08
PA07
110
PB06
PB10
PB09
PB03
PB04
111
PB14
PB13
PC06
PB06
PB13
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 282 of 854
8.5.5.6 端口辅助功能 PCA 捕获选择(GPIO_PCAS)
地址偏移量:0x318
复位值: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
PCA_CH0
PCA_ECI
RW
RW
Reserved
位
标记
功能描述
31:6
Reserved
保留
5:3
PCA_ECI
PCA ECI时钟输入选择,选择见下表
2:0
PCA_CH0
PCA CH0 捕获口输入选择,选择见下表
pca_eci
pca_ch0
000
PX_SEL
PX_SEL
001
PCNT_S1
PCNT_S0
010
LVD_OUT
PCNT_S1
011
VC0_OUT
LVD_OUT
100
VC1_OUT
VC1_OUT
101
PA05
PA06
110
PB02
PB04
111
PD02
PC06
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 283 of 854
9
I2C 总线(I2C)
9.1
简介
I2C 是双线双向的同步串行总线,它利用一根时钟线和一根数据线在连接总线的两个器
件之间进行信息的传递,为设备之间数据交换提供了一种简单高效的方法。每个连接到
总线上的器件都有唯一的地址,任何器件既可以作为主机也可以作为从机,但同一时刻
只允许有一个主机。I2C 标准是一个具有冲突检测机制和仲裁机制的真正意义上的多主
机总线,它能在多个主机同时请求控制总线时利用仲裁机制避免数据冲突并保护数据。
I2C 总线控制器,能满足 I2C 总线的各种规格并支持所有与 I2C 总线通信的传输模式。
I2C 逻辑能自主地处理字节的传输。它能保持跟踪串行传送,而且还有一个状态寄存器
(I2Cx_STAT)能反映 I2C 总线控制器和 I2C 总线的状态。
9.2
主要特性
I2C 控制器支持以下特性:
支持主机发送/接收,从机发送/接收四种工作模式
支持标准(100Kbps) / 快速(400Kbps) / 高速(1Mbps) 三种工作速率
支持 7 位寻址功能
支持噪声过滤功能
支持广播地址
支持中断状态查询功能
9.3
协议描述
I2C 总线使用连接设备的"SCL"(串行时钟总线)和"SDA"(串行数据总线)来传送信息。主
机在 SCL 线上输出串行时钟信号,数据在 SDA 线上进行传输,每传输一个字节(最高
位 MSB 开始传输),后面跟随一个应答位。一个 SCL 时钟脉冲传输一个数据位。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 284 of 854
9.3.1 I2C 总线上数据传输
通常标准 I2C 传输协议包含四个部分:起始(S)或重复起始信号(Sr),从机地址及读写位,
传输数据,停止信号(P)。
SDA
SCL
S
1-7
8
9
ADDRESS
W/R
ACK
8
1-7
DATA
9
ACK
8
1-7
DATA
9
ACK
P
图 9-1 I2C 传输协议
起始信号、重复起始信号、停止信号
当总线处于空闲状态下(SCL 和 SDA 线同时为高),SDA 线上出现由高到低的信号,
表明总线上产生了起始信号。
当两个起始信号之间没有停止信号时,即产生了重复起始信号。主机采用这种方法与
另一个从机或相同的从机以不同传输方向进行通信(例如:从写入设备到从设备读
出)而不释放总线。
当 SCL 线为高时,SDA 线上出现由低到高的信号,被定义为停止信号。主机向总线
发出停止信号结束数据传送。
START
STOP
START
Repeated
START
STOP
SDA
SCL
图 9-2
START 和 STOP 条件
从机地址及读写位
当起始信号产生后,主机立即传输数据的第一字节:7 位从机地址 + 读写位,读写
位控制从机的数据传输方向(0:写;1:读)。被主机寻址的从机会通过在第 9 个 SCL
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 285 of 854
时钟周期将 SDA 置为低电平作为应答。
传输数据
数据传输过程中,一个 SCL 时钟脉冲传输一个数据位,且 SDA 线只有在 SCL 为低
时才可以改变。
SDA
SCL
Data line stable;
data valid
Change of data
allowed
Data line stable;
data valid
Change of data
allowed
图 9-3 I2C 总线上位传输
9.3.2 I2C 总线上的应答
每传输一个字节,后面跟随一个应答位。通过将 SDA 线拉低,来允许接收端回应发送
端。ACK 为一个低电平信号,当时钟信号为高时,SDA 保持低电平则表明接收端已成
功接收到发送端的数据。
当主机作为发送器件时,如果从机上产生无响应信号(NACK),主机可以产生停止信号
来退出数据传输,或者产生重复起始信号开始新一轮的数据传输。当主机作为接收器件
时,发生无响应信号(NACK),从机释放 SDA 线,使主机产生停止信号或重复起始信号。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 286 of 854
Clock pulse for
acknowledgement
Start
SCL
from master
1
2
3-6
7
8
9
Data output by
transmitter
not acknowlegde
Data output by
receiver
acknowlegde
图 9-4 I2C 总线上应答信号
9.3.3 I2C 总线上的仲裁
I2C 总线上的仲裁分为两个部分:SCL 线上的同步和 SDA 线上的仲裁
SCL 线上的同步(时钟同步)
由于 I2C 总线具有线“与”的逻辑功能,SCL 线上只要有一个节点发送低电平,总
线上就表现低电平。当所有的节点都发送高电平时,总线才能表现为高电平。所以,
时钟低电平的时间由时钟电平期最长的器件决定,而时钟的高电平时间由时钟高电
平期最短的器件决定。由于 I2C 这种特性,当多个主机同时发送时钟信号时,在总线
上表示的是统一的时钟信号。如果从机希望主机降低传送速度可以通过将 SCL 主动
拉低延长其低电平时间来通知主机,当主机在准备下一次传送时发现 SCL 的电平被
拉低时进行等待,直到从机完成操作并释放 SCL 线的控制权。
SDA 线上的仲裁
SDA 线上的仲裁也是由于 I2C 总线具有线“与”的逻辑功能。主机在发送数据后,
通过比较总线上的数据来决定是否退出竞争。丢失仲裁的主机立即切换到未被寻址
的从机状态,以确保自身能被仲裁胜利的主机寻址到。仲裁失败的主机继续输出时钟
脉冲(在 SCL 上),直到发送完当前的串行字节。通过这种原理可以保证 I2C 总线在
多个主机企图控制总线时保证数据的不丢失。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 287 of 854
SDA
SCL
(1)
(1)
(2)
1
2
3
(3)
4
8
9
ACK
图 9-5 I2C 总线上的仲裁
a) 另一器件发送串行数据;
b) 另一器件通过拉低 SDA 先撤消了该 I2C 主机发送的一个逻辑 1(虚线)。仲裁
丢失,I2C 进入从接收模式;
c) 此时 I2C 处于从接收模式,但仍产生时钟脉冲,直至发送完当前字节。I2C 将
不为下个字节的传输产生时钟脉冲。一旦赢得仲裁,SDA 上的数据传输由新的
主机来启动。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 288 of 854
9.4
功能描述
I2C 总线使用双线在连接到总线"SCL"(串行时钟线)和"SDA"(串行数据线)的设备间
传送信息。滤波逻辑可以过滤数据总线上的毛刺来保护数据的完整性。由于只有无方向
端口,I2C 组件需要使用到引脚的漏端开路缓冲器。每个连接到总线的设备都能使用软
件通过特定地址寻址。I2C 标准是一个具有冲突检测机制和仲裁机制的真正意义上的多
主机总线。它能防止两个或者多个主机在同时开始传输数据时发生数据冲突。I2C 总线
状态能在状态寄存器中进行查询。
I2Cx_ADDR
SDAI
Address Comparator
Input Filter
ACK
B
SDA
I2Cx_DATA
SCLI
Output
Input Filter
Arbitration and
Synchronization Logic
Output
Serial Clock
Genetator
SCL
A
SCLO
P
SDAO
si
I2Cx_CR
I2Cx_STAT
图 9-6 I2C 功能模块图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 289 of 854
9.4.1 串行时钟发生器
串行时钟发生器采用一个 8 位的计数器作为波特率发生器,SCL 信号和 PCLK 信号的
频率关系为 Fscl = Fpclk / 8 / (I2Cx_TM.tm+1),其中 I2Cx_TM.tm 应大于 0。
下表列出了 PCLK 频率与 I2Cx_TM.tm 组合时,SCL 信号的输出频率值。
I2Cx_TM.tm
PCLK
(KHz)
1
2
3
4
5
6
7
1000
62
41
31
25
20
17
15
2000
125
83
62
50
41
35
31
4000
250
166
125
100
83
71
62
6000
375
250
187
150
125
107
93
8000
500
333
250
200
166
142
125
10000
625
416
312
250
208
178
156
12000
750
500
375
300
250
214
187
14000
875
583
437
350
291
250
218
16000
1000
666
500
400
333
285
250
表 9-1 I2C 时钟信号波特率
9.4.2 输入滤波器
输入信号与 PCLK 同步,低于 PCLK 周期的尖锋脉冲信号会被滤除。
当本模块作为主机时,如果 I2C_TM 的值小于等于 9,应设置 I2C_CR.H1M 为 1;如果
I2C_TM 的值大于 9,应设置 I2C_CR.H1M 为 0。
当本模块作为从机时,如果 PCLK 与 SCL 频率比值小于等于 30 时,应设置 I2C_CR.H1M
为 1;如果 PCLK 与 SCL 频率比值大于 30 时,应设置 I2C_CR.H1M 为 0。
9.4.3 地址比较器
I2C 比较器将自己的从机地址与接收到的 7 位从机地址做比较。它可使用"I2Cx_ADDR"
寄存器对自己的从机地址进行编程。并且会根据"I2Cx_ADDR"寄存器的"i2cadr"位与首
次接收到的 8 位字节或广播地址(0x00)相比较。如果任何一者相同,"I2Cx_CR"寄存
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 290 of 854
器的"si"位会被置 1 并产生一个中断请求。
9.4.4 应答标志位
"I2Cx_CR"寄存器的"aa"标志位为应答标志位。当"aa"位为 1 时,I2C 模块收到数据后回
应答位,当"aa"位为 0 时,I2C 模块收到数据后回非应答位。
9.4.5 中断产生器
"I2Cx_CR"寄存器的"si"标志位为中断标志位。每当状态寄存器(I2Cx_STAT)的值产生
变化时(除变为 0xF8 外),"si"标志位都会被置 1。当产生中断时,通过查询状态寄存器
(I2Cx_STAT)可获知 I2C 总线的状态,以确定中断的实际来源。为了进行下一步的操
作,"si"标志位必须通过软件清零。
9.4.6 工作模式
I2C 组件可实现 8 位的双向数据传输,传输速率在标准模式下可达到 100Kbps 而在高速
模式下可达 400Kbps,在超高速模式下可达 1Mbps,并且可以在四种模式下工作:主机
发送模式、主机接收模式、从机接收模式、从机发送模式。 还有一种特殊模式广播呼
叫模式,其操作方式与从机接收模式类似。
主机发送模式
主机发送多个字节到从机,主机产生时钟,所以需要在 I2Cx_TM 中填入设定值。主
机发送模式中需要将 I2Cx_CR.sta 置 1。当总线空闲时,主机发起一个起始位 START。
若成功 I2Cx_CR.si 被置 1。接下来把从机地址和写位(SLA+W)写入 I2Cx_DATA 中,
清零"si"位后,总线上发出 SLA+W。
主机发出 SLA+W 收到从机应答位 ACK 后,"si"被置 1。接下来根据用户定义格式发
送数据。所有数据发送完后,将 I2Cx_CR.sto 置 1,清零"si"位后发出 STOP 信号,也
可以发送重复起始信号进行新一轮数据传输。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 291 of 854
SCL
SDA
I2Cx_CR.si
总线状态
1
S
8
9
0xF8
0xF8 0x08
1
8
0x18
清零si位
P
9
0xF8
0x28
清零si位
0xF8
清零si位
图 9-7 主发送模式数据同步图
MT
W
SLA
S
DATA
A
08H
A
18H
发送从机地址
和一个或多个
数据字节
P
28H
S
SLA
W
利用重复起始
条件来自动下
次传输
R
到主接收模式
Entry=MR
10H
发送从机地址
后接收到非应
答位
P
A
20H
发送数据字节
后接受到非应
答
P
A
30H
A OR A
继续其他主
机的传输
A OR A
38H
A
38H
继续其他主
机的传输
68H 78H
B0H
A
在传输从机地
址或者数据字
节过程中仲裁
丢失
仲裁丢失且当
做从机来寻址
到从机模式中
相应的状态
从机到主机
主机到从机
DATA
继续其他主
机的传输
数据字节及其
响应的应答位
n
该数值(I2Cx_STAT中)对应
一个已定义的I2C总线状态
图 9-8 I2C 主机发送状态图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 292 of 854
主机接收模式
主机接收模式,由从机传输数据。初始化设置与主机发送模式相同,主机发送起始位
以后, I2Cx_DATA 应写入从机地址和“读位” (SLA+R)。收到从机应答位 ACK 后
I2Cx_CR.si 被置 1。"si"清 0 后开始接收从机数据,若 I2Cx_CR.aa 为 1,主机收到数
据后回应答位;若为 0 主机收到数据后不回应答 NACK。然后主机可以发停止信号
或重复起始信号开始下一轮的数据传输。
I2Cx_CR.aa
SCL
SDA
I2Cx_CR.si
总线状态
S
0xF8 0x08
清零si位
1
8
9
0xF8
1
0x40
清零si位
8
0xF8
9
1
0x50
清零si位
8
0xF8
9
P
0x58
0xF8
清零si位
图 9-9 主接收模式数据同步图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 293 of 854
MR
R
SLA
S
DATA
A
08H
A
40H
发送从机地址
和接收数据
P
50H
SLA
S
R
利用重复起始
条件来自动下
次接收
W
到主发送模式
Entry=MT
10H
从机地址后接
收到非应答位
P
A
48H
接收数据字节
后返回非应答
P
A
58H
A OR A
继续其他主
机的传输
A OR A
38H
A
38H
继续其他主
机的传输
68H 78H
B0H
A
在传输从机地
址或者接收数
据字节过程中
仲裁丢失
仲裁丢失且当
做从机来寻址
到从机模式中
相应的状态
从机到主机
主机到从机
DATA
继续其他主
机的传输
数据字节及其
响应的应答位
n
该数值(I2Cx_STAT中)对应
一个已定义的I2C总线状态
图 9-10 I2C 主机接收状态图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 294 of 854
从机接收模式
在从机接收模式下,从机接收主机发来的数据。在传输开始前,I2Cx_ADDR 应写入
从机地址,I2Cx_CR.aa 置 1 用以响应主机的寻址。上述初始化后,从机进入空闲模
式,等待“写”信号(SLA+W)。若主机仲裁失败,也会直接进入从机接收模式。
当从机被“写”信号 SLA+W 寻址到后,需要清零"si"位,以便从主机接收数据。如
果在传输过程中 I2Cx_CR.aa=0,从机将在下一字节返回无应答位 NACK,从机也将
转为未寻址从机,与主机联系终止,不再接收数据,且 I2C_DATA 保持之前接收到的
数据。从机地址识别可通过置位"aa"来恢复,这意味着"aa"位可临时将 I2C 模块从 I2C
总线上分离出来。
I2Cx_CR.aa
SCL
SDA
I2Cx_CR.si
S
1
8
9
0xF8
总线状态
1
8
0x60
0xF8
W
SLA
S
A
A
DATA
60H
P
0x80
清零si位
图 9-11
9
0xF8
清零si位
从接收模式数据同步图
DATA
80H
A
P OR S
80H
A0H
A
P OR S
接收自身的从机地址
和一个或多个数据字
节
最后一个接收的数
据字节没被应答
88H
A
接收自身的从机地址
后主机仲裁丢失,已
返回应答
68H
从机到主机
主机到从机
DATA
A
数据字节及其
响应的应答位
n
该数值(I2Cx_STAT中)对应
一个已定义的I2C总线状态
图 9-12 从机接收状态图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 295 of 854
从机发送模式
从机发送模式,数据由从机发送给主机。当初始化 I2Cx_ADDR 及 I2Cx_CR.aa 值后,
器件等待直到自身地址被“读”信号(SLA+R)寻址。若主机仲裁失败,也可进入从机
发送模式。
当从机被“读”信号 SLA+R 寻址,需要将"si"清零用以向主机发送数据。通常主机接
收每字节数据后会返回应答位。
如果传输过程中 I2Cx_CR.aa 清零 ,从机将发送最后一个字节数据,并在接下去的传
输中发送全 1 数据,并将自身变为未寻址从机。
I2Cx_CR.aa
SCL
SDA
I2Cx_CR.si
1
S
8
9
0xF8
总线状态
1
8
0xA8
9
0xF8
1
0xB8
清零si位
清零si位
8
0xF8
9
P
0xC0
0xF8
清零si位
图 9-13 从发送模式数据同步图
R
SLA
S
A
DATA
A8H
A
DATA
B8H
A
接收自身的从机地址
和接收应答后发送一
个或多个数据字节
P OR S
C0H
用作主机时仲裁丢失,
用作从机被寻址
A
B0H
A
ALL ONES
P OR S
C8H
从机到主机
主机到从机
DATA
A
发送最后一个数据字
节,切换成非寻址的
从机(I2Cx_CR中的
aa位=0)
数据字节及其
响应的应答位
n
该数值(I2Cx_STAT中)对
应一个已定义的I2C总线状
态
图 9-14 I2C 从机发送状态图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 296 of 854
广播呼叫模式
广播呼叫模式是一种特殊的从机接收模式, 寻址方式为 0x00,从机地址和读写都为
0。当 I2Cx_ADDR.GC 及 I2Cx_CR.aa 都为置 1,使能接收广播呼叫模式。在该模式
下 I2Cx_STAT 值与普通从机接收模式 I2Cx_STAT 值不同。仲裁失败也可能进入广播
呼叫模式。
S
GENERAL CALL
A
DATA
A
DATA
90H
70H
A
P OR S
90H
A0H
A
P OR S
接收广播地址和一个
或多个数据字节
最后一个数据
字节没被应答
98H
接收广播地址后主机
仲裁丢失,已返回应
答
A
78H
从机到主机
主机到从机
DATA
A
数据字节及其
响应的应答位
n
该数值(I2Cx_STAT中)对应
一个已定义的I2C总线状态
图 9-15 I2C 广播呼叫状态图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 297 of 854
9.4.7 状态码表述
I2C 状态寄存器中有两种特殊的状态:F8H 和 00H。
F8H:这个状态码表示没有任何可用的相关信息,因为串行中断标志"si"还没有置位。这
种情况在其它状态和 I2C 模块还未开始执行串行传输之间出现。
00H:该状态代码表示在 I2C 串行传输过程中出现了总线错误。当格式帧的非法位置上
出现了起始或停止条件时总线错误产生。这些非法位置是指在串行传输过程中的地址字
节、数据字节或应答位。当外部干扰影响到内部 I2C 模块信号时也会产生总线错误。总
线错误出现时"si"置位。
状态代码
描述
主发送模式
08H
已发送起始条件
10H
已发送重复起始条件
18H
已发送 SLA+W,已接收 ACK
20H
已发送 SLA+W,已接收非 ACK
28H
已发送 I2Cx_DATA 中的数据,已接收 ACK
30H
已发送 I2Cx_DATA 中的数据,已接收非 ACK
38H
在 SLA+读写或写数据字节时丢失仲裁
主接收模式
08H
已发送起始条件
10H
已发送重复起始条件
38H
在非 ACK 中丢失仲裁
40H
已发送 SLA+R,已接收 ACK
48H
已发送 SLA+R,已接收非 ACK
50H
已接收数据字节,ACK 已返回
58H
已接收数据字节,非 ACK 已返回
从接收模式
60H
已接收自身的 SLA+W,已返回 ACK
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 298 of 854
68H
主控时在 SLA+读写丢失仲裁,
已接收自身的 SLA+W,
已返回 ACK
80H
前一次寻址使用自身从地址,已接收数据字节,已返回 ACK
88H
前一次寻址使用自身从地址,已接收数据字节,已返回非 ACK
A0H
静态寻址时,接收到停止条件或重复起始条件
从发送模式
A8H
已接收自身的 SLA+R,已返回 ACK
B0H
当主机时丢失仲裁,已接收自身 SLA+R,已返回 ACK
B8H
已发送数据,已接收 ACK
C0H
已发送数据字节,已接收非 ACK
C8H
装入的数据字节已被发送,已接收 ACK
广播呼叫模式
70H
已接收广播地址(0x00),已返回 ACK
78H
主控时在 SLA+读写丢失仲裁,已接收广播地址,已返回 ACK
90H
前一次寻址使用广播地址,已接收数据字节,已返回 ACK
98H
前一次寻址使用广播地址,已接收数据字节,已返回非 ACK
A0H
静态寻址时,接收到停止条件或重复起始条件
其余杂项状态
F8H
无可用的相关状态信息,si=0
00H
传输过程出现总线错误,或外部干扰使 I2C 进入未定义的状态
表 9-2 I2C 状态码表述
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 299 of 854
9.5
编程示例
9.5.1 主机发送示例
Step1:按 GPIO 章节管脚数字复用功能的相关描述,将 SCL、SDA 映射到需要的管
脚;并配置 SCL、SDA 管脚为开漏输出模式。
Step2:配置 I2Cx_TM,使 SCL 的时钟速率符合应用需求。
Step3:设置 I2Cx_TMRUN 为 1,使能 SCL 时钟发生器。
Step4:设置 I2Cx_CR.ens 为 1,使能 I2C 模块。
Step5:设置 I2Cx_CR.sta 为 1,总线尝试发送 Start 信号。
Step6:等待 I2Cx_CR.si 变为 1,Start 信号已发送到总线上。
Step7:查询 I2Cx_STAT,如果该寄存器值为 0x08 或 0x10,继续执行下一步骤,否则
进行出错处理。
Step8:向 I2Cx_DATA 中写入 SLA+W,设置 I2Cx_CR.si 为 0,发送 SLA+W。
Step9:等待 I2Cx_CR.si 变为 1,SLA+W 已发送到总线上。
Step10:查询 I2Cx_STAT,如果该寄存器值为 0x18,继续执行下一步骤。否则进行出
错处理。
Step11:向 I2Cx_DATA 写入待发送的数据,设置 I2Cx_CR.si 为 0,发送数据。
Step12:等待 I2Cx_CR.si 变为 1,数据已发送到总线上。
Step13:查询 I2Cx_STAT,如果该寄存器值为 0x28,继续执行下一步骤。否则进行出
错处理。
Step14:如待发送的数据未完成,则跳转到 Step11 继续执行。
Step15:设置 I2Cx_CR.sto 为 1,设置 I2Cx_CR.si 为 0,总线尝试发送 Stop 信号。
Step16:等待 I2Cx_CR.si 变为 1,Stop 信号已发送到总线上。
9.5.2 主机接收示例
Step1:按 GPIO 章节管脚数字复用功能的相关描述,将 SCL、SDA 映射到需要的管
脚;并配置 SCL、SDA 管脚为开漏输出模式。
Step2:配置 I2Cx_TM,使 SCL 的时钟速率符合应用需求。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 300 of 854
Step3:设置 I2Cx_TMRUN 为 1,使能 SCL 时钟发生器。
Step4:设置 I2Cx_CR.ens 为 1,使能 I2C 模块。
Step5:设置 I2Cx_CR.sta 为 1,总线尝试发送 Start 信号。
Step6:等待 I2Cx_CR.si 变为 1,Start 信号已发送到总线上。
Step7:查询 I2Cx_STAT,如果寄存器值为 0x08 或 0x10,继续执行下一步骤,否则进
行出错处理。
Step8:向 I2Cx_DATA 写入 SLA+R,设置 I2Cx_CR.si 为 0,发送 SLA+R。
Step9:等待 I2Cx_CR.si 变为 1,SLA+R 已发送到总线上。
Step10:查询 I2Cx_STAT,如果寄存器值为 0x40,继续执行下一步骤,否则进行出错
处理。
Step11:设置 I2Cx_CR.aa 为 1,使能应答标志。
Step12:设置 I2Cx_CR.si 为 0,从机发送数据,主机根据 I2Cx_CR.aa 发送 ACK 或
NACK。
Step13:等待 I2Cx_CR.si 变为 1,从 I2Cx_DATA 读取已接收到的数据。
Step14:查询到 I2Cx_STAT,如果该寄存器值为 0x50 或 0x58,继续执行下一步骤,否
则进行出错处理。
Step15:如果待接收的数据只差最后一个字节,设置 I2Cx_CR.aa 为 0,使能非应答标
志。
Step16:如待接收的数据未完成,则跳转到 Step12 继续执行。
Step17:设置 I2Cx_CR.sto 为 1,设置 I2Cx_CR.si 为 0,总线尝试发送 Stop 信号。
Step18:等待 I2Cx_CR.si 变为 1,Stop 信号已发送到总线上。
9.5.3 从机接收示例
Step1:按 GPIO 章节管脚数字复用功能的相关描述,将 SCL、SDA 映射到需要的管
脚;并配置 SCL、SDA 管脚为开漏输出模式。
Step2:设置 I2Cx_CR.ens 为 1,使能 I2C 模块。
Step3:配置 I2Cx_ADDR 为从机地址。
Step4:设置 I2Cx_CR.aa 为 1,使能应答标志。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 301 of 854
Step5:等待 I2Cx_CR.si 变为 1,被 SLA+W 寻址。
Step6:查询 I2Cx_STAT,如果该寄存器值为 0x60,继续执行下一步骤,否则进行出错
处理。
Step7:设置 I2Cx_CR.si 为 0,主机发送数据,从机根据 I2Cx_CR.aa 返回 ACK 或
NACK。
Step8:等待 I2Cx_CR.si 变为 1,从 I2Cx_DATA 中读取已接收到的数据。
Step9:查询 I2Cx_STAT,如果该寄存器值为 0x80,继续执行下一步骤,否则进行出错
处理
Step10:如待接收的数据未完成,则跳转到 Step7 继续执行。
Step11:设置 I2Cx_CR.aa 为 0,设置 I2Cx_CR.si 为 0。
9.5.4 从机发送示例
Step1:按 GPIO 章节管脚数字复用功能的相关描述,将 SCL、SDA 映射到需要的管
脚;并配置 SCL、SDA 管脚为开漏输出模式。
Step2:设置 I2Cx_CR.ens 为 1,使能 I2C 模块。
Step3:配置 I2Cx_ADDR 为从机地址。
Step4:设置 I2Cx_CR.aa 为 1,使能应答标志。
Step5:等待 I2Cx_CR.si 变为 1,被 SLA+R 寻址。
Step6:查询 I2Cx_STAT,如果该寄存器的值为 0xA8,继续执行下一步骤,否则进行
出错处理。
Step7:向 I2Cx_DATA 写入待发送的数据,设置 I2Cx_CR.si 为 0,发送数据。
Step8:等待 I2Cx_CR.si 变为 1,数据已发送到总线上。
Step9:查询 I2Cx_STAT,如果该寄存器的值为 0xB8 或 0xC0 时,继续执行下一步骤,
否则进行出错处理。
Step10:如待发送的数据未完成,则跳转到 Step7 继续执行。
Step11:设置 I2Cx_CR.aa 为 0,设置 I2Cx_CR.si 为 0。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 302 of 854
9.6
寄存器描述
寄存器列表
I2C0 基地址:0x40000400
I2C1 基地址:0x40004400
偏移量
寄存器名称
访问
寄存器描述
0x00
I2Cx_TMRUN
RW
I2C 波特率计数器使能寄存器.
0x04
I2Cx_TM
RW
I2C 波特率计数器配置寄存器.
0x08
I2Cx_CR
RW
I2C 配置寄存器.
0x0c
I2Cx_DATA
RW
I2C 数据寄存器.
0x10
I2Cx_ADDR
RW
I2C 地址寄存器.
0x14
I2Cx_STAT
RO
I2C 状态寄存器.
表 9-3 寄存器列表
9.6.1 I2C 波特率计数器使能寄存器(I2Cx_TMRUN)
地址偏移量:0x00
复位值: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
tme
Reserved
位
标记
31:1
Reserved
0
tme
RW
功能描述
波特率计数器使能.
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
0 – 禁止
1 – 使能
Page 303 of 854
9.6.2 I2C 波特率计数器配置寄存器(I2Cx_TM)
地址偏移量:0x04
复位值: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
tm
Reserved
位
标记
31:8
Reserved
7:0
tm
RW
功能描述
tm:波特率计数器配置值.
Fscl = Fpclk / 8 / (tm+1) ,其中 tm >0
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 304 of 854
9.6.3 I2C 配置寄存器(I2Cx_CR)
地址偏移量: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
ens
sta
sto
si
aa
Res
h1m
RW
RW
RW
RW
RW
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
31:7
Reserved
6
ens
RW
功能描述
I2C 模块使能控制
0 – 禁止
1 – 使能
5
sta
I2C 总线控制
0 – 无功能
1 – 向总线发送 START
4
sto
I2C 总线控制
0 – 无功能
1 – 向总线发送 STOP
3
si
I2C 中断标志
读出 1,已发生 I2C 中断
写入 0,I2C 进行一下步操作
2
aa
应答控制位
0 – 发送 NAK
1 – 发送 ACK
1
Reserved
0
h1m
I2C 滤波参数配置
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 305 of 854
0 – 高级滤波,更高的抗干扰性能
1 – 简单滤波,更快的通信速率
注:详见【输入滤波器】章节。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 306 of 854
9.6.4 I2C 数据寄存器(I2Cx_DATA)
地址偏移量:0x0c
复位值:0x00000000
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
i2cdat
Reserved
位
标记
31:8
Reserved
7:0
i2cdat
RW
功能描述
I2C 数据寄存器
在 I2C 发送模式下, 写入待发送的数据
在 I2C 接收模式下, 读出收到的数据
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 307 of 854
9.6.5 I2C 地址寄存器(I2Cx_ADDR)
地址偏移量:0x10
复位值:0x00000000
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
Reserved
位
标记
31:8
Reserved
7:1
i2cadr
I2C 从机模式地址.
0
GC
广播地址应答使能
8
7
i2cadr
GC
RW
RW
功能描述
0 – 禁止
1 – 使能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 308 of 854
9.6.6 I2C 状态寄存器(I2Cx_STAT)
地址偏移量:0x14
复位值:0x00000000
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
i2csta
Reserved
位
标记
31:8
Reserved
7:0
i2csta
RO
功能描述
I2C 状态寄存器
状态值的具体定义详见【状态码表述】章节
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 309 of 854
10
串行外设接口(SPI)
10.1 SPI 简介
SPI 接口是工作于全双工模式下的同步串行数据通信接口,使用 4 个引脚进行通信:
MISO、MOSI、SCK、CS/SSN。当 SPI 作为主机时,输出 CS 和 SCK 信号以控制通
信过程。当 SPI 作为从机时,在 SSN 和 SCK 信号的控制下进行通信。
10.2 SPI 主要特性
支持 SPI 主机模式、SPI 从机模式
支持标准四线全双工通信
支持配置串行时钟极性和相位
主机模式支持 7 种通信速率
主机模式最大分频系数为 PCLK/2,最高通信速率为 16M bps
从机模式最大分频系数为 PCLK/4,最高通信速率为 12M bps
帧长度固定为 8 比特,优先传送 MSB
支持 DMA 软件/硬件访问
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 310 of 854
10.3
SPI 功能描述
10.3.1 SPI 主机模式
每个数据帧的长度固定为 8 比特,发送数据的第一位固定为 MSB。设置 SPIx_CR.mstr
为 1,则 SPI 接口工作于主机模式。将数据写入 SPIx_Data 寄存器,即可启动 SPI 传
输,SCK 引脚会自动产生串行时钟;在串行时钟边沿,移位寄存器中的数据被发送到
MOSI 引脚,MISO 引脚的数据被接收到移位寄存器中。SCK 引脚输出时钟的频率由
SPIx_CR[spr2:spr0]进行控制,其输出频率的范围为 PCLK /2~PCLK/128;CS 引脚的输
出电平由 SPIx_SSN.ssn 进行控制,GPIO 引脚的输出电平由 GPIO 相关寄存器控制。
主机模式的典型应用框图如下所示。
Master
(MCU)
MISO
MOSI
SCK
GPIO/CS
GPIO
MISO
MOSI
SCK
NCS
Slave 0
MISO
MOSI
SCK
NCS
Slave 1
主机模式的通信示意如下图所示,其中 CPOL=0,CPHA=0。
CS
SCK
MOSI/MISO
TXE
BUSY
RXNE
Write Data
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Read Data
Read Data
Page 311 of 854
10.3.2 SPI 从机模式
每个数据帧的长度固定为 8 比特,接收数据的第一位固定为 MSB。设置 SPIx_CR.mstr
为 0,则 SPI 接口工作于从机模式。该模式下,SCK 引脚作为输入脚且串行时钟来自
于外部主机;SSN 引脚作为输入脚且片选信号来自外部主机或固定为低电平。SSN 引
脚详见 GPIO 章节辅助寄存器。从机模式的典型应用框图如下所示。
Slave
(MCU)
MISO
MOSI
SCK
SSN
MISO
MOSI
SCK
CS
Master
当 SPI 从机从 SPI 主机接收到一字节数据时,RXNE 位会被置高;用户程序应尽快读
取收到的数据。从机模式接收数据的通信时序如下所示,其中 CPOL=0,CPHA=0。
SSN
SCK
MOSI
BUSY
RXNE
Recv Byte0
Read Byte0
Recv Byte1
Read Byte1
图 10-1 从机接收示意图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 312 of 854
当 SPI 从机需要发送数据到主机时,在主机拉低 NSS 之前应依次进行如下五步操作:
设置 PERI_RESET0.SPIx 位为 0、设置 PERI_RESET0.SPIx 位为 1、配置 SPI 通信参
数、向 SPIx_DATA 寄存器中写入待发送的第一字节数据;在 NSS 拉低后,每当查询
到 TXE 标志为 1 时,应尽快向 SPIx_DATA 寄存器中写入待发送的后续数据。从机模
式发送数据的通信时序如下所示,其中 CPOL=0,CPHA=0。
SSN
PERI_RESET0.SPIx
SCK
MISO
TXE
BUSY
SPI RESET
Write Byte0
Write Byte1
Send Byte0
Send Byte1
图 10-2 从机发送示意图
10.3.3 SPI 数据帧格式
SPI 接口帧格式取决于时钟极性位 CPOL 和时钟相位位 CPHA 的配置。
当 CPOL 为 0 时,SCK 线空闲状态为低电平。当 CPOL 为 1 时,SCK 线空闲状态为高
电平。当 CPHA 为 0 时,数据会在第一个 SCK 时钟转换信号跳变时被采样。当 CPHA
为 1 时,数据会在第二个 SCK 时钟信号跳变时被采样。
SPI 接口主机帧格式如下图所示。
图 10-3 主机模式帧格式
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 313 of 854
SPI 接口从机帧格式如下图所示。
图 10-4 从机 CPHA 为 0 时数据帧格式
图 10-5 从机 CHPA 为 1 时数据帧格式
10.3.4 SPI 状态标志及中断
SPI 在工作中会产生如下四种状态标志,其产生条件及清除方法如下所示。
当发送缓冲器(SPIx_Data)里的数据被转移到发送移位寄存器后,SPIx_STAT.txe
会被硬件置位,说明发送缓冲器为空,可以写入下一笔数据。向 SPIx_DATA 写入
数据即可清除该标志位。
当接收移位寄存器里的数据被转移到接收缓冲器(SPIx_Data)时, SPIx_STAT.rxne
会被硬件置位,说明接收缓冲器非空,需要用户尽快读取该数据。从 SPIx_DATA 读
出数据即可清除该标志位。
当 SPI 工作于主机模式且外部 SSN 输入为低电平,SPIx_STAT.mdf 会被硬件置位,
说明有其它 SPI 主机在占用总线。当 SSN 输入为高电平时,SPIx_STAT.mdf 会被硬
件自动清除。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 314 of 854
当 SPI 工作于从机模式,如果正在进行数据传输时 SSN 管脚被拉高,则
SPIx_STAT.sserr 会被置位。设置 SPIx_CR.spen 为 0 可以清除该标志。
如果允许 SPI 中断 (SPIx_CR2.int_en=1),以下三种情况均可产生中断:
SPI 发送缓冲器为空,即 SPIx_STAT.txe 为 1
SPI 接收缓冲器非空,即 SPIx_STAT.rxne 为 1
SPI 的主机模式错误,即 SPIx_STAT.mdf 为 1
在中断服务程序中需要对 SPIx_ICLR 写入 0x00 以清除内部中断标志。
10.3.5 SPI 多机系统配置说明
当 SPI 模块作为主机且工作于单主机系统时,可通过 SPI_CS 管脚或 GPIO 管脚控
制从机。当选择 SPI_CS 管脚作为从机的片选信号时,设置 SPIx_SSN.ssn 为 0 即可
选中从机,设置 SPIx_SSN.ssn 为 1 即可释放从机。当选择 GPIO 管脚作为从机的片
选信号时,设置 GPIOx_OUT 寄存器相应的比特为 0 即可选中从机,设置 GPIOx_OUT
寄存器相应的比特为 1 即可释放从机。
当 SPI 模块从为从机时,根据需要配置 SPI_SSN 的来源(详见 GPIO 端口辅助控制
器)。当 SSN 为低时,即可选中本从机以进行通信;当 SSN 为高时,则本机处于未
选中态。
当 SPI 模式工作于多主机多从机时,所有的从机片选信号都通过 GPIO 管脚连接,
主机还必须通过 GPIO 管脚和其他主机的 SSN 信号相连,来监测总线是否被占用。
下图所示的 Master0 需要进行通信的操作方法为:等待 Master0.SSN 变为高;从
GPIO0 输出低以通知 Master1 释放 SPI 总线;从 GPIO2 输出低以选中 Slave1;与
Slave1 进行通信;从 GPIO2 输出高以释放 Slave1;从 GPIO0 输出高以释放 Master1。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 315 of 854
SPI master 0
SPI master 1
GPIO0
GPIO1
GPIO2
GPIO3
图 10-6
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
MISO
MOSI
SCK
SSN
GPIO0
GPIO1
GPIO2
GPIO3
MISO
MOSI
SCK
SSN
MISO
MOSI
SCK
SSN
MISO
MOSI
SCK
SSN
MISO
MOSI
SCK
SSN
SPI slave 0
SPI slave 1
SPI slave 2
SPI 多主机/多从机系统的示意图
Page 316 of 854
10.3.6 SPI 管脚配置说明
SPI 可以在一些特殊的管脚配置下保持部分或全部的功能。
具体情况如下表(“√”代表该管脚被配置并使用,空白代表该管脚未被配置):
主机模式
从机模式
SPI_CS(主)/
SPI_SSN(从)
SCK
MOSI
MISO
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
固定低电平
√
固定低电平
√
固定低电平
√
√
√
√
√
√
√
√
√
表 10-1
√
一般配置
全部主机功能正常
全部主机功能正常
主机发送功能正常
主机接收功能正常
主机发送功能正常
主机接收功能正常
一般配置
全部从机功能正常
从机接收功能正常
从机发送功能正常
√
全部从机功能正常
√
√
√
√
功能说明
√
从机接收功能正常
√
从机发送功能正常
SPI 管脚配置说明表
注意:
– 表中未列举的情况暂不支持。
– 主机模式下,即使不使用 SPIx_CS 片选输出,发送数据前需要设置 SPIx.SSN 为 1,
发送数据后需要设置 SPIx.SSN 为 0。
– 从机模式且片选输入固定为低电平时,为维持正常功能,必须满足 SPIx_CR.cpha=1。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 317 of 854
10.4
SPI 编程示例
10.4.1 SPI 主机发送示例
Step1:按 GPIO 章节管脚数字复用功能的相关描述,将 CS/SCK/MISO/MOSI 映射到
需要的管脚;并配置 CS/SCK/MOSI 管脚为输出模式,配置 MISO 管脚为输入模式。
Step2:设置 SPIx_CR.mstr 为 1,使 SPI 工作于主机模式。
Step3:配置 SPIx_CR[spr2:spr0],使 SCK 输出的时钟速率符合应用需求。
Step4:配置 SPIx_CR.cpol 及 SPIx_CR.cpha,使数据帧格式符合应用需求。
Step5:设置 SPIx_CR.spen 为 1,使能 SPI 接口。
Step6:设置 SPIx_SSN.ssn 为 0,使 CS 管脚输出低电平以选中从机。
Step7:当查询到 SPIx_STAT.txe 为 1 时,将待发送的数据尽快写入 SPIx_DATA。
Step8:如待发送的数据未完成,则跳转到 Step7 继续执行。
Step9:查询等待 SPIx_STAT.txe 变为 1,最后一个字节数据已开始发送。
Step10:查询等待 SPIx_STAT.busy 变为 0,SPI 总线空闲。
Step11:设置 SPIx_SSN.ssn 为 1,使 CS 管脚输出高电平以释放从机。
注意:
– 可使用 GPIO 代替 CS 实现片选输出,多用于多机通信系统。
– 在传输过程必需设置 SPIx_SSN.ssn 为 0,传输完成后必需设置 SPIx_SSN.ssn 为 1。
10.4.2 SPI 主机接收示例
Step1:按 GPIO 章节管脚数字复用功能的相关描述,将 CS/SCK/MISO/MOSI 映射到
需要的管脚;并配置 CS/SCK/MOSI 管脚为输出模式,配置 MISO 管脚为输入模式。
Step2:设置 SPIx_CR.mstr 为 1,使 SPI 工作于主机模式。
Step3:配置 SPIx_CR[spr2:spr0],使 SCK 输出的时钟速率符合应用需求。
Step4:配置 SPIx_CR.cpol 及 SPIx_CR.cpha,使数据帧格式符合应用需求。
Step5:设置 SPIx_CR.spen 为 1,使能 SPI 接口。
Step6:设置 SPIx_SSN.ssn 为 0,使 CS 管脚输出低电平以选中从机。
Step7:向 SPIx_DATA 写入任意数据以触发主机发送 SCK。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 318 of 854
Step8:查询等待 SPIx_STAT.rxne 变为 1,已收到从机发送的数据。
Step9:从 SPIx_DATA 读出收到的数据。
Step10:如果待接收的数据未完成,则跳转到 Step7 继续执行。
Step11:设置 SPIx_SSN.ssn 为 1,使 CS 管脚输出高电平以释放从机。
注意:
– 可使用 GPIO 代替 CS 实现片选输出,多用于多机通信系统。
– 在传输过程必需设置 SPIx_SSN.ssn 为 0,传输完成后必需设置 SPIx_SSN.ssn 为 1。
10.4.3 SPI 从机发送示例
Step1:按 GPIO 章节管脚数字复用功能的相关描述,将 SSN/SCK/MISO/MOSI 映射
到需要的管脚;并配置 SSN/SCK/MOSI 管脚为输入模式,配置 MISO 管脚为输出模
式。SSN 管脚来源详见 GPIO 端口辅助控制器。
Step2:设置 PERI_RESET0.SPIx 为 0,使 SPI 模块处于复位状态。
Step3:设置 PERI_RESET0.SPIx 为 1,使 SPI 模块处于工作状态。
Step4:设置 SPIx_CR.mstr 为 0,使 SPI 工作于从机模式。
Step5:配置 SPIx_CR.cpol 及 SPIx_CR.cpha,使数据帧格式符合应用需求。
Step6:设置 SPIx_CR.spen 为 1,使能 SPI 接口。
Step7:将待发送的第一个字节数据写入 SPIx_DATA。
Step8:查询等待 SSN 管脚拉低,主机选中 SPI 从机。
Step9:当查询到 SPIx_STAT.txe 为 1 时,将待发送的数据尽快写入 SPIx_DATA。
Step10:当查询到 SSN 管脚为低且待发送的数据尚未完成,跳转到 Step9。
Step11:查询等待 SSN 管脚拉高,主机释放 SPI 从机。
注意:
– 每当 SPI 从机需要发送数据时,均需从 Step2 开始执行初始化操作及发送操作。
10.4.4 SPI 从机接收示例
Step1:按 GPIO 章节管脚数字复用功能的相关描述,将 SSN/SCK/MISO/MOSI 映射
到需要的管脚;并配置 SSN/SCK/MOSI 管脚为输入模式,配置 MISO 管脚为输出模
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 319 of 854
式。SSN 管脚来源详见 GPIO 端口辅助控制器。
Step2:设置 SPIx_CR.mstr 为 0,使 SPI 工作于从机模式。
Step3:配置 SPIx_CR.cpol 及 SPIx_CR.cpha,使数据帧格式符合应用需求。
Step4:设置 SPIx_CR.spen 为 1,使能 SPI 接口。
Step5:查询等待 SSN 管脚拉低,主机选中 SPI 从机。
Step6:查询等待 SPIx_STAT.rxne 变为 1,已收到主机发送的数据。
Step7:从 SPIx_DATA 读出收到的数据。
Step8:如果待接收的数据未完成,则跳转到 Step6 继续执行。
Step9:查询等待 SSN 管脚拉高,主机释放 SPI 从机。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 320 of 854
10.6 SPI 寄存器描述
寄存器列表
SPI0 基地址:0x40000800
SPI1 基地址:0x40004800
偏移量
寄存器名称
访问
寄存器描述
0x00
SPIx_CR
RW
SPIx 配置寄存器
0x04
SPIx_SSN
RW
SPIx 片选配置寄存器
0x08
SPIx_STAT
RO
SPIx 状态寄存器
0x0c
SPIx_DATA
RW
SPIx 数据寄存器
0x10
SPIx_CR2
RW
SPIx 配置寄存器 2
0x14
SPIx_ICLR
WO
SPIx 中断清除寄存器
表 10-2
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
SPI 寄存器列表
Page 321 of 854
10.6.1 SPI 配置寄存器(SPIx_CR)
地址偏移量:0x00
复位值:0x0000 0014
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
7
6
5
4
3
2
1
0
spr2
spen
mstr
cpol
cpha
spr1
spr0
RW
RW
RW
RW
RW
RW
RW
Reserved
15
14
13
12
11
10
9
Reserved
位
标记
31:8
Reserved
7
spr2
8
Res
功能描述
波特率选择位 2
参考 spr0.
6
spen
SPI 模块使能控制
0 – 禁止
1 – 使能
5
Reserved
4
mstr
SPI 工作模式配置
0 – 从机模式
1 – 主机模式
3
cpol
SCK 线空闲状态配置
0 – 低电平
1 – 高电平
2
cpha
时钟相位配置
0 – 第一边沿
1 – 第二边沿
1
spr1
波特率选择位 1
参考 spr0
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 322 of 854
0
spr0
波特率选择位 0
spr2
spr1
spr0
SCK Rate
0
0
0
PCLK /2
0
0
1
PCLK /4
0
1
0
PCLK /8
0
1
1
PCLK /16
1
0
0
PCLK /32
1
0
1
PCLK /64
1
1
0
PCLK /128
1
1
1
Reserved
表 10-3 主机模式波特率选择
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 323 of 854
10.6.2 SPI 片选配置寄存器(SPIx_SSN)
地址偏移量:0x04
复位值:0x000000FF
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
ssn
Reserved
位
标记
31:1
Reserved
0
ssn
RW
功能描述
主机模式时 SPI_CS 输出电平配置
0:SPI_CS 端口输出低电平
1:SPI_CS 端口输出高电平
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 324 of 854
10.6.3 SPI 状态寄存器(SPIx_STAT)
地址偏移量:0x08
复位值:0x00000004
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
sserr
mdf
busy
txe
rxne
RO
RO
RO
RO
RO
Reserved
15
14
13
12
11
10
9
8
7
spif
Reserved
位
标记
31:8
Reserved
7
spif
RO
Res.
Res.
功能描述
接收完成标志
1:已从 SPI 总线上接收到一个字节
0:正在接收中
6
Reserved
5
sserr
从机模式 SSN 错误标志
4
mdf
主机模式时,冲突标志
1:SSN 管脚电平为低
0:SSN 管脚电平为高
3
busy
SPI 总线传输状态标志
1:SPI 总线正在传输数据
0:SPI 总线空闲
2
txe
发送缓冲器状态标志
1:发送缓冲器空
0:发送缓冲器非空
1
rxne
接收缓冲器状态标志
1:接收缓冲器非空
0:接收缓冲器空
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 325 of 854
0
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 326 of 854
10.6.4 SPI 数据寄存器(SPIx_DATA)
地址偏移量:0x0c
复位值:0x00000000
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
spdat
Reserved
位
标记
31:8
Reserved
7:0
spdat
RW
功能描述
数据寄存器
在发送模式,向这个寄存器写入待发送的字节;
在接收模式,从这个寄存器读取接收到的字节;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 327 of 854
10.6.5 SPI 配置寄存器 2(SPIx_CR2)
地址偏移量:0x10
复位值:0x0000 0003
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
rxne
txei
hdm
hdm
int_
ie
e
a_tx
a_rx
en
RW
RW
RW
RW
RW
Reserved
15
14
13
12
11
10
9
8
Reserved
位
标记
31:7
Reserved
6
rxneie
7
Reserved
功能描述
接收缓冲器非空中断使能
0 – 禁止
1 – 使能
5
txeie
发送缓冲器空中断使能
0 – 禁止
1 – 使能
4
hdma_tx
DMA 硬件访问发送使能.
0 – 禁止
1 – 使能
3
hdma_rx
DMA 硬件访问接收使能.
0 – 禁止
1 – 使能
2
int_en
SPI 中断使能.
0 – 禁止
1 – 使能
1:0
Reserved 请保持这两位的值均为 1。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 328 of 854
10.6.6 SPI 中断清除寄存器 2(SPIx_ICLR)
地址偏移量:0x14
复位值:0x0000 00FF
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
int_clr
Reserved
位
标记
31:1
Reserved
0
int_clr
R1W0
功能描述
SPI 中断清除
0 – 清除
1 – 保持
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 329 of 854
11
时钟校准模块(CLKTRIM)
11.1
CLKTRIM 简介
CLKTRIM(Clock Trimming)模块是一个专门用来校准/监测时钟的电路。在校准模式下
选择精准的时钟源来校准不精准的时钟源,反复校准,调节不精准时钟源的参数,直
到被校准时钟源的频率达到精度要求。校准模式下计数值会有一定的误差,但是在允
许的精度误差范围内。在监测模式下选择稳定的时钟源来监测系统工作时钟,在设定
的监测周期下,监测系统工作时钟是否有失效的情况发生并产生中断。在校准模式和
监控模式下,所需的时钟源都必须初始化和使能,具体的配置过程请参考第 4 章系统
控制器。
11.2
CLKTRIM 主要特性
CLKTRIM 支持以下特性:
校准模式
监测模式
32 位参考时钟计数器可加载初值
32 位待校准时钟计数器可配置溢出值
6 种参考时钟源
5 种待校准时钟源
支持中断方式
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 330 of 854
11.3
CLKTRIM 功能描述
11.3.1 CLKTRIM 校准模式
11.3.1.1 时钟校准原理
在校准一个频率不精准,但是有参数设置可以调节频率的时钟(待校准时钟 CAL_CLK)
时,需要一个精准的时钟作为参考时钟(REF_CLK)。设定校准时间 Ttrim,待校准时钟
频率 Fcal, 参考时钟频率 Fref,使用待校准时钟和参考时钟同时计数,在校准时间结束
时停止计数。读取待校准时钟计数器的值 M,参考时钟计数器的值 N,
得到等式 Ttrim = M/Fcal = N/Fref
推导出
Fcal = Fref * M / N
由公式判断出,参考时钟的频率误差率越小,待校准时钟的误差率就越小。
计算出待校准时钟频率后,如果误差率超出系统要求的范围,可以调节待校准时钟的
参数后,再次重复上面的步骤校准,直到待校准时钟频率的误差率满足系统的要求。
11.3.1.2 时钟校准模块硬件结构
时间校准模块的待校准时钟有 5 个时钟源,参考时钟有 6 个时钟源,如图 1 所示:
待校准时钟源选择
参考时钟源选择
RCH
RCH
XTH
XTH
RCL
CAL_CLK
RCL
XTL
XTL
PLL
IRC10K
EXT_CLK_IN
{calclk_sel2,calclk_sel}
REF_CLK
refclk_sel
图 11-1
时钟源选择示意图
待校准时钟的选择由寄存器 CLKTRIM_CR.calclk_sel2,CLKTRIM_CR.calclk_sel 来配
置。
参考时钟的选择由寄存器 CLKTRIM_CR.refclk_sel 来配置。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 331 of 854
如图 2 所示,时钟校准模块有 2 个 32 位计数器,
1 个是以参考时钟为时钟,可配置初值的减计数器,
初值由寄存器 CLKTRIM_REFCON .rcntval 来配置,
计数器值可以从寄存器 CLKTRIM_REFCNT 读出,
当计数器减计数到 0 时,停止计数并产生中断。
1 个是以待校准时钟为时钟,可配置溢出值的加计数器,
溢出值由寄存器 CLKTRIM_CALCON. ccntval 来配置,
计数器值可以从寄存器 CLKTRIM_CALCNT 读出,
当计数器加计数到溢出值时,停止计数并产生中断。
rcntval
REF_CLK
trim_start
32位减计数器
refcnt
=0?
stop
中断
CAL_CLK
trim_start
32位加计数器
图 11-2
calcnt =ccntval?
overflow
时钟校准模块硬件示意图
11.3.1.3 时钟校准软件流程
1. 设置 CLKTRIM_CR .refclk_sel 寄存器选择参考时钟。
2. 设置 CLKTRIM_CR .calclk_sel 寄存器选择被校准时钟。
3. 设置 CLKTRIM_REFCON .rcntval 寄存器为校准时间。
4. 设置 CLKTRIM_CR .IE 寄存器使能中断。
5. 设置 CLKTRIM_CR .trim_start 寄存器开始校准。
6. 参考时钟计数器和待校准时钟计数器开始计数。
7. 当参考时钟计数器从初始值减计数到 0 时,CLKTRIM_IFR.stop 置 1,触发中断。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 332 of 854
8. 中断服务子程序判断 CLKTRIM_IFR.stop 为 1,读取寄存器 CLKTRIM_REFCNT
和 CLKTRIM_CALCNT 的值,
9. 清零 CLKTRIM_CR .trim_start 寄存器结束校准。
10. 根据时钟校准原理章节提到的公式计算出待校准时钟的频率,
其中 M = 寄存器 CLKTRIM_CALCNT 的值,
N = 寄存器 CLKTRIM_REFCON .rcntval 的值
当待校准时钟的频率不满足误差率要求时,调整待校准时钟参数,
重新执行步骤 5~10,直到待校准时钟满足误差率要求。
trim_start
rcntval
rcntval
rcntval
rcntval
ref_count
cal_count
interrupt
interrupt
interrupt
interrupt
stop
图 11-3
时钟校准波形示意图
注意:
– 校准模式在校准过程中有可能因为校准时间设置过长,发生待校准时钟计数器在
CLKTRIM_IFR.stop 置 1 之前溢出的情况,CLKTRIM_IFR. calcnt_of 置 1,触发
中断。中断服务子程序发现
CLKTRIM_IFR. calcnt_of 置 1 时 , 清 零
CLKTRIM_CR .trim_start 寄存器结束校准。
这种情况下校准是无法正确进行的,必须调整校准时间,重新校准。
具体步骤是:
1.
设置 CLKTRIM_REFCON .rcntval 寄存器调整校准时间。
2.
设置 CLKTRIM_CR .trim_start 寄存器重新开始校准。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 333 of 854
11.3.2 CLKTRIM 监测模式
11.3.2.1 时钟监测原理
为了监测系统工作时钟(被监测时钟 CAL_CLK)是否正常工作时,需要一个稳定的时
钟作为参考时钟(REF_CLK)。设定监测时间 Ttrim,被监测时钟频率 Fcal, 参考时钟频
率 Fref, 被监测时钟计数器溢出值 CALVAL, 使用被监测时钟和参考时钟同时计数,在
监测时间结束时停止计数,判断被监测时钟计数器是否处于溢出状态。如果被监测时
钟计数器已溢出,表示在监测时间内被监测时钟工作正常,继续进行下一次监测。如
果被监测时钟计数器没有溢出,表示在监测时间内被监测时钟工作异常,可能被监测
时钟已经停止或者频率大幅变化,产生被监测时钟工作异常中断,由硬件切换系统工
作时钟。
11.3.2.2 时钟监测硬件结构
时间校准模块的被监测时钟有 2 个时钟源,参考时钟有 6 个时钟源,如图 4 所示:
被监测时钟源选择
参考时钟源选择
RCH
XTH
XTH
CAL_CLK
XTL
RCL
REF_CLK
XTL
IRC10K
EXT_CLK_IN
{calclk_sel2,calclk_sel}
refclk_sel
图 11-4
CLKTRIM 时钟选择
被监测时钟的选择由寄存器 CLKTRIM_CR.calclk_sel2,CLKTRIM_CR.calclk_sel 来配
置,参考时钟的选择由寄存器 CLKTRIM_CR.refclk_sel 来配置。
11.3.2.3 时钟监测软件流程
1.
设置 CLKTRIM_CR .refclk_sel 寄存器选择参考时钟。
2.
设置 CLKTRIM_CR .calclk_sel 寄存器选择被监控时钟。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 334 of 854
3.
设置 CLKTRIM_REFCON .rcntval 寄存器为监控间隔时间。
4.
设置 CLKTRIM_CALCON. ccntval 寄存器为被监控时钟计数器溢出时间。
5.
设置 CLKTRIM_CR .mon_en 寄存器使能监控功能。
6.
设置 CLKTRIM_CR .IE 寄存器使能中断。
7.
设置 CLKTRIM_CR .trim_start 寄存器开始监控。
8.
参考时钟计数器和被监控时钟计数器开始计数。
9.
当参考时钟计数器计数到达监控间隔时间时,CLKTRIM_IFR.stop 置 1,同时判
断被监控时钟计数器是否溢出,即 CLKTRIM_IFR. calcnt_of 是否置 1。如果溢
出,即 CLKTRIM_IFR. calcnt_of 为 1,表示被监控时钟工作正常。如果没有溢
出,即 CLKTRIM_IFR. calcnt_of 为 0,表示被监控时钟失效,
CLKTRIM_IFR .xtl_fault/xth_fault 置 1,触发中断。硬件自动把系统时钟切换到
内部 RCH 时钟。
10. 处理中断服务子程序,清除中断标志位 CLKTRIM_IFR .xtl_fault/xth_fault,清零
CLKTRIM_CR .trim_start 寄存器结束监测。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 335 of 854
mon_en
trim_start
rcntval
rcntval
rcntval
rcntval
ref_count
cal_count
stop
calcnt_of
interrupt
clk_fault
图 11-5
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
时钟监控波形示意图
Page 336 of 854
11.4
CLKTRIM 寄存器描述
基地址:0x40001800
寄存器列表
偏移量
寄存器名称
访问
寄存器描述
0x00
CLKTRIM_CR
RW
配置寄存器
0x04
CLKTRIM_REFCON
RW
参考计数器初值配置寄存器
0x08
CLKTRIM_REFCNT
RO
参考计数器值寄存器
0x0c
CLKTRIM_CALCNT
RO
校准计数器值寄存器
0x10
CLKTRIM_IFR
RO
中断标志位寄存器
0x14
CLKTRIM_ICLR
RW
中断标志位清除寄存器
0x18
CLKTRIM_CALCON
RW
校准计数器溢出值配置寄存器
表 11-1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
寄存器列表
Page 337 of 854
11.4.1 配置寄存器(CLKTRIM_CR)
地址偏移量:0x00
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
5
4
3
2
1
0
Reserved
15
14
13
12
11
10
9
Reserved
8
7
6
calclk
IE
mon
refclk_sel
_en
_sel2
RW
calclk_sel
RW
tart
RW
位
标记
31:9
Reserved
8
calclk_sel2 待校准/监测时钟选择高位寄存器
7
IE
中断使能寄存器
6
mon_en
监测模式使能寄存器
5:4
calclk_sel
待校准/监测时钟选择低位寄存器
trim_s
RW
RW
RW
功能描述
0 – 禁止
1 – 使能
0 – 禁止
1 – 使能
calclk_sel2,calclk_sel
3:1
refclk_sel
000
RCH
001
XTH
010
RCL
011
XTL
100
PLL
参考时钟选择寄存器
000 ---- RCH
001 ---- XTH
010 ---- RCL
011 ---- XTL
100 ---- IRC10K
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 338 of 854
101 ---- EXT_CLK_IN
0
trim_start
校准/监测开始寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
0 – 停止
1 – 开始
Page 339 of 854
11.4.2 参考计数器初值配置寄存器(CLKTRIM_REFCON)
地址偏移量:0x04
复位值:0x00000000
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
rcntval[31:16]
RW
15
14
13
12
11
10
9
8
7
rcntval[15:0]
RW
位
标记
功能描述
31:0
rcntval
参考计数器初始值
11.4.3 参考计数器值寄存器(CLKTRIM_REFCNT)
地址偏移量:0x08
复位值:0x00000000
31
30
29
28
27
26
25
24
23
refcnt[31:16]
RO
15
14
13
12
11
10
9
8
7
refcnt[15:0]
RO
位
标记
功能描述
31:0
refcnt
参考计数器值
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 340 of 854
11.4.4 校准计数器值寄存器(CLKTRIM_CALCNT)
地址偏移量:0x0c
复位值:0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
calcnt[31:16]
RO
15
14
13
12
11
10
9
8
7
calcnt[15:0]
RO
位
标记
功能描述
31:0
calcnt
校准计数器值
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 341 of 854
11.4.5 中断标志位寄存器(CLKTRIM_IFR)
地址偏移量:0x10
复位值: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
pll_f
xth_
xtl_f
calcn
stop
ault
fault
ault
t_of
RO
RO
RO
RO
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
31:5
Reserved
4
pll_fault
RO
功能描述
PLL 失效标志.
CLKTRIM_ICLR.pll_fault_clr 写零清除此标志位
3
xth_fault
XTH 失效标志.
CLKTRIM_ICLR.xth_fault_clr 写零清除此标志位
2
xtl_fault
XTL 失效标志.
CLKTRIM_ICLR.xtl_fault_clr 写零清除此标志位
1
calcnt_of 校准计数器溢出标志.
CLKTRIM_CR.start 写零清除此标志位
0
stop
参考计数器停止标志.
CLKTRIM_CR.start 写零清除此标志位
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 342 of 854
11.4.6 中断标志位清除寄存器(CLKTRIM_ICLR)
地址偏移量:0x14
复位值:0x1111 1111
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
pll_f
xth_
xtl_f
ault
fault
ault
_clr
_clr
_clr
R1W0
R1W0
R1W0
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
31:5
Reserved
4
pll_fault_clr
3
xth_fault_clr 清除 XTH 失效标志,写零清除。
2
xtl_fault_clr
1:0
Reserved
Reserved
功能描述
清除 PLL 失效标志,写零清除。
清除 XTL 失效标志,写零清除。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 343 of 854
11.4.7 校准计数器溢出值配置寄存器(CLKTRIM_CALCON)
地址偏移量:0x18
复位值:0xffff ffff
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
ccntval[31:16]
RW
15
14
13
12
11
10
9
8
7
ccntval[15:0]
RW
位
标记
功能描述
31:0
ccntval
校准计数器溢出值
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 344 of 854
12
硬件除法器模块(HDIV)
12.1
HDIV 简介
HDIV(Hardware Divider)是一个 32 位有符号/无符号整数硬件除法器。
12.2
HDIV 主要特性
HDIV 硬件除法器支持以下特性:
可配置有符号/无符号整数除法计算
32 位被除数,16 位除数
输出 32 位商和 32 位余数
除数为零警告标志位,除法运算结束标志位
10 个时钟周期完成一次除法运算
写除数寄存器触发除法运算开始
读商寄存器/余数寄存器时自动等待计算结束
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 345 of 854
12.3
HDIV 功能描述
12.3.1 HDIV 操作流程
1. 在系统控制器里打开硬件除法器的时钟使能寄存器。
2. 配置寄存器 HDIV_SIGN 设置有符号/无符号除法运算。
3. 配置寄存器 HDIV_DIVIDEND 设置被除数。
4. 配置寄存器 HDIV_DIVISOR 设置除数。
5. 除法运算开始,查询寄存器 HDIV_STAT 运算结束标志位 div_end,div_end 为 1 标
志运算结束。读寄存器 HDIV_QUOTIENT 得到商,读寄存器 HDIV_REMAINDER
得到余数。
6. 当除数为零时,除法运算立即结束,运算结果保持上一次运算的结果,同时除数为
零警告标志位 div_zero 被置起。
7. 在除法运算结束之前,读寄存器 HDIV_QUOTIENT/HDIV_REMAINDER 时,CPU
将被保持直到运算结束。
举例:计算一个无符号除法,被除数为 1917887483(0x7250A3FB),除数为 9597(0x257D)
步骤一,配置寄存器 HDIV_SIGN 为 0,即无符号除法运算
步骤二,配置寄存器 HDIV_DIVIDEND 为 0x7250A3FB,即设置被除数
步骤三,配置寄存器 HDIV_DIVISOR 为 0x257D,即设置除数,计算开始
步骤四,查询寄存器 HDIV_STAT 运算结束标志位 div_end,div_end 为 1 标志,
运算结束。
读寄存器 HDIV_QUOTIENT 得到商 199842(0x30CA2)
读寄存器 HDIV_REMAINDER 得到余数 3809(0xEE1)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 346 of 854
12.4
HDIV 寄存器描述
寄存器列表
基地址:0x40021800
偏移量
寄存器名称
访问
寄存器描述
0x00
HDIV_DIVIDEND
RW
被除数寄存器.
0x04
HDIV_DIVISOR
RW
除数寄存器.
0x08
HDIV_QUOTIENT
RO
商寄存器.
0x0c
HDIV_REMAINDER RO
余数寄存器.
0x10
HDIV_SIGN
RW
符号寄存器
0x14
HDIV_STAT
RO
状态寄存器
表 12-1 寄存器列表
12.4.1 被除数寄存器(HDIV_DIVIDEND)
地址偏移量:0x00
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
5
4
3
2
1
0
DIVIDEND[31:16]
RW
15
14
13
12
11
10
9
8
7
6
DIVIDEND[15:0]
RW
位
标记
功能描述
31:0
DIVIDEND 被除数值寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 347 of 854
12.4.2 除数寄存器(HDIV_DIVISOR)
地址偏移量:0x04
复位值:0x00000001
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
DIVISOR
RW
位
标记
功能描述
31:16
Reserved
15:0
DIVISOR 除数值寄存器(写此寄存器自动触发除法运算)
12.4.3 商寄存器(HDIV_QUOTIENT)
地址偏移量:0x08
复位值:0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
5
4
3
2
1
0
QUOTIENT[31:16]
RO
15
14
13
12
11
10
9
8
7
6
QUOTIENT[15:0]
RO
位
标记
功能描述
31:0
QUOTIENT 商结果寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 348 of 854
12.4.4 余数寄存器(HDIV_REMAINDER)
地址偏移量:0x0c
复位值:0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
5
4
3
2
1
0
22
21
20
19
18
17
16
6
5
4
3
2
1
0
REMAINDER[31:16]
RO
15
14
13
12
11
10
9
8
7
6
REMAINDER[15:0]
RO
位
标记
功能描述
31:0
REMAINDER 余数结果寄存器
12.4.5 符号寄存器(HDIV_SIGN)
地址偏移量:0x10
复位值:0x00000000
31
30
29
28
27
26
25
24
23
Reserved
15
14
13
12
11
10
9
8
7
sign
Reserved
位
标记
31:1
Reserved
0
sign
RW
功能描述
符号选择寄存器。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
0 --- 无符号除法运算
1 --- 有符号除法运算
Page 349 of 854
12.4.6 状态寄存器(HDIV_STAT)
地址偏移量:0x14
复位值:0x00000001
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
div_
div_
zero
end
RO
RO
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
功能描述
31:2
Reserved
1
div_zero
除数为零警告标志位。
0 --- 除数不为零
1 --- 除数为零
0
div_end
除法运算结束标志位。
0 --- 运算进行中
1 --- 运算结束
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 350 of 854
13
FLASH 控制器(FLASH)
13.1
概述
本系统包含一块 64K 字节(Byte)容量的 FLASH 存储器,共划分为 128 个页(Sector),
每个页(Sector)的容量为 512 字节(Byte)。FLASH 控制器支持对 FLASH 存储器的
擦除、编程以及读操作。本控制器还支持对 FLASH 存储器擦写保护,以及控制寄存器
的写保护。
13.2
FLASH 容量划分
地址
序号
地址
序号
0x0E00 – 0x0FFF
Sector7
……
0xFE00 – 0xFFFF
Sector127
0x0C00 – 0x0DFF
Sector6
……
0xFC00 – 0xFDFF
Sector126
0x0A00 – 0x0BFF
Sector5
……
0xFA00 – 0xFBFF
Sector125
0x0800 – 0x09FF
Sector4
……
0xF800 – 0xF9FF
Sector124
0x0600 – 0x07FF
Sector3
……
0xF600 – 0xF7FF
Sector123
0x0400 – 0x05FF
Sector2
……
0xF400 – 0xF5FF
Sector122
0x0200 – 0x03FF
Sector1
……
0xF200 – 0xF3FF
Sector121
0x0000 – 0x01FF
Sector0
……
0xF000 – 0xF1FF
Sector120
表 13-1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
FLASH 容量划分
Page 351 of 854
13.3
功能描述
本控制器支持对 FLASH 的字节(8 位)、半字(16 位)和字(32 位)三种位宽的数据
读写操作。注意,字节操作的目标地址必须按字节对齐,半字操作的目标地址必须按
半字对齐(地址最低位为 1’b0),字操作的地址必须按字对齐(地址最低两位为 2’b00)。
如果目标地址没有按照位宽对齐,则该操作无效,并且 CPU 会进入 Hard Fault 出错中
断。
本控制器采用高安全性的硬件设计,具有 FLASH 操作源防御功能:仅当 FLASH 操作
函数的地址位于 0~32K,才能正确执行 FLASH 擦写操作。
FLASH 地址的 0~32K 具有更高的安全性,重要函数须放置此区域内;例如重要程序
入口、中断入口函数、高安全算法模块、UID、AES、真随机数、RTC 的算法配合,组
成高安全认证系统。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 352 of 854
13.3.1 页擦除(Sector Erase)
页擦除每次可以擦除用户指定的一个页(Sector)。擦除操作完成后,页(Sector)内的
数据均为 0xFF。如果该擦除操作是从 FLASH 内执行,则 CPU 会停止取指,硬件自动
等待该操作完成(FLASH_CR. BUSY 变为 0);如果该擦除操作是从 RAM 内执行,则
CPU 不会停止取指,用户软件应等待该操作完成(FLASH_CR. BUSY 变为 0)。
页(Sector)擦除操作步骤如下:
Step1:配置 FLASH 擦写参数,详见 13.4 章节。
Step2:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step3:配置 FLASH_CR. OP 为 2,设置 Flash 操作模式为 Sector 擦除。
Step4:检查 FLASH_CR. OP 是否为 2,如不为 2 则跳转到 Step2。
Step5:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step6:设置 FLASH_SLOCK 相应的比特为 1,去除该 Sector 的擦写保护。
Step7:检查 FLASH_SLOCK 相应的比特是否为 1,如不为 1 则跳转到 Step5。
Step8:对待擦除的 Sector 内的任意地址进行写入任意数据,触发 Sector 擦除。
例:*((unsigned char *)0x00000200)= 0x00。
Step9:等待 FLASH_CR. BUSY 变为 0,Sector 擦除操作完成。
Step10:如需擦除其它 Sector,重复 Step5 – Step9。
注意:
- 对 FLASH 进行页擦除的代码所在的地址必须小于 32768。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 353 of 854
13.3.2 全片擦除(Chip Erase)
全片擦除可以一次性擦除全部的页(Sector)。擦除操作完成后,所有页(Sector)内的
数据均为 0xFF。如果该擦除操作是从 FLASH 内执行,则该操作会被禁止。因为该操
作会擦除当前 PC 所在的程序段。如发生这种情况,出错标志位会被置起;如果该擦除
操 作 是 从 RAM 内执行,则 CPU 不会停 止取指,用户软件应等待该操作完成
(FLASH_CR. BUSY 变为 0)。
全片擦除操作步骤如下:
Step1:配置 FLASH 擦写参数,详见 13.4 章节。
Step2:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step3:配置 FLASH_CR. OP 为 3,设置 Flash 操作模式为 Chip 擦除。
Step4:检查 FLASH_CR. OP 是否为 3,如不为 3 则跳转到 Step2。
Step5:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step6:设置 FLASH_SLOCK 为 0xFFFF FFFF,去除所有 Sector 的擦写保护。
Step7:检查 FLASH_SLOCK 是否为 0xFFFF FFFF,如不为 0xFFFF FFFF 则跳转到
Step5。
Step8:对待擦除的 Chip 内的任意地址进行写操作,触发 Chip 擦除。
例:*((unsigned char *)0x00000000)= 0x00。
Step9:等待 FLASH_CR. BUSY 变为 0,Chip 擦除操作完成。
注意:
- 对 FLASH 进行片擦除的代码所在的地址必须小于 32768。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 354 of 854
13.3.3 写操作(Program)
写操作只能将 FLASH 内的比特数据由 1 写成 0,故写入数据前应确保待写入的地址内
的数据为 0xFF。支持写入 3 种数据长度:Byte(8bits)、Half-word(16bits)、Word(32bits),
写入的数据以小端模式存放在 FLASH 中,即低地址存放数据的低字节。如果写操作
是从 FLASH 内执行,则 CPU 会停止取指,硬件自动等待该操作完成(FLASH_CR.
BUSY 变为 0);如果该写操作是从 RAM 内执行,则 CPU 不会停止取指,用户软件应
等待该操作完成(FLASH_CR. BUSY 变为 0)。
Byte 写操作步骤如下:
Step1:配置 FLASH 擦写参数,详见 13.4 章节。
Step2:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step3:配置 FLASH_CR. OP 为 1,设置 Flash 操作模式为写入。
Step4:检查 FLASH_CR. OP 是否为 1,如不为 1 则跳转到 Step2。
Step5:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step6:设置 FLASH_SLOCK 相应的比特为 1,去除擦写保护。
Step7:检查 FLASH_SLOCK 相应的比特是否为 1,如不为 1 则跳转到 Step5。
Step8:对待写入的目标地址进行 Byte 写操作,触发写入操作。
例:*((unsigned char *)0x00001231)= 0x5A。
Step9:等待 FLASH_CR. BUSY 变为 0,写入操作完成。
Step10:如需写 Byte 到已去除擦写保护的其它地址,重复 Step8 – Step9。
Half-word 写操作步骤如下:
Step1:配置 FLASH 擦写时间,详见 13.4 章节。
Step2:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step3:配置 FLASH_CR. OP 为 1,设置 Flash 操作模式为写入。
Step4:检查 FLASH_CR. OP 是否为 1,如不为 1 则跳转到 Step2。
Step5:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step6:设置 FLASH_SLOCK 相应的比特为 1,去除擦写保护。
Step7:检查 FLASH_SLOCK 相应的比特是否为 1,如不为 1 则跳转到 Step5
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 355 of 854
Step8:对待写入的目标地址进行 Half-word 写操作,触发写入操作。
例:*((unsigned short *)0x00001232)= 0xABCD。
Step9:等待 FLASH_CR. BUSY 变为 0,写入操作完成。
Step10:如需写 Half-word 到已去除擦写保护的其它地址,重复 Step8 – Step9。
Word 写操作步骤如下:
Step1:配置 FLASH 擦写参数,详见 13.4 章节。
Step2:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step3:配置 FLASH_CR. OP 为 1,设置 Flash 操作模式为写入。
Step4:检查 FLASH_CR. OP 是否为 1,如不为 1 则跳转到 Step2。
Step5:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step6:设置 FLASH_SLOCK 相应的比特为 1,去除擦写保护。
Step7:检查 FLASH_SLOCK 相应的比特是否为 1,如不为 1 则跳转到 Step5
Step8:对待写入的目标地址进行 Word 写操作,触发写入操作。
例:*((unsigned long *)0x00001234)= 0x55667788。
Step9:等待 FLASH_CR. BUSY 变为 0,写入操作完成。
Step10:如需写 Word 到已去除擦写保护的其它地址,重复 Step8 – Step9。
注意:
- 对 FLASH 进行写操作的代码所在的地址必须小于 32768。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 356 of 854
13.3.4 读操作(Read)
支持读出 3 种数据长度:Byte(8bits)、Half-word(16bits)、Word(32bits),读出的数
据为小端模式,即低地址存放数据的低字节。读操作无需操作步骤,任何时刻都可以
读出 FLASH 内的数据。
Byte 读操作示例:
temp = *((unsigned char *)0x00001231)
Half-word 读操作示例
temp = *((unsigned short*)0x00001232)
Word 读操作示例
temp = *((unsigned long*)0x00001234)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 357 of 854
13.4
擦写时间
FLASH 存储器对擦除和编程操作的控制信号具有严格的时间要求,控制信号的时序
不合格会造成擦除操作和编程操作失败。上电时默认装载了 HCLK 为 4MHz 时的擦写
参数;如果对 Flash 进行擦写时的 HCLK 频率不为 4MHz,则用户程序应装载 HCLK
频率所对应的擦写参数。对 FLASH 进行操作时,需要 HCLK 的频率范围为 1MHz ~
48MHz。
擦写时序参数相关的寄存器为:FLASH_TNVS、FLASH_TPGS、FLASH_TPROG、
FLASH_TSERASE 、 FLASH_TMERASE 、 FLASH_TPRCV 、 FLASH_TSRCV 、
FLASH_TMRCV。如果 HCLK 由默认 4MHz 升高为 8MHz,则上述 FLASH_Tx 寄
存器的值应该设为默认值的 2 倍,即保持当前 Tsysclk*FLASH_Tx 的结果与默认值相
等即可。
以下表格为不同频率下相应的 FLASH 擦写时间参数:
4M
8M
16M
24M
32M
48M
TNVS
0x20
0x40
0x80
0xC0
0x100
0x180
TPGS
0x17
0x2E
0x5C
0x8A
0xB8
0xFF
TPROG
0x1B
0x36
0x6C
0xA2
0xD8
0x144
TSERASE
0x4650
0x8CA0
0x11940
0x1A5E0
0x23280
0x34BC0
TMERASE
0x222E0
0x445C0
0x88B80
0xCD140
0x111700 0x19A280
TPRCV
0x18
0x30
0x60
0x90
0xC0
0x120
TSRCV
0xF0
0x1E0
0x3C0
0x5A0
0x780
0xB40
TMRCV
0x3E8
0x7D0
0xFA0
0x1770
0x1F40
0x2EE0
表 13-2 不同频率下 FLASH 擦写时间参数
配置系统频率为 8MHz 时擦写参数的操作步骤如下:
Step1:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step2:向 FLASH_TNVS 寄存器写入 0x40,如读出的该寄器的值不为 0x40,则跳转到
上一步。
Step3:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step4:向 FLASH_TPGS 寄存器写入 0x2E,如读出的该寄器的值不为 0x2E,则跳转
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 358 of 854
到上一步。
Step5:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step6:向 FLASH_TPROG 寄存器写入 0x36,如读出的该寄器的值不为 0x36,则跳转
到上一步。
Step7:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step8:向 FLASH_TSERASE 寄存器写入 0x8CA0,如读出的该寄器的值不为 0x8CA0,
则跳转到上一步。
Step9:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step10:向 FLASH_TMERASE 寄存器写入 0x445C0,如读出的该寄器的值不为 0x445C0,
则跳转到上一步。
Step11:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step12:向 FLASH_TPRCV 寄存器写入 0x30,如读出的该寄器的值不为 0x30,则跳
转到上一步。
Step13:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step14:向 FLASH_TSRCV 寄存器写入 0x1E0,如读出的该寄器的值不为 0x1E0,则
跳转到上一步。
Step15:向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,使能寄存器改写。
Step16:向 FLASH_TMRCV 寄存器写入 0x7D0,如读出的该寄器的值不为 0x7D0,则
跳转到上一步。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 359 of 854
13.5
读等待周期
本设备内置的 FLASH 支持的最快取指频率为 24MHz。当 HCLK 频率超过 24MHz 小
于 48MHz 时,必须为 FLASH 的读取时间插入等待周期,即设置 FLASH_CR.WAIT 为
1。当插入等待周期时,FLASH 每两个周期才会完成一次读取操作。
13.6
擦写保护
13.6.1 擦写保护位
整个 64K 字节 FLASH 存储器被划分为 128 个页,每 4 个页共用一个擦写保护位。当
页被保护时,对该页进行的擦写操作均无效并产生报警标志位和中断信号。当 FLASH
存储器中的任意页被保护时,对该 FLASH 的全片擦写无效,并产生报警标志位和中
断信号。
13.6.2 PC 地址擦写保护
CPU 在 FLASH 中运行程序时,如果当前 PC 指针正好落在待擦写的页地址范围之内,
那么该擦写操作无效并产生报警标志位和中断信号。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 360 of 854
13.7
寄存器写保护
本模块的重要控制器屏蔽普通的写操作,必须用写序列方式才能修改。
需要通过写序列方式才能更改的寄存器如下所示:
FLASH_TNVS 、 FLASH_TPGS 、 FLASH_TPROG 、 FLASH_TSERASE 、
FLASH_TMERASE、FLASH_TPRCV、FLASH_TSRCV、FLASH_TMRCV、FLASH_CR、
FLASH_SLOCK。
不需要通过写序列方式即可更改的寄存器如下所示:
FLASH_ICLR、FLASH_BYPASS。
通过写序列方式修改寄存器值的具体操作步骤如下所示:
Step1:向 FLASH_BYPASS 寄存器写入 0x5A5A。
Step2:向 FLASH_BYPASS 寄存器写入 0xA5A5。
Step3:对待修改的寄存器写入目标值。
Step4:验证待修改的寄存器的当前值是否与目标值相同,如不相同则跳转到 Step1。
Step5:执行其它操作。
注意:
– 写 0x5a5a、0xa5a5、写目标寄存器,这三步写操作之间不可插入任何写操作(写
ROM、RAM、REG),否则无法改写目标寄存器的数值。如改写失败,需要重新
进行这三步操作。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 361 of 854
13.8
寄存器
基地址:0x4002 0000
寄存器
偏移地址
描述
FLASH_TNVS
0x00
Tnvs 时间参数
FLASH_TPGS
0x04
Tpgs 时间参数
FLASH_TPROG
0x08
Tprog 时间参数
FLASH_TSERASE
0x0C
Tserase 时间参数
FLASH_TMERASE
0x10
Tmerase 时间参数
FLASH_TPRCV
0x14
Tprcv 时间参数
FLASH_TSRCV
0x18
Tsrcv 时间参数
FLASH_TMRCV
0x1C
Tmrcv时间参数
FLASH_CR
0x20
控制寄存器
FLASH_IFR
0x24
中断标志寄存器
FLASH_ICLR
0x28
中断标志清除寄存器
FLASH_BYPASS
0x2C
0x5a5a-0xa5a5 Bypass序列寄存器
FLASH_SLOCK
0x30
Sector擦写保护寄存器
13.8.1 TNVS 参数寄存器(FLASH_TNVS)
偏移地址:0x00
复位值:0x0000 0020
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
TNVS
Reserved
RW
位
标记
31:9
Reserved
8:0
TNVS
功能描述
计算公式:TNVS = 8*HCLK,HCLK的单位为MHz。修改该寄存器值的方法详见13.7。
4MHz示例:TNVS = 8*4 = 32。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 362 of 854
13.8.2 TPGS 参数寄存器(FLASH_TPGS)
偏移地址:0x04
复位值:0x0000 0017
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
TPGS
Reserved
RW
位
标记
功能描述
31:8
Reserved
7:0
TPGS
计算公式:TPGS = 5.75*HCLK,HCLK的单位为MHz。修改该寄存器值的方法详见13.7。
4MHz示例:TPGS = 5.75*4 = 23。
注:当计算所得数值大于0xFF时,则TPGS应赋值0xFF。
13.8.3 TPROG 参数寄存器(FLASH_TPROG)
偏移地址:0x08
复位值:0x0000 001B
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
TPROG
Reserved
RW
位
标记
31:9
Reserved
8:0
TPROG
功能描述
计算公式:TPROG = 6.75*HCLK,HCLK的单位为MHz。修改该寄存器值的方法详见13.7。
4MHz示例:TPROG = 6.75*4 = 27。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 363 of 854
13.8.4 TSERASE 寄存器(FLASH_TSERASE)
偏移地址:0x0C
复位值:0x0000 4650
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
TPROG
Reserved
RW
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
TPROG
RW
位
标记
31:18
Reserved
17:0
TSERASE
功能描述
计算公式:TSERASE = 4500*HCLK,HCLK的单位为MHz。修改该寄存器值的方法详见13.7。
4MHz示例:TSERASE = 4500*4 = 27。
13.8.5 TMERASE 参数寄存器(FLASH_TMERASE)
偏移地址:0x10
复位值:0x000222E0
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
0
TMERASE
Reserved
RW
15
14
13
12
11
10
9
8
7
6
5
4
3
2
TMERASE
RW
位
标记
31:21
Reserved
20:0
TMERASE
功能描述
计算公式:TMERASE = 35000*HCLK,HCLK的单位为MHz。修改该寄存器值的方法详见13.7。
4MHz示例:TMERASE = 35000*4 = 140000。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 364 of 854
13.8.6 TPRCV 参数寄存器(FLASH_TPRCV)
偏移地址:0x14
复位值:0x0000 0018
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
TPRCV
Reserved
RW
位
标记
31:12
Reserved
11:0
TPRCV
功能描述
计算公式:TPRCV = 6*HCLK,HCLK的单位为MHz。修改该寄存器值的方法详见13.7。
4MHz示例:TPRCV = 6*4 = 24。
13.8.7 TSRCV 参数寄存器(FLASH_TSRCV)
偏移地址:0x18
复位值:0x0000 00F0
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
TSRCV
Reserved
RW
位
标记
31:12
Reserved
11:0
TSRCV
功能描述
计算公式:TSRCV = 60*HCLK,HCLK的单位为MHz。修改该寄存器值的方法详见13.7。
4MHz示例:TSRCV = 60*4 = 240。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 365 of 854
13.8.8 TMRCV 参数寄存器(FLASH_TMRCV)
偏移地址:0x1C
复位值:0x0000 03E8
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
TMRCV
Reserved
RW
位
标记
31:14
Reserved
13:0
TMRCV
功能描述
计算公式:TMRCV = 250*HCLK,HCLK的单位为MHz。修改该寄存器值的方法详见13.7。
4MHz示例:TMRCV = 250*4 = 1000。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 366 of 854
13.8.9 CR 寄存器(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
DPST
Reserved
B_EN
标记
31:10
Reserved
9
DPSTB_EN
BUSY
WAIT
OP
RW
RO
RW
RW
Reserved
RW
位
IE
功能描述
FLASH dpstb使能Mask位;
0:当系统进入deepsleep模式,FLASH不进入低功耗模式;
1:当系统进入 deepsleep 模式,FLASH 进入低功耗模式;
8:7
Reserved
6:5
IE
IE[6]:FLASH 擦写被保护地址中断使能;0:不使能;1:使能
IE[5]:FLASH 擦写 PC 值中断使能;0:不使能;1:使能
4
BUSY
空闲/忙标志位;0:空闲状态;1:忙状态;
3:2
WAIT
读FLASH 周期;
0~24MHz: 00/11,1个周期;
24~48MHz:01:2个周期;
48~72MHz:10:3个周期;(本系列产品最高时钟为48MHz)
1:0
OP
FLASH 操作;
00:读(read);01:写(program);10:页擦除(sector erase);11:全片擦除(chip erase)
修改该寄存器值的方法详见13.7。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 367 of 854
13.8.10 IFR 寄存器(FLASH_IFR)
偏移地址: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
IF1
IF0
RO
RO
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
描述
31:2
Reserved
1
IF1
擦写保护报警中断标志位
0
IF0
擦写 PC 地址报警中断标志位
13.8.11 ICLR 寄存器(FLASH_ICLR)
偏移地址:0x28
复位值:0x0000 000F
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
ICLR1
ICLR0
R1W0
R1W0
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
功能描述
31:4
Reserved
3:2
Reserved
1
ICLR1
清除保护报警中断标志位;写0清除;写1无效;
0
ICLR0
清除 PC 地址报警中断标志位;写0清除;写1无效;
写无效,读为0x3
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 368 of 854
13.8.12 BYPASS 寄存器(FLASH_BYPASS)
偏移地址: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
BYSEQ
WO
位
标记
31:16
Reserved
15:0
BYSEQ
描述
在修改本模块寄存器之前,必须对 BYSEQ[15:0] 寄存器写入 0x5a5a-0xa5a5 序列。每次写入该
Bypass 序列后,只可以修改一次寄存器。如需再次修改寄存器,必须再次输入 0x5a5a-0xa5a5 序
列。详见13.7。
13.8.13 SLOCK 寄存器(FLASH_SLOCK)
偏移地址:0x30
复位值: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
SLOCK[31:16]
RW
15
14
13
12
11
10
9
8
7
SLOCK[15:0]
RW
位
标记
31:0
SLOCK
描述
Sector 擦写保护位;0:不允许擦写;1:允许擦写
SLOCK[0] 对应:Sector0-1-2-3
SLOCK[1] 对应:Sector4-5-6-7
SLOCK[2] 对应:Sector8-9-10-11
SLOCK[3] 对应:Sector12-13-14-15
……
SLOCK[31] 对应:Sector124-125-126-127
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 369 of 854
14
RAM 控制器(RAM)
14.1
概述
本系统中包含一块容量为 8K 字节(Byte)的 SRAM,支持字节(8 位)、半字(16 位
bits)、字(32 位)三种读写操作。可在系统时钟频率下进行读写操作,无须等待周期。
此外,本控制器还支持奇偶校验,可对每个字节(Byte)的 SRAM 数据进行奇偶校验,
并产生奇偶校验出错中断。
14.2
功能描述
14.2.1 RAM 地址范围
RAM 在系统映射中的地址范围如下表所示:
地址范围
大小
Memory类型
0x2000_0000 – 0x2000_1FFF
8KByte
SRAM
表 14-1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
RAM 地址映射
Page 370 of 854
14.2.2 读写位宽
本控制器支持 字节(8 位)、半字(16 位)、字(32 位) 三种位宽的读写操作。字节
操作的地址必须按字节对齐,半字 操作的目标地址必须按半字对齐(地址最低位为
1’b0)
,字操作的地址必须按字对齐(地址最低两位为 2’b00)。如果读写操作的目标地
址没有按照位宽规定对齐,该操作无效,并且系统会产生 Hard Fault 出错中断。
14.2.3 奇偶校验
本控制器支持 SRAM 数据的奇偶校验。当对 SRAM 写数据时,对每个字节的数据做
奇偶校验,并把 1bit 校验值和 8bits 数据一起存入 SRAM 中。当对 SRAM 读数据
时,控制器会读取 8bits 数据和 1bit 校验值,并做奇偶校验,如果校验出错,则置位
奇偶校验出错标志位,在中断使能情况下,会产生出错中断。
注意:
– 在奇偶校验使能时,在读取 SRAM 数据前,必须初始化 SRAM,否则可能会误
触发奇偶校验报警标志位或者中断。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 371 of 854
14.3
寄存器
基地址:0x4002 0400
寄存器
偏移地址
描述
RAM_CR
0x00
控制寄存器
RAM_ERRADDR
0x04
出错地址寄存器
RAM_IFR
0x08
出错中断标志寄存器
RAM_ICLR
0x0C
出错中断标志清除寄存器
表 14-2 寄存器基地址
14.3.1 控制寄存器(RAM_CR)
偏移地址:0x00
复位值: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
IE
Reser
RW
ved
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
31:2
Reserved
1
IE
0
Reserved
功能描述
保留
出错报警中断使能信号;1:使能报警中断,0:关闭报警中断;
保留
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 372 of 854
14.3.2 奇偶校验出错地址寄存器(RAM_ERRADDR)
偏移地址:0x04
复位值: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
ERRADDR
Reserved
R
位
标记
31:13
Reserved
12:0
ERRADDR
功能描述
13bits 奇偶校验出错 byte 地址;中断标志位清除后,该地址同时被清除;
14.3.3 出错中断标志寄存器(RAM_IFR)
偏移地址: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
ERR
Reserved
RO
位
标记
31:1
Reserved
0
ERR
功能描述
奇偶校验出错标志位
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 373 of 854
14.3.4 出错中断标志清除寄存器(RAM_ICLR)
偏移地址:0x0C
复位值:0x0000 0001
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
Reserved
ERR
CLR
R1W0
位
标记
31:1
Reserved
0
ERRCLR
功能描述
出错中断标志清除位;写1:无效,写0:清零
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 374 of 854
15
DMA 控制器(DMAC)
15.1
DMAC 简介
直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速
数据传输;传输过程中无须 CPU 参与;故 CPU 可同步进行其它操作。DMAC 具有 2
条独立的 DMA 通道,每个通道专门用来管理来自于外设或存储器访问的请求。还有
一个仲裁器来协调各个 DMA 请求的优先权。
15.2
DMAC 主要特性
2 条独立 DMA 通道,支持优先级配置
3 种数据传输宽度:8-bit、16-bit、32-bit
4 种传输模式:软件 Block、软件 Burst、硬件 Block、硬件 Burst
2 种来源地址类型:外设、存储器
2 种目标地址类型:外设、存储器
2 种地址变化模式:固定、自增
传输地址寻址范围:0x00000000 ~ 0xFFFFFFFF
待传输数据块数量可配置:1~65536
待传输数据块大小可配置:1~16
支持地址及传输数量重装载功能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 375 of 854
15.3
功能框图
ARM
Cortex-M0+
core
FLASH
AHB Bus
SRAM
AHB Bus
AES
AHB Bus
CRC
AHB Bus
GPIO
PA - PD
AHB Bus
AHB to APB
Brige
AHB Bus(CPU)
DMA requests
( software )
DMAC
AHB Bus
Ch0
AHB Bus (DMA)
Ch1
DMA requests ( hardware )
APB
Devices
图 15-1 功能框图
DMAC
DMAC 具有 2 条 DMA 通道,当通道之间发生冲突时,由优先级控制器进行仲裁。
Bus Matrix
CPU 和 DMAC 均连接到总线矩阵上。当 CPU 与 DMAC 访问不同的 AHB 总线设备
或 AHB 桥时,数据传输可以同时进行。当 CPU 与 DMAC 访问同一总线设备或 AHB
桥时,CPU 的优先级高于 DMAC。即只有 CPU 释放 AHB 总线设备或 AHB 桥时,
DMAC 才可访问该 AHB 总线设备或 AHB 桥。
DMA requests
如果外设支持硬件 DMA request,则该 DMA 通道可以配置为硬件触发否则只能配
置为软件触发。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 376 of 854
15.4
功能描述
15.4.1 DMAC 传输模式概述
本 DMA 控制器支持 4 种传输模式,软件 Block 传输模式、软件 Burst 传输模式、硬件
Block 传输模式、硬件 Burst 传输模式。
4 种传输模式对比如下方表格所示:
对比条目
软件 Block 传输
软件 Burst 传输
硬件 Block 传输
硬件 Burst 传输
可以
不可以
可以
不可以
是否可以被更高优先级
DMA 通道或 CPU 打断
触发传输启动的条件
写 DMAC 寄存器
触发一次传输的数据量
( BC+1 ) * ( TC+1 )
外设中断标志
BC+1
( BC+1 ) * ( TC+1 )
( BC+1 ) * ( TC+1 )
配置后传输的总数据量
存储器到存储器
存储器到无 DMA 请求的外设
存储器到有 DMA
存储器到存储器
存储器到无 DMA
请求的外设
主要应用场景
有 DMA 请求的外
请求的外设
设到存储器
15.4.2 DMA 软件 Block 传输模式
当配置 DMAC_CONFAx.TRI_SEL=0,DMAC_CONFBx.MODE=0 时,DMAC 工作于
软件 Block 传输模式。
当用户代码向 DMAC_CONFAx.ST 写入 1,则触发 DAMC 启动软件 Block 传输模式;
DMA 传输完成( BC+1 ) * ( TC+1 )个数据后停止。每传输完成 BC+1 个数据之后,DMAC
插入一个传输间隙,优先级仲裁器在该间隙进行优先级仲裁。如在该间隙发现 CPU 或
更高优先 DMA 通道请求总线,则总线占有权转移给 CPU 或更高优先 DMA 通道;当
CPU 或更高优先 DMA 通道释放总线后,未完成的数据传输将继续完成。
软件 Block 传输示意如下所示,其中 SA 代表源地址,DA 代表目标地址;数据块大小
为 3(BC=2),数据块数量为 3(TC=2),数据宽度为 16bit,地址自增。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 377 of 854
CONFAx.ST
传输间隙
数据传输
BC
2
0
1
TC
2
0
1
2
2
0
1
0
1
SRCADR
SA
SA+2
SA+4
SA+6
SA+8
SA+10
SA+12 SA+14
SA+16
DSTADR
DA
DA+2
DA+4
DA+6 DA+8
DA+10
DA+12 DA+14
DA+16
15.4.3 DMA 软件 Burst 传输模式
当配置 DMAC_CONFAx.TRI_SEL=0,DMAC_CONFBx.MODE=1 时,DMAC 工作于
软件 Burst 传输模式。
当用户代码向 DMAC_CONFAx.ST 写入 1,则触发 DMAC 启动软件 Burst 传输模式;
DMA 传输完成( BC+1 ) * ( TC+1 )个数据后停止。该传输没有传输间隙,所有数据传
输完成之前,DMA 将一直占据总线, CPU 或更高优先 DMA 通道只能等待该操作完
成后才能访问总线。建议每次不要传输太多的数据,否则将可能造成 CPU 在一段时间
内完全不能工作。
软件 Burst 传输示意如下所示,其中 SA 代表源地址,DA 代表目标地址;数据块大小
为 3(BC=2),数据块数量为 3(TC=2),数据宽度为 16bit,地址自增。
CONFAx.ST
传输间隙
数据传输
BC
2
TC
1
0
2
2
1
1
0
2
1
0
0
SRCADR
SA
SA+2
SA+8 SA+10 SA+12 SA+14
SA+16
DSTADR
DA
DA+2 DA+4 DA+6 DA+8 DA+10 DA+12 DA+14
DA+16
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
SA+4
SA+6
Page 378 of 854
15.4.4 DMA 硬件 Block 传输模式
当配置 DMAC_CONFAx.TRI_SEL=非零,DMAC_CONFBx.MODE=0 时,DMAC 工作
于硬件 Block 传输模式。
每当外设 DMA request 信号出现一次,则触发 DMAC 启动一次硬件 Block 传输,传输
( BC+1 )个数据。需要出现( TC+1 )次外设 DMA request 信号,才能完成所有 DMA 数
据的传输。每完成 BC+1 个数据之后,DMAC 插入一个传输间隙,优先级仲裁器在该
间隙进行优先级仲裁。如在该间隙发现 CPU 或更高优先 DMA 通道也在请求总线,则
总线占有权转移给 CPU 或更高优先 DMA 通道;当 CPU 或更高优先 DMA 通道释放
总线后,未完成的数据传输将继续完成。
注意:
- 在该模式下,一般将 BC 设为 0,以实现从外设获取一个数据或提供一个数据给外
设。
DMA 支持的硬件 request 信号如下所示:
LPUARTx / UARTx 接收 Buf 非空、发送 Buf 空
SPIx 接收 Buf 非空、发送 Buf 空
TIMx 捕获完成、比较匹配
ADC 插队转换完成
ADC 顺序转换完成
LCD 定时中断
硬件 Block 传输示意如下所示,其中 SA 代表源地址,DA 代表目标地址;数据块大小
为 2(BC=1),数据块数量为 3(TC=2),数据宽度为 8bit,目标地址自增,源地址固
定,传输完成自动禁止。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 379 of 854
ENS
DMA Request
传输间隙
数据传输
BC
0
1
TC
2
0
1
0
1
SRCADR
DSTADR
0
1
SA
DA
DA+1
DA+2
DA+3 DA+4
DA+5
DA+6 DA+7
DA+8
15.4.5 DMA 硬件 Burst 传输模式
当配置 DMAC_CONFAx.TRI_SEL=非零,DMAC_CONFBx.MODE=1 时,DMAC 工作
于硬件 Burst 传输模式。
当外设 DMA request 信号出现时,则触发 DMAC 启动硬件 Burst 传输模式,传输完成
( BC+1 ) * ( TC+1 )个数据后停止。该传输没有传输间隙,所有数据传输完成之前,DMA
将一直占据总线, CPU 或更高优先 DMA 通道只能等待该操作完成后才能访问总线。
建议每次不要传输太多的数据,否则将可能造成 CPU 在一段时间内完全不能工作。
DMAC 支持的硬件 request 信号如下所示:
LPUARTx / UARTx 接收 Buf 非空、发送 Buf 空
SPIx 接收 Buf 非空、发送 Buf 空
TIMx 捕获完成、比较匹配
ADC 插队转换完成
ADC 顺序转换完成
LCD 定时中断
硬件 Burst 传输示意如下所示,其中 SA 代表源地址,DA 代表目标地址;数据块大小
为 3(BC=2),数据块数量为 3(TC=2),数据宽度为 8bit,源地址自增,目标地址固
定,传输完成自动禁止。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 380 of 854
ENS
DMA Request
传输间隙
数据传输
BC
2
TC
SRCADR
1
0
2
1
2
SA
0
2
SA+3
SA+4
DSTADR
0
0
1
SA+1 SA+2
1
SA+5
SA+6
SA+7
SA+8
DA
15.4.6 DMA 传输暂停
当 DMAC 工作于 Block 传输模式时,配置 DMAC_CONF.HALT 为非零值时,所有正
在传输的通道都将在传输间隔时进入暂停状态,不再进行数据传输。配置
DMAC_CONF.HALT 为 0 后,DMAC 需要收到下一次触发信号才会继续刚才未完成的
传输。配置 DMAC_CONFAx.PAS 为 1 时,x 相应的正在传输的通道将在传输间隔进入
暂停状态,不再进行数据传输。配置 DMAC_CONFAx.PAS 为 0 后,DMAC 需要收到
下一次触发信号才会继续刚才未完成的传输。
当 DMAC 工作于 Burst 传输模式且没有进行数据传输时,配置 DMAC_CONF.HALT 为
非零值,则 DMA 通道进入暂停状态,不再进行数据传输。配置 DMAC_CONF.HALT
为 0 后,DMAC 收到下一次触发信号时会启动一次新的完整传输。当 DMAC 工作于
Burst 传输模式且没有进行数据传输时,配置 DMAC_CONFAx.PAS 为 1 时,则 DMA
通道进入暂停状态,不再进行数据传输。配置 DMAC_CONFAx.PAS 为 0 后,DMAC
收到下一次触发信号时才会启动一次新的完整传输。
当 DMAC 工作于 Burst 传输模式且正在进行数据传输时,向 DMAC_CONF.HALT 写
入非 0 值或向 DMAC_CONFAx.PAS 写入 1 均不能暂停正在进行的传输;当前传输完
成后 DMA 通道也不会进入暂停态。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 381 of 854
15.4.7
DMA 其它配置
15.4.7.1 数据宽度
配置 DMAC_CONFBx.WIDTH,可以配置每个待传送的数据的宽度为 8bit、16bit、
32bit,注意该位宽应与 DMA 的源地址与目标地址的位宽完全一致。
15.4.7.2 数据块大小
配置 DMAC_CONFAx.BC,可以配置每个数据块待传送的数据个数为 1~16。注意,
BC 的值应当与源地址和目标地址所提供的连续操作次数相匹配。
如果源地址或目标地址一次只能提供或接收一个数据则 BC 只能配置为 0。例如 UART
/ LPUART / SPI 每次只能向 DMA 提供一个数据,UART / LPUART / SPI 每次只能从
DMA 接收一个数据,所以 BC 只能配置为 0。
如果源地址和目标地址均能提供或接收多个数据,则 BC 可以配置为更大的值,以加
快传输速度。例如从 FLASH 传输到 RAM 或从 FLASH 传输到 CRC,源地址和目标
地址都可以连续操作,故可以配置 BC 为 15 以实现快速传输。
15.4.7.3 数据块个数
配置 DMAC_CONFAx.TC,可以配置每次 DMA 启动后,传输出的数据块的个数为
1~65536。
15.4.7.4 通道优先级
当 DMAC_CONF.PRIO=0 时,DMAC 工作在固定优先模式下。此时 CH0 比 CH1 具
有更高的优先级,只有在 CH0 不进行数据传输时,CH1 才能进行数据传输。
当 DMAC_CONF.PRIO=1 时,DMAC 工作在循环优先模式下。此时 CH0 与 CH1 轮
流具有更高的优先级,两个通道将轮流占有总线以进行数据传输。
15.4.7.5 自动重装载
如果使能自动重装载功能则数据块大小、数据块个数、来源地址、目标地址在传输完
成后均自动装载为上一次配置的数值,不用每次进行配置。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 382 of 854
15.4.8 DMA 中断
DMA 支持两种类形的中断:传输出错和传输完成。当中断触发时,通过查询状态寄存
器 DMAC_CONFBx.STAT 就 可 以 判 断 是 什 么 条 件 触 发 了 中 断 , 通 过 对 寄 存 器
DMAC_CONFBx.STAT 清零就可以清除内置的中断状态标志位。
5 种触发 DMA 中断的条件如下:
传输地址超出寻址范围
外设请求停止 DMA
访问传输来源地址出错
访问传输目的地址出错
传输完成
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 383 of 854
15.5
寄存器
DMAC 基地址:0x4002 1000
寄存器
偏移地址
控制通道
描述
DMAC_CONF
0x00
ALL
所有通道配置寄存器
DMAC_CONFA0
0x10
CH0
通道0配置A寄存器
DMAC_CONFB0
0x14
CH0
通道0配置B寄存器
DMAC_SRCADR0
0x18
CH0
通道0传输源地址寄存器
DMAC_DSTADR0
0x1C
CH0
通道0传输目的地址寄存器
DMAC_CONFA1
0x20
CH1
通道1配置A寄存器
DMAC_CONFB1
0x24
CH1
通道1配置B寄存器
DMAC_SRCADR1
0x28
CH1
通道1传输源地址寄存器
DMAC_DSTADR1
0x2C
CH1
通道1传输目的地址寄存器
15.5.1 DMAC_CONF
偏移地址:0x00
复位值:0x0000 0000
31
30
29
28
27
26
25
EN
Res
PRIO
HALT
RW
R
RW
RW
24
23
22
21
20
19
18
17
16
2
1
0
Reserved
15
14
13
12
11
10
9
8
7
6
5
4
3
Reserved
位
标记
31
EN
功能描述
DMA控制器使能
1:使能DMA控制器
0:禁止DMA控制器
注意:当禁止DMA控制器时,将强制停止正在进行的传输,造成不可预知的结果。
30:29
Reserved
28
PRIO
DMA通道优先级配置
1:循环优先级模式,CH0和CH1轮流获取总线访问权
0:固定优先级模式,CH0优先级高于CH1优先级
27:24
HALT
DMA全部通道传输暂停控制
0000:恢复所有通道数据传输
xxxx:暂停所有通道数据传输
23:0
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 384 of 854
15.5.2 DMAC_CONFA0、DMAC_CONFA1
偏移地址:0x10(DMAC_CONFA0)
0x20(DMAC_CONFA1)
复位值:0x0000 0000
31
30
29
ENS
PAS
ST
28
27
26
25
24
23
22
21
20
19
18
TRI_SEL
17
16
1
0
BC
Reserved
RW
RW
RW
15
14
13
RW
12
11
10
9
RW
8
7
6
5
4
3
2
TC[15:0]
RW
位
标记
31
ENS
功能描述
DMA 通道使能控制
1:使能当前DMA通道;若CONFBx.MSK为0,则传输完成时该位自动清零
0:禁止当前DMA通道
注意:当禁止DMA通道时,将强制停止正在进行的传输,造成不可预知的结果。
30
PAS
DMA 通道数据传输暂停控制
1:暂停DMA通道数据传输
0:恢复DMA通道数据传输
29
ST
DMA 通道软件触发控制
1:触发 DMA 通道启动软件 Block / Burst 传输,传输完成时该位自动清零
0:停止 DMA 通道软件 Block / Burst 传输
28:22
TRI_SEL
DMA 通道触发源配置
0x00:软件触发
0x40:SPI0 接收 Buf 非空
0x41:SPI0 发送 Buf 空
0x42:SPI1 接收 Buf 非空
0x43:SPI1 发送 Buf 空
0x44:ADC 插队转换完成
0x45:ADC 顺序转换完成
0x46:LCD 定时中断
0x47:Reserved
0x48:UART0 接收 Buf 非空
0x49:UART0 发送 Buf 空
0x4A:UART1 接收 Buf 非空
0x4B:UART1 发送 Buf 空
0x4C:LPUART0 接收 Buf 非空
0x4D:LPUART0 发送 Buf 空
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 385 of 854
0x4E:LPUART1 接收 Buf 非空
0x4F:LPUART1 发送 Buf 空
0x50:Reserved
0x51:Reserved
0x52:TIM0 通道 A,发生捕获事件或比较事件
0x53:TIM0 通道 B,发生捕获事件或比较事件
0x54:TIM1 通道 A,发生捕获事件或比较事件
0x55:TIM1 通道 B,发生捕获事件或比较事件
0x56:TIM2 通道 A,发生捕获事件或比较事件
0x57:TIM2 通道 B,发生捕获事件或比较事件
0x58:TIM3 通道 A,发生捕获事件或比较事件
0x59:TIM3 通道 B,发生捕获事件或比较事件
0x5A:TIM4 通道 A,发生捕获事件或比较事件
0x5B:TIM4 通道 B,发生捕获事件或比较事件
0x5C:TIM5 通道 A,发生捕获事件或比较事件
0x5D:TIM5 通道 B,发生捕获事件或比较事件
0x5E:TIM6 通道 A,发生捕获事件或比较事件
0x5F:TIM6 通道 B,发生捕获事件或比较事件
21:20
Reserved
19:16
BC
Reserved
配置 DMA 通道待传输的数据块的大小为 BC+1
注意:当源址址或目标地址每隔一段时间才能提供或接收一个数据时,BC 值只可设为 0
15:0
TC
配置 DMA 通道待传输的数据块的数量为 TC+1
传输过程中,每传输完成一个数据块,该寄存器值自减 1
注意:DMA 传输的总数据量为( TC + 1 ) * ( BC + 1 )
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 386 of 854
15.5.3 DMAC_CONFB0、DMAC_CONFB1
偏移地址:0x14 (DMAC_CONFB0)
0x24 (DMAC_CONFB1)
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
14
19
ERR
FIS_
_IE
IE
MODE
WIDTH
FS
FD
RC
RS
RD
RW
RW
RW
RW
RW
RW
RW
RW
RW
9
8
7
6
5
4
3
Reserved
15
20
13
12
11
10
18
17
16
STAT
RW
2
1
0
MSK
Reserved
RW
位
标记
31:30
Reserved
29:28
MODE
功能描述
DMA通道传输模式配置
00:Block 传输
01:Burst 传输
10:Reserved
11:Reserved
27:26
WIDTH
DMA通道传输数据宽度配置
00:8bit
01:16bit
10:32bit
11:Reserved
25
FS
DMA通道源地址自增使能
1:源地址在传输过程中保持不变
0:每传输完成一个数据,源地址进行自增;
数据宽度为 8bit / 16bit / 32bit 所对应的自增量分别为 1 / 2 / 4
24
FD
DMA通道目标地址自增使能
1:目标地址在传输过程中保持不变
0:每传输完成一个数据,目标地址进行自增;
数据宽度为8bit / 16bit / 32bit所对应的自增量分别为1 / 2 / 4
23
RC
DMA通道BC和TC重载使能
1:使能 BC/TC 重载,传输完成后 BC/TC 的值自动恢复为写入的初值
0:禁止 BC/TC 重载,传输完成后 BC/TC 的值均为 0
22
RS
DMA通道源地址重载使能
1:使能源地址重载,传输完成后源地址的值为写入的初值
0:禁止源地址重载,传输完成后源地址的值不确定
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 387 of 854
21
RD
DMA通道目标地址重载使能
1:使能目标地址重载,传输完成后目标地址的值自动恢复为写入的初值
0:禁止目标地址重载,传输完成后目标地址的值不确定
20
ERR_IE
DMA通道传输错误中断使能
1:传输错误时,产生中断
0:传输错误时,禁止中断
注意:在中断服务程序中,需要对 STAT 写入 0x00 以清除中断状态
19
FIS_IE
DMA 通道传输完成中断使能
1:传输完成时,产生中断
0:传输完成时,禁止中断
注意:在中断服务程序中,需要对 STAT 写入 0x00 以清除中断状态
18:16
STAT
DMA通道当前传输状态
000:初始值
001:传输错误,传输地址超出寻址范围
010:传输错误,外设请求停止 DMA
011:传输错误,访问传输来源地址出错
100:传输错误,访问传输目的地址出错
101:传输完成
110:保留
111:传输暂停
15:1
Reserved
0
MSK
DMA 通道传输完成时自动禁能配置
1:DMA 通道传输完成时,CONFAx.ENS 保持不变
0:DMA 通道传输完成时,CONFAx.ENS 自动清零
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 388 of 854
15.5.4 DMAC_SRCADR0、DMAC_SRCADR1
偏移地址:0x18(DMAC_SRCADR0)
0x28(DMAC_SRCADR1)
复位值: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
SRCADR[31:16]
RW
15
14
13
12
11
10
9
8
7
SRCADR[15:0]
RW
位
标记
31:0
SRCADR
功能描述
DMA 通道源地址配置
可通过 CONFBx.RS 配置其自动重载
注意:地址对齐方式应与数据宽度相匹配,否则会造成地址访问出错
15.5.5 DMAC_DSTADR0、DMAC_DSTADR1
偏移地址:0x1C(DMAC_DSTADR0)
0x2C(DMAC_DSTADR1)
复位值: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
DSTADR[31:16]
RW
15
14
13
12
11
10
9
8
7
DSTADR[15:0]
RW
位
符号
31:0
DSTADR
描述
DMA 通道目标地址配置
可通过 CONFBx.RD 配置其自动重载
注意:地址对齐方式应与数据宽度相匹配,否则会造成地址访问出错
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 389 of 854
16
通用定时器(TIM0/1/2/3)
16.1
通用定时器简介
TIM0/1/2 是分别由 1 个计数单元和 2 个比较单元组成的定时器。每个定时器支持 2 个
独立 PWM 输出或 1 对互补 PWM 输出和 1 个独立 PWM 输出。支持 2 个捕获输入。
TIM0/1/2 可以组成 3 对互补 PWM 输出。
TIM3 是由 1 个计数单元和 6 个比较单元组成的定时器,支持 6 个独立 PWM 输出或 3
对互补 PWM 输出。支持 6 个捕获输入。
使用定时器预分频、系统预分频器和系统时钟选择,可灵活的调整脉冲宽度和波形周
期;可以方便的测量脉冲宽度。
16.1.1 基本特性(TIM0/1/2)
2 路独立 PWM 输出 CHA,CHB,
1 路互补 PWM 输出(CHA,CHB)+1 路独立 PWM 输出(gate)
1 路互补 PWM 输出(CHA,CHB)+1 路捕获功能(gate)
最多 2 路捕获输入
脉冲宽度测量
死区控制
刹车控制
边沿对齐、对称中心对齐与非对称中心对齐 PWM 输出
正交编码计数功能
单脉冲模式
外部计数功能
DMA 触发
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 390 of 854
CR.CT
Period reload
ARR
pclk
ETR
GATE
PRS
Flt
pol
xor
BK
Edge
det
MS
ctrl
clk
counter
M
U
X
trgo
trig
Gate
ctrl
CHA
CHB
M
U
X
IAFP
IBFP
Flt/
pol
Edge
det
Capture /compare
OCRREA
Flt/
pol
Edge
det
Capture /compare
OCRREB
flt
pol
DTG
Output
control
CHA
Output
control
CHB
Output
control
GATE
图 16-1 TIM0/1/2 框图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 391 of 854
16.1.2 基本特性(TIM3)
6 路独立 PWM 输出 CH0A,CH0B, CH1A,CH1B, CH2A,CH2B
3 路互补 PWM 输出(CHxA,CHxB)+1 路独立 PWM 输出(gate)
3 路互补 PWM 输出(CHxA,CHxB)+1 路捕获功能(gate)
最多 6 路捕获输入
脉冲宽度测量
死区控制
刹车控制
边沿对齐、对称中心对齐与非对称中心对齐 PWM 输出
正交编码计数功能
单脉冲模式
外部计数功能
DMA 触发
CR.CT
Period reload
ARR
pclk
ETR
PRS
M
U
X
Edge
det
MS
ctrl
clk
counter
M
U
X
trgo
trig
ETFP
GATE
Gate
ctrl
CH0A
IA0FP
IB0FP
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
Edge
det
Capture /compare
flt
Pol
OCRRE0A
DTG
xor
CH0B
CH1A
CH1B
CH2A
CH2B
BK
OCRRE0B
OCRRE1A
DTG
OCRRE1B
OCRRE2A
OCRRE2B
DTG
Output
control
CH0A
Output
control
CH0B
Output
control
CH1A
Output
control
CH1B
Output
control
CH2A
Output
control
CH2B
Output
control
GATE
图 16-2 TIM3 框图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 392 of 854
16.2
Timer 功能描述
16.2.1 定时计数器
可编程通用定时器的主要模块是一个 16 位计数器及其相关的自动重载寄存器。计数
器可递增计数、递减计数或交替进行递增和递减计数。计数器的时钟可通过预分频器
进行分频。
计数器、自动重载寄存器和预分频器寄存器可通过软件进行读写。即使在计数器运行
时也可执行读写操作。
16.2.2 定时器预除频
使用 PCLK 做为 Timer 定时器时钟时,可以使用预分频。预分频设置如下:
PRS
000
001
010
011
100
101
110
111
分频比
1
2
4
8
16
32
64
256
预分频器没有预装载缓存,因此对预分频进行更改,预分频将会立刻生效。
16.2.3 模式 0 计数定时器功能
这种模式下,计数器向上计数。计数器支持两种计数模式,重载模式与自由计数模式,
可以选择外部时钟 ETR 计数或系统时钟计数。门控 Gate 可以控制计数屏蔽。计数到
最大值溢出产生中断。翻转输出端口 CHA,CHB,这种模式下 CHA,CHB 反相。
重载模式计数范围从 ARR 向上计数到 0xFFFF 溢出,然后从 ARR 再开始计数,计数
周期为 0Xffff-ARR+1;自由计数模式从设置计数值计数到 0xFFFFFFFF 后溢出,溢出
后计数值从 0x0 重新开始计数。
计数器可用通过外部门控功能控制计数器是否计数。控制关系如下
M0CR.GATE
M0CR.GATEP
端口 GATE 输入
M0CR.CTEN
计数器
x
x
x
0
不计数
0
x
x
1
计数
1
0
高电平
1
计数
1
0
低电平
1
不计数
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 393 of 854
1
1
高电平
1
不计数
1
1
低电平
1
计数
16.2.3.1 功能框图
Prs[2:0]
Pclk
自由计数模式
Pre_cnt
C/T=0
ETR
C/T=1
CNT(32bit)
TF
interrupt
CR.CTEN
CR.gate
Gate
TOG
TOGN
CR.Gate_p
Dbg_active
图 16-3 自由计数框图
Prs[2:0]
Pclk
重载模式
Pre_cnt
C/T=0
ETR
C/T=1
CNT(16bit)
TF
interrupt
CR.CTEN
CR.gate
Gate
ARR(16bit)
TOG
TOGN
CR.Gate_p
Dbg_active
图 16-4 重载计数波形
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 394 of 854
16.2.3.2 计数波形
CNT[15:0]
0XFFFF
ARR
0X0000
T
CR.CTEN
图 16-5 16位重载计数波形
0XFFFFFFFF
CNT32[31:0]
0X00000000
T
CR.CTEN
图 16-6 32位自由计数波形
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 395 of 854
16.2.3.3 计数功能
计数功能用于测定某个事件发生的次数。在计数功能中,计数器在每个相应的输入时
钟的下降沿累加一次。输入信号被内部的 Pclk 采样,因此外部输入时钟频率不能超过
系统的 Pclk 时钟。计数到最大值会溢出并且产生中断。中断标志需要软件清除。
16.2.3.4 定时功能
定时功能用于产生间隔定时。在定时功能中,定时器有预除频,定时器在每个预除频
的一个时钟累加一次,计数到最大值会溢出并且产生中断。中断标志需要软件清除。
16.2.3.5 时序图
自由计数(max=0xFFFF_FFFF)
pclk
CTEN
T+1
T
Count(32)
T+2
T+3
T+4
...
max
0
1
2
...
...
0
max
1
2
...
...
max
0
1
2
...
ovt
UIF
TOG
Soft clear
图 16-7 自由计数时序图
重载计数(max=0xFFFF)
pclk
CTEN
pre
Count(16)
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
ovt
UIF
TOG
Soft clear
图 16-8 重载计数时序图(预分频设置为2)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 396 of 854
16.2.3.6 Buzzer 功能
通过定时器的翻转输出功能可以实现驱动 Buzzer 的功能。使用 toggle 输出需要使能
DTR.MOE 控制位。设置 CR.TOG_EN 为 0 可以同时设置端口 CHA,CHB 输出为 0。
在计数时钟为 4M 情况下 Buzzer 输出不同频率的 timer 重载模式配置如下:
Buzzer 频率
计数器周期
计数器计数值
计数器重载值
CNTL 初始值
CNTH 重载值
1000Hz
0.5ms
2000
63536
0XF830
0XF830
2000Hz
0.25ms
1000
64536
0XFC18
0XFC18
4000Hz
0.125ms
500
65036
0XFE0C
0XFE0C
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 397 of 854
16.2.3.7 设置示例
重载定时器设置
1. 设置定时器模式 M0CR.MODE=0
2. 设置装载值 ARR
3. 设置计数器初值 CNT
4. 清除中断标志
5. 使能中断 M0CR.UIE
6. 使能重载模式 M0CR.MD
7. 开启定时器 M0CR.CTEN
门控外部时钟自由计数设置
1. 设置定时器模式 M0CR.MODE=0
2. 设置计数器初值 CNT
3. 使能门控功能 M0CR.GATE
4. 选择门控有效电平 M0CR.GATEP
5. 清除中断标志
6. 使能中断 M0CR.UIE
7. 使能外部时钟模式 M0CR.CT
8. 开启定时器 M0CR.CTEN
BUZZER 输出控制
1. 根据输出频率设置合适的 ARR 值
2. 设置定时器为重载模式,参考重载定时器设置
3. 使能输出使能 DTR.MOE
4. 启动另外一个定时器控制 M0CR.TOGEN 实现频率的间隔输出。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 398 of 854
16.2.4 模式 1 脉宽测量 PWC
这种模式下可以自动测量输入脉冲的高电平低电平或者周期宽度。
第一个有效边沿计数器初始化为 0x0001,第二个有效边沿将停止计数,并将当前计数
值存入 CMAR,并且产生捕获中断 CAF,如果计数器发生溢出,会产生溢出标志。设
置溢出中断使能会产生溢出中断。
M1CR.edg1st
0
0
1
1
M1CR.edg2nd
0
1
0
1
脉宽测量
上沿~上沿
上沿~下沿
下沿~上沿
下沿~下沿
周期宽度
高电平宽度
低电平宽度
周期宽度
周期测量时,会间隔一个周期测量一个周期。
16.2.4.1 PWC 功能框图
Edge
sel
counter
MSCR.TS
ITR
Edge
det
Edge
sel
CCR
图 16-9
MSCR.TS
PWC测量框图
触发选择
000:端口ETR的滤波相位选择后的信号ETFP ;
001:内部互联信号 ITR0
010:内部互联信号 ITR1;
011:内部互联信号 ITR2;
100:内部互联信号 ITR3;
101:无效
110:端口CH0A的滤波后的信号IAFP(极性选择在脉宽测量模式下无效)
111:端口CH0B的滤波后的信号IBFP(极性选择在脉宽测量模式下无效)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 399 of 854
16.2.4.2 PWC 波形测量时序图
CNT[15:0]
0XFFFF
0X0001
CTEN
IN
UIF
CAF
图 16-10 高电平脉冲宽度测量
CNT[15:0]
0XFFFF
0X0001
CTEN
IN
UIF
CAF
图 16-11
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
下降沿到下降沿周期测量
Page 400 of 854
CNT[15:0]
0XFFFF
0X0001
CTEN
IN
UIF
CAF
图 16-12 上升沿到上升沿周期测量
通过寄存 MSCR.TS 选择测量信号源。
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 输出
101 IA0ED: 无效
110 IAFP:
CH0A 外部输输入滤波后的相位选择信号,可选择外部滤波与输入反向
111 IBFP:
CH0B 外部输输入滤波后的相位选择信号,可选择外部滤波与输入反向
ITR0
ITR1
ITR2
ITR3
Timer0
-
TIM1_TRGO
TIM2_TRGO
TIM3_TRGO
Timer1
TIM0_TRGO
-
TIM2_TRGO
TIM3_TRGO
Timer2
TIM0_TRGO
TIM1_TRGO
-
TIM3_TRGO
Timer3
TIM0_TRGO
TIM1_TRGO
TIM2_TRGO
-
注:关于 TRGO 输出参考寄存器描述
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 401 of 854
16.2.4.3 PWC 单次触发模式
设置 M1CR.ONESHOT=1 可以设置 PWC 单次测量,测量完成后 CTEN 将被清除。
CNT[15:0]
0XFFFF
0X0001
CTEN
IN
UIF
CAF
图 16-13 上升沿到上升沿周期测量单次模式
16.2.4.4 设置示例
脉冲低电平测量设置
1. 设置为脉冲测量模式 M1CR.MODE=1
2. 设置 MSCR.TS 选择测量的信号
3. 设置 M1CR.edg2dn=0,M1CR.edg1st=1 选择测量低电平
4. 清除中断标志
5. 使能溢出中断 M1CR.UIE
6. 使能测量结束中断 CR0.CIEA
7. 使能定时器 M1CR.CTEN
8. 中断服务程序中读取 CCR0A 及溢出次数并清除中断标志
9. 等待下次测量
脉冲高电平单次测量设置
1.
设置为脉冲测量模式 M1CR.MODE=1
2.
设置 MSCR.TS 选择测量的信号
3.
设置脉冲单次测量模式 M1CR.ONESHOT=1
4.
设置 M1CR.edg2dn=1, M1CR.edg1st=0 选择测量低电平
5.
清除中断标志
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 402 of 854
6.
使能溢出中断 M1CR.UIE
7.
使能测量结束中断 CR0.CIEA
8.
使能定时器 M1CR.CTEN
9.
中断服务程序中读取 CCR0A 及溢出次数并清除中断标志
10. 测量结束
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 403 of 854
16.2.5 模式 2/3 比较捕获模式
16.2.5.1 计数器
Period reload
ARR
RW
PCLK
ETR
flt
FLT.FLTET
ETR
CH0A
CH0B
ARR buffer
Prs
flt
FLT.FLTET
FTL.FLTA0
FTL.FLTB0
Level
Sel
nedg
gen
FLT.ETP
clk
CR.CT
Ov/ud
RCR
uev
Pedg
gen
Level
Sel
FLT.ETP
FTL.CCPA0
FLT.CCPB0
counter
MSCR.SMS=3
MSCR.TS
图 16-14 计数器框图
计数器主要部分是一个 16 位计数器与相关的自动装载寄存器。这个计数器可以向上计
数(模式 2),向下计数(模式 2)或向上向下双向计数(模式 3)。计数器的时钟可以
由预分频器 PRS 分频得到,也可以选择 ETR 输入外部时钟或者通过 MSCR.TS 选择的
外部输入信号和内部互联信号。
计数器基本单元包括:
计数器寄存器 CNT
预分频寄存器 CR.PRS
自动装载寄存器 ARR
重复次数寄存器 RCR
时钟选择控制寄存器 FLT,CR0,MSCR,CR
自动装载寄存器具有缓存功能,计数器产生事件更新后重载值从缓存寄存器更新到计
数器。当计数器停止状态或者缓存功能关闭状态,自动装载寄存器立刻更新到缓存寄
存器。当定时器处于运行状态并行缓存功能有效时,写入到自动装载寄存器的值不会
立刻更新到缓存寄存器,当事件更新后才有自动装载寄存器更新到缓存寄存器。
时钟选择及门控功能,触发功能,复位功能参考模式 2/3 从模式章节。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 404 of 854
16.2.5.2 计数器波形
模式 2 为锯齿波计数波形,通过设置 CR.DIR 可以更改计数方向。
设置 CR.DIR 为 0 时,计数器为递增计数模式,这种模式下,计数器从 0 计数到自动
重载值(TIMx_ARR),然后重新 从 0 开始计数并生成计数器上溢事件。如果使用重
复计数器,则当递增计数的重复次数达到重复计数器寄存器中编程的次数加一次
(TIMx_RCR+1) 后,将生成更新事件 (UEV)。否则,将在每次计数器上溢时产生更新
事件。
将 TIMx_CR 寄存器的 UG 位置 1(通过软件或使用从模式控制器)时,也将产生更
新事件。
发生更新事件时,将更新所有寄存器且将更新标志(TIMx_IFR 寄存器中的 UIF 位)
置 1(取决于 URS 位):
⚫
自动重载缓存值将以 ARR 寄存器值进行更新
⚫
比较缓存值将以比较寄存器 CCRxy 进行更新
以下图示显示 ARR=0X2C 时不同计数方向的计数器波形
clk
cten
count
29
2A
2B
2C
0
1
2
3
4
5
overlow
uev
UIF
图 16-15 无预分频的向上计数
计数溢出周期时钟个数为 ARR+1,
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 405 of 854
clk
cten
count
2A
2B
2C
0
1
2
3
4
overlow
uev
UIF
图 16-16 带预分频的上计数
clk
cten
count
3
2
1
0
2c
2b
2a
29
28
27
overlow
uev
UIF
图 16-17 不带预分频的下计数
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 406 of 854
clk
cten
count
2
1
0
2C
2B
2A
29
28
overlow
uev
UIF
图 16-18 带预分频的下计数
clk
cten
count
2A
2B
2C
2B
2A
2
1
0
1
2
3
overlow
underflow
uev
UIF
图 16-19 带预分频的上下计数
CNT[15:0]
FFFFH
ARR
0000H
T
CR.CTEN
图 16-20 边沿对齐计时器波形( DIR =1)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 407 of 854
CNT[15:0]
FFFFH
ARR
0000H
T
CR.CTEN
图 16-21 边沿对齐计时器波形( DIR =0)
模式 3 为三角波计数波形,计数方向控制位只读,不可以更改计数方向。
中心对齐(三角波)模式下 CR.DIR 方向位是只读的。写值无效。从其他模式切换到
中心对齐模式 DIR 自动清 0。
FFFFH
CNT[15:0]
ARR
0000H
T
CR.CTEN
图 16-22 中心对齐计数器波形
16.2.5.3 重复计数
重复计数器使用计数器的溢出进行向下计数。计数到 0 时,即计数器发生重复寄存器
设置的值加一次溢出时。当缓存寄存器使能时,周期重载寄存器更新到周期缓存寄存
器。比较模式下比较寄存的值更新到比较缓存寄存中。
重复计数器在下面条件成立时递减
上计数模式下每次计数器溢出时
下计数模式下每次计数器下溢时
三角波模式下每次上溢出和每次下溢出时
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 408 of 854
边沿对齐上计数
中心对齐
count
边沿对齐下计数
RCR=0
UEV
RCR=1
UEV
RCR=2
UEV
RCR=3
UEV
RCR=4
UEV
图 16-23 重复计数器产生更新时序
除了上下溢出通过重复计数器可以产生事件更新 UEV 外,还可以通过写寄存器 CR.UG
产生软件及从模式复位事件更新 UEV;这时需要配置 CR.URS。
16.2.5.4 数据缓存
自动重载数据 ARR 与比较寄存器都可以配置缓存功能,当缓存功能有效时,当发生
UEV 事件更新时,写入的周期值 ARR 与比较值 CCR 才会生效。
自动重载值在不同计数模式下的更新时序图如下:
0xA00
0x800
0x600
CTEN
UEV
ARR
ARRBUF
0x800
0xA00
0x800
0x600
0xA00
0x600
图 16-24 三角波模式下缓存使能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 409 of 854
0xA00
0x800
0x600
CTEN
UEV
0x800
0xA00
0x600
ARRBUF 0x800
0xA00
0x600
ARR
图 16-25 三角波模式下缓存无效
0xA00
0x800
0x600
CTEN
UEV
ARR
ARRBUF
0x800
0xA00
0x800
0x600
0xA00
0x600
图 16-26 锯齿波模式下上计数缓存使能
0xA00
0x800
0x600
CTEN
UEV
0x800
0xA00
0x600
ARRBUF 0x800
0xA00
0x600
ARR
图 16-27 锯齿波模式下上计数缓存无效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 410 of 854
0xA00
0x800
0x600
CTEN
UEV
0x800
ARR
ARRBUF
0xA00
0x800
0x600
0xA00
0x600
图 16-28 锯齿波模式下计数缓存使能
0xA00
0x800
0x600
CTEN
UEV
0x800
0xA00
0x600
ARRBUF 0x800
0xA00
0x600
ARR
图 16-29 锯齿波模式下计数缓存无效
在三角波模式与锯齿波上计数模式时,如果缓存不使能,更改的 ARR 时,当前计数器
的值要小于要更改的 ARR 周期值,否则当前周期会计数到 0XFFFF。
比较缓存与周期缓存更新状态一致,这里不一一列出时序图。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 411 of 854
0x800
0x600
0x400
CTEN
UEV
ARR
0x800
CCR
0x600
0x400
0x600
0x400
CCRBUF 0x600
0x600
OCREF
图 16-30 锯齿波模式下计数比较缓存使能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 412 of 854
16.2.5.5 比较输出 OCREF
比较输出 OCREFA 可以配置为单点比较,使用比较寄存器 CCRA 控制 OCREFA 的输
出;OCREFA 的比较输出也可以配置为双点比较,使用比较寄存器 CCRA,CCRB 一起
控制 OCREFA 的比较输出。
OCREFB 的比较输出只能使用单点比较,使用比较寄存器 CCRB 控制 OCREFB 的比
较输出。
CR.OCCS
ForceA
CCPA
REF_CLR
ETFP
CNT>CCRA
CNT=CCRA
Output mode
ctrl
CNT>CCRB
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
CNT=CCRB
OCREFB
OCMx=000/001时为强制输出(Forcex)
FLT.OCMB
图 16-31 OCREF 输出框图
OCREF 输出使用 OCMx 选择
000:强制为 0
001:强制为 1
010:比较匹配时强制为 0
011:比较匹配时强制为 1
100:比较匹配时翻转
101:比较匹配时输出一个计数周期的高电平
110:PWM 模式 1
单点比较:
上计数时 CNTCCRxy 输出为低电平
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 413 of 854
双点比较:
1)锯齿波上计数 CCRxACCRA
CNT=CCRA
Output mode
ctrl
CNT>CCRB
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
CNT=CCRB
OCREFB
OCMx=000/001时为强制输出(Forcex)
FLT.OCMB
图 16-39 互补 PWM 输出框图
OCREFA
CHA
CHB
图 16-40 互补PWM输出波形图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 417 of 854
16.2.5.8 有死区的 PWM 输出
在互补 PWM 输出模式下可以设置死区功能。
OCREFA
CHA
dt
CHB
dt
dt
dt
dt
图 16-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
T
1010
506
256
129
2
0x7F
0xBF 0xDF 0xFF
DTR
100M clock 死区时间由2.56us调整为10.1us
图 16-42 死区时间
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 418 of 854
16.2.5.9 单脉冲输出
单脉冲模式 (ONE SHOT) 是上述 PWM 模式的一个特例。在这种模式下,计数器可以
在一个激励信号的触发下启动,并可在一段可编程的延时后产生一个脉宽可编程的脉
冲。
可以通过从模式控制器启动计数器。可以在输出比较模式或 PWM 模式下生成波形。
将
TIMx_M23CR 寄存器中的 ONESHOT 位置 1,即可选择单脉冲模式。这样,发生下
一更新事件 UEV 时,计数器将自动停止。
单脉冲模式在锯齿波下计数模式计数器初值不要设置为 0,上计数模式计数值不要设置
到大于等于 ARR。
只有当比较值与计数器初始值不同时,才能正确产生输出脉冲。启动前(定时器等待
触发时),必须进行如下配置:
⚫
递增计数时:CNT1时有
效),下一个uev事件后继续比较输出
15
CSG
GATE 在PWM互补模式下捕获/比较选择; (只有在PWM互补输出时有效)
使用CCR0B作为GATE的比较或捕获通道
1:捕获;
0:比较
14
Oneshot
单次触发模式选择
1:发生事件更新后定时器停止。
0:循环计数
13:12
11
MODE
UDE
工作模式
00 定时器模式0;
01 PWC模式
10 锯齿波模式;
11三角波模式
更新DMA使能
1:使能更新触发DMA
0:禁止更新触发DMA
10
UIE
UIE 更新中断使能
1:使能更新中断
0:禁止更新中断
9
CFG
GATE作为捕获输入时,下沿捕获有效控制(只有在PWM互补输出时有效)
1:下沿捕获有效
0:下沿捕获无效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 453 of 854
8
CRG
GATE作为捕获输入时,上沿捕获有效控制(只有在PWM互补输出时有效)
1:上沿捕获有效
0:上沿捕获无效
7
BUFPEN
重载缓存使能
1:周期缓存使能,写入后下个事件更新后才影响到周期值。
0:周期缓存无效,写入后立刻影响周期值
6:4
PRS
内部时钟分频选择
000:1;
100:16;
3
PWM2S
001:2;
101:32;
010:4;
110:64;
011:8;
111:256;
OCREFA双点比较选择(缺省值为1)
0:双点比较使能,使用CCRA,CCRB比较控制OCREFA输出
1:单点比较使能,只使用CCRA比较控制OCREFA输出
注:OCREFB不受影响,仍然使用CCRB控制OCREFB输出
2
CT
计数时钟选择
0: 内部计数时钟PCLK
1: 外部计数时钟ETR;
1
Comp
PWM互补输出模式选择
0:独立PWM输出
1:互补PWM输出
0
CTEN
定时器使能
0:禁止;
1:使能
可以外部触发使能,在oneshot模式下结束时该位自动清零
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 454 of 854
16.6.4 中断标志寄存器(TIMx_IFR)
偏移地址:0x010
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
0
Reserved
15
14
13
12
11
10
9
8
7
6
5
4
3
2
TIF
BIF
CB2E
CB1E
CB0E
CA2E
CA1A
CA0E
CB2F
CB1F
CB0F
CA2F
CA1F
CA0F
UIF
Res.
RO
RO
RO
RO
RO
RO
RO
RO
位
符号
描述
31:16
Reserved
保留位
15
TIF
触发中断标志
14
BIF
刹车中断标志
13
CB2E
通道CH2B捕获数据丢失标志
RO
RO
RO
RO
RO
RO
0:无数据丢失;1:数据丢失(仅TIM3存在)
12
CB1E
通道CH1B捕获数据丢失标志
0:无数据丢失;1:数据丢失(仅TIM3存在)
11
CB0E
通道CH0B捕获数据丢失标志
0:无数据丢失;1:数据丢失
10
CA2E
通道CH2A捕获数据丢失标志
0:无数据丢失;1:数据丢失(仅TIM3存在)
9
CA1E
通道CH1A捕获数据丢失标志
0:无数据丢失;1:数据丢失(仅TIM3存在)
8
CA0E
通道CH0A捕获数据丢失标志
0:无数据丢失;1:数据丢失
7
CB2F
通道CH2B发生捕获/比较匹配标志
0:没有发生 1:发生(仅TIM3存在)
6
CB1F
通道CH1B发生捕获/比较匹配标志
0:没有发生 1:发生(仅TIM3存在)
5
CB0F
通道CH0B发生捕获/比较匹配标志
0:没有发生 1:发生
4
CA2F
通道CH2A发生捕获/比较匹配标志
0:没有发生 1:发生(仅TIM3存在)
3
CA1F
通道CH1A发生捕获/比较匹配标志
0:没有发生 1:发生(仅TIM3存在)
2
CA0F
通道CH0A发生捕获/比较匹配标志
0:没有发生 1:发生
1
Res.
保留位
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 455 of 854
RO
0
UIF
事件更新中断标志
0:没有发生 1:发生
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 456 of 854
16.6.5 中断标志清除寄存器(TIMx_ICLR)
偏移地址:0x014
复位值: 0x0000 FFFF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
0
Reserved
15
14
13
12
11
10
9
8
7
6
5
4
3
2
TIF
BIF
CB2E
CB1E
CB0E
CA2E
CA1A
CA0E
CB2F
CB1F
CB0F
CA2F
CA1F
CA0F
UIF
Res.
R1W0
R1W0
R1W0
R1W0
R1W0
R1W0
R1W0
R1W0
R1W0
R1W0
R1W0
R1W0
位
符号
描述
31:16
REV
保留位
15
TIF
触发中断标志清除,写0清除
14
BIF
刹车中断标志清除,写0清除
13
CB2E
通道CH2B捕获数据丢失标志清除,写0清除(仅TIM3存在)
12
CB1E
通道CH1B捕获数据丢失标志清除,写0清除(仅TIM3存在)
11
CB0E
通道CH0B捕获数据丢失标志清除,写0清除
10
CA2E
通道CH2A捕获数据丢失标志清除,写0清除(仅TIM3存在)
9
CA1E
通道CH1A捕获数据丢失标志清除,写0清除(仅TIM3存在)
8
CA0E
通道CH0A捕获数据丢失标志清除,写0清除
7
CB2F
通道CH2B捕获/比较匹配标志清除,写0清除(仅TIM3存在)
6
CB1F
通道CH1B捕获/比较匹配标志清除,写0清除(仅TIM3存在)
5
CB0F
通道CH0B捕获/比较匹配标志清除,写0清除
4
CA2F
通道CH2A捕获/比较匹配标志清除,写0清除(仅TIM3存在)
3
CA1F
通道CH1A捕获/比较匹配标志清除,写0清除(仅TIM3存在)
2
CA0F
通道CH0A捕获/比较匹配标志清除,写0清除
1
Res.
保留
0
UIF
事件更新中断清除,写0清除
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
R1W0
R1W0
Page 457 of 854
R1W0
16.6.6 主从模式控制寄存器(TIMx_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
15
14
Resverved
13
12
11
10
IB0S
IA0S
SMS
TS
MSM
CCDS
MMS
RW
RW
RW
RW
RW
RW
RW
位
符号
描述
31:13
Res
保留位
12
IB0S
CH0B 输入选择
0:CH0B;
9
8
7
1:内部触发TS选择信号;
注:当PWM互补输出时自动选择GATE端口作为CH0B的输入
11
IA0S
IA0 输入选择
0: CH0A;
1: CH0A CH1A CH2A XOR(TIM3)
0: CH0A;
1: CH0A ETR GATE XOR(TIM0)
注:设置为1后端口的任意一个端口变化将导致输入变化
10:8
SMS
从模式功能选择
000: 使用内部时钟;
001: 复位功能;
010: 触发模式;
011: 外部时钟模式
100: 正交编码计数模式1 ;
101: 正交编码计数模式2;
110: 正交编码计数模式3;
111: 门控功能
7:5
TS
触发选择
000:端口ETR的滤波相位选择后的信号ETFP ;
001:内部互联信号 ITR0
010:内部互联信号 ITR1;
011:内部互联信号 ITR2;
100:内部互联信号 ITR3;
101:端口CH0A的边沿信号;
110:端口CH0A的滤波相位选择后的信号IAFP
111:端口CH0B的滤波相位选择后的信号IBFP;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 458 of 854
4
MSM
主从选择
0:无延时
1:延时使能,使主送计数器同时启动.
注:使用触发模式时,从模式设置为0,主模式设置为1,可以使主从计数同时启动
3
CCDS
比较模式下 DMA 比较触发选择;
0 :比较匹配触发DMA;
1: 比较匹配不触发DMA,事件更新代替比较匹配触发DMA
2:0
MMS
主模式输出选择,用于内部互联,连接到其他定时器的ITRx
定时器0/1/2
定时器3
000:软件更新UG,写CR.UG
000:软件更新UG,写CR.UG
001:定时器使能CTEN
001:定时器使能CTEN
010:定时器事件更新UEV;
010:定时器事件更新UEV;
011:比较匹配选择输出CMPSO;
011:比较匹配选择输出CMPSO;
100:定时器比较参数输出OCREF0A
100:定时器比较参数输出OCREF0A
101:定时器比较参数输出OCREF0B
101:定时器比较参数输出OCREF1A
110:定时器比较参数输出OCREF0B
110:定时器比较参数输出OCREF2A
111:定时器比较参数输出OCREF0B
111:定时器比较参数输出OCREF0B
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 459 of 854
16.6.7 输出控制/输入滤波(TIMx_FLTR)
偏移地址:0x01C
复位值:0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
ETP
FLTET
BKP
FLTBK
CCPB2
OCMB2
CCPA2
OCMA2
-
-
-
-
-
FLTB2
-
FLTA2
RW
RW
RW
RW
RW
RW
RW
RW
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
CCPB1
OCMB1
CCPA1
OCMA1
CCPB0
OCMB0
CCPA0
OCMA0
-
FLTB1
-
FLTA1
CCPB0
FLTB0
CCPA0
FLTA0
RW
RW
RW
RW
RW
RW
RW
RW
位
符号
描述
31
ETP
ETR 输入相位选择
16
0
0:同相位;
1:反向输入;
30:28
FLTET
ETR滤波控制
滤波设置
0xx:滤波无效
100:pclk 3个连续有效;
101:pclk/4 3个连续有效
110:pclk/16 3个连续有效;
111:pclk/64 3个连续有效
27
BKP
刹车BK输入相位选择
0:同相位;
1:反向输入;
26:24
FLTBK
刹车输入滤波控制
滤波设置
0xx:滤波无效
100:pclk 3个连续有效;
101:pclk/4 3个连续有效
110:pclk/16 3个连续有效;
111:pclk/64 3个连续有效
注:为了保证OCMB0的PWM输出设置,GATE 在PWM互补模式下作为捕获输入,滤
波设置无效。
23
CCPB2
比较功能:CH2B通道比较输出相位控制
0:正常输出;
1:反向输出
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 460 of 854
22:20
19
OCMB2
比较功能:CH2B通道比较控制;参考OCMB0
FLTB2
捕获功能:CH2B输入通道滤波设置,参考FLTBK
CCPA2
比较功能:CH2A通道比较输出相位控制
0:正常输出;
1:反向输出
18:16
15
OCMA2
比较功能:CH2A通道比较控制;参考OCMB0
FLTA2
捕获功能:CH2A输入通道滤波设置,参考FLTBK
CCPB1
比较功能:CH1B通道比较输出相位控制
0:正常输出;
1:反向输出
14:12
11
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:正常输入;
1:反向输入
6:4
OCMB0
比较功能:CH0B通道比较控制
FLTB0
000:强制为0
001:强制为1
010:比较匹配时强制为0
011:比较匹配时强制为1
100:比较匹配时翻转
101:比较匹配时输出一个计数周期的高电平
110:PWM 模式1
单点比较:
上计数时CNTCCRxy输出为低电平
双点比较:
1)锯齿波上计数 CCRxAGCMAR);捕获输入功能时:
(GCMAR->GCMCR)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 548 of 854
19.3.11 死区控制寄存器(TIMx_DCONR)
地址偏移量:0x060
复位值: 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
Reserved
位
标记
功能
31:9
Reserved
-
8
SEPA
分离设定
8
7
SEPA
RW
Reserved
DTCEN
RW
0:DTUAR 和 DTDAR 分别设定
1:DTDAR 的值和 DTUAR 的值自动相等
7:1
Reserved
-
0
DTCEN
死区功能
0:死区功能无效
1:死区功能有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 549 of 854
19.3.12 滤波控制寄存器(TIMx_FCONR)
地址偏移量:0x068
复位值: 0x0000 0000
31
Res.
15
30
29
28
27
NOFI
NOFI
CKTD
ENTD
RW
RW
14
13
12
26
Res.
11
25
24
NOFI
NOFI
CKTC
ENTC
RW
RW
10
9
8
Reserved
23
22
21
NOFICKTB
6
5
NOFICKGB
功能
31
Reserved
-
30:29
NOFICKTD
TRID 端口滤波采样基准时钟选择
4
RW
01:PCLK0/4 10:PCLK0/16
NOFIENTD
TRID 端口捕获输入滤波使能,0无效;1使能
27
Reserved
-
26:25
NOFICKTC
TRIC 端口滤波采样基准时钟选择
01:PCLK0/4 10:PCLK0/16
24
NOFIENTC
TRIC 端口捕获输入滤波使能,0无效;1使能
23
Reserved
-
22:21
NOFICKTB
TRIB 端口滤波采样基准时钟选择
01:PCLK0/4 10:PCLK0/16
20
NOFIENTB
TRIB 端口捕获输入滤波使能,0无效;1使能
19
Reserved
-
18:17
NOFICKTA
TRIA 端口滤波采样基准时钟选择
01:PCLK0/4
10:PCLK0/16
16
NOFIENTA
TRIA 端口捕获输入滤波使能,0无效;1使能
15:7
Reserved
-
6:5
NOFICKGB
CHxIB 端口滤波采样基准时钟选择
00:PCLK0
01:PCLK0/4
10:PCLK0/16
4
NOFIENGB
CHxIB 端口捕获输入滤波使能,0无效;1使能
3
Reserved
-
2:1
NOFICKGA
CHxIA 端口滤波采样基准时钟选择
00:PCLK0
0
NOFIENGA
3
NOFIENGB
28
00:PCLK0
16
NOFIENTA
RW
RW
2
1
0
NOFICKGA
NOFIENGA
RW
RW
Res.
标记
00:PCLK0
17
NOFICKTA
RW
位
00:PCLK0
18
Res.
RW
7
19
NOFIENTB
Res.
RW
00:PCLK0
20
01:PCLK0/4
10:PCLK0/16
11:PCLK0/64
11:PCLK0/64
11:PCLK0/64
11:PCLK0/64
11:PCLK0/64
11:PCLK0/64
CHxIA 端口捕获输入滤波使能,0无效;1使能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 550 of 854
注意:
– TRIGA-D 滤波设置只有在 TIM4 中设置有效,在 Timer5/6 设置无效。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 551 of 854
19.3.13 有效周期寄存器(TIMx_VPERR)
地址偏移量:0x06C
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
Reserved
15
14
13
12
11
10
9
8
Reserved
位
标记
功能
31:21
Reserved
-
20:18
PCNTS
有效周期选择
7
6
5
19
18
17
16
PCNTS
PCNTE
RW
RW
4
3
2
1
0
GEP
GEPE
GEPE
GEPE
ERID
RIC
RIB
RIA
RW
RW
RW
RW
000:有效周期选择功能无效
001:每隔1个周期有效一次
010:每隔2个周期有效一次
011:每隔3个周期有效一次
100:每隔4个周期有效一次
101:每隔5个周期有效一次
110:每隔6个周期有效一次
111:每隔7个周期有效一次
17:16
PCNTE
有效周期计数条件选择
00:有效周期选择功能无效
01:锯齿波计数上、下溢点或三角波波谷做为计数条件
10:锯齿波计数上、下溢点或三角波波峰做为计数条件
11:锯齿波计数上、下溢点或三角波波谷、波峰做为计数条件
15:4
Reserved
-
3
GEPERID
通用信号有效周期选择D
0:有效周期选择功能无效;1:有效周期选择功能使能
2
GEPERIC
通用信号有效周期选择C
0:有效周期选择功能无效;1:有效周期选择功能使能
1
GEPERIB
通用信号有效周期选择B
0:有效周期选择功能无效;1:有效周期选择功能使能
0
GEPERIA
通用信号有效周期选择A
0:有效周期选择功能无效;1:有效周期选择功能使能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 552 of 854
19.3.14 状态标志寄存器(TIMx_STFLR)
地址偏移量:0x070
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
21
20
VPERNUM
DIRF
Reserved
R
15
22
19
18
17
Reserved
R
14
13
Reserved
12
11
10
9
CMS
CMS
CMS
CMS
BDF
BUF
ADF
AUF
RW
RW
RW
RW
位
标记
功能
31
DIRF
计数方向
8
7
6
DTEF
UDFF
OVFF
5
4
Reserved
RW
RW
RW
3
2
1
0
CMD
CMC
CMB
CMA
F
F
F
F
RW
RW
RW
RW
0:递减计数
1:递加计数
30:24
Reserved
-
23:21
VPERNUM
周期次数
有效周期选择功能使能时,计数后的周期次数
20:13
Reserved
-
12
CMSBDF
向下计数专用比较基准值匹配B
11
CMSBUF
向上计数专用比较基准值匹配B
10
CMSADF
向下计数专用比较基准值匹配A
9
CMSAUF
向上计数专用比较基准值匹配A
8
DTEF
死区时间错误
0:未发生死区时间错误;1:发生死区时间错误
7
UDFF
下溢匹配
0:未发生锯齿波下溢或三角波计数到谷点
1:发生锯齿波下溢或三角波计数到谷点
6
OVFF
上溢匹配
0:未发生锯齿波上溢或三角波计数到峰点
1:发生锯齿波上溢或三角波计数到峰点
5:4
Reserved
-
3
CMDF
计数匹配D
0:GCMDR 寄存器的值与计数值不相等;1:GCMDR 寄存器的值与计数
值相等
2
CMCF
计数匹配C
0:GCMCR寄存器的值与计数值不相等;1:GCMCR 寄存器的值与计数值
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 553 of 854
相等
1
CMBF
计数匹配B
0:GCMBR 寄存器的值与计数值不相等,且未发生 CHxB 捕获完成动作
1:GCMBR 寄存器的值与计数值相等,或发生 CHxB 捕获完成动作
0
CMAF
计数匹配A
0:GCMAR 寄存器的值与计数值不相等,且未发生 CHxA 捕获完成动作
1:GCMAR 寄存器的值与计数值相等,或发生 CHxA 捕获完成动作
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 554 of 854
19.3.15 硬件启动事件选择寄存器(TIMx_HSTAR)
地址偏移量:0x074
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
STARTS
Reserved
RW
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
HSTA
HSTA
HSTA
HSTA
HSTA
HSTA
HSTA
HSTA
HSTA
HSTA
HSTA
HSTA
HSTA
HSTA
HSTA
HSTA
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能
31
STARTS
硬件启动使能
0:硬件启动无效
1:硬件启动有效
注:硬件启动有效时,SSTAR 的设定无效
30:16
Reserved
-
15
HSTA15
硬件启动条件15:TIMTRID 端口上采样到下降沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
14
HSTA14
硬件启动条件14:TIMTRID 端口上采样到上升沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
13
HSTA13
硬件启动条件13:TIMTRIC 端口上采样到下降沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
12
HSTA12
硬件启动条件12:TIMTRIC 端口上采样到上升沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
11
HSTA11
硬件启动条件11:TIMTRIB 端口上采样到下降沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
10
HSTA10
硬件启动条件10:TIMTRIB 端口上采样到上升沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
9
HSTA9
硬件启动条件9:TIMTRIA 端口上采样到下降沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 555 of 854
8
HSTA8
硬件启动条件8:TIMTRIA 端口上采样到上升沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
7
HSTA7
硬件启动条件7:CHxB 端口上采样到下降沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
6
HSTA6
硬件启动条件6:CHxB 端口上采样到上升沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
5
HSTA5
硬件启动条件5:CHxA 端口上采样到下降沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
4
HSTA4
硬件启动条件4:CHxA 端口上采样到上升沿
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
3
HSTA3
硬件启动条件3:从 AOS 来的事件触发3有效
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
2
HSTA2
硬件启动条件2:从 AOS 来的事件触发2有效
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
1
HSTA1
硬件启动条件1:从 AOS 来的事件触发1有效
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
0
HSTA0
硬件启动条件0:从 AOS 来的事件触发0有效
0:条件匹配时,硬件启动无效
1:条件匹配时,硬件启动有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 556 of 854
19.3.16 硬件停止事件选择寄存器(TIMx_HSTPR)
地址偏移量:0x078
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
STOPS
23
22
21
20
19
18
17
16
Reserved
RW
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
HSTP
HSTA
HSTP
HSTP
HSTP
HSTP
HSTP
HSTP
HSTP
HSTP
HSTP
HSTP
HSTP
HSTP
HSTP
HSTP
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能
31
STOPS
硬件停止使能
0:硬件停止无效
1:硬件停止有效
注:硬件停止有效时,软件停止的设定无效
30:16
Reserved
-
15
HSTP15
硬件停止条件15:TIMTRID 端口上采样到下降沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
14
HSTP14
硬件停止条件14:TIMTRID 端口上采样到上升沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
13
HSTP13
硬件停止条件13:TIMTRIC 端口上采样到下降沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
12
HSTP12
硬件停止条件12:TIMTRIC 端口上采样到上升沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
11
HSTP11
硬件停止条件11:TIMTRIB 端口上采样到下降沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
10
HSTP10
硬件停止条件10:TIMTRIB 端口上采样到上升沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
9
HSTP9
硬件停止条件9:TIMTRIA 端口上采样到下降沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 557 of 854
8
HSTP8
硬件停止条件8:TIMTRIA 端口上采样到上升沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
7
HSTP7
硬件停止条件7:CHxB 端口上采样到下降沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
6
HSTP6
硬件停止条件6:CHxB 端口上采样到上升沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
5
HSTP5
硬件停止条件5:CHxA 端口上采样到下降沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
4
HSTP4
硬件停止条件4:CHxA 端口上采样到上升沿
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
3
HSTP3
硬件停止条件3:从 AOS 来的事件触发3有效
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
2
HSTP2
硬件停止条件2:从 AOS 来的事件触发2有效
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
1
HSTP1
硬件停止条件1:从 AOS 来的事件触发1有效
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
0
HSTP0
硬件停止条件0:从 AOS 来的事件触发0有效
0:条件匹配时,硬件停止无效
1:条件匹配时,硬件停止有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 558 of 854
19.3.17 硬件清零事件选择寄存器(TIMx_HCELR)
地址偏移量:0x07C
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
CLEARS
23
22
21
20
19
18
17
16
Reserved
RW
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
HCEL
HCEL
HCEL
HCEL
HCEL
HCEL
HCEL
HCEL
HCEL
HCEL
HCEL
HCEL
HCEL
HCEL
HCEL
HCEL
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能
31
STARTS
硬件清零使能
0:硬件清零无效
1:硬件清零有效
注:硬件清零有效时,软件清零的设定无效
30:16
Reserved
-
15
HCEL15
硬件清零条件15:TIMTRID 端口上采样到下降沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
14
HCEL14
硬件清零条件14:TIMTRID 端口上采样到上升沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
13
HCEL13
硬件清零条件13:TIMTRIC 端口上采样到下降沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
12
HCEL12
硬件清零条件12:TIMTRIC 端口上采样到上升沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
11
HCEL11
硬件清零条件11:TIMTRIB 端口上采样到下降沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
10
HCEL10
硬件清零条件10:TIMTRIB 端口上采样到上升沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
9
HCEL9
硬件清零条件9:TIMTRIA 端口上采样到下降沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 559 of 854
8
HCEL8
硬件清零条件8:TIMTRIA 端口上采样到上升沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
7
HCEL7
硬件清零条件7:CHxB 端口上采样到下降沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
6
HCEL6
硬件清零条件6:CHxB 端口上采样到上升沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
5
HCEL5
硬件清零条件5:CHxA 端口上采样到下降沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
4
HCEL4
硬件清零条件4:CHxA 端口上采样到上升沿
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
3
HCEL3
硬件清零条件3:从 AOS 来的事件触发3有效
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
2
HCEL2
硬件清零条件2:从 AOS 来的事件触发2有效
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
1
HCEL1
硬件清零条件1:从 AOS 来的事件触发1有效
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
0
HCEL0
硬件清零条件0:从 AOS 来的事件触发0有效
0:条件匹配时,硬件清零无效
1:条件匹配时,硬件清零有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 560 of 854
19.3.18 硬件捕获 A 事件选择寄存器(TIMx_HCPAR)
地址偏移量:0x080
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Reserved
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
HCPA
HCPA
HCPA
HCPA
HCPA
HCPA
HCPA
HCPA
HCPA
HCPA
HCPA
HCPA
HCPA
HCPA
HCPA
HCPA
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能
31:16
Reserved
-
15
HCPA15
硬件捕获A条件15:TIMTRID 端口上采样到下降沿
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
14
HCPA14
硬件捕获A条件14:TIMTRID 端口上采样到上升沿
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
13
HCPA13
硬件捕获A条件13:TIMTRIC 端口上采样到下降沿
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
12
HCPA12
硬件捕获A条件12:TIMTRIC 端口上采样到上升沿
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
11
HCPA11
硬件捕获A条件11:TIMTRIB 端口上采样到下降沿
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
10
HCPA10
硬件捕获A条件10:TIMTRIB 端口上采样到上升沿
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
9
HCPA9
硬件捕获A条件9:TIMTRIA 端口上采样到下降沿
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
8
HCPA8
硬件捕获A条件8:TIMTRIA 端口上采样到上升沿
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
7
HCPA7
硬件捕获A条件7:CHxB 端口上采样到下降沿
0:条件匹配时,硬件捕获A无效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 561 of 854
1:条件匹配时,硬件捕获A有效
6
HCPA6
硬件捕获A条件6:CHxB 端口上采样到上升沿
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
5
HCPA5
硬件捕获A条件5:CHxA 端口上采样到下降沿
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
4
HCPA4
硬件捕获A条件4:CHxA 端口上采样到上升沿
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
3
HCPA3
硬件捕获A条件3:从 AOS 来的事件触发3有效
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
2
HCPA2
硬件捕获A条件2:从 AOS 来的事件触发2有效
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
1
HCPA1
硬件捕获A条件1:从 AOS 来的事件触发1有效
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
0
HCPA0
硬件捕获A条件0:从 AOS 来的事件触发0有效
0:条件匹配时,硬件捕获A无效
1:条件匹配时,硬件捕获A有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 562 of 854
19.3.19 硬件捕获 B 事件选择寄存器(TIMx_HCPBR)
地址偏移量:0x084
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Reserved
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
HCPB
HCPB
HCPB
HCPB
HCPB
HCPB
HCPB
HCPB
HCPB
HCPB
HCPB
HCPB
HCPB
HCPB
HCPB
HCPB
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能
31:16
Reserved
-
15
HCPB15
硬件捕获B条件15:TIMTRID 端口上采样到下降沿
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
14
HCPB14
硬件捕获B条件14:TIMTRID 端口上采样到上升沿
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
13
HCPB13
硬件捕获B条件13:TIMTRIC 端口上采样到下降沿
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
12
HCPB12
硬件捕获B条件12:TIMTRIC 端口上采样到上升沿
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
11
HCPB11
硬件捕获B条件11:TIMTRIB 端口上采样到下降沿
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
10
HCPB10
硬件捕获B条件10:TIMTRIB 端口上采样到上升沿
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
9
HCPB9
硬件捕获B条件9:TIMTRIA 端口上采样到下降沿
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
8
HCPB8
硬件捕获B条件8:TIMTRIA 端口上采样到上升沿
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
7
HCPB7
硬件捕获B条件7:CHxB 端口上采样到下降沿
0:条件匹配时,硬件捕获B无效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 563 of 854
1:条件匹配时,硬件捕获B有效
6
HCPB6
硬件捕获B条件6:CHxB 端口上采样到上升沿
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
5
HCPB5
硬件捕获B条件5:CHxA 端口上采样到下降沿
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
4
HCPB4
硬件捕获B条件4:CHxA 端口上采样到上升沿
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
3
HCPB3
硬件捕获B条件3:从 AOS 来的事件触发3有效
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
2
HCPB2
硬件捕获B条件2:从 AOS 来的事件触发2有效
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
1
HCPB1
硬件捕获B条件1:从 AOS 来的事件触发1有效
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
0
HCPB0
硬件捕获B条件0:从 AOS 来的事件触发0有效
0:条件匹配时,硬件捕获B无效
1:条件匹配时,硬件捕获B有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 564 of 854
19.3.20 硬件递加事件选择寄存器(TIMx_HCUPR)
地址偏移量:0x088
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
Reserved
19
18
17
16
HCUP
HCUP
HCUP
HCUP
19
18
17
16
RW
RW
RW
RW
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
HCUP
HCUP
HCUP
HCUP
HCUP
HCUP
HCUP
HCUP
HCUP
HCUP
HCUP
HCUP
HCUP
HCUP
HCUP
HCUP
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能
31:20
Reserved
-
19
HCUP19
硬件递加条件:从 AOS 来的事件触发3有效
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
18
HCUP18
硬件递加条件:从 AOS 来的事件触发2有效
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
17
HCUP17
硬件递加条件:从 AOS 来的事件触发1有效
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
16
HCUP16
硬件递加条件:从 AOS 来的事件触发0有效
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
15
HCUP15
硬件递加条件:TIMTRID 端口上采样到下降沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
14
HCUP14
硬件递加条件:TIMTRID 端口上采样到上升沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
13
HCUP13
硬件递加条件:TIMTRIC 端口上采样到下降沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
12
HCUP12
硬件递加条件:TIMTRIC 端口上采样到上升沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 565 of 854
11
HCUP11
硬件递加条件:TIMTRIB 端口上采样到下降沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
10
HCUP10
硬件递加条件:TIMTRIB 端口上采样到上升沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
9
HCUP9
硬件递加条件:TIMTRIA 端口上采样到下降沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
8
HCUP8
硬件递加条件:TIMTRIA 端口上采样到上升沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
7
HCUP7
硬件递加条件:CHxB 端口为高电平时,CHxA 端口上采样到下降沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
6
HCUP6
硬件递加条件:CHxB 端口为高电平时,CHxA 端口上采样到上升沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
5
HCUP5
硬件递加条件:CHxB 端口为低电平时,CHxA 端口上采样到下降沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
4
HCUP4
硬件递加条件:CHxB 端口为低电平时,CHxA 端口上采样到上升沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
3
HCUP3
硬件递加条件:CHxA 端口为高电平时,CHxB 端口上采样到下降沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
2
HCUP2
硬件递加条件:CHxA 端口为高电平时,CHxB 端口上采样到上升沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
1
HCUP1
硬件递加条件:CHxA 端口为低电平时,CHxB 端口上采样到下降沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
0
HCUP0
硬件递加条件:CHxA 端口为低电平时,CHxB 端口上采样到上升沿
0:条件匹配时,硬件递加无效
1:条件匹配时,硬件递加有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 566 of 854
19.3.21 硬件递减事件选择寄存器(TIMx_HCDOR)
地址偏移量:0x08C
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
Reserved
19
18
17
16
HCDO
HCDO
HCDO
HCDO
19
18
17
16
RW
RW
RW
RW
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
HCDO
HCDO
HCDO
HCDO
HCDO
HCDO
HCDO
HCDO
HCDO
HCDO
HCDO
HCDO
HCDO
HCDO
HCDO
HCDO
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能
31:20
Reserved
-
19
HCDO19 硬件递减条件:从 AOS 来的事件触发3有效
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
18
HCDO18 硬件递减条件:从 AOS 来的事件触发2有效
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
17
HCDO17 硬件递减条件:从 AOS 来的事件触发1有效
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
16
HCDO16 硬件递减条件:从 AOS 来的事件触发0有效
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
15
HCDO15 硬件递减条件:TIMTRID 端口上采样到下降沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
14
HCDO14 硬件递减条件:TIMTRID 端口上采样到上升沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
13
HCDO13 硬件递减条件:TIMTRIC 端口上采样到下降沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
12
HCDO12 硬件递减条件:TIMTRIC 端口上采样到上升沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 567 of 854
11
HCDO11 硬件递减条件:TIMTRIB 端口上采样到下降沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
10
HCDO10 硬件递减条件:TIMTRIB 端口上采样到上升沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
9
HCDO9
硬件递减条件:TIMTRIA 端口上采样到下降沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
8
HCDO8
硬件递减条件:TIMTRIA 端口上采样到上升沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
7
HCDO7
硬件递减条件:CHxB 端口为高电平时,CHxA 端口上采样到下降沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
6
HCDO6
硬件递减条件:CHxB 端口为高电平时,CHxA 端口上采样到上升沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
5
HCDO5
硬件递减条件:CHxB 端口为低电平时,CHxA 端口上采样到下降沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
4
HCDO4
硬件递减条件:CHxB 端口为低电平时,CHxA 端口上采样到上升沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
3
HCDO3
硬件递减条件:CHxA 端口为高电平时,CHxB 端口上采样到下降沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
2
HCDO2
硬件递减条件:CHxA 端口为高电平时,CHxB 端口上采样到上升沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
1
HCDO1
硬件递减条件:CHxA 端口为低电平时,CHxB 端口上采样到下降沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
0
HCDO0
硬件递减条件:CHxA 端口为低电平时,CHxB 端口上采样到上升沿
0:条件匹配时,硬件递减无效
1:条件匹配时,硬件递减有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 568 of 854
19.3.22 软件同步启动寄存器(TIMx_SSTAR)
地址偏移量:0x3F4
复位值: 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
SSTA2
SSTA1
SSTA0
RW
RW
RW
Reserved
15
14
13
12
11
10
9
Reserved
位
标记
31:3
Reserved
2
SSTA2
8
7
功能
Timer6 软件启动
0:软件启动无效
1:软件启动使能
1
SSTA1
Timer5 软件启动
0:软件启动无效
1:软件启动使能
0
SSTA0
Timer4 软件启动
0:软件启动无效
1:软件启动使能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 569 of 854
19.3.23 软件同步停止寄存器(TIMx_SSTPR)
地址偏移量:0x3F8
复位值: 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
SSTP2
SSTP1
SSTP0
RW
RW
RW
Reserved
15
14
13
12
11
10
9
Reserved
位
标记
31:3
Reserved
2
SSTP2
8
7
功能
Timer6 软件停止
0:软件停止无效
1:软件停止使能
1
SSTP1
Timer5 软件停止
0:软件停止无效
1:软件停止使能
0
SSTP0
Timer4 软件停止
0:软件停止无效
1:软件停止使能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 570 of 854
19.3.24 软件同步清零寄存器(TIMx_SCLRR)
地址偏移量:0x3FC
复位值: 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
SCLR2
SCLR1
SCLR0
RW
RW
RW
Reserved
15
14
13
12
11
10
9
Reserved
位
标记
31:3
Reserved
2
SCLR2
8
7
功能
Timer6 软件清零
0:软件清零无效
1:软件清零使能
1
SCLR1
Timer5 软件清零
0:软件清零无效
1:软件清零使能
0
SCLR0
Timer4 软件清零
0:软件清零无效
1:软件清零使能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 571 of 854
19.3.25 中断标志寄存器(TIMx_IFR)
地址偏移量:0x100
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
3
2
1
0
Reserved
15
14
SAMHF
SAMLF
13
12
11
10
9
8
7
6
DTEF
UDFF
OVFF
Reserved
RO
RO
5
4
CMDF
CMCF
CMBF
CMAF
RO
RO
RO
RO
Reserved
RO
RO
位
标记
功能
31:16
Reserved
-
15
SAMHF
CHxA/B 端口高状态中断标志
RO
0:CHxA 和 CHxB 端口上没有同时出现高电平
1:CHxA 和 CHxB 端口上同时出现高电平
14
SAMLF
CHxA/B 端口低状态中断标志
0:CHxA 和 CHxB 端口上没有同时出现低电平
1:CHxA 和 CHxB 端口上同时出现低电平
13:9
Reserved
-
8
DTEF
死区时间错误中断标志
0:未发生死区时间错误;1:发生死区时间错误
7
UDFF
下溢匹配中断标志
0:未发生锯齿波下溢或三角波计数到谷点
1:发生锯齿波下溢或三角波计数到谷点
6
OVFF
上溢匹配中断标志
0:未发生锯齿波上溢或三角波计数到峰点
1:发生锯齿波上溢或三角波计数到峰点
5:4
Reserved
-
3
CMDF
计数匹配D中断标志
0:GCMDR 寄存器的值与计数值不相等;1:GCMDR 寄存器的值与计数
值相等
2
CMCF
计数匹配C中断标志
0:GCMCR 寄存器的值与计数值不相等;1:GCMCR 寄存器的值与计数
值相等
1
CMBF
计数匹配B中断标志
0:GCMBR 寄存器的值与计数值不相等,且未发生 CHxB 捕获完成动作
1:GCMBR 寄存器的值与计数值相等,或发生 CHxB 捕获完成动作
0
CMAF
计数匹配A中断标志
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 572 of 854
0:GCMAR 寄存器的值与计数值不相等,且未发生 CHxA 捕获完成动作
1:GCMAR 寄存器的值与计数值相等,或发生 CHxA 捕获完成动作
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 573 of 854
19.3.26 中断标志清除寄存器(TIMx_ICLR)
地址偏移量:0x104
复位值: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
2
1
0
Reserved
15
14
SAMHC
SAMLC
13
12
11
10
9
8
7
6
DTEC
UDFC
OVFC
Reserved
R1W0
R1W0
5
4
3
CMDC
CMCC
CMBC
CMAC
R1W0
R1W0
R1W0
R1W0
Reserved
R1W0
R1W0
R1W0
位
标记
功能
31:16
Reserved
-
15
SAMHC
CHxA/B 端口高状态中断标志清除,写1无效,写0清除对应中断
14
SAMLC
CHxA/B 端口低状态中断标志清除,写1无效,写0清除对应中断
13:9
Reserved
-
8
DTEC
死区时间错误中断标志清除,写1无效,写0清除对应中断
7
UDFC
下溢匹配中断标志清除,写1无效,写0清除对应中断
6
OVFC
上溢匹配中断标志清除,写1无效,写0清除对应中断
5:4
Reserved
-
3
CMDC
计数匹配D中断标志清除,写1无效,写0清除对应中断
2
CMCC
计数匹配C中断标志清除,写1无效,写0清除对应中断
1
CMBC
计数匹配B中断标志清除,写1无效,写0清除对应中断
0
CMAC
计数匹配A中断标志清除,写1无效,写0清除对应中断
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 574 of 854
19.3.27 展频及中断触发选择(TIMx_CR)
地址偏移量:0x108
复位值: 0x0000 0300
31
30
29
28
27
26
25
24
23
Reserved
15
14
13
12
11
Dma_g_
Dma_g_
Dma_g_
CMS
CMS
10
9
cmb
cma
BE
AE
RW
RW
RW
RW
RW
21
20
19
Dma_s_
Dma_s_
Dma_g_
Dma_g_
cmb
cma
udf
ovf
RW
RW
RW
RW
5
4
3
2
1
0
CMDE
CMCE
CMBE
CMAE
RW
RW
RW
RW
8
7
6
DITNA
UDFE
OVFE
18
17
16
Dma_g_
Reserved
cmd
RW
DITEN
DITENS
cmc
22
Reserved
B
RW
RW
RW
RW
RW
位
标记
功能
31:23
Reserved
-
22
Dma_s_cmb
专用比较DMA使能
21
Dma_s_cma
专用比较DMA使能
20
Dma_g_udf
下溢出DMA使能
19
Dma_g_ovf
上溢出DMA使能
18:17
Reserved
16
Dma_g_cmd
通用比较DMA使能
15
Dma_g_cmc
通用比较DMA使能
14
Dma_g_cmb
通用比较DMA使能
13
Dma_g_cma
通用比较DMA使能
12
CMSBE
专用比较基准值匹配B使能触发ADC
11
CMSAE
专用比较基准值匹配A使能触发ADC
10
DITENS
PWM 展频计数选择
0: 选择下溢出,1:选择上溢出
9
DITENB
PWM 通道B展频使能
0:使能无效,1:使能有效,每个周期改变 PWM 的输出延时
9
DITENA
PWM 通道A展频使能
0:使能无效,1:使能有效,每个周期改变 PWM 的输出延时
7
UDFE
下溢匹配使能触发 ADC
0:使能无效,1:使能有效,这个匹配可以控制 ADC/AOS_i_tirg
6
OVFE
上溢匹配使能触发 ADC
0:使能无效,1:使能有效,这个匹配可以控制 ADC/AOS_i_tirg
5:4
Reserved
-
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 575 of 854
3
CMDE
计数匹配D使能触发 ADC
0:使能无效,1:使能有效,这个匹配可以控制 ADC/AOS_i_tirg
2
CMCE
计数匹配C使能触发 ADC
0:使能无效,1:使能有效,这个匹配可以控制 ADC/AOS_i_tirg
1
CMBE
计数匹配B使能触发 ADC
0:使能无效,1:使能有效,这个匹配可以控制 ADC/AOS_i_tirg
0
CMAE
计数匹配A使能触发 ADC
0:使能无效,1:使能有效,这个匹配可以控制 ADC/AOS_i_tirg
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 576 of 854
19.3.28 AOS 选择控制寄存器(TIMx_AOSSR)
地址偏移量:0x110
复位值: 0x0000 0000
Timer4/5/6 使用同一个实体寄存器,任意一个定时器其更改后,在另外两个定时器的
值会同时更改。
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
Reserved
13
12
11
10
9
8
7
SMH2
SMH1
SMH0
SML2
SML1
SML0
SOFTBK
RW
RW
RW
RW
RW
位
标记
功能
31:14
Reserved
-
13
SMH2
通道2同高选择
RW
RW
Reserved
BFILTEN
BFILTS
FSAME
FBRAKE
RW
RW
R
R
0:选择无效,1:选择有效,出现同高时 AOS_i_odis[1]
12
SMH1
通道1同高选择
0:选择无效,1:选择有效,出现同高时 AOS_i_odis[1]
11
SMH0
通道0同高选择
0:选择无效,1:选择有效,出现同高时 AOS_i_odis[1]
10
SML2
通道2同低选择
0:选择无效,1:选择有效,出现同低时 AOS_i_odis[1]
9
SML1
通道1同低选择
0:选择无效,1:选择有效,出现同低时 AOS_i_odis[1]
8
SML0
通道0同低选择
0:选择无效,1:选择有效,出现同低时 AOS_i_odis[1]
7
SOFTBK
软件刹车:写1实现软件刹车
13
Reserved
-
4
BFILTEN
端口刹车滤波使能
3:2
BFILTS
端口刹车滤波时钟选择
1
FSAME
同高同低刹车标志,只读
0
FBRAKE
端口刹车标志,只读
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 577 of 854
19.3.29 AOS 选择控制寄存器标志清除(TIMx_AOSCL)
地址偏移量:0x114
复位值: 0x0000 0000
Timer4/5/6 使用同一个实体寄存器,任意一个定时器其更改后,在另外两个定时器的
值会同时更改。
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
FSAME
FBRAKE
R
R
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
功能
31:2
Reserved
-
1
FSAME
同高同低刹车标志清除,写0清除,写1无效,读恒为1
0
FBRAKE
端口刹车标志清除,写0清除,写1无效,读恒为1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 578 of 854
19.3.30 端口刹车控制寄存器(TIMx_PTBKS)
地址偏移量:0x118
复位值: 0x0000 0000
Timer4/5/6 使用同一个实体寄存器,任意一个定时器其更改后,在另外两个定时器的
值会同时更改。
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Reserved
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
EN15
EN14
EN13
EN12
EN11
EN10
EN9
EN8
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能
31:16
Reserved
-
15
EN15
PD5 刹车端口使能:1 选择,0无效
14
EN14
PC5 刹车端口使能:1 选择,0无效
13
EN13
PB15 刹车端口使能:1 选择,0无效
12
EN12
PA15 刹车端口使能:1 选择,0无效
11
EN11
PD1 刹车端口使能:1 选择,0无效
10
EN10
PC11 刹车端口使能:1 选择,0无效
9
EN9
PB11 刹车端口使能:1 选择,0无效
8
EN8
PA11 刹车端口使能:1 选择,0无效
7
EN7
PD7 刹车端口使能:1 选择,0无效
6
EN6
PC7 刹车端口使能:1 选择,0无效
5
EN5
PB7 刹车端口使能:1 选择,0无效
4
EN4
PA7 刹车端口使能:1 选择,0无效
3
EN3
PD3 刹车端口使能:1 选择,0无效
2
EN2
PC3 刹车端口使能:1 选择,0无效
1
EN1
PB3 刹车端口使能:1 选择,0无效
0
EN0
PA3 刹车端口使能:1 选择,0无效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 579 of 854
19.3.31 端口触发控制寄存器(TIMx_TTRIG)
地址偏移量:0x11C
复位值: 0x0000 0000
Timer4/5/6 使用同一个实体寄存器,任意一个定时器其更改后,在另外两个定时器的
值会同时更改。
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
TRIGDS
TRIGCS
TRIGBS
TRIGAS
RW
RW
RW
RW
位
标记
功能
31:16
Reserved
-
15:12
TRIGDS
TIMx 触发D端口选择
11:8
TRIGCS
TIMx 触发C端口选择
7:4
TRIGBS
TIMx 触发B端口选择
3:0
TRIGAS
TIMx 触发A端口选择
控制信号与端口选择如下
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
PA3
PB3
PC3
PD3
PA7
PB7
PC7
PD7
PA11
PB11
PC11
PD1
PA15
PB15
PC5
PD5
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 580 of 854
19.3.32 AOS 触发控制寄存器(TIMx_ITRIG)
地址偏移量:0x120
复位值: 0x0000 0000
Timer4/5/6 使用同一个实体寄存器,任意一个定时器其更改后,在另外两个定时器的
值会同时更改。
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
IAOS3S
IAOS2S
IAOS1S
IAOS0S
RW
RW
RW
RW
位
标记
功能
31:16
Reserved
15:12
IAOS3S
TIMx AOS3 触发源选择
11:8
IAOS2S
TIMx AOS2 触发源选择
7:4
IAOS1S
TIMx AOS1 触发源选择
3:0
IAOS0S
TIMx AOS0 触发源选择
-
控制信号(IAOSxS)与中断源选择如下 (x=0,1,2,3)
0000
0001
0010
0011
0100
0101
0110
0111
TIM0_INT
TIM1_INT
TIM2_INT
LPTIMER_INT
TIM4_INTS
TIM5_INTS
TIM6_INTS
UART0_INT
1000
1001
1010
1011
1100
1101
1110
1111
UART1_INT
LPUART0_INT
VC0_INT
VC1_INT
RTC_INT
PCA_INT
SPI_INT
ADC_INT
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 581 of 854
19.3.33 端口刹车极性控制寄存器(TIMx_PTBKP)
地址偏移量:0x124
复位值: 0x0000 0000
Timer4/5/6 使用同一个实体寄存器,任意一个定时器其更改后,在另外两个定时器的
值会同时更改。
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Reserved
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
POL15
POL14
POL13
POL12
POL11
POL10
POL9
POL8
POL7
POL6
POL5
POL4
POL3
POL2
POL1
POL0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能
31:16
Reserved
-
15
POL15
PD5 刹车端口极性选择:1 低电平有效,0 高电平有效
14
POL14
PC5 刹车端口极性选择:1 低电平有效,0 高电平有效
13
POL13
PB15 刹车端口极性选择:1 低电平有效,0 高电平有效
12
POL12
PA15 刹车端口极性选择:1 低电平有效,0 高电平有效
11
POL11
PD1 刹车端口极性选择:1 低电平有效,0 高电平有效
10
POL10
PC11 刹车端口极性选择:1 低电平有效,0 高电平有效
9
POL9
PB11 刹车端口极性选择:1 低电平有效,0 高电平有效
8
POL8
PA11 刹车端口极性选择:1 低电平有效,0 高电平有效
7
POL7
PD7 刹车端口极性选择:1 低电平有效,0 高电平有效
6
POL6
PC7 刹车端口极性选择:1 低电平有效,0 高电平有效
5
POL5
PB7 刹车端口极性选择:1 低电平有效,0 高电平有效
4
POL4
PA7 刹车端口极性选择:1 低电平有效,0 高电平有效
3
POL3
PD3 刹车端口极性选择:1 低电平有效,0 高电平有效
2
POL2
PC3 刹车端口极性选择:1 低电平有效,0 高电平有效
1
POL1
PB3 刹车端口极性选择:1 低电平有效,0 高电平有效
0
POL0
PA3 刹车端口极性选择:1 低电平有效,0 高电平有效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 582 of 854
20
实时时钟(RTC)
20.1
实时时钟简介
实时时钟/日历提供秒、分、时、日、周、月、年的信息,每月的天数和闰年的天数可
自动调整。时钟操作可通过 AM/PM 寄存器位,决定采用 24 或 12 小时格式。表 20-1
所示是其基本特性。
片外低速晶振 XTL(32.768KHz)
时钟源
片内低速振荡器 RCL(32KHz,1%精度)
片外高速晶振 XTH
可计算 00~99 年之间的秒、分、时、日、周、月、年
可自动进行闰年调整
可配置为 24 或 12 小时格式
基本功能
可程序控制启动或停止
具有闹钟功能
具有高精度 1Hz 方波信号输出
具有周期中断
中断
具有闹钟中断
表 20-1 RTC 的基本特性
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 583 of 854
周期中断
控制
0.5s-32s
0.5秒
周期中断
1秒
1分
1日
RTCCLK
HPCLK
15位
异步
分频器
总
线
接
口
补偿
控制
PCLK
秒缓存
秒计数
分缓存
分计数
时缓存
时计数
日缓存
日计数
周缓存
周计数
月缓存
月计数
年缓存
年计数
1时
1月
分闹钟
时闹钟
周闹钟
缓存
闹钟中断
闹钟
产生
1Hz输出
图 20-1 RTC 框图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 584 of 854
20.2
实时时钟功能描述
实时时钟的时钟源可配置为外部低速晶振,外部高速晶振,内部低速 RC;默认使用
外部低速晶振。控制寄存器 RTC_CR0、RTC_CR1 与 RTC_COMPEN 只受上电复位
控制,其他复位源不能复位这三个控制寄存器。其他数据寄存器上电状态不定,上电
后需要初始化,不受任何复位影响。
所有软件写入和读取的日期时间值都为 BCD 码,无须十六进制转换为十进制。
任何无效的日期时间将无法写入,比如 32 日,25 时,70 秒,B 月等。
20.2.1 上电设定
RTC 在上电之后复位一次,在系统不掉电的情况下,外部各种复位请求都不能复位
RTC,RTC 会一直处于计数状态。在上电之后,设定日历初始值、闹钟设置、误差补
偿、中断等之后,启动 RTC。
20.2.2 RTC 计数开始设定
1. 设定 RTC_CR0.START=0,计数停止;
2. 设定 RTC_CR0.AMPM 和 RTC_CR0.PRDS,RTC_CR0.PRDX 设定时制和中断周
期;
3. 设定 RTC_CR1.CKSEL 选择 RTC 的计时时钟;
4. 设定秒,分,时,周,日,月,年的日历计数寄存器;
5. 需要进行时钟误差补偿时,设定计数时钟误差补偿寄存器 RTC_COMPEN;
6. 清除中断标志位 RTC_CR1.ALMF,RTC_CR1.PRDF,并使能中断;
7. 设定 RTC_CR0.START=1,计数开始。
20.2.3 系统低功耗模式切换
在 RTC 计数开始后,系统如果立即切换为低功耗模式时,请执行下列任意一种确认
后再进行模式切换。
控制寄存器在系统控制寄存器 SYSCTRL1.RTC_LPW
在 RTC_CR0.START=1 设定后,经过 2 个以上的 RTC 计数时钟后再进行模式切换。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 585 of 854
在 RTC_CR0.START=1 设定后,设定 RTC_CR1.WAIT=1,查询 RTC_CR1.WAITF=1。
再设定 RTC_CR1.WAIT=0,查询 RTC_CR1.WAITF=0 后再进行模式切换。
在 RTC 低功耗模式下,RTC 寄存器不能读写。在低功耗模式下,RTC 消耗更少的电
流。
RTC 运行时切换低功耗模式不需要等待。
20.2.4 读出计数寄存器
有三种读取计数寄存器的方式:
方式 1:任意时刻读取方式 1
1. 设定 RTC_CR1.WAIT=1,停止日历寄存器计数,进入读写模式;
2. 查询直到 RTC_CR1.WAITF=1;
3. 读出秒,分,时,周,日,月,年计数寄存器值;
4. 设定 RTC_CR1.WAIT=0,计数器计数;
5. 查询直到 RTC_CR1.WAITF=0。
方式 2:任意时刻读取方式 2
1. 读出分,时,周,日,月,年计数寄存器值;
2. 读出秒计数寄存器值;
3. 再次读出秒计数寄存器值;
4. 判断两次秒的读出值是否相同,不同重新从第一步开始,相同读取结束。
方式 3:中断读取方式
在 RTC 周期中断服务中读取秒,分,时,周,日,月,年计数寄存器值。因为中断发
生后到下次数据改变至少 0.5s 的时间。
20.2.5 写入计数寄存器
1. 设定 RTC_CR1.WAIT=1,停止日历寄存器计数,进入读写模式;
2. 查询直到 RTC_CR1.WAITF=1;
3. 写入秒,分,时,周,日,月,年计数寄存器值;
4. 设定 RTC_CR1.WAIT=0,计数器重新开始计数。注意:须在 1 秒内完成所有写操
作;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 586 of 854
5. 查询直到 RTC_CR1.WAITF=0。
在 RTC 未启动模式下写秒,分,时,周,日,月,年计数寄存器不需要等 WAIT。
注意:
– 在计数模式下更改秒寄存器会复位秒计数,写分,时,周,日,月,年计数寄存器
值不会影响 RTC 计数。
20.2.6 闹钟设定
1. 设定 RTC_CR1.ALMEN=0,闹钟禁止;
2. 设定 RTC_CR1.ALMIE=1,闹钟中断许可;
3. 分闹钟 RTC_ ALMMIN,时闹钟 RTC_ALMHOUR,周闹钟 RTC_ALMWEEK 设定;
4. 设定 RTC_CR1.ALMEN=1,闹钟许可;
5. 等待发生中断;
6. 由于闹钟中断和定周期中断共用中断请求信号,则当 RTC_CR1.ALMF=1 时,进入
闹钟中断处理;否则进入定周期中断处理。
20.2.7 1Hz 输出
RTC 可选择输出一般精度,较高精度和高精度 3 种 1Hz 时钟。当时钟误差补偿功能
有效时输出较高精度的 1Hz 时钟;当使用不同频率的 PCLK 时输出高精度的 1Hz 时
钟。需要根据 PCLK 频率配置系统控制寄存器,其中,
一般精度的 1Hz 输出设定如下:(无时钟补偿)
1. 设定 RTC_CR0.START=0,计数停止;
2. RTC 输出引脚设定;
3. RTC_CR0.1HZOE=1,时钟输出许可;
4. 设定 RTC_CR0.START=1,计数开始;
5. 等待 2 个计数周期以上;
6. 1Hz 输出开始。
较高精度的 1Hz 输出设定如下:(低速补偿)
1. 设定 RTC_CR0.START=0,计数停止;
2. RTC 输出引脚设定;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 587 of 854
3. RTC_CR0.1HZOE=1,时钟输出许可;
4. 时钟误差补偿寄存器 RTC_COMPEN.CR 补偿数设定;
5. 时钟误差补偿寄存器 RTC_COMPEN.EN=1,误差补偿有效;
6. 设定 RTC_CR0.START=1,计数开始;
7. 等待 2 个计数周期以上;
8. 1Hz 输出开始。
当 高 精 度 的 1Hz 输 出 时 , 需 要 在 较 高 精 度 输 出 的 基 础 上 , 为 RTC 提 供
4M,6M,8M,12M,16M,20M, 24M,32MHz 的高速 PCLK 时钟,输出设定如下:
1. 设定 RTC_CR0.START=0,计数停止;
2. RTC 输出引脚设定;
3. RTC_CR0.1HZOE=1,时钟输出许可;
4. RTC_CR0.1HZSEL=1,选择输出高精度 1Hz 时钟;
5. 配置高速时钟补偿时钟 SYSCTRL1.RTC_FREQ_ADJUST
6. 时钟误差补偿寄存器 RTC_COMPEN.CR[8:0] 补偿数设定;
7. 时钟误差补偿寄存器 RTC_COMPEN.EN=1,精度补偿有效;
8. 设定 RTC_CR0.START=1,计数开始;
9. 等待 2 个计数周期以上;
10. 1Hz 输出开始。
20.2.8 时钟误差补偿
由于外部晶振存在误差,在需要得到高精度的计数结果时,需要对该误差进行补偿。
补偿方法分为两种:第一种,基于自身时钟的误差补偿;第二种,基于高速时钟的误
差补偿。
基于自身时钟的误差补偿原理与计算:
由于计数器采用 32.768KHz 的时钟计数,如果需要对每秒精度进行补偿时,只能按照
32.768KHz 的整数周期补偿,则每秒补偿的最小单位为(1/32768)*106=30.5ppm,无
法满足高精度的要求。
那么要在 32.768KHz 的计数时钟下实现精度较高的时钟补偿时,需要在算法上做调
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 588 of 854
整,将最大补偿周期扩大 32 倍。则在只能补偿的最小单位为 30.5ppm 的情况下,平
均到每秒的补偿单位变为 30.5ppm/32=0.96ppm。满足了精度较高的时钟补偿要求。而
且补偿发生在每 32 秒内比较均匀的范围内。所以,该寄存器中引入了 5 位小数的设
定。
例 1:
当默认状态下直接输出 1Hz 时钟,通过测定该时钟的精度,计算补偿目标值。
假设实际测定值为 0.9999888Hz,则:
实际发振频率 = 32768 X 0.9999888 32767.63
补偿目标值
= (实际发振频率 – 目标频率)/目标频率 X 106
= (32767.96 – 32768)/32768 X 106
= -11.29ppm
根据
补偿目标值[ppm] 215
CR[8 : 0] =
+ 0001.00000 B
6
10
取2的补码
如果补偿目标值为 -11.29ppm,计算相应的寄存器值如下:
CR[8:0] = (-11.29 X 215/106)取 2 的补码 + 0001.00000B
= (-0.37)
取 2 的补码 + 0001.00000B
= 1111.10101B + 0001.00000B
= 0000.10101B
基于高速 24MHz 时钟的误差补偿原理与计算:
该方式的计算方法与基于自身时钟的误差补偿相同。由于引入了 4M-32MHz 高速时
钟,本来需要在最多 32 秒内累计的 1/32768 秒误差可分散到每 1 秒,针对每 1 秒进
行最小 0.96ppm(23 个 24MHz 时钟周期)的补偿,实现平均的每秒高精度 1Hz 时钟
输出。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 589 of 854
20.3
RTC 中断
RTC 支持两种中断类型。闹钟中断、定周期中断。闹钟中断与定周期中断共用一个中
断信号。
20.3.1 RTC 闹钟中断
当 RTC_CR1.ALMIE=1 时,若当前日历时间与分闹钟寄存器(RTC_ALMMIN)、时闹
钟寄存器(RTC_ALMHOUR)、周闹钟寄存器(RTC_ALMWEEK)相等时,触发闹钟
中断。
20.3.2 RTC 周期中断
控制寄存器 1(RTC_CR1)的 ALMIE=1 时,选择的周期发生后,触发定周期唤醒中
断,由于闹钟和定周期共用中断,通过标志寄存器位来区分。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 590 of 854
20.4
RTC 寄存器描述
基地址 0X40001400
寄存器
偏移地址
描述
RTC_CR0
0X000
控制寄存器0
RTC_CR1
0X004
控制寄存器1
RTC_SEC
0X008
秒计数寄存器
RTC_MIN
0X00C
分计数寄存器
RTC_HOUR
0X010
时计数寄存器
RTC_WEEK
0X014
周计数寄存器
RTC_DAY
0X018
日计数寄存器
RTC_MON
0X01C
月计数寄存器
RTC_YEAR
0X020
年计数寄存器
RTC_ALMMIN
0X024
分闹钟寄存器
RTC_ALMHOUR
0X028
时闹钟寄存器
RTC_ALMWEEK
0X02C
周闹钟寄存器
RTC_COMPEN
0X030
时钟误差补偿寄存器
表 20-2 RTC 寄存器列表
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 591 of 854
20.4.1 控制寄存器 0(RTC_CR0)
*只有上电对该寄存器复位有效
地址偏移量:0x000
复位值 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Reserved
15
Res.
14
13:8
7
6
5
PRDSEL
PRDX
START
HZ1SEL
HZ1OE
RW
RW
RW
RW
RW
位
符号
功能描述
31:15
Reserved
-
14
PRDSEL
0:使用 PRDS 所设定的周期中断时间间隔
4
Res.
3
2:0
AMPM
PRDS
RW
RW
1:使用 PRDX 所设定的周期中断时间间隔
13:8
PRDX
设置产生周期中断的时间间隔,可设定的范围为0.5秒到32秒,步进为0.5秒。
000000: 0.5秒
000001: 1秒
……
111110: 31.5秒
111111: 32秒
7
START
0:停止 RTC 计数器
1:使能 RTC 计数器
6
HZ1SEL
0:普通精度 1Hz 输出
1:高精度 1Hz 输出
5
HZ1OE
0:禁止 1Hz 输出
1:使能 1Hz 输出
4
Reserved
-
3
AMPM
0:12小时制
1:24小时制
2:0
PRDS
设置产生中断的时间间隔:
000:不产生周期中断
001:0.5秒
010:1秒
011:1分钟
100:1小时
101:1天
11x:1月
注意:如需要在 START=1 时写入更改周期中断的时间间隔操作步骤如下:
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 592 of 854
step1,在 NVIC 中关闭 RTC 中断;
step2,更改周期中断的时间间隔;
step3,清除 RTC 中断标志;
step4,使能 RTC 中断。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 593 of 854
20.4.2 控制寄存器 1(RTC_CR1)
*只有上电对该寄存器复位有效
地址偏移量:0x004
复位值 0X00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Reserved
15:11
10:8
7
6
14
Reserved
13
CKSEL
ALMEN
ALMIE
RW
位
符号
功能描述
31:11
Reserved
-
10:8
CKSEL
RTC 时钟选择
RW
RW
5
Res.
4
3
ALMF
PRDF
RW
RW
2
Res.
1
0
WAITF
WAIT
RW
RW
00x: XTL 32.768K
01x: RCL 32K
100: XTH/128
(晶振为 4M 时选择此项)
101: XTH/256
(晶振为 8M 时选择此项)
110: XTH/512
(晶振为 16M 时选择此项)
111: XTH/1024 (晶振为 32M 时选择此项)
7
ALMEN
0:禁止闹钟
1:使能闹钟
注意:在 START=1 日历计数过程中并且 ALMIE=1 中断许可的情况下使能
ALMEN 时,为防止误动作请将系统中断关闭。使能后请将 ALMF 标志位清
除。
6
ALMIE
0:禁止闹钟中断
1:使能闹钟中断
5
Reserved
-
4
ALMF
0:未发生闹钟中断
1:已发生闹钟中断
注意:该位仅在 ALMEN=1 时有效。闹钟匹配时,32.7689KHz 一个时钟后置
1。写0时清除标志,写1无效。
3
PRDF
0:未发生周期中断
1:已发生周期中断
注意:发生周期中断后,该位置1。写0时清除该标志,写1无效。
2
Reserved
-
1
WAITF
0:非写入/读出状态
1:写入/读出状态
注意:WAIT 位设定是否有效标志。在写入/读出前请确认该位是否为“1“。计
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 594 of 854
数过程中,在 WAIT 位清”0“后等待写入完成后该位才清”0“。
0
WAIT
0:正常计数模式
1:写入/读出模式
注意:在写入/读出时请将该位置“1”,由于计数器在连续计数,请在1秒的时间
内完成写入/读出操作并将该位清“0“。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 595 of 854
20.4.3 秒计数寄存器(RTC_SEC)
地址偏移量:0x008
复位值: 不定
31
30
29
28
27
26
25
24
23
22
21
7
6
20
19
18
17
16
1
0
Reserved
15
14
13
12
11
10
-8
9
Reserved
位
符号
功能描述
31:7
Reserved
-
6:4
SECH
秒计数十位值
3:0
SECL
秒计数个位值
5
4
3
2
-
SECH
SECL
-
RW
RW
表示 0-59 秒,采用十进制计数。请写入十进制 0-59 的 BCD 码,写入错误值时,写
入值将被忽略。
20.4.4 分计数寄存器(RTC_MIN)
地址偏移量:0x00C
复位值: 不定
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
0
Reserved
15
14
13
12
11
10
Reserved
位
符号
功能描述
31:7
Reserved
-
6:4
MINH
分计数十位值
3:0
MINL
分计数个位值
9
-8
-
7
6
5
4
3
2
MINH
MINL
RW
RW
表示 0-59 分,采用十进制计数。请写入十进制 0-59 的 BCD 码,写入错误值时,写
入值将被忽略。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 596 of 854
20.4.5 时计数寄存器(RTC_HOUR)
地址偏移量:0x010
复位值: 不定
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
0
Reserved
15
14
13
12
11
10
Reserved
位
符号
功能描述
31:6
Reserved
-
5:4
HOURH
时计数十位值
3:0
HOURL
时计数个位值
9
-8
-
7
6
-
5
4
3
2
HOURH
HOURL
RW
RW
24 小时时制时,表示 0-23 小时。12 小时时制时,b5=0 表示 AM,则 01:12 表示上
午;b5=1 表示 PM,则 21:32 表示下午。
请根据控制为 AMPM 的值,设定正确十进制的 0:23 或者 01:12,21:32 的 BCD 码。
写入超出范围的值将被忽略。
具体时间表示参考下表:
24小时时制
AMPM=1
12小时时制
AMPM=0
时间
寄存器表示
时间
寄存器表示
00时
00H
AM 12时
12H
01时
01H
AM 01时
01H
02时
02H
AM 02时
02H
03时
03H
AM 03时
03H
04时
04H
AM 04时
04H
05时
05H
AM 05时
05H
06时
06H
AM 06时
06H
07时
07H
AM 07时
07H
08时
08H
AM 08时
08H
09时
09H
AM 09时
09H
10时
10H
AM 10时
10H
11时
11H
AM 11时
11H
12时
12H
PM 12时
32H
13时
13H
PM 01时
21H
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 597 of 854
24小时时制
AMPM=1
12小时时制
AMPM=0
时间
寄存器表示
时间
寄存器表示
14时
14H
PM 02时
22H
15时
15H
PM 03时
23H
16时
16H
PM 04时
24H
17时
17H
PM 05时
25H
18时
18H
PM 06时
26H
19时
19H
PM 07时
27H
20时
20H
PM 08时
28H
21时
21H
PM 09时
29H
22时
22H
PM 10时
30H
23时
23H
PM 11时
31H
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 598 of 854
20.4.6 日计数寄存器(RTC_DAY)
地址偏移量:0x018
复位值: 不定
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Reserved
15
14
13
12
11
10
Reserved
位
符号
功能描述
31:6
Reserved
-
5:4
DAYH
日计数十位值
3:0
DAYL
日计数个位值
9
-8
-
7
-
6
5
4
3
2
1
DAYH
DAYL
RW
RW
0
十进制表示 1:31 日,自动计算闰年和月份。具体表示如下:
月份
日计数表示
2月(普通年)
01:28
2月(闰年)
01:29
4、6、9、11月
01:30
1、3、5、7、8、10、12月
01:31
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 599 of 854
20.4.7 周计数寄存器(RTC_WEEK)
地址偏移量:0x014
复位值: 不定
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
0
Reserved
15
14
13
12
11
10
9
Reserved
位
符号
功能描述
31:3
Reserved
-
2:0
WEEK
周计数值
8 -
7
6
5
4
3
2
WEEK
-
RW
十进制 0:6 表示周日:周六。请写入正确的十进制 0:6 的 BCD 码,写入其他值,将
被忽略。周计数值对应关系如下:
周
周计数表示
周日
00H
周一
01H
周二
02H
周三
03H
周四
04H
周五
05H
周六
06H
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 600 of 854
20.4.8 月计数寄存器(RTC_MON)
地址偏移量:0x01C
复位值: 不定
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
0
Reserved
15
14
13
12
11
10
8-
9
Reserved
位
符号
功能描述
31:5
Reserved
-
4:0
MON
月计数值
7
6
5
4
3
2
MON
-
RW
十进制 1:12 表示 1:12 月。请写入正确的十进制 1:12 的 BCD 码,写入其他值,将
被忽略。
20.4.9 年计数寄存器(RTC_YEAR)
地址偏移量:0x020
复位值: 不定
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
0
Reserved
15
14
13
12
11
10
Reserved
位
符号
功能描述
31:8
Reserved
-
7:4
YEARH
年计数十位值
3:0
YEARL
年个位计数值
9
- 8
-
7
6
5
4
3
2
YEARH
YEARL
RW
RW
十进制 0:99 表示 0:99 年。根据月进位计数。自动计算闰年如:00、04、08、…、92、
96 等。请写入正确的十进制年计数值,写入错误值将被忽略。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 601 of 854
20.4.10 分闹钟寄存器(RTC_ALMMIN)
地址偏移量:0x024
复位值: 不定
31
30
29
28
27
26
25
24
23
22
21
7
6
20
19
18
17
16
1
0
Reserved
15
14
13
12
11
10
- 8
-
9
Reserved
5
符号
功能描述
31:7
Reserved
-
6:4
ALMMINH
分闹钟匹配值十位
3:0
ALMMINL
分闹钟匹配值个位
3
2
ALMMINH
ALMMINL
RW
RW
-
位
4
请设定十进制 0:59 的 BCD 码。写入其他值,不会发生闹钟匹配。
20.4.11 时闹钟寄存器(RTC_ALMHOUR)
地址偏移量:0x028
复位值: 不定
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Reserved
15
14
13
12
11
10
9
8
Reserved
位
符号
功能描述
31:6
Reserved
-
5:4
ALMHOURH
时闹钟十位匹配值
3:0
ALMHOURL
时闹钟个位匹配值
-
7
6
5
4
3
2
1
-
ALMHOURH
ALMHOURL
-
RW
RW
0
请根据时制设定正确的闹钟匹配值,否则不会发生时闹钟匹配。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 602 of 854
20.4.12 周闹钟寄存器(RTC_ALMWEEK)
地址偏移量:0x02C
复位值: 不定
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
3
2
1
0
Reserved
15
14
13
12
11
10
9
Reserved
位
符号
功能描述
31:7
Reserved
-
6:0
ALMWEEK
周闹钟匹配值。
-8
7
6
5
4
-
ALMWEEK
-
RW
b0:b6 分别对应周日:周六,对应为置“1“时,代表每周该日闹钟有效。
如,b0=1,b5=1 代表周日和周五闹钟设定有效。
请根据时制设定正确的闹钟匹配值,否则不会发生时闹钟匹配。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 603 of 854
20.4.13 时钟误差补偿寄存器(RTC_COMPEN)
地址偏移量:0x030
*只有上电对该寄存器复位有效,复位值: 0x00000020
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
0
Reserved
15
14
13
EN
12
11
9 CPSTS
8
-
10
Reserved
RW
7
6
5
4
3
2
CR
-
RW
-
位
符号
功能描述
-
31:16
Reserved
-
-
15
EN
补偿使能
0:禁止时钟误差补偿
1:使能时钟误差补偿
14:9
Reserved
-
8:0
CR
补偿值
通过补偿值设定,可针对每秒进行 +/-0.96ppm 的精度补偿。补偿值为9位带小
数点的2的补码,后5位为小数部分。可补偿范围 274.6ppm:212.6ppm。最小微分
误差 +/-0.48ppm。最小分辨率 0.96ppm。具体补偿精度请参考下表:
补偿值设定
补偿数
EN
CR[8:0]
1
1
0
0
0
0
0
0
0
0
-274.6ppm
1
0
0
0
0
0
0
0
1
-273.7ppm
:
:
:
:
:
:
:
:
:
:
0
0
0
0
1
1
1
1
1
-0.95ppm
0
0
0
1
0
0
0
0
0
0ppm
:
:
:
:
:
:
:
:
:
:
0
1
1
1
1
1
1
1
0
+211.7ppm
0
1
1
1
1
1
1
1
1
+212.6ppm
X
X
X
X
X
X
X
X
X
无补偿
0
补偿原理说明与计算:
由于计数器采用 32.768KHz 的时钟计数,如果需要对每秒精度进行补偿时,只能按
照 32.768KHz 的整数周期补偿,则每秒补偿的最小单位为(1/32768)*106=30.5ppm,
无法满足高精度的要求。
那么要在 32.768KHz 的计数时钟下实现精度较高的时钟补偿时,需要在算法上做调
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 604 of 854
整,将最大补偿周期扩大 32 倍。则在只能补偿的最小单位为 30.5ppm 的情况下,平
均每秒的补偿单位变为为 30.5ppm/32=0.96ppm。满足了精度较高的时钟补偿要求。
而且补偿发生在每 32 秒内比较均匀的范围内。所以,该寄存器中引入了 5 位小数的
设定。
设定值计算如下:
补偿目标值[ppm] 215
CR[8 : 0] =
+ 0001.00000B
6
10
取2的补码
如果补偿目标值为 +20.6ppm,计算相应的寄存器值如下:
CR[8:0]
= (20.3 X 215/106)取 2 的补码 + 0001.00000B
= (0.6651904)
取 2 的补码 + 0001.00000B
= 0000.10101B + 0001.00000B
= 0001.10101B
如果补偿目标值为-20.6ppm,计算相应的寄存器值如下:
CR[8:0]
= (-20.3 X 215/106)取 2 的补码 + 0001.00000B
= (-0.6651904)取 2 的补码 + 0001.00000B
= 1111.01011B + 0001.00000B
= 0000.01011B
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 605 of 854
21
看门狗定时器(WDT)
21.1
WDT 简介
WDT 可用来检测和解决由软件错误引起的故障。当 WDT 计数器达到设定的溢出时
间后,会触发中断或产生系统复位。WDT 由专用的 10KHz 片内振荡器驱动。
WDT
IRC10
K
PCLK
Reg
interface
20 bits
Counter
MUX
WDT
control
Interrupt
management
WDT_RST
interru
pt
图 21-1 WDT 整体框图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 606 of 854
21.2
WDT 功能描述
20Bit 自由运行的递增计数器,溢出时间可配置为 1.6ms – 50s。
溢出后的动作可配置为中断或复位。
WDT 时钟由独立的 RC 振荡器提供,可在 Sleep 和 DeepSleep 模式下工作。
WDTCON 寄存器只有在 WDT 未被启动时才能修改,以防止启动后无意之间修改
WDT 的配置。
21.2.1 WDT 溢出后产生中断
在本模式下,WDT 将按所设定的时间周期性地产生中断。在中断服务程序中需要清除
WDT 中断标志。
配置方法如下所示:
Step1:配置 WDT_CON. WOV,选择 WDT 计时溢出时间。
Step2:设置 WDT_CON. WINT_EN 为 1,选择 WDT 溢出后产生中断。
Step3:使能 NVIC 中断向量表中的 WDT 中断。
Step4:向 WDT_RST 寄存器依次写入 0x1E、0xE1,启动 WDT 定时器。
Step5:在中断服务程序中向 WDT_RST 寄存器依次写入 0x1E、0xE1 以清除中断标志。
21.2.2 WDT 溢出后产生复位
在本模式下,WDT 计数器溢出后会产生 Reset 信号,该信号会复位 MCU。用户程序
需要在 WDT 溢出前清零 WDT 计数器,从而避免产生 WDT 复位。
配置方法如下所示:
Step1:配置 WDT_CON. WOV,选择 WDT 计数器溢出时间。
Step2:设置 WDT_CON. WINT_EN 为 0,选择 WDT 溢出后产生复位。
Step3:向 WDT_RST 寄存器依次写入 0x1E、0xE1,启动 WDT 定时器。
Step4:在 WDT 溢出前向 WDT_RST 寄存器依次写入 0x1E、0xE1 以清零 WDT 计数
器。
注意:
– 由于 WDT 振荡器是低精度的 RC 振荡器,强烈建议在 WDT 计数器计数值到达溢
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 607 of 854
出值的一半之前对 WDT 进行清零。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 608 of 854
21.3
WDT 寄存器描述
基地址 0X40000F00
寄存器
偏移地址
描述
WDT_RST
0X080
WDT清除控制寄存器
WDT_CON
0X084
WDT控制寄存器
表 21-1 WDT 寄存器列表
21.3.1 WDT 清除控制寄存器(WDT_RST)
偏移地址:0x080
复位值: 0x0000 0000
31:8
7
6
5
4
3
2
1
0
WDTRST
Reserved
WO
位
符号
描述
31:8
Reserved
保留位,读为0
7:0
WDTRST
看门狗启动/清零控制
当看门狗未启动时,向该寄存器依次写入0x1E、0xE1,启动WDT定时器。
当看门狗已启动时,向该寄存器依次写入0x1E、0xE1,清零WDT定时器及中断标
志。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 609 of 854
21.3.2 WDT_CON 寄存器
偏移地址:0x084
复位值: 0x0000 000F
注:该寄存器只有在 WDT 未运行时才可以写入。
31:16
Reserved
15:8
7
WCNTL
WDTINT
RO
RO
6
Res.
位
符号
描述
31:16
Reserved
保留位,读为0
15:8
WCNTL
WDT计数器低8位
7
WDTINT
WDT中断标志
5
4
3
2
1
WINT_EN
WDTR
WOV
RW
RO
RW
0
1:已发生WDT中断, 向WDT_RST寄存器依次写入0x1E、0xE1以清除该中断标志。
0:未发生WDT中断 。
5
WINT_EN
WDT溢出后的动作配置
1:WDT溢出后产生中断。
0:WDT溢出后产生复位。
4
WDTR
WDT运行标志
1:WDT正在运行
0:WDT停止
3:0
WOV[3:0]
WDT计时溢出时间配置
0000:1.6ms
1000:500ms
0001:3.2ms
1001:820ms
0010:6.4ms
1010:1.64s
0011:13ms
1011:3.28s
0100:26ms
1100:6.55s
0101:51ms
1101:13.1s
0110:102ms
1110:26.2s
0111:205ms
1111:52.4s
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 610 of 854
22
脉冲计数器(PCNT)
22.1
脉冲计数器简介
脉冲计数器(PCNT)模块可以对输入的脉冲进行计数,支持三种脉冲模式:单通道脉
冲、双通道正交脉冲、双通道非交脉冲。无需软件参与,可在低功耗模式下正确计数。
22.2
脉冲计数器主要特性
脉冲计数器支持以下特性:
支持重载功能的 16 bit 计数器
单通道脉冲计数
双通道非交脉冲计数
双通道正交脉冲计数,不失码
加/减计数溢出中断
脉冲超时中断
4 种解码错误中断,非交脉冲模式
1 种方向改变中断,正交脉冲模式
多级脉冲宽度滤波
输入脉冲极性可配置
支持低功耗模式计数
支持唤醒低功耗模式下 MCU
支持任意脉冲沿间距不小于 1 个计数时钟周期
具备低功耗模式下自动定时唤醒功能,最大定时达 1024 秒
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 611 of 854
22.3
脉冲计数器功能描述
22.3.1 整体框图
PCNT_CTRL[5]
S0
采样电路
S0A
S1
采样电路
S1A
PCNT_FLT
极性选择
S0P
极性选择
S1P
PCNT_CTRL[6]
RCL
XTL
PCLK
PCNT_CTRL[1:0]
滤波电路
S0PF
滤波电路
S1PF
PCNT_FLT
单通道解码
SINGLE
DUAL
QUAD
CKCNT
非交解码
正交解码
CNT(16bit)
PCNT_CLK
TOP(16bit)
超时检测
PCNT_CTRL[3:2]
BUF(16bit)
图 22-1 整体框图
22.3.2 信号说明
以下以输入信号 S0 为例说明信号在计数器模块中的处理流程。
S0 信号经采样模块后输出 S0A 信号,采样时钟为 PCNT_CLK。
S0A 信号经极性选择模块后输出 S0P 信号。
S0P 信号经脉冲宽度滤波模块后输出 S0PF 信号,滤波模块的时钟为分频后的
PCNT_CLK。
S0PF 信号经单通道解码模块、双通道非交解码模块、双通道正交解码模块解码后输
出相应的 SINGLE、DUAL、QUAD 信号。
SINGLE、DUAL、QUAD 经多路选择器后输出 CKCNT 信号以驱动 CNT 模块进行
计数。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 612 of 854
22.3.3 计数模式
本模块支持 3 种计数模式:单通道脉冲、双通道正交脉冲、双通道非交脉冲。
22.3.3.1 单通道脉冲计数模式 (Single Mode)
当配置 PCNT_CTRL.Mode 为 0x00 或 0x01 时,脉冲计数器工作于单通道脉冲计数模
式。该模式下解码模块只对 S0 脉冲信号进行计数。当 PCNT_CLK 时钟采样到 S0PF
信号的下降沿时,计数器按 PCNT_CTRL.DIR 的配置进行一次递增或递减操作。
计数器的计数范围为 0x00 至计数上阈值(PCNT_TOP)。
在加计数状态,当计数值等于 PCNT_TOP 且采样到 S0PF 信号的下降沿时,计数器发
生上溢出,计数值回到 0 并置位 PCNT_IFR.OV,该中断标志需要使用软件进行清零。
下图为 PCNT 加计数的时序图,图中 PCNT_TOP 的值为 99。
PCNT_CLK
S0
PCNT_RUN.Run
S0PF
PCNT_CNT
96
97
98
99
00
01
02
03
04
PCNT_IFR.OV
图 22-2 单通道脉冲记数模式加计数波形
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 613 of 854
在减计数状态,当计数值等于 0x00 且采样到 S0PF 信号的下降沿时,计数器发生下溢
出,计数值回到 PCNT_TOP 并置位 PCNT_IFR.UF,该中断标志需要使用软件进行清
零。下图为 PCNT 减计数的时序图,图中 PCNT_TOP 的值为 99。
PCNT_CLK
S0
PCNT_RUN.Run
S0PF
PCNT_CNT
04
03
02
01
00
99
98
97
96
PCNT_IFR.UF
图 22-3 单通道脉冲计数模式减计数波形
22.3.3.2 双通道非交脉冲计数模式 (Dual Mode)
当配置 PCNT_CTRL.Mode 为 0x02 时,脉冲计数器工作于双通道非交脉冲计数模式。
该模式下解码模块对 S0 和 S1 脉冲信号进行解码计数。当 S0PF 和 S1PF 依次出现两个
正脉冲,则计数器按 PCNT_CTRL.DIR 的配置进行一次递增或递减操作。
解码模块能正确计数的两种波形如下所示,S0PF 与 S1PF 没有同时为高的情况。
S0PF
S0PF
S1PF
S1PF
解码模块不能正确计数的几种波形如下所示,S0PF 与 S1PF 出现同时为高的情况。
S0PF
S0PF
S1PF
S1PF
S0PF
S0PF
S1PF
S1PF
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 614 of 854
计数器的计数范围为 0x00 至计数上阈值(PCNT_TOP)。
在加计数状态,当计数值等于 PCNT_TOP 且 S0PF、S1PF 依次出现两个正脉冲时,计
数器发生上溢出,计数值回到 0 并置位 PCNT_IFR.OV,该中断标志需要使用软件进行
清零。下图为 PCNT 加计数的时序图,图中 PCNT_TOP 的值为 99。
PCNT_RUN.Run
S0PF
S1PF
PCNT_CNT
96
97
98
99
00
01
02
03
04
PCNT_IFR.OV
图 22-4
双通道非交脉冲计数模式加计数波形
在减计数状态,当计数值等于 0x00 且 S0PF、S1PF 依次出现两个正脉冲时,计数器发
生下溢出,计数值回到 PCNT_TOP 并置位 PCNT_IFR.UF,该中断标志需要使用软件
进行清零。下图为 PCNT 减计数的时序图,图中 PCNT_TOP 的值为 99。
PCNT_RUN.Run
S0PF
S1PF
PCNT_CNT
04
03
02
01
00
99
98
97
96
PCNT_IFR.UF
图 22-5
双通道非交脉冲计数模式减计数波形
22.3.3.3 双通道正交脉冲记数模式 (Quad Mode)
当配置 PCNT_CTRL.Mode 为 0x03 时,脉冲计数器工作于双通道正交脉冲计数模式。
该模式下解码模块需要 S0 和 S1 两路脉冲信号进行解码计数。计数器根据 S0PF 和
S1PF 脉冲的相位关系自动判断计数的方向,物理设备任意正转、反转均能正确计数。
当 S0PF 和 S1PF 完成一个周期的变化时,计数器按计数方向进行一次递增或递减操
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 615 of 854
作。
解码模块判断计数方向的波形如下所示:
加计数波形
减计数波形
S0PF
S0PF
S1PF
S1PF
计数器的计数范围为 0x00 至计数上阈值(PCNT_TOP)。
在加计数状态,当计数值等于 PCNT_TOP 且 S0PF 和 S1PF 完成一个周期的变化时,
计数器发生上溢出,计数值回到 0 并置位 PCNT_IFR.OV,该中断标志需要使用软件进
行清零。下图为 PCNT 加计数的时序图,图中 PCNT_TOP 的值为 99。
PCNT_RUN.Run
S0PF
S1PF
PCNT_CNT
96
97
98
99
00
01
02
03
04
PCNT_IFR.OV
图 22-6
双通道正交脉冲计数模式加计数波形
在减计数状态,当计数值等于 0x00 且 S0PF 和 S1PF 完成一个周期的变化时,计数器
发生下溢出,计数值回到 PCNT_TOP 并置位 PCNT_IFR.UF,该中断标志需要使用软
件进行清零。下图为 PCNT 减计数的时序图,图中 PCNT_TOP 的值为 99。
PCNT_RUN.Run
S0PF
S1PF
PCNT_CNT
04
03
02
01
00
99
98
97
96
PCNT_IFR.UF
图 22-7
双通道正交脉冲计数模式减计数波形
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 616 of 854
22.3.4 脉冲宽度滤波
该脉冲宽度滤波器使用计数时钟分频作为滤波时钟,并以此计数从而实现脉冲去抖动
目的。其中滤波时钟的分频系数从 1~8096 倍配置寄存器可选(FLT.ClkDiv),保持电
平超过(FLT.DebTop)(1~7)个滤波时钟视为非抖动,可通过滤波器。
该滤波功能可由配置寄存器(FLT.EN)打开或关闭。
同时仅当启动 PCNT 之后(Run=1),滤波计数器才启动。
DEB_CLK
SxP
SxPF
图 22-8 脉冲宽度滤波波形
图示为 FLT.DebTop = 2 时的滤波波形。
𝑓𝐷𝐸𝐵_𝐶𝐿𝐾 =
𝑓𝑃𝐶𝑁𝑇_𝐶𝐿𝐾
(FLT. ClkDiv + 1)
22.3.5 超时
打开超时功能(TOCR.EN)将使用滤波时钟(见 22.3.4 滤波时钟)对脉冲高电平时间
由 0 开始进行加计数,采样到低电平将使计数器回到 0,若一个高电平计数值达到
(TOCR.TH)将产生中断标志位 IF.TO。
超时功能使用滤波时钟,需配置分频系数(FLT.ClkDiv),但不依赖于是否打开滤波使
能(FLT.EN)。
同时仅当启动 PCNT 之后(Run=1),超时计数器才启动。
溢出时间计算公式如下:
𝑇𝑇𝑂 =
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
(FLT. ClkDiv + 1) × TOCR. TH
𝑓𝑃𝐶𝑁𝑇_𝐶𝐿𝐾
Page 617 of 854
22.3.6 低功耗模式下的自动唤醒定时器
PCNT 通过适当的配置,可实现低功耗模式下自动唤醒,其最长定时周期为 1024 秒。
具体操作流程如下:
Step1:确保端口功能选择寄存器(Pxx_SEL)不要配置任何端口为 PCNT_S0。
Step2:设置 CTRL.Mode 为 0,选择单通道模式。
Step3:设置 CTRL. S0P 为 1,对 S0 输入通道选择极性取反。
Step4:配置 CTRL. ClkSel,选择 XTL 或者 RCL 作为计数器时钟。
Step5:配置 FLT. ClkDiv,选择滤波器的时钟分频系数。
Step6:配置 TOCR.TH,选择超时定时器的定时周期。
Step7:设置 TOCR.EN 为 1,使能超时定时器。
Step8:使能 PCNT 中断向量表。
Step9:向 ICR 写 0,清除 PCNT 所有中断标志
Step10:设置 IEN.TO 为 1,使能超时中断。
Step11:设置 RUN 为 1,启动 PCNT。
Step12:进入低功耗模式,等待 PCNT 超时中断唤醒 MCU。
Step13:在中断服务程序中,依次执行以下步骤:
a.设置 RUN 为 0
b.向 ICR.TO 写 0,清除超时中断标志
c.设置 PCNT_IEN.TO 为 0
d.执行用户需要的执行的功能
e.查询直到 PCNT_RUN 为 0
f.查询直到 PCNT_IFR.TO 为 0
g.退出中断服务程序
Step14:如需再次启动定时器,重复步骤 10~13。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 618 of 854
22.4
PCNT 寄存器描述
寄存器列表
基地址:0x40005400
偏移量
寄存器名称
访问
同步/异步
寄存器描述
0x00
PCNT_RUN
RW
异步
PCNT 启动寄存器
0x04
PCNT_CTRL
RW
异步
PCNT 控制寄存器
0x08
PCNT_FLT
RW
异步
PCNT 滤波控制寄存器
0x0c
PCNT_TOCR
RW
异步
PCNT 超时控制寄存器
0x10
PCNT_CMD
WO1
异步
PCNT 命令寄存器
0x14
PCNT_SR1
RO
同步
PCNT 状态寄存器 1
0x18
PCNT_CNT
RO
同步
PCNT 计数寄存器
0x1c
PCNT_TOP
RO
同步
PCNT 计数溢出寄存器
0x20
PCNT_BUF
RW
异步
PCNT 计数溢出缓存寄存器
0x24
PCNT_IFR
RO
同步
PCNT 中断标识寄存器
0x28
PCNT_ICR
WO0
异步
PCNT 中断清除寄存器
0x2c
PCNT_IEN
RW
异步
PCNT 中断使能寄存器
0x30
PCNT_SR2
RO
异步
PCNT 状态寄存器 2
表 22-1 寄存器列表
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 619 of 854
22.4.1 PCNT 启动寄存器(PCNT_RUN)
地址偏移量:0x00
复位值: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
Reserved
Run
RW
位
标记
31:1
Reserved
0
Run
功能描述
PCNT启动/停止控制。
0: 停止
1: 启动
注意:
– 当前模块未将 pclk 时钟域的配置寄存器进行到 PCNT_CLK 时钟域的同步,所以
当 Run=1 启动 PCNT 后,配置寄存器不允许进行修改以避免发生未知错误。所有
配置寄存器的修改务必在 PCNT 停止的状态(Run=0)下进行。
– 对 Run 位写入一个值后,需要经过一个同步的过程才可启动/停止 PCNT 计数,在
同步未完成之前读取 Run 位将返回写入之前的 Run 状态值。所以如果要停止 PCNT
之后再启动 PCNT,需对 Run 位写入 0,查询到 Run 位=0 之后才可继续后续其他
操作(包括对 Run 位写入 1 以重新启动 PCNT)。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 620 of 854
22.4.2 PCNT 控制寄存器(PCNT_CTRL)
地址偏移量:0x04
复位值:0x00000000
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
Reserved
位
标记
31:7
Reserved
6
S1P
S1P S0P
DIR
ClkSel
Mode
RW RW
RW
RW
RW
功能描述
S1通道输入极性选择
0: 不取反
1: 取反
5
S0P
S0 通道输入极性选择
0: 不取反
1: 取反
4
DIR
计数方向选择
0: 加计数
1: 减计数
注:仅对单通道模式和双通道非交模式有效。
3:2
ClkSel
PCNT_CLK计数时钟选择
0:PCLK
1:PCLK
2:XTL
3:RCL
1:0
Mode
脉冲计数模式选择
0: 单通道脉冲计数模式
1: 单通道脉冲计数模式
2: 双通道非交脉冲计数模式
3: 双通道正交脉冲计数模式
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 621 of 854
22.4.3 PCNT 滤波控制寄存器(PCNT_FLT)
地址偏移量:0x08
复位值:0x00002000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
Reserved
16
EN
RW
15
14
13
12
11
10
9
8
7
6
DebTop
ClkDiv
RW
RW
位
标记
31:17
Reserved
16
EN
5
4
3
2
1
0
功能描述
脉冲宽度滤波器使能控制。
0: 不使能
1: 使能
15:13
DebTop
计数器阈值
使用滤波时钟对输入脉冲连续采样,当连续电平采样计数值达到
阈值则视为正常脉冲,可通过滤波器。
0:为非法值
12:0
ClkDiv
滤波时钟分频系数
系数 = ClkDiv + 1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 622 of 854
22.4.4 PCNT 超时控制寄存器(PCNT_TOCR)
地址偏移量:0x0c
复位值:0x00000FFF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
Reserved
16
EN
RW
15
14
13
12
11
10
9
8
7
6
5
Reserved
TH
RW
RW
位
标记
31:17
Reserved
16
EN
4
3
2
1
0
功能描述
超时功能使能控制。
0: 不使能
1: 使能
15:12
Reserved
11:0
TH
超时阈值。
当脉冲高电平被滤波时钟连续采样计数达到阈值,产生超时中断
标识,计数器重新开始计数。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 623 of 854
22.4.5 PCNT 命令寄存器(PCNT_CMD)
地址偏移量:0x10
复位值: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
B2C
B2T
T2C
R0
R0
R0
W1
W1
W1
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
31:3
Reserved
2
B2C
功能描述
写1,立即将BUF中的值同步到CNT。
同步过程中PCNT_SR2的相应位为1,此时不应对BUF进行写操作,不
应对CNT进行读操作。
1
B2T
写1,立即将BUF中的值同步到TOP。
同步过程中PCNT_SR2的相应位为1,此时不应对BUF进行写操作,不
应对TOP进行读操作。
0
T2C
写1,立即将TOP中的值同步到CNT。
同步过程中PCNT_SR2的相应位为1,此时不应对B2T写1,不应对CNT
进行读操作。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 624 of 854
22.4.6 PCNT 状态寄存器 1(PCNT_SR1)
地址偏移量:0x14
复位值: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
DIR
Reserved
RO
位
标记
31:1
Reserved
0
DIR
功能描述
双通道正交脉冲计数方向指示
0: 加计数
1: 减计数
22.4.7 PCNT 计数寄存器(PCNT_CNT)
地址偏移量:0x18
复位值: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
CNT
RO
位
标记
31:16
Reserved
15:0
CNT
功能描述
计数器计数值。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 625 of 854
22.4.8 PCNT 计数溢出寄存器(PCNT_TOP)
地址偏移量:0x1c
复位值:0x0000 00FF
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
Reserved
15
14
13
12
11
10
9
8
7
TOP
RO
位
标记
31:16
Reserved
15:0
TOP
功能描述
计数器上溢出阈值。
计数器下溢出重载值。
22.4.9 PCNT 计数溢出缓存寄存器(PCNT_BUF)
地址偏移量:0x20
复位值:0x0000 00FF
31
30
29
28
27
26
25
24
23
Reserved
15
14
13
12
11
10
9
8
7
BUF
RW
位
标记
31:16
Reserved
15:0
BUF
功能描述
CNT寄存器、TOP寄存器的缓存。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 626 of 854
22.4.10 PCNT 中断标识寄存器(PCNT_IFR)
地址偏移量:0x24
复位值:0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
7
6
5
4
3
2
1
0
S1E
S0E
BB
FE
DIR
TO
OV
UF
RO
RO
RO
RO
RO
RO
RO
RO
Reserved
15
14
13
12
11
10
9
8
Reserved
位
标记
31:8
Reserved
7
S1E
功能描述
脉冲解码错误中断标识。
在一个非交编码完整采样周期内,S1通道未发生变化。
仅在双通道非交编码模式有效。
6
S0E
脉冲解码错误中断标识。
在一个非交编码完整采样周期内,S0通道未发生变化。
仅在双通道非交编码模式有效。
5
BB
脉冲解码错误中断标识。
双通道脉冲分别背靠背采样为高,中间并无低状态。
仅在双通道非交编码模式有效。
4
FE
脉冲解码错误中断标识。
在一个非交编码完整采样周期内,采样到的不是一个正确的非交编码帧。
仅在双通道非交编码模式有效。
3
DIR
正交脉冲方向改变中断标识。
正交脉冲被解码器判定为计数方向发生改变。
仅在双通道正交脉冲有效。
2
TO
超时中断标识。
在3种模式均有效。
1
OV
上溢出中断标识。
在3种模式均有效。
0
UF
下溢出中断标识。
在3种模式均有效。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 627 of 854
22.4.11 PCNT 中断清除寄存器(PCNT_ICR)
地址偏移量:0x28
复位值:0x000000FF
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
7
6
5
4
3
2
1
0
S1E
S0E
BB
FE
DIR
TO
OV
UF
R1
R1
R1
R1
R1
R1
R1
R1
W0
W0
W0
W0
W0
W0
W0
W0
Reserved
15
14
13
12
11
10
9
8
Reserved
对每个 bit 写 0 可对 21.4.10 中 PCNT_IFR 各对应中断标识清除。
每 bit 详细解释参见 21.4.10。
22.4.12 PCNT 中断使能寄存器(PCNT_IEN)
地址偏移量:0x2c
复位值:0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
7
6
5
4
3
2
1
0
S1E
S0E
BB
FE
DIR
TO
OV
UF
RW RW
RW
RW
Reserved
15
14
13
12
11
10
9
Reserved
8
RW RW
RW RW
对每个 bit 对应 21.4.10 中 PCNT_IFR 各对应中断的输出使能位。
1:使能。 0:不使能。
每 bit 详细解释参见 21.4.10。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 628 of 854
22.4.13 PCNT 同步状态寄存器(PCNT_SR2)
地址偏移量:0x30
复位值: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
B2C
B2T
T2C
RO
RO
RO
Reserved
15
14
13
12
11
10
9
8
7
Reserved
Bits
寄存器名
31:3
Reserved
2
B2C
描述
将BUF中数值同步到CNT时的同步状态位。
1:正在进行同步,不可读取CNT寄存器
0:同步已完成
1
B2T
将BUF中数值同步到TOP时的同步状态位。
1:正在进行同步,不可读取TOP寄存器
0:同步已完成
0
T2C
将TOP中数值同步到CTN时的同步状态位。
1:正在进行同步,不可读取CNT寄存器
0:同步已完成
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 629 of 854
23
通用同步异步收发器(UART)
23.1
简介
通用同步异步收发器(UART)能够灵活地与外部设备进行全双工数据交换,它支持
同步单向通信以及多处理器通信。常用于短距离、低速的串行通信中。UART 通过可
编程波特率发生器提供了多种波特率。UART 支持多种工作模式。
A
P
B
UART
SCON
Baude Rate
Generator
SBUF
Transmit
Transmit
Shifter
TXD
SBUF
Receive
Receive
Shifter
RXD
图 23-1 结构框图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 630 of 854
23.2
主要特性
通用 UART 模块支持以下基本功能:
全双工传输、半双工传输
可编程串行通信功能
–
两种字符长度:8 比特、 9 比特
–
三种校验方式:无检验、奇校验、偶校验
–
三种停止长度:1 比特、 2 比特、 1.5 比特
16 比特波特率发生器
多机通讯
硬件地址识别
硬件流控
DMAC 硬件传输握手
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 631 of 854
功能描述
23.3
23.3.1 工作模式
UART 支持多种工作模式:同步半双工模式、异步全双工模式。通过 UARTx_SCON.SM
和 UARTx_SCON. HDSEL 搭配,即可配置出所需要的各种工作模式。
23.3.1.1 Mode0~Mode3 功能对比
配置 UARTx_SCON.SM 可选择不同的传输模式:Mode0~Mode3。这四种工作模式的
主要功能对比如下表所示:
工作模式
传输位宽
数据组成
波特率
同步模式
Mode0
8bit
Data(8bit)
𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 =
半双工
Start (1bit) + Data(8bit)
异步模式
Mode1
10~11bit
+ Stop(1~2bit)
全双工
11~12bit
+ B8(1bit) +
全双工
Stop(1~2bit)
11~12bit
全双工
𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 =
Start (1bit) + Data(8bit)
异步模式
Mode3
𝑓𝑃𝐶𝐿𝐾
𝑂𝑉𝐸𝑅 ∗ 𝑆𝐶𝑁𝑇
Start (1bit) + Data(8bit)
异步模式
Mode2
𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 =
+ B8(1bit) +
Stop(1~2bit)
𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 =
𝑓𝑃𝐶𝐿𝐾
12
𝑓𝑃𝐶𝐿𝐾
𝑂𝑉𝐸𝑅
𝑓𝑃𝐶𝐿𝐾
𝑂𝑉𝐸𝑅 ∗ 𝑆𝐶𝑁𝑇
表 23-1 Mode0/1/2/3 数据结构
注:
- Mode0 只能作为主机发送 UART 同步移位时钟,不可以作为从机接收外部输入的
UART 同步移位时钟。
- 𝑓𝑃𝐶𝐿𝐾 代表当前 PCLK 的频率。
- OVER 的定义详见 UARTx_SCON。
- SCNT 的定义详见 UARTx_SCNT。
- B8 数据位比较特殊,在不同应用下具有不同的含义,请参考以下表格:
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 632 of 854
UARTx_SCON.
UARTx_SCON.
ADRDET
B8CONT[1:0]
--
01/10
B8 数据含义
应用场景
接收时,B8 是所收到的 8-Bit 数据的奇偶校验位;
奇偶校验
发送时,B8 是待发送的 8-Bit 数据的奇偶校验位;
B8=1,代表当前是地址帧;
1
多机通讯
-B8=0,代表当前是数据帧;
0
其他
00/11
接收/发送数的第 8 比特
表 23-2
B8 数据含义
注意:
- 当开启多机通讯模式,接收数据奇偶校验自动关闭;发送数据奇偶校验仍受
B8CONT 控制;
23.3.1.2 Mode0 数据收发说明
发送数据时,清除 UARTx_SCON.REN 位,并将数据写入 UARTx_SBUF 寄存器中。
此时,发送数据从 RXD 输出(低位在先,高位在后),同步移位时钟从 TXD 输出。
Write
SBUF
Serial
CLK
TX Data
D0 D1 D2 D3 D4 D5 D6 D7
SerialDir
SerialDir=0,TX
TC
图 23-2 Mode0 发送数据
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 633 of 854
接收数据时,将 UARTx_SCON.REN 位置 1,并将 UARTx_ISR.RC 位清零。当接收结
束,数据可从 UARTx_SBUF 寄存器读取。此时,接收数据从 RXD 输入(低位在先,
高位在后),同步移位时钟从 TXD 输出。
Write
SCON
Serial
CLK
RX Data
D0 D1 D2 D3 D4 D5 D6 D7
SerialDir=1,RX
SerialDir
RC
图 23-3 Mode0 接收数据
23.3.1.3 Mode1 数据收发说明
发送数据时,与 UARTx_SCON.REN 的值无关,将所发送数据写入 UARTx_SBUF 寄
存器中,数据就会从 TXD 移出(低位在先,高位在后)。
Write
SBUF
TX
start
D0 D1 D2 D3 D4 D5 D6 D7 stop
TC
图 23-4 Mode1 发送数据
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 634 of 854
接收数据时,将 UARTx_SCON.REN 位置 1,并将 UARTx_ISR.RC 位清 0。开始接收
RXD 上数据(低位在先,高位在后),当接收完毕,可以从 UARTx_SBUF 寄存器读出。
RX
start
D0 D1 D2 D3 D4 D5 D6 D7 stop
RC
图 23-5 Mode1 接收数据
23.3.1.4 Mode2 数据收发说明
发送数据时,与 UARTx_SCON.REN 的值无关,将所发送数据写入 UARTx_SBUF 寄
存器中,数据就会从 TXD 移出(低位在先,高位在后)。
Write
SBUF
TX
start
D0 D1 D2 D3 D4 D5 D6 D7 TB8 stop
TC
图 23-6 Mode2 发送数据
接收数据时,需将 UARTx_SCON.REN 位置 1,并将 UARTx_ISR.RC 位清 0。开始接
收 RXD 上的数据(低位在先,高位在后),当接收完毕,可以从 UARTx_SBUF 寄存
器读取。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 635 of 854
RX
start
D0 D1 D2 D3 D4 D5 D6 D7 RB8 stop
RC
图 23-7 Mode2 接收数据
23.3.1.5 Mode3 数据收发说明
发送数据时,与 UARTx_SCON.REN 的值无关,将所发送数据写入 UARTx_SBUF 寄
存器中,数据就会从 TXD 移出(低位在先,高位在后)。
Write
SBUF
start
TX
D0 D1 D2 D3 D4 D5 D6 D7 TB8 stop
TC
图 23-8 Mode3 发送数据
接收数据时,将 UARTx_SCON.REN 位置 1,并将 UARTx_ISR.RC 位清 0。开始接收
RXD 上数据(低位在先,高位在后),当接收完毕,可以从 UARTx_SBUF 寄存器读出。
RX
start
D0 D1 D2 D3 D4 D5 D6 D7 RB8 stop
RC
图 23-9 Mode3 接收数据
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 636 of 854
23.3.2 波特率生成
Mode0~Mode3 生成波特率的公式不尽相同,详见下方所示。
Mode0 波特率生成工式:𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 =
𝑓𝑃𝐶𝐿𝐾
12
𝑓
𝑃𝐶𝐿𝐾
Mode1 波特率生成工式:𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 = 𝑂𝑉𝐸𝑅∗𝑆𝐶𝑁𝑇
Mode2 波特率生成工式:𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 =
𝑓𝑃𝐶𝐿𝐾
𝑂𝑉𝐸𝑅
𝑓
𝑃𝐶𝐿𝐾
Mode3 波特率生成工式:𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 = 𝑂𝑉𝐸𝑅∗𝑆𝐶𝑁𝑇
注:
- 𝑓𝑃𝐶𝐿𝐾 代表当前 PCLK 的 频率。
- OVER 的定义详见 UARTx_SCON。
- SCNT 的定义详见 UARTx_SCNT
23.3.2.1 Mode1/Mode3 波特率设置示例
PCLK = 4 MHz
波特率
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
208
2403.85
0.16%
104
2403.85
0.16%
4800
104
4807.69
0.16%
52
4807.69
0.16%
9600
52
9615.38
0.16%
26
9615.38
0.16%
19200
26
19230.77
0.16%
13
19230.77
0.16%
38400
13
38461.54
0.16%
7
35714.29
-6.99%
57600
9
55555.56
-3.55%
4
62500.00
8.51%
76800
7
71428.57
-6.99%
3
83333.33
8.51%
115200
4
125000.00
8.51%
2
125000.00
8.51%
128000
4
125000.00
-2.34%
2
125000.00
-2.34%
250000
2
250000.00
0.00%
1
250000.00
0.00%
表 23-3
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
PCLK=4MHz 波特率计算表
Page 637 of 854
PCLK = 8 MHz
波特率
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
417
2398.08
-0.08%
208
2403.85
0.16%
4800
208
4807.69
0.16%
104
4807.69
0.16%
9600
104
9615.38
0.16%
52
9615.38
0.16%
19200
52
19230.77
0.16%
26
19230.77
0.16%
38400
26
38461.54
0.16%
13
38461.54
0.16%
57600
17
58823.53
2.12%
9
55555.56
-3.55%
76800
13
76923.08
0.16%
7
71428.57
-6.99%
115200
9
111111.11
-3.55%
4
125000.00
8.51%
128000
8
125000.00
-2.34%
4
125000.00
-2.34%
256000
4
250000.00
-2.34%
2
250000.00
-2.34%
500000
2
500000.00
0.00%
1
500000.00
0.00%
表 23-4
PCLK=8MHz 波特率计算表
PCLK = 16 MHz
波特率
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
833
2400.96
0.04%
417
2398.08
-0.08%
4800
417
4796.16
-0.08%
208
4807.69
0.16%
9600
208
9615.38
0.16%
104
9615.38
0.16%
19200
104
19230.77
0.16%
52
19230.77
0.16%
38400
52
38461.54
0.16%
26
38461.54
0.16%
57600
35
57142.86
-0.79%
17
58823.53
2.12%
76800
26
76923.08
0.16%
13
76923.08
0.16%
115200
17
117647.06
2.12%
9
111111.11
-3.55%
128000
16
125000.00
-2.34%
8
125000.00
-2.34%
256000
8
250000.00
-2.34%
4
250000.00
-2.34%
500000
4
500000.00
0.00%
2
500000.00
0.00%
1000000
2
1000000.00
0.00%
1
1000000.00
0.00%
表 23-5
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
PCLK=16MHz 波特率计算表
Page 638 of 854
PCLK = 24 MHz
波特率
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
1250
2400.00
0.00%
625
2400.00
0.00%
4800
625
4800.00
0.00%
313
4792.33
-0.16%
9600
313
9584.66
-0.16%
156
9615.38
0.16%
19200
156
19230.77
0.16%
78
19230.77
0.16%
38400
78
38461.54
0.16%
39
38461.54
0.16%
57600
52
57692.31
0.16%
26
57692.31
0.16%
76800
39
76923.08
0.16%
20
75000.00
-2.34%
115200
26
115384.62
0.16%
13
115384.62
0.16%
128000
23
130434.78
1.90%
12
125000.00
-2.34%
256000
12
250000.00
-2.34%
6
250000.00
-2.34%
1000000
3
1000000.00
0.00%
2
750000.00
-25.00%
1500000
2
1500000.00
0.00%
1
1500000.00
0.00%
表 23-6
PCLK=24MHz 波特率计算表
PCLK = 32 MHz
波特率
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
1667
2399.52
-0.02%
833
2400.96
0.04%
4800
833
4801.92
0.04%
417
4796.16
-0.08%
9600
417
9592.33
-0.08%
208
9615.38
0.16%
19200
208
19230.77
0.16%
104
19230.77
0.16%
38400
104
38461.54
0.16%
52
38461.54
0.16%
57600
69
57971.01
0.64%
35
57142.86
-0.79%
76800
52
76923.08
0.16%
26
76923.08
0.16%
115200
35
114285.71
-0.79%
17
117647.06
2.12%
128000
31
129032.26
0.81%
16
125000.00
-2.34%
256000
16
250000.00
-2.34%
8
250000.00
-2.34%
1000000
4
1000000.00
0.00%
2
1000000.00
0.00%
2000000
2
2000000.00
0.00%
1
2000000.00
0.00%
表 23-7
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
PCLK=32MHz 波特率计算表
Page 639 of 854
PCLK = 48 MHz
波特率
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
2500
2400.00
0.00%
1250
2400.00
0.00%
4800
1250
4800.00
0.00%
625
4800.00
0.00%
9600
625
9600.00
0.00%
313
9584.66
-0.16%
19200
313
19169.33
-0.16%
156
19230.77
0.16%
38400
156
38461.54
0.16%
78
38461.54
0.16%
57600
104
57692.31
0.16%
52
57692.31
0.16%
76800
78
76923.08
0.16%
39
76923.08
0.16%
115200
52
115384.62
0.16%
26
115384.62
0.16%
128000
47
127659.57
-0.27%
23
130434.78
1.90%
256000
23
260869.57
1.90%
12
250000.00
-2.34%
1000000
6
1000000.00
0.00%
3
1000000.00
0.00%
2000000
3
2000000.00
0.00%
2
1500000.00
-25.00%
3000000
2
3000000.00
0.00%
1
3000000.00
0.00%
表 23-8
PCLK=48MHz 波特率计算表
23.3.3 帧错误检测
当工作在 Mode1/2/3 时,UART 具有帧错误检测功能,如果接收数据时硬件未在预期
时间内识别出停止位,从而出现同步失效或过度的噪声,则会检测到帧错误。检测
到帧错误时,UARTx_ISR.FE 置 1。UARTx_ISR.FE 要及时软件清零。
23.3.4 多机通讯
当工作在 Mode2/3 时,将 UARTx_SCON.ADRDET 位置“1”,可开启多机通讯功能。
主机可以通过 UARTx_SBUF[8]来区分当前的发送帧是地址帧(UARTx_SBUF[8]=1)
还是数据帧(UARTx_SBUF[8]=0)。
⚫
当为数据帧时,该帧数据不会存入到从机的 UARTx_SBUF 寄存器中,从机也不会
产生接收中断。
⚫
当为地址帧时,由于多机通讯中自动地址识别功能已开启,使得从机可以检测接
收到的地址与其自身地址是否相符合。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 640 of 854
–
如果地址相符合,从机会对 UARTx_ISR.RC 置“1”,UARTx_SBUF[8]置“1”,
同 时 将 该 地 址 帧 存 入 到 UARTx_SBUF 寄 存 器 中 。 从 机 软 件 看 到
UARTx_SBUF[8]=1 并且 UARTx_ISR.RC=1 后,将 UARTx_SCON.ADEDET
位清“0”,接受数据帧。
–
如果地址不符合,表明主机并不是寻址该从机,从机硬件保持 UARTx_SBUF[8]
和 UARTx_ISR.RC 为“0”,软件保持 UARTx_SCON.ADRDET 位为“1”,继续处
于地址监听状态。
注:如果有需要,也可以在 Mode1 下开启多机通讯位,此时 TB8 位由 stop 位代替。
当从机接收到匹配的地址帧和有效的 stop 位时,UARTx_ISR.RC 会被置“1”。
23.3.4.1 给定地址
UART 设备的 UARTx_SADDR 寄存器用来表示自己的设备给定地址。
UARTx_SADEN 寄存器是地址掩码,当 UARTx_SADEN 的某一位为“0”可定义地址
中的无关位,不参与地址匹配。这些无关位增加了寻址的灵活性,使得主机可以同时
寻址一个或者多个从机设备。
注意:如果需要给出唯一匹配地址,UARTx_SADEN 寄存器必须设为 8’hFF。给定地
址公式如下所示:
GivenAddr = SADDR & SADEN
23.3.4.2 广播地址
广播地址是用来同时寻址所有从机设备的,一般广播地址为 8’hFF。
BroadCastAddr = SADDR|SADEN
23.3.4.3 举例
假设某从机的 UARTx_SADDR 和 UARTx_SADEN 配置如下:
SADDR:8’b01101001
SADEN:8’b11111011
那么其给定地址和广播地址如下:
Given:
8’b01101x01
Broadcast: 8’b11111x11
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 641 of 854
可见,主机可以用四个地址寻址到本从机,分别是:
8’b01101001 和 8’b01101101 (given address)
8’b11111011 和 8’b11111111 (broadcast address)。
23.3.5 DMAC 硬件握手
UART 模块支持 DMAC 的硬件握手逻辑。
⚫
将 UARTx_SCON.DMACTXEN 设置为 1,可以打开 UART TX 的 DMAC 硬件握手
逻辑。当发送缓存为空时,UART 会向 DMAC 发出数据搬运请求 TX REQ。DMAC
收到该信号,则从 DMAC 源地址搬运一个帧的发送数据到 UARTx_SBUF 中。上
述步骤重复发生,直到 DMAC 中所配置的数据长度全部搬运完毕。
⚫
将 UARTx_SCON.DMACRXEN 设置为 1,可以打开 UART RX 的 DMAC 硬件握
手逻辑。当一帧接收完成,UART 会向 DMAC 发出数据搬运请求 RX REQ。DMAC
收到该信号,则从 UARTx_SBUF 中把接收数据搬运至 DMAC 的目标地址中。上
述步骤重复发生,直到 DMAC 中所配置的数据长度全部搬运完毕。
23.3.6 硬件流控
通过增加 nCTS 和 nRTS 信号可以实现 UART 硬件流控的功能,即 UART 硬件模块根
据 nCTS 和 nRTS 的高低电平自动控制数据的收发,而无需通过软件来判断。两个 UART
模块之间的硬件流控示意图如下所示:
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 642 of 854
UART1
UART2
TX
nCTS
TX Circuit
RX
RX Circuit
nRTS
RX
nRTS
RX Circuit
TX
nCTS
TX Circuit
图 23-10 UART 硬件流控
⚫
nRTS 流控
nRTS 流控使能时(UARTx_SCON.RTSEN 设置为 1):
–
当 UART 接收缓存空时,会将 nRTS 变为有效(连接到低电平)
。
–
当接收缓存满时,会将 nRTS 变为无效(连接到高电平),表明发送过程会在当前
帧结束后停止。
RX
start
stop Idle start
DATA1
DATA2
stop
nRTS
接收缓存满
图 23-11
⚫
Data1数据被取走,
接收缓存空
Data2可以开始发送
接收缓存满
nRTS 硬件流控信号
CTS 流控
nCTS 流控使能时(UARTx_SCON.CTSEN 设置为 1),在 UART 发送下一帧数据之前,
先判断 nCTS 的高低电平:
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 643 of 854
–
如果 nCTS 为有效(连接到低电平),则 UART 发送下一帧数据。
–
如果 nCTS 为无效(连接到高电平),则 UART 当前帧发送完成后,暂停发送下一
帧数据。
当 nCTS 流控使能时,一旦 nCTS 信号发生翻转,UARTx_SFLAG.CTSIE 便会硬件置
1。如果 UARTx_SCON.CTSIE 置 1,则会产生中断,同时,nCTS 信号的高低电平会记
录在 UARTx_SFLAG.CTS 标志位中。
发送缓存
TX
nCTS toggle
消除中断
nCTS toggle
产生中断
nCTS
DATA2
DATA1
DATA3
空
stop start
DATA2
空
stop Idle start
DATA3
图 23-12 nCTS 硬件流控信号
23.3.7 收发端缓存
⚫
接收缓存
UART 模块接收端有一个帧(8/9-Bit)的接收缓存,即保存接收的数据帧直至下一帧
数据的 Stop 位被接收才更新该数据帧。
RX
start D0 D1 D2 D3 D4 D5 D6 D7 TB8 stop
start D0 D1 D2 D3 D4 D5 D6 D7 TB8
stop
Frame1
Frame0
SBUF
Frame0
Frame1
RC
Read
SBUF
图 23-13 接收缓存
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 644 of 854
⚫
发送缓存
UART 模块发送端有一个帧(8/9-Bit)的发送缓存,当 UART 在发送当前帧时,下一个
发送数据软件写入 UARTx_SBUF。
当 UARTx_ISR.TXE=0 时,表明当前发送缓存满,UARTx_SBUF 不能写入下一个发
送数据。否则该数据会硬件丢弃。
当 UARTx_ISR.TXE=1 时,表明当前发送缓存空,UARTx_SBUF 可以写入下一个发
送数据,在完成当前数据传输后,硬件自动把发送缓存中的数据装载入移位寄存器中
发送出去。
Write
SBUF
Write
Data
SBUF
Frame0
Frame1
Frame2
Frame0
Frame3
Frame1
Frame3
TXE
Load To
Shifter
Shifter
Frame0
Frame1
Frame3
TX
TC
S/W Clear
S/W Clear
S/W Clear
图 23-14 发送缓存
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 645 of 854
寄存器
23.4
UART0 基地址:0x4000 0000
UART1 基地址:0x4000 0100
UART2 基地址:0x4000 6000
UART3 基地址:0x4000 6400
寄存器
偏移地址
描述
UARTx_SBUF
0x00
数据寄存器
UARTx_SCON
0x04
控制寄存器
UARTx_SADDR
0x08
地址寄存器
UARTx_SADEN
0x0C
地址掩码寄存器
UARTx_ISR
0x10
中断标志位寄存器
UARTx_ICR
0x14
中断标志位清除寄存器
UARTx_SCNT
0x18
波特率寄存器
数据寄存器(UARTx_SBUF)
23.4.1
偏移地址:0x00
复位值: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
DAT
Reserved
DATA[7:0]
A[8]
RW
位
标记
31:9
Reserved
8
DATA[8]
功能描述
在Mode0/1下,读取该位为0,写入该位无效;
在Mode2/3下,该位表示Bit8数据位,分以下两种情况:
(1)当硬件奇偶校验位开启时,接收时该位为接收数据奇偶校验位,校验由硬件进行,如校验出
错,校验错误标志位PE置1;发送时该位无效,发送数据奇偶校验位由硬件计算并发送;
(2)当硬件奇偶校验位关闭时,接收时该位为接收数据Bit8;发送时该位为发送数据Bit8;
注意:当开启多机通讯模式,接收数据奇偶校验自动关闭;发送数据奇偶校验仍受B8CONT控制;
7:0
DATA[7:0]
发送数据时,将发送数据写入该寄存器;接收数据时,数据接收完毕后,从该寄存器中读取。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 646 of 854
控制寄存器(UARTx_SCON)
23.4.2
偏移地址:0x04
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
FEIE
CTSIE
Reserved
15
14
STOPBIT
13
12
11
10
PEIE
Reserved
RW
RW
位
标记
31:22
Reserved
21
FEIE
9
8
OVE
TXEI
R
7
6
SM
E
RW
RW
19
18
17
16
CTSE
RTSE
DMAT
DMAR
N
N
XEN
XEN
RW
RW
RW
RW
RW
RW
5
4
3
2
1
0
ADR
REN
B8CONT
TCIE
RCIE
RW
RW
RW
RW
DET
RW
RW
功能描述
帧错误中断使能位;
0:关闭中断;
1:打开中断;
20
CTSIE
CTS信号翻转中断使能位;
0:关闭中断;
1:打开中断;
19
CTSEN
硬件flow control信号使能位;
18
RTSEN
0:关闭flow control信号;
1:打开flow control信号;
17
DMATXEN
TX DMAC的硬件握手信号使能位;
0:关闭硬件握手信号;
1:打开硬件握手信号;
16
DMARXEN
RX DMAC的硬件握手信号使能位;
0:关闭硬件握手信号;
1:打开硬件握手信号;
stop bit长度选择;00:1-bit;01:1.5-bit;10:2-bit;11:reserved;
15:14
STOPBIT
13
PEIE
注意:Mode0 时虽然没有 Stop Bit,但仍需把 STOPBIT[1:0]保持为 2’b00;
奇偶校验错误中断使能位;0:关闭奇偶校验错误中断;1:打开奇偶校验错误中断;
数据接收标志产生于数据停止位接收完成,硬件奇偶校验与数据接收中断由于停止位设置不同,
奇偶校验错误中断会提前于数据接收中断。使用此中断使能时请注意。
建议如下:
方法1:关闭PEIE中断使能,接收数据中断后软件判断ISR.PE奇偶校验是否正确。
方法2:关闭PEIE中断使能,接收数据中断通过接收SBUF.BIT8软件判断奇偶校验是否正确。
12:10
Reserved
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 647 of 854
9
8
OVER
TXEIE
Mode0:
无效;
Mode1/3:
0:16采样分频;
1:8采样分频;
Mode2:
0:32采样分频;
1:16采样分频;
TX空中断使能位;
0:TX Buffer空中断关闭;
1:TX Buffer空中断打开;
7:6
SM
5
ADRDET
工作模式;00:mode0;01:mode1;10:mode2;11:mode3;
多机通讯地址自动识别使能位;
0:关闭;
1:打开;
4
REN
Mode0:
0:发送;1:接收;
Mode1/2/3:0:发送;1:接收/发送;
3:2
B8CONT
Bit8数据控制位;
00:由软件读写SBUF[8]来决定;01:硬件偶校验;
10:硬件奇校验;
1
TCIE
11:保留;
发送中断使能位;
0:发送中断关闭;
1:发送中断打开;
0
RCIE
接收中断使能位;
0:接收中断关闭;
1:接收中断打开;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 648 of 854
地址寄存器(UARTx_SADDR)
23.4.3
偏移地址: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
SADDR
Reserved
RW
位
标记
31:8
Reserved
7:0
SADDR
功能描述
从机设备地址寄存器
地址掩码寄存器(UARTx_SADEN)
23.4.4
偏移地址:0x0C
复位值: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
SADEN
Reserved
RW
位
标记
31:8
RESERVED
7:0
SADEN
功能描述
从机设备地址掩码寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 649 of 854
标志位寄存器(UARTx_ISR)
23.4.5
偏移地址:0x10
复位值:0x0000 0008
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
CTS
CTSIF
PE
TXE
FE
TC
RC
RO
RO
RO
RO
RO
RO
RO
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
符号
31:7
Reserved
6
CTS
描述
CTS信号标志位;硬件置1;硬件清零;
0:CTS信号为低电平;
1:CTS信号为高电平;
5
CTSIF
CTS中断标志位;硬件置1;软件清零;
0:CTS信号没有发生反转;
1:CTS信号发生反转;
4
PE
奇偶校验错误标志位;硬件置1;软件清零;
0:无奇偶校验错误;
1:奇偶校验错误;
3
TXE
Tx Buffer空标志位;硬件置1;硬件清零;
0:Tx Buffer非空;
1:Tx Buffer空
2
FE
帧错误标志位;0:硬件置1;软件清零;
1
TC
发送完毕中断标志位;硬件置1;软件清零;
0:发送未完成;
1:发送完毕;
0
RC
接收完毕中断标志位;硬件置1;软件清零;
0:接收未完成;
1:接收完成;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 650 of 854
标志位清除寄存器(UARTx_ICR)
23.4.6
偏移地址:0x14
复位值: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
CTSI
PECF
FECF
TCCF
RCCF
R1W0
R1W0
R1W0
Reserved
15
14
13
12
11
10
9
Reserved
8
7
FCF
R1W0
位
标记
31:6
Reserved
5
CTSIFCF
Res.
R1W0
功能描述
CTSIF标志清楚位;
写0清除;
写1无效;
4
PECF
PE标志清楚位;
写0清除;
写1无效;
3
Reserved
2
FECF
FE标志清除位;
写0清零;
写1无效;
1
TCCF
TC标志清除位;
写0清零;
写1无效;
0
RCCF
RC标志清除位;
写0清零;
写1无效;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 651 of 854
波特率寄存器(UARTx_SCNT)
23.4.7
偏移地址:0x18
复位值: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
SCNT
RW
位
标记
31:16
Reserved
15:0
SCNT
功能描述
波特率计数器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 652 of 854
24
低功耗同步异步收发器(LPUART)
24.1
简介
低功耗同步异步接收器(LPUART)是一种 UART,允许有限功耗下进行全双工 UART
通信。即使当微控制器处于停止模式,能耗极低时,LPUART 也会等待 UART 帧的
到来。LPUART 包含所有必要的硬件支持,使在最小功耗下可以进行异步串行通信。
XTL RCL PCLK
B
LPUART
Baude Rate
Generator
SBUF
Transmit
Transmit
Shifter
TXD
SBUF
Receive
Receive
Shifter
RXD
A
P
SCON
图 24-1 结构框图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 653 of 854
24.2
主要特性
LPUART 模块(LPUART0/1)支持以下基本功能:
配置时钟 PCLK
传输时钟 SCLK(SCLK 可选择 XTL、RCL 以及 PCLK)
系统低功耗模式下收发数据
全双工传输、半双工传输
可编程串行通信功能
–
两种字符长度:8 比特、 9 比特
–
三种校验方式:无检验、奇校验、偶校验
–
三种停止长度:1 比特、 2 比特、 1.5 比特
16 比特波特率计数器
多机通讯
硬件地址识别
硬件流控
DMAC 硬件传输握手
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 654 of 854
24.3
功能描述
24.3.1 配置时钟和传输时钟
LPUART 模块有两个时钟:配置时钟 PCLK 和传输时钟 SCLK。
配置时钟
配置时钟(PCLK)用于系统 APB 总线对 LPUART 模块进行寄存器配置,配置时钟
固定为 APB 总线时钟 PCLK。当系统进入深度休眠(DeepSleep)模式,PCLK 时钟
将会停止。
传输时钟
传输时钟(SCLK)用于 LPUART 数据收发逻辑工作,可选择外部低速晶振时钟
(XTL)、内部低速 RC 时钟(RCL)以及 PCLK 时钟。
当系统进入深度休眠(DeepSleep)模式,如果 SCLK 选择外部低速晶振时钟(XTL)
或者内部低速 RC 时钟(RCL)。LPUART 仍旧可以进行正常的数据收发,而不受系
统深度休眠(DeepSleep)模式的影响。
24.3.2 工作模式
LPUART 支 持 多 种 工 作 模 式 : 同 步 半 双 工 模 式 、 异 步 全 双 工 模 式 。 通 过
LPUARTx_SCON.SM 和 LPUARTx_SCON.HDSEL 搭配,即可配置出所需要的各种工
作模式。
24.3.2.1 Mode0~Mode3 功能对比
配置 LPUARTx_SCON.SM 可选择不同的传输模式:Mode0~Mode3。这四种工作模式
的主要功能对比如下表所示:
工作模式
传输位宽
数据组成
波特率
同步模式
Mode0
8-Bit
半双工
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Data(8bit)
𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 =
𝑓𝑠𝑐𝑙𝑘
12
Page 655 of 854
Start(1bit) + Data(8bit)
异步模式
Mode1
10-Bit
𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 =
+ Stop (1~2bit)
全双工
Start (1bit) + Data(8bit)
异步模式
Mode2
11-Bit
𝐵𝑎𝑢𝑑𝑎𝑡𝑒 =
+ B8(1bit) + Stop (1~2bit)
全双工
Start (1bit) + Data(8bit)
异步模式
Mode3
𝑓𝑠𝑐𝑙𝑘
𝑂𝑉𝐸𝑅 ∗ 𝑆𝐶𝑁𝑇
11-Bit
𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 =
+ B8(1bit) + Stop (1~2bit)
全双工
𝑓𝑠𝑐𝑙𝑘
𝑂𝑉𝐸𝑅
𝑓𝑠𝑐𝑙𝑘
𝑂𝑉𝐸𝑅 ∗ 𝑆𝐶𝑁𝑇
表 24-1 Mode0/1/2/3 数据结构
注:
- Mode0 只能作为主机发送 LPUART 同步移位时钟,不可以作为从机接收外部输入
的 LPUART 同步移位时钟;
- 𝑓𝑠𝑐𝑙𝑘 为 SCLK 的时钟频率;
- OVER 的定义详见 LPUARTx_SCON;
- SCNT 的定义详见 LPUARTx_SCNT;
- B8 数据位比较特殊,在不同应用下具有不同的含义,请参考以下表格:
LPUARTx_SCON.
LPUARTx_SCON.
ADRDET
B8CONT[1:0]
--
01/10
B8 数据含义
应用场景
接收时,B8 是所收到的 8-Bit 数据的奇偶校验位;
奇偶校验
发送时,B8 是所发送的 8-Bit 数据的奇偶校验位;
B8=1,代表当前是地址帧;
1
多机通讯
-B8=0,代表当前是数据帧;
0
其他
00/11
表 24-2
接收/发送的 DATA[8]
B8 数据含义
注意:
- 当开启多机通讯模式,接收数据奇偶校验自动关闭;发送数据奇偶校验仍受
B8CONT 控制。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 656 of 854
24.3.2.2 Mode0 数据收发说明
发送数据时,清除 LPUARTx_SCON.REN 位,并将数据写入 LPUARTx_SBUF 寄存器
中。此时,发送数据将从 RXD 输出(低位在先,高位在后),同步移位时钟从 TXD 输
出。
Write
SBUF
Serial
CLK
TX Data
D0 D1 D2 D3 D4 D5 D6 D7
SerialDir
SerialDir=0,TX
TC
图 24-2 Mode0 发送数据
接收数据时,将 LPUARTx_SCON.REN 位置 1,并将 LPUARTx_ISR.RC 位清零。当接
收结束,数据可从 LPUARTx_SBUF 寄存器读取。此时,接收数据从 RXD 输入(低位
在先,高位在后),同步移位时钟从 TXD 输出。
Write
SCON
Serial
CLK
RX Data
D0 D1 D2 D3 D4 D5 D6 D7
SerialDir=1,RX
SerialDir
RC
图 24-3 Mode0 接收数据
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 657 of 854
24.3.2.3 Mode1 数据收发说明
发送数据时,与 LPUARTx_SCON.REN 的值无关,将所发送数据写入 LPUARTx_SBUF
寄存器中,数据就会从 TXD 移出(低位在先,高位在后)。
Write
SBUF
TX
start
D0 D1 D2 D3 D4 D5 D6 D7 stop
TC
图 24-4 Mode1 发送数据
接收数据时,将 LPUARTx_SCON.REN 位置 1,并将 LPUARTx_ISR.RC 位清 0。开始
接收 RXD 上数据(低位在先,高位在后),当接收完毕,可以从 LPUARTx_SBUF 寄
存器读出。
RX
start
D0 D1 D2 D3 D4 D5 D6 D7 stop
RC
图 24-5 Mode1 接收数据
24.3.2.4 Mode2 数据收发说明
发送数据时,与 LPUARTx_SCON.REN 的值无关,将所发送数据写入 LPUARTx_SBUF
寄存器中,数据就会从 TXD 移出(低位在先,高位在后)。
Write
SBUF
TX
start
D0 D1 D2 D3 D4 D5 D6 D7 TB8 stop
TC
图 24-6 Mode2 发送数据
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 658 of 854
接收数据时,需将 LPUARTx_SCON.REN 位置 1,并将 LPUARTx_ISR.RC 位清 0。开
始接收 RXD 上的数据(低位在先,高位在后),当接收完毕,可以从 LPUARTx_SBUF
寄存器读取。
RX
start
D0 D1 D2 D3 D4 D5 D6 D7 RB8 stop
RC
图 24-7 Mode2 接收数据
24.3.2.5 Mode3 数据收发说明
发送数据时,与 LPUARTx_SCON.REN 的值无关,将所发送数据写入 LPUARTx_SBUF
寄存器中,数据就会从 TXD 移出(低位在先,高位在后)。
Write
SBUF
TX
start
D0 D1 D2 D3 D4 D5 D6 D7 TB8 stop
TC
图 24-8 Mode3 发送数据
接收数据时,将 LPUARTx_SCON.REN 位置 1,并将 LPUARTx_ISR.RC 位清 0。开始
接收 RXD 上数据(低位在先,高位在后),当接收完毕,可以从 LPUARTx_SBUF 寄
存器读出。
RX
start
D0 D1 D2 D3 D4 D5 D6 D7 RB8 stop
RC
图 24-9 Mode3 接收数据
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 659 of 854
24.3.3 波特率生成
Mode0~Mode3 生成波特率的公式不尽相同,详见下方所示。
Mode0 波特率生成工式:𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 =
𝑓𝑆𝐶𝐿𝐾
12
𝑓
𝑆𝐶𝐿𝐾
Mode1 波特率生成工式:𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 = 𝑂𝑉𝐸𝑅∗𝑆𝐶𝑁𝑇
Mode2 波特率生成工式:𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 =
𝑓𝑆𝐶𝐿𝐾
𝑂𝑉𝐸𝑅
𝑓
𝑆𝐶𝐿𝐾
Mode3 波特率生成工式:𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 = 𝑂𝑉𝐸𝑅∗𝑆𝐶𝑁𝑇
注:
-
𝑓𝑆𝐶𝐿𝐾 代表当前 SCLK 的 频率;
-
OVER 的定义详见 LPUARTx_SCON;
-
SCNT 的定义详见 LPUARTx_SCNT。
24.3.3.1 Mode1/Mode3 波特率设置示例
SCLK = 4 MHz
波特率
OVER4
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
417
2398.08
-0.08%
208
2403.85
0.16%
104
2403.85
0.16%
4800
208
4807.69
0.16%
104
4807.69
0.16%
52
4807.69
0.16%
9600
104
9615.38
0.16%
52
9615.38
0.16%
26
9615.38
0.16%
19200
52
19230.77
0.16%
26
19230.77
0.16%
13
19230.77
0.16%
38400
26
38461.54
0.16%
13
38461.54
0.16%
7
35714.29
-6.99%
57600
17
58823.53
2.12%
9
55555.56
-3.55%
4
62500.00
8.51%
76800
13
76923.08
0.16%
7
71428.57
-6.99%
3
83333.33
8.51%
115200
9
111111.11
-3.55%
4
125000.00
8.51%
2
125000.00
8.51%
128000
8
125000.00
-2.34%
4
125000.00
-2.34%
2
125000.00
-2.34%
256000
4
250000.00
-2.34%
2
250000.00
-2.34%
1
250000.00
-2.34%
1000000
1
1000000.00
0.00%
1
500000.00
-50.00%
0
/
/
表 24-3
SCL 为 4MHz 波特率计算表
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 660 of 854
SCLK = 8 MHz
波特率
OVER4
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
833
2400.96
0.04%
417
2398.08
-0.08%
208
2403.85
0.16%
4800
417
4796.16
-0.08%
208
4807.69
0.16%
104
4807.69
0.16%
9600
208
9615.38
0.16%
104
9615.38
0.16%
52
9615.38
0.16%
19200
104
19230.77
0.16%
52
19230.77
0.16%
26
19230.77
0.16%
38400
52
38461.54
0.16%
26
38461.54
0.16%
13
38461.54
0.16%
57600
35
57142.86
-0.79%
17
58823.53
2.12%
9
55555.56
-3.55%
76800
26
76923.08
0.16%
13
76923.08
0.16%
7
71428.57
-6.99%
115200
17
117647.06
2.12%
9
111111.11
-3.55%
4
125000.00
8.51%
128000
16
125000.00
-2.34%
8
125000.00
-2.34%
4
125000.00
-2.34%
256000
8
250000.00
-2.34%
4
250000.00
-2.34%
2
250000.00
-2.34%
1000000
2
1000000.00
0.00%
1
1000000.00
0.00%
1
500000.00
-50.00%
2000000
1
2000000.00
0.00%
1
1000000.00
-50.00%
0
/
/
表 24-4
SCLK 为 8MHz 波特率计算表
SCLK = 16 MHz
波特率
OVER4
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
1667
2399.52
-0.02%
833
2400.96
0.04%
417
2398.08
-0.08%
4800
833
4801.92
0.04%
417
4796.16
-0.08%
208
4807.69
0.16%
9600
417
9592.33
-0.08%
208
9615.38
0.16%
104
9615.38
0.16%
19200
208
19230.77
0.16%
104
19230.77
0.16%
52
19230.77
0.16%
38400
104
38461.54
0.16%
52
38461.54
0.16%
26
38461.54
0.16%
57600
69
57971.01
0.64%
35
57142.86
-0.79%
17
58823.53
2.12%
76800
52
76923.08
0.16%
26
76923.08
0.16%
13
76923.08
0.16%
115200
35
114285.71
-0.79%
17
117647.06
2.12%
9
111111.11
-3.55%
128000
31
129032.26
0.81%
16
125000.00
-2.34%
8
125000.00
-2.34%
256000
16
250000.00
-2.34%
8
250000.00
-2.34%
4
250000.00
-2.34%
1000000
4
1000000.00
0.00%
2
1000000.00
0.00%
1
1000000.00
0.00%
2000000
2
2000000.00
0.00%
1
2000000.00
0.00%
1
1000000.00
-50.00%
4000000
1
4000000.00
0.00%
1
2000000.00
-50.00%
0
/
/
表 24-5 SCLK 为 16MHz 波特率计算表
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 661 of 854
SCLK = 24 MHz
波特率
OVER4
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
2500
2400.00
0.00%
1250
2400.00
0.00%
625
2400.00
0.00%
4800
1250
4800.00
0.00%
625
4800.00
0.00%
313
4792.33
-0.16%
9600
625
9600.00
0.00%
313
9584.66
-0.16%
156
9615.38
0.16%
19200
313
19169.33
-0.16%
156
19230.77
0.16%
78
19230.77
0.16%
38400
156
38461.54
0.16%
78
38461.54
0.16%
39
38461.54
0.16%
57600
104
57692.31
0.16%
52
57692.31
0.16%
26
57692.31
0.16%
76800
78
76923.08
0.16%
39
76923.08
0.16%
20
75000.00
-2.34%
115200
52
115384.62
0.16%
26
115384.62
0.16%
13
115384.62
0.16%
128000
47
127659.57
-0.27%
23
130434.78
1.90%
12
125000.00
-2.34%
256000
23
260869.57
1.90%
12
250000.00
-2.34%
6
250000.00
-2.34%
1000000
6
1000000.00
0.00%
3
1000000.00
0.00%
2
750000.00
-25.00%
2000000
3
2000000.00
0.00%
2
1500000.00
-25.00%
1
1500000.00
-25.00%
6000000
1
6000000.00
0.00%
1
3000000.00
-50.00%
0
/
/
表 24-6 SCLK 为 24MHz 波特率计算表
SCLK = 32 MHz
波特率
OVER4
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
3333
2400.24
0.01%
1667
2399.52
-0.02%
833
2400.96
0.04%
4800
1667
4799.04
-0.02%
833
4801.92
0.04%
417
4796.16
-0.08%
9600
833
9603.84
0.04%
417
9592.33
-0.08%
208
9615.38
0.16%
19200
417
19184.65
-0.08%
208
19230.77
0.16%
104
19230.77
0.16%
38400
208
38461.54
0.16%
104
38461.54
0.16%
52
38461.54
0.16%
57600
139
57553.96
-0.08%
69
57971.01
0.64%
35
57142.86
-0.79%
76800
104
76923.08
0.16%
52
76923.08
0.16%
26
76923.08
0.16%
115200
69
115942.03
0.64%
35
114285.71
-0.79%
17
117647.06
2.12%
128000
63
126984.13
-0.79%
31
129032.26
0.81%
16
125000.00
-2.34%
256000
31
258064.52
0.81%
16
250000.00
-2.34%
8
250000.00
-2.34%
1000000
8
1000000.00
0.00%
4
1000000.00
0.00%
2
1000000.00
0.00%
2000000
4
2000000.00
0.00%
2
2000000.00
0.00%
1
2000000.00
0.00%
4000000
2
4000000.00
0.00%
1
4000000.00
0.00%
1
2000000.00
-50.00%
8000000
1
8000000.00
0.00%
1
4000000.00
-50.00%
0
/
/
表 24-7 SCLK 为 32MHz 波特率计算表
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 662 of 854
SCLK = 48 MHz
波特率
OVER4
OVER8
OVER16
CNT
实际波特率
误差%
CNT
实际波特率
误差%
CNT
实际波特率
误差%
2400
5000
2400.00
0.00%
2500
2400.00
0.00%
1250
2400.00
0.00%
4800
2500
4800.00
0.00%
1250
4800.00
0.00%
625
4800.00
0.00%
9600
1250
9600.00
0.00%
625
9600.00
0.00%
313
9584.66
-0.16%
19200
625
19200.00
0.00%
313
19169.33
-0.16%
156
19230.77
0.16%
38400
313
38338.66
-0.16%
156
38461.54
0.16%
78
38461.54
0.16%
57600
208
57692.31
0.16%
104
57692.31
0.16%
52
57692.31
0.16%
76800
156
76923.08
0.16%
78
76923.08
0.16%
39
76923.08
0.16%
115200
104
115384.62
0.16%
52
115384.62
0.16%
26
115384.62
0.16%
128000
94
127659.57
-0.27%
47
127659.57
-0.27%
23
130434.78
1.90%
256000
47
255319.15
-0.27%
23
260869.57
1.90%
12
250000.00
-2.34%
1000000
12
1000000.00
0.00%
6
1000000.00
0.00%
3
1000000.00
0.00%
2000000
6
2000000.00
0.00%
3
2000000.00
0.00%
2
1500000.00
-25.00%
4000000
4
3000000.00
0.00%
2
3000000.00
0.00%
1
3000000.00
0.00%
6000000
3
4000000.00
0.00%
2
3000000.00
/
1
3000000.00
/
12000000
1
12000000.00
0.00%
1
6000000.00
/
0
/
/
表 24-8 SCLK 为 48MHz 波特率计算表
24.3.4 帧错误检测
当工作在 Mode1/2/3 时,LPUART 具有帧错误检测功能,如果接收数据时未在预期时
间内识别出停止位,从而出现同步失效或过度的噪声,则会检测到帧错误。检测帧
错误时,LPUARTx_ISR.FE 置 1。LPUARTx_ISR.FE 要及时软件清零。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 663 of 854
24.3.5 多机通讯
当工作在 Mode2/3 时,将 LPUARTx_SCON.ADRDET 位置“1”,可开启多机通讯功能。
主 机 可 以 通 过 LPUARTx_SBUF[8] 来 区 分 当 前 的 发 送 帧 是 地 址 帧
(LPUARTx_SBUF[8]=1)还是数据帧(LPUARTx_SBUF[8]=0)。
⚫
当为数据帧时,该帧数据不会存入到从机的 LPUARTx_SBUF 寄存器中,从机也不
会产生接收中断。
⚫
当为地址帧时,由于多机通讯中自动地址识别功能已开启,使得从机可以检测接
收到的地址与其自身地址是否相符合。
–
如果地址相符合,从机会对 LPUARTx_ISR.RC 置“1”, LPUARTx_SBUF[8]置
“1”,同时将该地址帧存入到 LPUARTx_SBUF 寄存器中。从机软件看到
LPUARTx_SBUF[8]=1
并
且
LPUARTx_ISR.RC=1
后
,
将
LPUARTx_SCON.ADEDET 位清“0”,接受数据帧。
–
如果地址不符合,表明主机并不是寻址该从机,从机硬件保持
LPUARTx_SBUF[8] 和
LPUARTx_ISR.RC
为 “0” , 软 件 保 持
LPUARTx_SCON.ADRDET 位为“1”,从机继续处于地址监听状态。
注:
- 如果有需要,也可以在 Mode1 下开启多机通讯位,此时 TB8 位由 stop 位代替。当
从机接收到匹配的地址帧和有效的 stop 位时,LPUARTx_ISR.RC 会被置“1”。
24.3.5.1 给定地址
LPUART 设 备 的 LPUARTx_SADDR 寄 存 器 用 来 表 示 自 己 的 设 备 给 定 地 址 ,
LPUARTx_SADEN 寄存器是地址掩码,当 LPUARTx_SADEN 的某一位为“0”,可以
用来定义地址中的无关位,不参与地址匹配。这些无关位增加了寻址的灵活性,使得
主机可以同时寻址一个或者多个从机设备。
注意:如果需要给出唯一匹配地址,LPUARTx_SADEN 寄存器必须设为 8’hFF。给定
地址公式如下所示:
GivenAddr = SADDR & SADEN
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 664 of 854
24.3.5.2 广播地址
广播地址是用来同时寻址所有从机设备的,一般广播地址为 8’hFF。
BroadCastAddr = SADDR | SADEN
24.3.5.3 举例
假设某从机的 LPUARTx_SADDR 和 LPUARTx_SADEN 配置如下:
SADDR:8’b01101001
SADEN:8’b11111011
那么其给定地址和广播地址如下:
Given:
8’b01101x01
Broadcast:8’b11111x11
可见,主机可以用四个地址寻址到本从机,分别是:
8’b01101001 和 8’b01101101 (given address)
8’b11111011 和 8’b11111111 (broadcast address)。
24.3.6 DMAC 硬件握手
LPUART 模块支持 DMAC 的硬件握手逻辑。
⚫
将 LPUARTx_SCON.DMACTXEN 设置为 1,可以打开 LPUART TX 的 DMAC 硬
件握手逻辑。当发送缓存为空时,LPUART 会向 DMAC 发出数据搬运请求 TX REQ。
DMAC 收到该信号,则从 DMAC 源地址搬运一个帧的发送数据到 LPUARTx_SBUF
中。上述步骤重复发生,直到 DMAC 中所配置的数据长度全部搬运完毕。
⚫
将 LPUARTx_SCON.DMACRXEN 设置为 1,可以打开 LPUART RX 的 DMAC 硬
件握手逻辑。当一帧接收完成,
LPUART 会向 DMAC 发出数据搬运请求 RX REQ。
DMAC 收到该信号,则从 LPUARTx_SBUF 中把接收数据搬运至 DMAC 的目标地
址中。上述步骤重复发生,直到 DMAC 中所配置的数据长度全部搬运完毕。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 665 of 854
24.3.7 硬件流控
通过增加 nCTS 和 nRTS 信号可以实现 LPUART 硬件流控的功能,即 LPUART 硬件模
块根据 nCTS 和 nRTS 的高低电平自动控制数据的收发,而无需通过软件来判断。两
个 LPUART 模块之间的硬件流控示意图如下所示:
LPUART1
TX Circuit
LPUART2
TX
nCTS
RX
RX Circuit
nRTS
RX
nRTS
RX Circuit
TX
nCTS
TX Circuit
图 24-10 LPUART 硬件流控
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 666 of 854
⚫
nRTS 流控
nRTS 流控使能时(LPUARTx_SCON.RTSEN 设置为 1):
–
当 LPUART 接收缓存空时,会将 nRTS 变为有效(连接到低电平)
。
–
当接收缓存满时,会将 nRTS 变为无效(连接到高电平),表明发送过程会在当前
帧结束后停止。
RX
start
stop Idle start
DATA1
DATA2
stop
nRTS
接收缓存满
图 24-11
⚫
Data1数据被取走,
接收缓存空
Data2可以开始发送
接收缓存满
nRTS 硬件流控信号
CTS 流控
当 nCTS 流控使能时(LPUARTx_SCON.CTSEN 设置为 1),在 LPUART 发送下一帧
数据之前,先判断 nCTS 的高低电平:
–
如果 nCTS 为有效(连接到低电平),则 LPUART 发送下一帧数据。
–
如果 nCTS 为无效(连接到高电平),则 LPUART 当前帧发送完成后,暂停下一
帧的发送
当 nCTS 流控使能时,一旦 nCTS 信号发生翻转,LPUARTx_SFLAG.CTSIF 便会硬件
置 1。如果 LPUARTx_SCON.CTSIE 置 1,则会产生中断。同时,nCTS 信号的高低电
平会记录在 LPUARTx_SFLAG.CTS 标志位中。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 667 of 854
发送缓存
TX
nCTS toggle
消除中断
nCTS toggle
产生中断
nCTS
DATA2
DATA1
DATA3
空
stop start
DATA2
空
stop Idle start
DATA3
图 24-12 nCTS 硬件流控信号
24.3.8 收发端缓存
⚫
接收缓存
LPUART 模块接收端有一个帧(8/9-Bit)的接收缓存,即保持接受的数据帧直至下一
帧数据的 Stop 位被接才更新该数据帧。
RX
start
D0 D1 D2 D3 D4 D5 D6 D7 TB8 stopstart D0 D1 D2 D3 D4 D5 D6 D7 TB8 stop
Frame1
Frame0
SBUF
Frame0
Frame1
RC
Read
SBUF
图 24-13 接收缓存
⚫
发送缓存
LPUART 模块发送端有一个帧(8/9-Bit)的发送缓存,当 LPUART 在发送当前帧时,软
件写入下一个发送数据到 LPUARTx_SBUF。
当 LPUARTx_ISR.TXE=0 时,表明当前发送缓存满, LPUARTx_SBUF 不能写入下
一个发送数据。否则该数据会被硬件丢弃。
当 LPUARTx_ISR.TXE=1 时,表明当前发送缓存空,LPUARTx_SBUF 可以写入下一
个发送数据,在完成当前数据传输后,硬件自动把发送缓存中的数据装载入移位寄存
器中发送出去。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 668 of 854
Write
SBUF
Write
Data
SBUF
Frame0
Frame1
Frame2
Frame0
Frame3
Frame1
Frame3
TXE
Load To
Shifter
Shifter
Frame0
Frame1
Frame3
TX
TC
S/W Clear
S/W Clear
S/W Clear
图 24-14 发送缓存
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 669 of 854
寄存器
24.4
LPUART0 基地址:0x4000 0200
LPUART1 基地址:0x4000 4000
寄存器
偏移地址
描述
LPUARTx_SBUF
0x00
数据寄存器
LPUARTx_SCON
0x04
控制寄存器
LPUARTx_SADDR
0x08
地址寄存器
LPUARTx_SADEN
0x0C
地址掩码寄存器
LPUARTx_ISR
0x10
中断标志位寄存器
LPUARTx_ICR
0x14
中断标志位清除寄存器
LPUARTx_SCNT
0x18
波特率寄存器
数据寄存器(LPUARTx_SBUF)
24.4.1
偏移地址:0x00
复位值: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
DATA[7:0]
DAT
Reserved
A[8]
RW
位
标记
31:9
Reserved
8
DATA[8]
功能描述
在Mode0/1下,读取该位为0,写入该位无效;
在Mode2/3下,该位表示Bit8数据位,分以下两种情况:
(1)当硬件奇偶校验位开启时,接收时该位为接收数据奇偶校验位,校验由硬件进行,如校验出
错,校验错误标志位PE置1;发送时该位无效,发送数据奇偶校验位由硬件计算并发送;
(2)当硬件奇偶校验位关闭时,接收时该位为接收数据Bit8;发送时该位为发送数据Bit8;
注意:当开启多机通讯模式,接收数据奇偶校验自动关闭;发送数据奇偶校验仍受B8CONT控制;
7:0
DATA[7:0]
发送数据时,将发送数据写入该寄存器;接收数据时,数据接收完毕后,从该寄存器中读取。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 670 of 854
控制寄存器(LPUARTx_SCON)
24.4.2
偏移地址:0x04
复位值:0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
FEIE
CTSIE
Reserved
15
14
STOPBIT
13
PEIE
12
11
10
SCLKSEL
9
8
OVE
TXEI
R
RW
RW
位
标记
31:22
Reserved
21
FEIE
RW
7
6
SM
E
RW
RW
19
18
17
16
CTSE
RTSE
DMAT
DMAR
N
N
XEN
XEN
RW
RW
RW
RW
RW
RW
5
4
3
2
1
0
ADR
REN
B8CONT
TCIE
RCIE
RW
RW
RW
RW
DET
RW
RW
功能描述
帧错误中断使能;
0:关闭中断;
1:打开中断;
20
CTSIE
CTS信号翻转中断使能;
0:关闭中断;
1:打开中断;
19
CTSEN
硬件flow control信号使能位;
18
RTSEN
0:关闭flow control信号;
1:打开flow control信号;
17
DMATXEN
TX DMAC的硬件握手信号使能位;
0:关闭硬件握手信号;
1:打开硬件握手信号;
16
DMARXEN
RX DMAC的硬件握手信号使能位;
0:关闭硬件握手信号;
1:打开硬件握手信号;
STOP位长度选择;
00:1-bit;
01:1.5-bit;
15:14
STOPBIT
10:2-bit;
11:reserved;
注意:Mode0 时虽然没有 Stop Bit,但仍需把 STOPBIT[1:0]保持为 2’b00;
13
PEIE
奇偶校验错误中断使能位;0:奇偶校验错误中断关闭;1:奇偶校验错误中断打开;
在系统时钟使用高速时钟与LPUART使用低速时钟情况下,由于需要不同时钟域的同步,硬件奇
偶校验与数据接收中断由于停止位设置不同,奇偶校验错误中断会提前或落后于数据接收中断。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 671 of 854
使用奇偶校验中断使能时请注意。
建议如下:
关闭PEIE中断使能,接收数据中断后通过接收的数据位SBUF.BIT8软件判断是否出现奇偶校验错
误。
12:11
SCLKSEL
10:9
OVER
8
TXEIE
传输时钟选择位:00,01:PCLK;10:XTL;11:RCL;
Mode0:
无效;
Mode1/3:
00:16采样分频; 01:8采样分频; 10:4采样分频;11:保留;
Mode2:
00:32采样分频;
01:16采样分频;10:8采样分频;11:保留;
TX空中断使能位;
0:TX Buffer空中断关闭;
1:TX Buffer空中断打开;
7:6
SM
工作模式;
00:mode0;
01:mode1;
10:mode2;
11:mode3;
5
ADRDET
多机通讯地址自动识别使能位;
0:关闭;
1:打开;
4
REN
Mode0:
0:发送;1:接收;
Mode1/2/3:0:发送;1:接收/发送;
3:2
B8CONT
Bit8数据控制位;
00:由软件读写SBUF[8]来决定;
01:硬件偶校验;
10:硬件奇校验;
11:保留;
1
TCIE
发送中断使能位;
0:发送中断关闭;
1:发送中断打开;
0
RCIE
接收中断使能位;
0:接收中断关闭;
1:接收中断打开;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 672 of 854
地址寄存器(LPUARTx_SADDR)
24.4.3
偏移地址: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
SADDR
Reserved
RW
位
标记
功能描述
31:8
Reserved
7:0
SADDR
从机设备地址寄存器
地址掩码寄存器(LPUARTx_SADEN)
24.4.4
偏移地址:0x0C
复位值: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
SADEN
Reserved
RW
位
标记
31:8
Reserved
7:0
SADEN
功能描述
从机设备地址掩码寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 673 of 854
标志位寄存器(LPUARTx_ISR)
24.4.5
偏移地址:0x10
复位值:0x0000 0008
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
CTS
CTSI
PE
TXE
FE
TC
RC
RO
RO
RO
RO
RO
Reserved
15
14
13
12
11
10
9
8
7
F
Reserved
RO
位
符号
31:7
Reserved
6
CTS
RO
描述
CTS信号标志位;硬件置1;硬件清零;
0:CTS信号为低电平;
1:CTS信号为高电平;
5
CTSIF
CTS中断标志位;硬件置1;软件清零;
0:CTS信号没有发生反转;
1:CTS信号发生反转;
4
PE
奇偶校验错误标志位;硬件置1;软件清零;
0:无奇偶校验错误;
1:奇偶校验错误;
3
TXE
Tx Buffer空标志位;硬件置1;硬件清零;
0:Tx Buffer非空;
1:Tx Buffer空
2
FE
帧错误标志位;0:硬件置1;软件清零;
1
TC
发送完毕中断标志位;硬件置1;软件清零;
0:发送未完成;
1:发送完毕;
0
RC
接收完毕中断标志位;硬件置1;软件清零;
0:接收未完成;
1:接收完成;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 674 of 854
标志位清除寄存器(LPUARTx_ICR)
24.4.6
偏移地址:0x14
复位值: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
CTSI
PECF
FECF
TCCF
RCCF
R1W0
R1W0
R1W0
Reserved
15
14
13
12
11
10
9
8
7
FCF
Reserved
R1W0
位
标记
31:6
Reserved
5
CTSIFCF
Res.
R1W0
功能描述
CTSIF标志清楚位;
写0清除;
写1无效;
4
PECF
PE标志清楚位;
写0清除;
写1无效;
3
Reserved
2
FECF
FE标志清除位;
写0清零;
写1无效;
1
TCCF
TC标志清除位;
写0清零;
写1无效;
0
RCCF
RC标志清除位;
写0清零;
写1无效;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 675 of 854
波特率寄存器(LPUARTx_SCNT)
24.4.7
偏移地址:0x18
复位值: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
SCNT
RW
位
标记
31:16
Reserved
15:0
SCNT
功能描述
波特率计数器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 676 of 854
25
循环冗余校验(CRC)
25.1
概述
循环冗余校验 (CRC) 计算单元将数据流或数据块作为输入,在生成多项式的控制下
生成一个输出数。该输出数常用于验证数据传输或存储的正确性和完整性。本模块支
持计算 CRC 值和检验 CRC 值。
25.2
25.3
主要特性
一种执行标准:ISO/IEC13239
两种编码方式:CRC-16,CRC-32
三种写入位宽:8bit,16bit,32bit
两种工作模式:CRC 编码模式、CRC 校验模式
CRC-16 多项式:x16+ x12+ x5+ 1
CRC-32 多项式:x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
功能描述
25.3.1 工作模式
本模块支持两种工作模式:CRC 编码模式、CRC 校验模式。
CRC 编码模式是指向 CRC 模块输入一定数量的原始数据,获取 CRC 模块生成的输出
值(CRC_RESULT)。CRC 校验模式是指向 CRC 模块输入一定数量的原始数据+CRC
校验值,验证原始数据与 CRC 校验值是否匹配(CRC_CR.FLAG)。
25.3.2 编码方式
本模块支持两种编码方式 CRC-16、CRC-32,其计算结果分别为 16 比特和 32 比特。
通过 CRC_CR.CR 配置需要使用的编码方式。
CRC-16 多项式:x16+ x12+ x5+ 1。
CRC-32 多项式:x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 677 of 854
25.3.3 写入位宽
本模块支持三种写入位宽:8bit,16bit,32bit。不同位宽的写入需要符合“位宽一致、
先低后高”的原则,即“每次写入数据,都必须写入到与本次有效数据位宽相等的寄
存器中,并且较低位数据的写入先于较高位数据”。
下方展示了同一序列数据采用三种位宽进行写入的方法,其输出结果相同。
25.4
8bit 位宽写入:0x00, 0x11, 0x22 , 0x33, 0x44, 0x55, 0x66, 0x77
16bit 位宽写入:0x1100, 0x3322, 0x5544, 0x7766
32bit 位宽写入:0x33221100, 0x77665544
编程示例
25.4.1 CRC-16 编码模式
Step 1: 向 CRC_CR.CR 写入 0x00,选择 CRC-16。
Step 2: 向 CRC_RESULT 写入 0xFFFF,初始化 CRC 计算。
Step 3: 将待编码的原始数据依次写入 CRC_DATA 寄存器,写入位宽可选择 8bit、
16bit、32bit。
Step 4: 读取 CRC_RESULT[15:0]以获取 CRC 值。
25.4.2 CRC-16 检验模式
Step 1: 向 CRC_CR.CR 写入 0x00,选择 CRC-16。
Step 2: 向 CRC_RESULT 写入 0xFFFF,初始化 CRC 计算。
Step 3: 将已编码的数据序列依次写入 CRC_DATA 寄存器,写入位宽可选择 8bit、
16bit、32bit。
Step 4: 根据 CRC_CR.FLAG 的值判定已编码的数据序列是否被篡改。
25.4.3 CRC-32 编码模式
Step 5: 向 CRC_CR.CR 写入 0x01,选择 CRC-32。
Step 6: 向 CRC_RESULT 写入 0xFFFFFFFF,初始化 CRC 计算。
Step 7: 将待编码的原始数据依次写入 CRC_DATA 寄存器,写入位宽可选择 8bit、
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 678 of 854
16bit、32bit。
Step 8: 读取 CRC_RESULT[31:0]以获取 CRC 值。
25.4.4 CRC-32 检验模式
Step 5: 向 CRC_CR.CR 写入 0x01,选择 CRC-32。
Step 6: 向 CRC_RESULT 写入 0xFFFFFFFF,初始化 CRC 计算。
Step 7: 将已编码的数据序列依次写入 CRC_DATA 寄存器,写入位宽可选择 8bit、
16bit、32bit。
Step 8: 根据 CRC_CR.FLAG 的值判定已编码的数据序列是否被篡改。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 679 of 854
25.5
寄存器描述
25.5.1 寄存器列表
基地址:0x4002 0900
寄存器
偏移地址
描述
CRC_CR
0x00
CRC 控制寄存器
CRC_RESULT
0x04
CRC 结果寄存器
CRC_DATA
0x80
CRC 数据寄存器
25.5.2 控制寄存器(CRC_CR)
偏移地址:0x00
复位值:0x0000 0001
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
Reserved
R
15
14
13
位
符号
31:2
Reserved
1
FLAG
12
11
10
9
8
7
Reserved
FLAG
CR
R
RO
RW
功能描述
CRC校验结果
0:当前CRC校验错误
1:当前CRC校验正确
0
CR
CRC编码方式选择
0:CRC-16编码
1:CRC-32编码
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 680 of 854
25.5.3 结果寄存器(CRC_RESULT)
偏移地址:0x04
复位值: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
RESULT[31:16]
RW
15
14
13
12
11
10
9
8
7
RESULT[15:0]
RW
位
符号
31:0
RESULT
描述
CRC计算结果
读取RESULT[15:0]以获取CRC-16的计算结果
读取RESULT[31:0]以获取CRC-32的计算结果
向RESULT[15:0]写入0xFFFF以初始化CRC-16计算
向RESULT[31:0]写入0xFFFFFFFF以初始化CRC-32计算
25.5.4 数据寄存器(CRC_DATA)
偏移地址:0x80
复位值: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
DATA[31:16]
WO
15
14
13
12
11
10
9
8
7
DATA[15:0]
WO
位
符号
功能描述
31:0
DATA
本寄存器用于写入需要运算的数据,支持3种写入位宽
8bit写入方式: * ((uint8_t * )0x40020980) = 0xXX
16bit写入方式: * ((uint16_t *)0x40020980) = 0xXXXX
32bit写入方式: * ((uint32_t *)0x40020980) = 0xXXXXXXXX
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 681 of 854
26
真随机数发生器(TRNG)
26.1
概述
真随机数模块产生 64 位真随机数。
26.2
功能框图
以下示意了 TRNG 模块的数据流:
模拟随
机源
真随机数发
生器
64位真随机数
控制信号
图 26-1 TRNG 数据流
26.3
功能描述
本模块采用内部的模拟随机源,每次启动都可以产生 64bits 真随机数。此外,还可以
对真随机数生成的方式进行软件配置,详细内容可查看寄存器描述章节。生成的 64 位
真随机数分别存放在 DATA0 和 DATA1 寄存器中。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 682 of 854
26.4
寄存器
基地址:0x4000 4C00
寄存器
偏移地址
描述
TRNG_CR
0x00
控制寄存器
TRNG_MODE
0x04
模式寄存器
TRNG_DATA0
0x0C
数据寄存器0
TRNG_DATA1
0x10
数据寄存器1
26.4.1 控制寄存器(TRNG_CR)
偏移地址:0x00
复位值: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
RNG_
RNGc
RUN
ir_EN
RW
RW
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
31:2
Reserved
1
RNG_RUN
功能描述
软件写入“1”,开始产生新的64bits随机数;运行完毕后,硬件清零;
0:随机数产生完成;
1:写1启动随机数产生,读1表示随机数正在产生;
0
RNGcir_EN
随机源电路使能位:
0:关闭随机源;
1:打开随机源;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 683 of 854
26.4.2 模式寄存器(TRNG_MODE)
偏移地址:0x04
复位值:0x0000 0010
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
RNG_
RNG_
FDBK
LOAD
RW
RW
Reserved
15
14
13
12
11
10
9
8
7
RNG_CNT
Reserved
RW
位
标记
31:5
Reserved
4:2
RNG_CNT
描述
64bits RNG的反馈移位次数
3’b000:移位0次(即输出随机源的采样值)
3’b001:移位8次
3’b010:移位16次
3’b011:移位32次
3’b100:移位64次
3’b101:移位128次
3’b110:移位256次
3’b111:Reserved
1
RNG_FDBK
在移位操作时,64bits RNG的反馈信号是否与随机源进行异或操作
0:不进行异或操作;
1:进行异或操作;
0
RNG_LOAD
在产生新的随机数时,64bits RNG是否从随机源获得新的初始值
0:不装载新的初始值(产生伪随机数);
1:装载新的初始值(产生真随机数);
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 684 of 854
26.4.3 数据寄存器 0(TRNG_DATA0)
偏移地址:0x0C
复位值:--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
DATA0[31:16]
RO
15
14
13
12
11
10
9
8
7
DATA0[15:0]
RO
位
标记
31:0
DATA0
功能描述
软件对本寄存器读取将得到低32位的随机数
26.4.4 数据寄存器 1(TRNG_DATA1)
偏移地址:0x10
复位值:--31
30
29
28
27
26
25
24
23
DATA1[31:16]
RO
15
14
13
12
11
10
9
8
7
DATA1[15:0]
RO
位
标记
31:0
DATA1
功能描述
软件对本寄存器读取将得到高32位的随机数
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 685 of 854
26.5
软件基本操作
26.5.1 生成 64bits 真随机数的操作流程(上电第一次)
上电第一次生成 64bits 真随机数,需要经过以下操作:
Step1:打开随机源电路:对真随机数控制寄存器的 Bit0(RNG_CR.RNGcir_En)写入
“1”,启动随机源电路,开始输出串行真随机数。
Step2:选择重新装载初始值:将真随机数模式寄存器的 Bit0(RNG_MODE. RNG_LOAD)
设置为“1”,使新产生的真随机数的初始值从随机源获得。
Step3:选择 PRNG64 的直接反馈的方式:将真随机数模式寄存器的 Bit1(RNG_MODE.
RNG_FDBK)设置为“1”,将反馈信号与随机源异或后输入 PRNG 中。
Step4:选择 PRNG64 的移位次数:设置真随机数模式寄存器的 Bit4-Bit2(RNG_MODE.
RNG_CNT)为“110”,选择移位 256 次。
Step5:生成真随机数:软件将“1”写入真随机数控制寄存器的 Bit1(RNG_CR.
RNG_RUN),硬件根据真随机数生成配置进行操作,在操作完成后,硬件自动
将 Bit1 清为“0”。
Step6:选择不重新装载初始值:将真随机数模式寄存器的 Bit0(RNGModeReg.
RNG_Load)设置为“0”。
Step7:选择 PRNG64 的直接反馈的方式:将真随机数模式寄存器的 Bit1(RNG_MODE.
RNG_FDBK)设置为“0”,将反馈信号直接输入 PRNG 中。
Step8 : 选 择 PRNG64 的 移 位 次 数 : 设 置 真 随 机 数 模 式 寄 存 器 的 Bit4 - Bit2
(RNG_MODE.RNG_CNT)为“100”,选择移位 64 次。
Step9 : 生 成 真 随 机 数 : 软 件 将 “ 1 ” 写 入 真 随 机 数 控 制 寄 存 器 的 Bit1
(RNG_CR.RNG_RUN),硬件根据真随机数生成配置进行操作,在操作完成后,
硬件自动将 Bit1 清为“0”。
Step10:读取真随机数:软件在查询到真随机数控制寄存器的 Bit1(RNG_CR.RNG_RUN)
变为“0”后,通过读取真随机数数据寄存器 0(RNG_DATA0)和真随机数数据寄
存器 1(RNG_DATA1),得到 64Bits 真随机数。
Step11:完成真随机数的生成后,推荐选择关闭随机源电路,节省功耗:对真随机数控
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 686 of 854
制寄存器的 Bit0(RNG_CR.RNGcir_En)写入“0”,关闭随机源电路。
26.5.2 生成 64bits 真随机数的操作流程(非上电第一次生成)
非上电第一次生成 64bits 真随机数,需要经过以下操作:
Step1:打开随机源电路:对真随机数控制寄存器的 Bit0(RNG_CR.RNGcir_En)写入
“1”,启动随机源电路,开始输出串行真随机数。
Step2 : 选 择 不 重 新 装 载 初 始 值 : 将 真 随 机 数 模 式 寄 存 器 的 Bit0
(RNG_MODE.RNG_LOAD)设置为“0”。
Step3 : 选 择 PRNG64 的 直 接 反 馈 的 方 式 : 将 真 随 机 数 模 式 寄 存 器 的 Bit1
(RNG_MODE.RNG_FDBK)设置为“1”,将反馈信号与随机源异或后输入
PRNG 中。
Step4 : 选 择 PRNG64 的 移 位 次 数 : 设 置 真 随 机 数 模 式 寄 存 器 的 Bit4 - Bit2
(RNG_MODE.RNG_CNT)为”110”,选择移位 256 次。
Step5 : 生 成 真 随 机 数 : 软 件 将 “ 1 ” 写 入 真 随 机 数 控 制 寄 存 器 的 Bit1
(RNG_CR.RNG_RUN),硬件根据真随机数生成配置进行操作,在操作完成后,
硬件自动将 Bit1 清为“0”。
Step6: 选 择 PRNG64 的 直 接 反 馈 的 方 式 : 将 真 随 机 数 模 式 寄 存 器 的 Bit1
(RNG_MODE.RNG_FDBK)设置为“0”,将反馈信号直接输入 PRNG 中。
Step7 : 选 择 PRNG64 的 移 位 次 数 : 设 置 真 随 机 数 模 式 寄 存 器 的 Bit4 - Bit2
(RNG_MODE.RNG_CNT)为”100”,选择移位 64 次。
Step8:读取真随机数:软件在查询到真随机数控制寄存器的 Bit1(RNG_CR.RNG_RUN)
变为“0”后,通过读取真随机数数据寄存器 0(RNG_Data0)和真随机数数据
寄存器 1(RNG_Data1),得到 64Bits 真随机数。
如果需要继续生成新的真随机数,那么回到 Step2,直到满足要求。
Step9:完成真随机数的生成后,推荐选择关闭随机源电路,节省功耗:对真随机数控
制寄存器的 Bit0(RNG_CR.RNGcir_En)写入“0”,关闭随机源电路。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 687 of 854
27
高级加密标准模块(AES)
27.1
功能定义
27.1.1 AES 算法简述
AES(The Advanced Encryption Standard)是美国国家标准技术研究所(NIST)在 2000
年 10 月 2 日正式宣布的新的数据加密标准。
AES 的分组长度固定为 128 位,而密钥长度支持 128、192 和 256 位。对于加密来说,
其输入是一个明文分组和一个密钥,输出是一个密文分组;对解密而言,输入是一个
密文分组和一个密钥,而输出是一个明文分组。此过程如图 27-1 所示:
加密
明文
(128bits)
解密
密文
(128bits)
AES
AES
明文
(128bits)
密钥(128/192/256bits)
图 27-1 AES 的加解密示意图
AES 算法处理的基本单位是字节,128 位信息被分成 16 个字节,按顺序复制到一个
4×4 的矩阵中,称为状态(state),AES 的所有变换都是基于状态矩阵的变换,该矩阵
上保存着计算的中间结果。
AES 是一个密钥迭代分组密码,包含了轮变换对状态的重复作用。AES 的轮变换由四
个操作组成:SubBytes、ShiftRows、MixColumns、AddRoundKey。其中,SubBytes 包
括求每个字节在 GF(28)中的模逆元和一个仿射变换;ShiftRows 是一个字节换位,它将
状态中的行按照不同的偏移量进行循环移位;MixColumns 对状态各列进行线性变换;
AddRoundKey,状态中的各字节与轮密钥进行逐位异或操作。AES 的加密流程如图
27-2 所示:
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 688 of 854
子密钥
AddRoundKey
子密钥
SubBytes
ShiftRows
MixColumns
AddRoundKey
ShiftRows
SubBytes
AddRoundKey
明文
密文
子密钥
图 27-2 AES 的加密流程图
图中所用子密钥需要由初始密钥扩展而来,且密钥的扩展过程和加密过程是同步进行
的。
由于明文固定为 128 位,加密过程运行的轮数就取决于密钥的长度。比如,密钥为 128
位时,运行轮数为 10 轮;密钥为 192 位时,运行轮数为 12 轮;密钥为 256 位时,运
行轮数为 14 轮。除了最后一轮缺少 MixColumns 变换,其余各轮均进行完整的轮变换
操作。
解密流程与加密流程有所区别,首先必须完成所有密钥的扩展,解密过程从扩展的最
后一轮子密钥往回使用;然后是轮变换的四个操作变成了相应的逆运算:InvSubBytes、
InvShiftRows、InvMixColumns、AddRoundKey。InvSubBytes 中的模逆运算仍然保持,
但 仿 射变 换 改为 逆变 换 ; InvShiftRows 和 InvMixColumns 变 成 相 应 的逆 变 换 ;
AddRoundKey 保持不变。
直接解密流程的轮变换对四个操作的调用顺序为: InvShiftRows、 InvSubBytes、
AddRoundKey、InvMixColumns,与加密流程的调用顺序不一致,但使用的密钥与加密
流 程 一 致 ; 等 价 解 密 流 程 的 轮 变 换 对 四 个 操 作 的 调 用 顺 序 为 : InvSubBytes 、
InvShiftRows、InvMixColumns、AddRoundKey,与加密流程的调用顺序完全一致,只
是每一轮的子密钥需要进行 InvMixColumns 运算。
关于详细的算法表述,可以参见标准《FIPS PUB 197》
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 689 of 854
27.1.2 AES 模块功能描述
执行 AES 算法标准的加密流程和解密流程,其执行结果完全符合《FIPS PUB 197》
对算法原理的描述;
仅支持 128 位密钥。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 690 of 854
27.2
模块寄存器说明
AES 基地址 0x40021400
表 27-1 寄存器列表
寄存器
偏移地址
描述
AES_CR
0x00或0x30
控制寄存器
AES_Data
0x10~0x1C
数据寄存器
AES_Key
0x20~0x2C
密钥寄存器
27.2.1 控制寄存器(AES_CR)
偏移地址:0x00 或 0x30
复位值: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
Mode
Start
RW
RW
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
符号
31:2
Reserved
1
Mode
0
Start
描述
保留位,读为0
0:加密运算
1:解密运算
0:本模块运算结束或未被启动
1:启动本模块进行运算
说明:
1. AES_CR.Start 位的操作方法是:软件对本位写入 1 后,本模块将启动运行,本次
运行结束后本模块硬件会自动将本位清 0,软件查询到本位为 0 即表示本次运行完
成。
2.
对本寄存器的写入操作只能在本模块不处于运算状态时(即 AES_CR.Start = 0 时)
才能进行,否则硬件将自动忽略写操作。读操作则不受此限制。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 691 of 854
27.2.2 数据寄存器(AES_Data)
偏移地址:0x10~0x1C
复位值: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
Data[31:16]
RW
15
14
13
12
11
10
9
8
7
Data[15:0]
RW
位
符号
31:0
Data
描述
存放AES算法的128比特明文/密文
说明:
1.
数据寄存器由四个 32 位的寄存器组成 128 位数据,用于在模块运算前存放需要被
加密的明文或者需要被解密的密文,并且运算完成后存放加密后的密文或者解密
后的明文。
加密运算
解密运算
运算前
运算后
运算前
运算后
128 位明文
128 位密文
128 位密文
128 位明文
四个 32 位寄存器连接在一起组成一个 128 位的数据,读写操作时需要分别对四个
寄存器进行操作。数据寄存器对应的操作顺序如下:
数据举例:0xFFEEDDCCBBAA99887766554433221100
2.
偏移地址
寄存器名称
填入数据
0x10
AES_Data0
0x33221100
0x14
AES_Data1
0x77665544
0x18
AES_Data2
0xBBAA9988
0x1C
AES_Data3
0xFFEEDDCC
对于本寄存器的写入只能在本模块没有处于运算状态时(即 AES_CR.Start = 0 时)
才能进行,否则硬件将自动忽略对本寄存器的写操作。
3.
对于本寄存器的读取只能在本模块没有处于运算状态时(即 AES_CR.Start = 0 时)
才能进行,否则对本寄存器的读取将得到全 0。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 692 of 854
27.2.3 密钥寄存器(AES_Key)
偏移地址:0x20~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
Key[31:16]
RW
15
14
13
12
11
10
9
8
7
Key[15:0]
RW
位
符号
31:0
Key
1.
描述
存放AES算法的128比特密钥
密钥寄存器由 4 个 32 位的寄存器组成,存放输入的初始密钥。写操作时需要分别
对 4 个 32 位的寄存器进行操作。对应的操作顺序如下:
数据举例:0x0F0E0D0C0B0A09080706050403020100
2.
偏移地址
寄存器名称
填入数据
0x20
AES_Key0
0x03020100
0x24
AES_Key1
0x07060504
0x28
AES_Key2
0x0B0A0908
0x2C
AES_Key3
0x0F0E0D0C
对于本寄存器的写入只能在本模块没有处于运算状态时(即 AES_CR.Start = 0 时)
才能进行,否则硬件将自动忽略对本寄存器的写操作。
3.
对于本寄存器的读取只能在本模块没有处于运算状态时(即 AES_CR.Start = 0 时)
才能进行,否则对本寄存器的读取将得到全 0。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 693 of 854
27.3
异常机制
只支持 32 位访问,其它位宽的访问会导致系统异常,进入硬件异常中断。
访问 AES 模块的偏移地址大于等于 0x40 的地址,会导致系统异常,进入硬件异常
中断。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 694 of 854
27.4
本模块操作说明
本模块共有两个功能:加密、解密。对两个功能的操作有一些共同的特点,下面先介
绍其共同点,再分别介绍每个功能的标准操作流程。
27.4.1 IP 操作的共同点
1. 在 AES 加解密过程中,数据寄存器会改变,如果下次运算的被操作数据就是本次运
算的结果,那么就无需重新写入数据了。
2. 密钥仅支持 128 位,密钥写入偏移地址 0x20-0x2C。
3. 判断模块运算结束的方法:不断读取 AES_CR.Start,如果其值变为 0,则表示运算
结束。
27.4.2 加密操作流程
Step 1: 将待加密的 128 位数据写入数据寄存器(AES_DATA)中。
Step 2: 将加密密钥写入密钥寄存器(AES_KEY)中。
Step 3: 将 AES_CR.Mode 设置为 0,启动加密模式。
Step 4: 向控制寄存器中的 AES_CR.Start 写入 1,启动模块进行运算。
Step 5: Step 3 和 Step 4 可同时进行。
Step 6: 等待 AES_CR.Start 的值恢复为 0,模块运算结束。
Step 7: 读取数据寄存器(AES_DATA),获得 128 位密文。
27.4.3 解密操作流程
Step 1: 将待解密的 128 位数据写入数据寄存器(AES_DATA)中。
Step 2: 将解密密钥写入密钥寄存器(AES_KEY)中。
Step 3: 将 AES_CR.Mode 设置为 1,启动解密模式。
Step 4: 向控制寄存器中的 AES_CR.Start 写入 1,启动模块进行运算。
Step 5: Step 3 和 Step 4 可同时进行。
Step 6: 等待 AES_CR.Start 的值恢复为 0,模块运算结束。
Step 7: 读取数据寄存器(AES_DATA),获得 128 位明文。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 695 of 854
27.4.4 数据示例
明文:0xFFEEDDCCBBAA99887766554433221100
密钥:0x0F0E0D0C0B0A09080706050403020100
密文:0x5AC5B47080B7CDD830047B6AD8E0C469
表 27-2 寄存器示例
加密前
寄存器
值
(密钥)
寄存器
值
(明文)
Key0
0x03020100
Data0
0x33221100
Key1
0x07060504
Data1
0x77665544
Key2
0x0B0A0908
Data2
0xBBAA9988
Key3
0x0F0E0D0C
Data3
0xFFEEDDCC
加密后
寄存器
值
(密钥)
寄存器
值
(密文)
Key0
0x03020100
Data0
0xD8E0C469
Key1
0x07060504
Data1
0x30047B6A
Key2
0x0B0A0908
Data2
0x80B7CDD8
Key3
0x0F0E0D0C
Data3
0x5AC5B470
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 696 of 854
27.5
运行时间说明
本模块从启动一次运算(AES_CR.Start 写入 1)到该次运算结束(AES_CR.Start 恢复
到 0)所需时间如表 27-3 所示:
表 27-3 AES 加解密运行时间
加密
216 cycles
解密
286 cycles
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 697 of 854
28
液晶控制器(LCD)
28.1
LCD 简介
LCD 控制器是一款适用于单色无源液晶显示器(LCD)的数字控制器/驱动器,最多具有
8 个公用端子(COM)和 40 个区段端子(SEG),用以驱动 160 (4x40)或 288 (8x36)
个 LCD 图像元素。端子的确切数量取决于数据手册中所述的器件引脚。
LCD 由若干区段(像素或完整符号)组成,这些区段均可点亮或熄灭。每个区段都包
含一层在两根电极之间对齐的液晶分子。当向液晶施加高于阈值电压的电压时,相应
的区段可见。区段电压必须为交流,以避免液晶中出现电泳效应(这将影响显示效果)。
之后,必须在区段两端生成波形以避免出现直流。
词汇表
液晶(LCD):无源显示面板,带有直接引向区段的端子。
公用(COM):连接到多个区段的电气连接端子。
偏置(BIAS):驱动 LCD 时使用的电压等级,定义为 1/(驱动 LCD 显示的电压等级数
–1)。
区段(SEG):最小可视单元(LCD 显示器上的最小组成元素,线条或点)。
占空比(DUTY):定义为 1/(LCD 显示器上的公用端子数)的数字。
帧:写入区段的波形的一个周期。
帧速率:每秒帧数,即每秒激励 LCD 区段的次数。
381
28.2
LCD 主要特性
高度灵活的帧速率控制。
支持静态、1/2、1/3、1/4、1/6 和 1/8 占空比。
支持 1/2、1/3 偏置。
多达 16 个寄存器的 LCD 数据 RAM。
可通过软件配置 LCD 的对比度。
3 种驱动波形生成方式
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 698 of 854
– 内部电阻分压、外部电阻分压,外部电容分压方式
– 可通过软件配置内部电阻分压方式的功耗,从而匹配 LCD 面板所需的电容电荷
支持低功耗模式:LCD 控制器可在 Active、Sleep、DeepSleep 模式下进行显示。
可配置帧中断。
支持 LCD 闪烁功能且可配置多种闪烁频率
未使用的 LCD 区段和公共引脚可配置为数字或模拟功能。
28.3
LCD 框图
RCL
XTL
Frequency
LCD
generator
COM
Driver
PCLK
LCD
RAM
SEG
Driver
Reg
interface
Register
Voltage
generater
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
A
N
A
M
U
X
COM0
...
COM2
SEG0
…
SEG31
SEG32/
SEG33/
SEG34/
SEG35/
COM7/SEG36
COM6/SEG37
COM5/SEG38
COM4/SEG39
Page 699 of 854
28.4
LCD 驱动波形
LCD 支持 5 种占空比(Duty)的驱动波形:静态、1/2、1/3、1/4、1/6 和 1/8,由
LCD_CR0.Duty 进行设置。LCD 支持 2 种偏置(Bias)的驱动波形:1/2、1/3,由
LCD_CR0.Bias 进行设置。建议的组合方式如下表所示:
1/2 Duty
1/3 Duty
1/4 Duty
1/6 Duty
1/8 Duty
1/2 Bias
√
√
不推荐
不推荐
不推荐
1/3 Bias
不推荐
不推荐
√
√
√
各模式下的驱动波形如下方所示:
28.4.1 静态驱动波形
1 Frame
LCD Clock
COM0
VDD1
VSS
SEG0
VDD1
VSS
SEG1
VDD1
VSS
COM0~SEG0
ON
+VDD1
VSS
COM0-SEG0
-VDD1
COM1~SEG0
OFF
COM0-SEG1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
+VDD1
VSS
-VDD1
Page 700 of 854
28.4.2 1/2Duty 1/2Bias 驱动波形
1 Frame
LCD Clock
COM0
VDD2
VDD1
VSS
COM1
VDD2
VDD1
VSS
SEG0
VDD2
VDD1
VSS
OFF
ON
+VDD2
+VDD1
VSS
COM0-SEG0
-VDD1
-VDD2
OFF
COM1-SEG0
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
+VDD2
+VDD1
VSS
-VDD1
-VDD2
Page 701 of 854
28.4.3 1/2Duty 1/3Bias 驱动波形
1 Frame
LCD Clock
COM0
VDD3
VDD2
VDD1
VSS
COM1
VDD3
VDD2
VDD1
VSS
SEG0
VDD3
VDD2
VDD1
VSS
ON
+VDD3
+VDD2
+VDD1
VSS
COM0-SEG0
-VDD1
-VDD2
-VDD3
OFF
COM1-SEG0
+VDD3
+VDD2
+VDD1
VSS
-VDD1
-VDD2
-VDD3
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 702 of 854
28.4.4 1/3Duty 1/2Bias 驱动波形
1 Frame
LCD Clock
COM0
VDD2
VDD1
VSS
COM1
VDD2
VDD1
VSS
COM2
VDD2
VDD1
VSS
SEG0
VDD2
VDD1
VSS
ON
OFF
+VDD2
+VDD1
VSS
COM0-SEG0
-VDD1
-VDD2
OFF
COM1-SEG0
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
+VDD2
+VDD1
VSS
-VDD1
-VDD2
Page 703 of 854
28.4.5 1/3Buty 1/3Bias 驱动波形
1 Frame
LCD Clock
COM0
VDD3
VDD2
VDD1
VSS
COM1
VDD3
VDD2
VDD1
VSS
COM2
VDD3
VDD2
VDD1
VSS
SEG0
VDD3
VDD2
VDD1
VSS
ON
OFF
+VDD3
+VDD2
+VDD1
VSS
COM0-SEG0
-VDD1
-VDD2
-VDD3
OFF
COM1-SEG0
+VDD3
+VDD2
+VDD1
VSS
-VDD1
-VDD2
-VDD3
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 704 of 854
28.4.6 1/4Duty 1/2Bias 驱动波形
1 Frame
LCD Clock
COM0
VDD2
VDD1
VSS
COM1
VDD2
VDD1
VSS
·
·
COM3
VDD2
VDD1
VSS
SEG0
VDD2
VDD1
VSS
ON
OFF
+VDD2
+VDD1
VSS
COM0-SEG0
-VDD1
-VDD2
OFF
COM1-SEG0
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
+VDD2
+VDD1
VSS
-VDD1
-VDD2
Page 705 of 854
28.4.7 1/4Duty 1/3Bias 驱动波形
1 Frame
LCD Clock
COM0
VDD3
VDD2
VDD1
VSS
COM1
VDD3
VDD2
VDD1
VSS
·
·
·
COM3
VDD3
VDD2
VDD1
VSS
SEG0
VDD3
VDD2
VDD1
VSS
ON
OFF
+VDD3
+VDD2
+VDD1
VSS
COM0-SEG0
-VDD1
-VDD2
-VDD3
OFF
COM1-SEG0
+VDD3
+VDD2
+VDD1
VSS
-VDD1
-VDD2
-VDD3
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 706 of 854
28.4.8 1/6Duty 1/3Bias 驱动波形
1 Frame
LCD Clock
COM0
VDD3
VDD2
VDD1
VSS
COM1
VDD3
VDD2
VDD1
VSS
·
·
·
COM5
VDD3
VDD2
VDD1
VSS
SEG0
VDD3
VDD2
VDD1
VSS
ON
OFF
+VDD3
+VDD2
+VDD1
VSS
COM0-SEG0
-VDD1
-VDD2
-VDD3
OFF
COM1-SEG0
+VDD3
+VDD2
+VDD1
VSS
-VDD1
-VDD2
-VDD3
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 707 of 854
28.4.9 1/8Duty 1/3Bias 驱动波形
1 Frame
LCD Clock
COM0
VDD3
VDD2
VDD1
VSS
COM1
VDD3
VDD2
VDD1
VSS
·
·
·
COM7
VDD3
VDD2
VDD1
VSS
SEG0
VDD3
VDD2
VDD1
VSS
ON
OFF
+VDD3
+VDD2
+VDD1
VSS
COM0-SEG0
-VDD1
-VDD2
-VDD3
OFF
COM1-SEG0
+VDD3
+VDD2
+VDD1
VSS
-VDD1
-VDD2
-VDD3
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 708 of 854
28.5
LCD Bias 产生电路
LCD 的 Bias 电压具有 3 种来源:内部电阻分压、外部电阻分压、外部电容分压。当选
择内部电阻分压时,芯片会自动切换内部的电路以产生符合 Bias 和 Duty 的电压。当
选择外部电阻分压或外部电容分压时,需要用户在芯片的外围引脚搭建相关电路。
28.5.1 内部电阻模式
内部电阻模式 VLCDH,VLCD1~VLCD3 可以作为 LCD SEG 输出或者 IO 端口使用。
内部电阻模式,LCD 的驱动电压由 CR0.Contrast 控制,如下表所示:
CR0.Contrast
VLCD(1/3 bias)
VLCD(1/2 bias)
0
1.00 * VCC
1.00 * VCC
1
0.94 * VCC
0.92 * VCC
2
0.9 * VCC
0.85 * VCC
3
0.85 * VCC
0.8 * VCC
4
0.81 * VCC
0.75 * VCC
5
0.78 * VCC
0.70 * VCC
6
0.75 * VCC
0.66 * VCC
7
0.72 * VCC
0.63 * VCC
8
0.70 * VCC
0.61 * VCC
9
0.67 * VCC
0.58 * VCC
10
0.65 * VCC
0.55 * VCC
11
0.63 * VCC
0.53 * VCC
12
0.61 * VCC
0.51 * VCC
13
0.59 * VCC
0.48 * VCC
14
0.57 * VCC
0.47 * VCC
15
0.55 * VCC
0.45 * VCC
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 709 of 854
28.5.2 外部电容模式
VLCDH
VLCDH
VLCDH
VLCD3
VLCD3
悬空
VLCD3
VLCD2
VCC
VLCD2
VLCD1
VCC
VLCD1
VLCD1
DVSS
DVSS
DVSS
静态
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
1/2 Bias
VCC
VLCD2
1/3 Bias
Page 710 of 854
28.5.3 外部电阻模式
VLCDH
VLCDH
VLCDH
Rx
VLCD3
Rx
Rx
VLCD3
VLCD3
R
VLCD2
VLCD2
VLCD2
R
R
VLCD1
VLCD1
VLCD1
R
DVSS
DVSS
静态
R
R
1/2 Bias
DVSS
1/3 Bias
注意:
– Rx 为可调电阻,用于调节 LCD 显示对比度。
– 根据使用 LCD 屏幕选择合适的电阻 R。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 711 of 854
28.6
DMA
LCD 支持软件和硬件触发 DMA 数据传输,可以将需要显示的内容从 RAM 或 ROM 中
自动搬到 LCD 显示 RAM 中。硬件触发使用的是帧中断信号。LCD 使用的 DMA 通道
号为[6]。
DMA 数据传送配置流程:
1. 使能 DMA
2. 使能 DMA 通道使能
3. 选择 LCD DMA
4. 设置传输类型、传输长度、传输方式
5. 设置源起始地址,目标起始地址
6. 设置源地址、目标地址的递增方式
7. 根据需要使能 DMA 中断
8. 使能 LCD DMA 触发
28.7
中断
当 LCD 设置有效时,LCD 中断可以配置为帧数产生中断。
28.8
LCD 显示模式
LCD 支持两种显示模式。一种以 COM 为显示单元,同一个 SEG 的所有 COM 段在同
一字节中(模式 0)。另外一种为同一个 COM 的不同 SEG 在同一个字节中(模式 1)。
根据 LCD 面板选择合适的显示方式可以简化程序操作。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 712 of 854
28.8.1 LCD 显示模式 1 (MODE = 1)
1/8 Duty
Bit31 Bit30 Bit29 Bit28 Bit27 Bit26 Bit25 Bit24 Bit23 Bit22 Bit21 Bit20 Bit19 Bit18 Bit17 Bit16 Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
SEG31 SEG30 SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0
COM0
COM1
COM2
COM3
COM4
COM5
COM6
COM7
LCDRAM0
LCDRAM1
LCDRAM2
LCDRAM3
LCDRAM4
LCDRAM5
LCDRAM6
LCDRAM7
SEG35 SEG34 SEG33 SEG32
COM0
COM1
COM2
COM3
COM4
COM5
COM6
COM7
LCDRAM8
LCDRAM9
LCDRAMA
LCDRAMB
LCDRAMC
LCDRAMD
LCDRAME
LCDRAMF
1/6 Duty
Bit31 Bit30 Bit29 Bit28 Bit27 Bit26 Bit25 Bit24 Bit23 Bit22 Bit21 Bit20 Bit19 Bit18 Bit17 Bit16 Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
SEG31 SEG30 SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0
COM0
COM1
COM2
COM3
COM4
COM5
LCDRAM0
LCDRAM1
LCDRAM2
LCDRAM3
LCDRAM4
LCDRAM5
LCDRAM6
LCDRAM7
SEG37 SEG36 SEG35 SEG34 SEG33 SEG32
COM0
COM1
COM2
COM3
COM4
COM5
LCDRAM8
LCDRAM9
LCDRAMA
LCDRAMB
LCDRAMC
LCDRAMD
LCDRAME
LCDRAMF
1/4 Duty
Bit31 Bit30 Bit29 Bit28 Bit27 Bit26 Bit25 Bit24 Bit23 Bit22 Bit21 Bit20 Bit19 Bit18 Bit17 Bit16 Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8
SEG31 SEG30 SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8
Bit7
SEG7
Bit6
SEG6
Bit5
SEG5
Bit4
SEG4
Bit3
SEG3
Bit2
SEG2
Bit1
SEG1
Bit0
SEG0
COM0
COM1
COM2
COM3
LCDRAM0
LCDRAM1
LCDRAM2
LCDRAM3
LCDRAM4
LCDRAM5
LCDRAM6
LCDRAM7
SEG39 SEG38 SEG37 SEG36 SEG35 SEG34 SEG33 SEG32
COM0
COM1
COM2
COM3
LCDRAM8
LCDRAM9
LCDRAMA
LCDRAMB
LCDRAMC
LCDRAMD
LCDRAME
LCDRAMF
1/3 Duty 1/2 Duty
Bit31 Bit30 Bit29 Bit28 Bit27 Bit26 Bit25 Bit24 Bit23 Bit22 Bit21 Bit20 Bit19 Bit18 Bit17 Bit16 Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
SEG31 SEG30 SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0
COM0
COM1
COM2
COM3
COM4
COM5
COM6
COM7
LCDRAM0
LCDRAM1
LCDRAM2
LCDRAM3
LCDRAM4
LCDRAM5
LCDRAM6
LCDRAM7
SEG39 SEG38 SEG37 SEG36 SEG35 SEG34 SEG33 SEG32
COM0
COM1
COM2
COM3
COM4
COM5
COM6
COM7
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
LCDRAM8
LCDRAM9
LCDRAMA
LCDRAMB
LCDRAMC
LCDRAMD
LCDRAME
LCDRAMF
Page 713 of 854
28.8.2 LCD 显示模式 0 (MODE = 0)
1/8 Duty
Bit31 Bit30 Bit29 Bit28 Bit27 Bit26 Bit25 Bit24 Bit23 Bit22 Bit21 Bit20 Bit19 Bit18 Bit17 Bit16 Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit9
COM7 COM6 COM5 COM4 COM3 COM2 COM1 COM0 COM7 COM6 COM5 COM4 COM3 COM2 COM1 COM0 COM7 COM6 COM5 COM4 COM3 COM2 COM1
SEG3
SEG2
SEG7
SEG6
SEG11
SEG10
SEG15
SEG14
SEG19
SEG18
SEG23
SEG22
SEG29
SEG26
SEG31
SEG30
Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1
COM0 COM7 COM6 COM5 COM4 COM3 COM2 COM1
SEG1
SEG5
SEG9
SEG13
SEG17
SEG21
SEG25
SEG29
Bit0
COM0
SEG0
SEG4
SEG8
SEG12
SEG16
SEG20
SEG24
SEG28
SEG32
SEG33
SEG34
SEG35
LCDRAM0
LCDRAM1
LCDRAM2
LCDRAM3
LCDRAM4
LCDRAM5
LCDRAM6
LCDRAM7
LCDRAM8
LCDRAM9
LCDRAMA
LCDRAMB
LCDRAMC
LCDRAMD
LCDRAME
LCDRAMF
1/6 Duty
Bit31
Bit30
Bit29 Bit28 Bit27 Bit26 Bit25 Bit24 Bit23
COM5 COM4 COM3 COM2 COM1 COM0
SEG3
SEG7
SEG11
SEG15
SEG19
SEG23
SEG29
SEG31
Bit22
Bit21 Bit20 Bit19 Bit18 Bit17 Bit16 Bit15
COM5 COM4 COM3 COM2 COM1 COM0
SEG2
SEG6
SEG10
SEG14
SEG18
SEG22
SEG26
SEG30
Bit14
Bit21
Bit19 Bit18 Bit17 Bit16 Bit15
COM3 COM2 COM1 COM0
SEG2
SEG6
SEG10
SEG14
SEG18
SEG22
SEG26
SEG30
Bit14
Bit19
Bit14
Bit13 Bit12 Bit11 Bit10 Bit9 Bit8 Bit7
COM5 COM4 COM3 COM2 COM1 COM0
SEG1
SEG5
SEG9
SEG13
SEG17
SEG21
SEG25
SEG29
Bit6
Bit13
Bit11 Bit10 Bit9 Bit8 Bit7
COM3 COM2 COM1 COM0
SEG1
SEG5
SEG9
SEG13
SEG17
SEG21
SEG25
SEG29
Bit6
Bit11
Bit6
Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
COM5 COM4 COM3 COM2 COM1 COM0
SEG0
SEG4
SEG8
SEG12
SEG16
SEG20
SEG24
SEG28
SEG32
SEG33
SEG34
SEG35
SEG36
SEG37
LCDRAM0
LCDRAM1
LCDRAM2
LCDRAM3
LCDRAM4
LCDRAM5
LCDRAM6
LCDRAM7
LCDRAM8
LCDRAM9
LCDRAMA
LCDRAMB
LCDRAMC
LCDRAMD
LCDRAME
LCDRAMF
1/4 Duty
Bit31
Bit30
Bit29
Bit28
Bit27 Bit26 Bit25 Bit24 Bit23
COM3 COM2 COM1 COM0
SEG3
SEG7
SEG11
SEG15
SEG19
SEG23
SEG29
SEG31
Bit22
Bit20
Bit12
Bit5
Bit4
Bit3 Bit2 Bit1 Bit0
COM3 COM2 COM1 COM0
SEG0
SEG4
SEG8
SEG12
SEG16
SEG20
SEG24
SEG28
SEG32
SEG33
SEG34
SEG35
SEG36
SEG37
SEG38
SEG39
LCDRAM0
LCDRAM1
LCDRAM2
LCDRAM3
LCDRAM4
LCDRAM5
LCDRAM6
LCDRAM7
LCDRAM8
LCDRAM9
LCDRAMA
LCDRAMB
LCDRAMC
LCDRAMD
LCDRAME
LCDRAMF
1/3 Duty 1/2 Duty
Bit31
Bit30
Bit29
Bit28
Bit27
Bit26 Bit25 Bit24 Bit23
COM2 COM1 COM0
SEG3
SEG7
SEG11
SEG15
SEG19
SEG23
SEG27
SEG31
Bit22
Bit21
Bit20
Bit18 Bit17 Bit16 Bit15
COM2 COM1 COM0
SEG2
SEG6
SEG10
SEG14
SEG18
SEG22
SEG26
SEG30
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Bit13
Bit12
Bit10 Bit9
Bit8
Bit7
COM2 COM1 COM0
SEG1
SEG5
SEG9
SEG13
SEG17
SEG21
SEG25
SEG29
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
COM2 COM1 COM0
SEG0
SEG4
SEG8
SEG12
SEG16
SEG20
SEG24
SEG28
SEG32
SEG33
SEG34
SEG35
SEG36
SEG37
SEG38
SEG39
LCDRAM0
LCDRAM1
LCDRAM2
LCDRAM3
LCDRAM4
LCDRAM5
LCDRAM6
LCDRAM7
LCDRAM8
LCDRAM9
LCDRAMA
LCDRAMB
LCDRAMC
LCDRAMD
LCDRAME
LCDRAMF
Page 714 of 854
28.9
LCD 寄存器
基地址 0x40005C00
寄存器
偏移地址
描述
LCD_CR0
0x000
LCD 配置寄存器0
LCD_CR1
0x004
LCD 配置寄存器1
LCD_INTCLR
0x008
LCD 中断清除寄存器
LCD_POEN0
0x00C
LCD 输出配置寄存器
LCD_POEN1
0x010
LCD 输出配置寄存器
LCD_RAM0
0x040
LCD RAM0
LCD_RAM1
0x044
LCD RAM1
LCD_RAM2
0x048
LCD RAM2
LCD_RAM3
0x04C
LCD RAM3
LCD_RAM4
0x050
LCD RAM4
LCD_RAM5
0x054
LCD RAM5
LCD_RAM6
0x058
LCD RAM6
LCD_RAM7
0x05C
LCD RAM7
LCD_RAM8
0x060
LCD RAM8
LCD_RAM9
0x064
LCD RAM9
LCD_RAMA
0x068
LCD RAM10
LCD_RAMB
0x06C
LCD RAM11
LCD_RAMC
0x070
LCD RAM12
LCD_RAMD
0x074
LCD RAM13
LCD_RAME
0x078
LCD RAM14
LCD_RAMF
0x07C
LCD RAM15
表 28-1 LCD 寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 715 of 854
28.9.1 配置寄存器 0(LCD_CR0)
偏移地址 0x000
复位值 0x000000DA
b31
b30
b29
b28
b27
b26
b25
b24 b23
Reserved
b22
b21
b20
b15
b14 b13
Contrast
b12
b11
b10
BSEL
b9
b8
b6
b5
Bias
RW
RW
RW
位
标记
功能描述
31:16
Reserved
保留
b7
Duty
RW
b19
b18
b17
b16
b4
b3
CpClk
b2
b1
LcdClk
b0
EN
RW
RW
RW
LCD对比度调整
注:仅当Bias电压来源选择内部电阻分压时有效。
15:12
Contrast
Constrast值越大,LCD波形的幅度越小。
0X0时,LCD波形幅度最大,对比度最大;
……
0XF时,LCD波形幅度最小,对比度最小;
Bias电压来源选择
111:Reserved
110:内部电阻分压,大功耗模式
101:Reserved
11:9
BSEL
100:内部电阻分压,小功耗模式
011:Reserved
010:内部电阻分压,中功耗模式
001:电容分压模式,需要外部电路配合
000:外部电阻模式,需要外部电路配合
LCD duty配置
000: 静态
001: 1/2 duty
010: 1/3 duty
011: 1/4 duty
100: Reserved
8:6
Duty
101: 1/6 duty
110: Reserved
111: 1/8 duty
duty
1/4 duty
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
PAD
FUNCTION
COM4SEG39PAD
SEG39
COM5SEG38PAD
SEG38
Page 716 of 854
1/6 duty
1/8 duty
COM6SEG37PAD
SEG37
COM7SEG36PAD
SEG36
COM4SEG39PAD
COM4
COM5SEG38PAD
COM5
COM6SEG37PAD
SEG37
COM7SEG36PAD
SEG36
COM4SEG39PAD
COM4
COM5SEG38PAD
COM5
COM6SEG37PAD
COM6
COM7SEG36PAD
COM7
LCD Bias配置
5
Bias
0: 1/3 bias
1: 1/2 bias
电压泵时钟频率选择
00: 2k Hz
4:3
CpClk
01: 4k Hz
10: 8k Hz
11: 16k Hz
LCD扫描频率选择
00: 64Hz
2:1
LcdClk
01: 128Hz
10: 256Hz
11: 512Hz
注:LCD帧频率 = LCD扫描频率×Duty
LCD使能控制
0
EN
1:使能
0:禁止
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 717 of 854
28.9.2 配置寄存器 1(LCD_CR1)
偏移地址 0x004
复位值 0x00000000
b31
b30
b29
b28
b27
b26
b25
b15
b14
b13
b12
b24 b23
Reserved
b22
b21
b20
b19
b18
b17
b16
b11
b10
b9
b8
INTF
DmaEn
IE
Mode
b7
b6
b5
b4
b3
b2
b1
b0
ClkSrc
BlinkE
RO
RW
RW
RW
RW
RW
BlinkCnt
Reserved
位
标记
功能描述
31:11
Reserved
保留
11
INTF
10
DmaEn
n
RW
中断标志
1:中断 0:无中断
DMA硬件触发使能
1:使能LCD中断触发DMA, 0:禁止LCD中断触发DMA
中断使能
9
IE
1:使能
0:禁止
LCD RAM显示模式选择
8
Mode
0 模式0
1 模式1
LCD时钟源选择
7
ClkSrc
1:XTL
0:RCL
LCD闪屏配置
8
BlinkEn
1:使能
0:禁止
闪屏频率与LCD中断间隔设置
5:0
BlinkCnt
注:LCD闪烁频率为 = LCD帧频率 / (BlinkCnt+1)
LCD中断间隔= (BlinkCnt+1)*(1/LCD 帧频率)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 718 of 854
28.9.3 中断清除寄存器(LCD_INTCLR)
偏移地址 0x008
复位值 0x00000000
b31
b30
b29
b28
b27
b26
b25
b24
b23
Reserved
b22
b21
b20
b19
b18
b17
b16
b15
b14
b13
b12
b11
b10
b9
b8
b6
b5
b4
b3
b2
b1
b0
b7
INTF
Reserved
Reserved
R1W0
位
标记
功能描述
31:11
Reserved
保留
10
INTF
中断标志清除,写0清除,写1无效
9:0
Reserved
保留
28.9.4 输出配置寄存器 0(LCD_POEN0)
偏移地址 0x00C
复位值 0xFFFFFFFF
b31
b30
b29
b28
b27
b26
b25
b24
b23
b22
b21
b20
b19
b18
b17
b16
S31
S30
S29
S28
S27
S26
S25
S24
S23
S22
S21
S20
S19
S18
S17
S16
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
b15
b14
b13
b12
b11
b10
b9
b8
b7
b6
b5
b4
b3
b2
b1
b0
S15
S14
S13
S12
S11
S10
S9
S8
S7
S6
S5
S4
S3
S2
S1
S0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能描述
Segx输出控制位
31:0
Sx
0: SEG输出使能
1: SEG输出关闭,可以使用其他功能,如 IO,模拟输入输出
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 719 of 854
28.9.5 输出配置寄存器 1(LCD_POEN1)
偏移地址 0x010
复位值 0x00001FFF
b31
b30
b29
b28
b27
b26
b25
b24
b23
b22
b21
b20
b19
b18
b17
b16
b7
b6
b5
b4
b3
b2
b1
b0
S39
S38
S37
S36
S35
S34
S33
S32
C4
C5
C6
C7
RW
RW
RW
RW
RW
RW
RW
RW
Reserved
b15
b14
b13
Reserved
b12
b11
b10
b9
b8
MUX
C3
C2
C1
C0
RW
位
标记
RW
RW
RW
RW
功能描述
Segx输出控制位
3:0
0: SEG输出使能
Sx
1: SEG输出关闭,可以使用其他功能,如 IO,模拟输入输出
Segx/COMy输出控制位
7:4
0: SEG/COM输出使能
SxCy
1: SEG/COM输出关闭,可以使用其他功能,如 IO,模拟输入输出
SEG COM 引脚功能选择由CR0.DUTY决定
COMx输出控制位
11:8
0: COM输出使能
Cx
1: COM输出关闭,可以使用其他功能,如 IO,模拟输入输出
12
SEG32~SEG35端口功能选择,详细参考选择表格
MUX
寄存器如何配置
VLCDXSEGXPAD 状态描述
VLCDXSEGXPAD 选择
GPIO,LCD
disable(LCD_ON=0)时
VLCDXSEGXPAD
选择 IO,LCD
enable(LCD_ON=1)
MUX
S
1
1111
X
X
X
1
1111
1
1
0
BSEL
VLCDHSEG35=IO
VLCD3SEG34=IO
VLCD2SEG33=IO
VLCD1SEG32=IO
小电阻
VLCDHSEG35=IO
(大电
VLCD3SEG34=IO
流)模式
VLCD2SEG33=IO
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 720 of 854
时,这时只能选择
内部电阻工作模式
VLCD1SEG32=IO
中电阻
(中电
流)模式
VLCDHSEG35=IO
VLCD3SEG34=IO
VLCD2SEG33=IO
1
1111
0
1
0
1
1111
1
0
0
0
0000
0
0
0
0
XXXX
1
1
0
0
XXXX
0
1
0
0
XXXX
1
0
0
0
0000
0
0
1
VLCD1SEG32=IO
大电阻
(小电
流)模式
VLCDHSEG35=IO
VLCD3SEG34=IO
VLCD2SEG33=IO
VLCD1SEG32=IO
VLCDHSEG35=VOUT
选择外部电阻工作模式,内部
电阻断路
VLCD3SEG34=VLCD3
VLCD2SEG33=VLCD2
VLCD1SEG32=VLCD1
小电阻
(大电
流)模式
VLCDHSEG35=SEG35/IO
VLCD3SEG34=SEG34/IO
VLCD2SEG33=SEG33/IO
VLCD1SEG32=SEG32/IO
选择内部电阻工作
模式
中电阻
(中电
流)模式
VLCDHSEG35=SEG35/IO
VLCD3SEG34=SEG34/IO
VLCD2SEG33=SEG33/IO
VLCD1SEG32=SEG32/IO
大电阻
(小电
流)模式
VLCDHSEG35=SEG35/IO
VLCD3SEG34=SEG34/IO
VLCD2SEG33=SEG33/IO
VLCD1SEG32=SEG32/IO
VLCDHSEG35=DH1
选择外部电容工作模式,内部
电阻断路
VLCD3SEG34=DH2
VLCD2SEG33=VLCD2
VLCD1SEG32=VLCD1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 721 of 854
28.9.6 LCD_RAM0~7
偏移地址 0x040~0x5c
复位值:无
b31
D31
RW
b30
D30
RW
b29
D29
RW
b28
D28
RW
b27
D27
RW
b26
D26
RW
b25
D25
RW
b24
D24
RW
b23
D23
RW
b22
D22
RW
b21
D21
RW
b20
D20
RW
b19
D19
RW
b18
D18
RW
b17
D17
RW
b16
D16
RW
b15
D15
RW
b14
D14
RW
b13
D13
RW
b12
D12
RW
b11
D11
RW
b10
D10
RW
b9
D9
RW
b8
D8
RW
b7
D7
RW
b6
D6
RW
b5
D5
RW
b4
D4
RW
b3
D3
RW
b2
D2
RW
b1
D1
RW
b0
D0
RW
位
标记
31:0
Dx
功能描述
LCD点输出,显示参考LCD显示模式
0 对应的SEG COM交叉点不亮;1 对应的SEG COM交叉点亮;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 722 of 854
28.9.7
LCD_RAM8~F
偏移地址 0x060~0x7C
复位值:无
b31
b30
b29
b28
b27
b26
b25
b24
b23
b22
b21
b20
b19
b18
b17
b16
b7
b6
b5
b4
b3
b2
b1
b0
D7
D6
D5
D4
D3
D2
D1
D0
RW
RW
RW
RW
RW
RW
RW
RW
Reserved
b15
b14
b13
b12
b11
b10
b9
Reserved
位
标记
7:0
Dx
b8
功能描述
LCD点输出,显示参考LCD显示模式
0 对应的SEG COM交叉点不亮;1 对应的SEG COM交叉点亮;
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 723 of 854
29
模数转换器(ADC)
29.1
模块简介
外部的模拟信号需要转变成数字信号才能由 MCU 进一步处理。本系列内部集成了一
个 12 位高精度、高转换速率的逐次逼近型模数转换器(SAR ADC)模块。具有以下特性:
12 位转换精度;
1Msps 转换速度;
30 个输入通道,包括 24 路外部引脚输入、1 路内部温度传感器电压、1 路 1/3
AVCC 电压、1 路内建 BGR 1.2V 电压、3 路 OPA 输出;
4 种参考源:AVCC 电压、ExRef 引脚、内置 1.5v 参考电压、内置 2.5v 参考电压;
ADC 的电压输入范围:0~Vref;
4 种转换模式:单次转换、顺序扫描连续转换、插队扫描连续转换、连续转换累加;
输入通道电压阈值监测;
软件可配置 ADC 的转换速率;
内置信号放大器,可转换高阻信号;
支持片内外设自动触发 ADC 转换,有效降低芯片功耗并提高转换的实时性。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 724 of 854
29.2
ADC 框图
AIN0
ADC_CR0[11] ADC_CR0[13:12]
AIN23
OPA0输出
OPA1输出
OPA2输出
AVCC/3
温度传感器
1.2V基准电压
SARADC
ADC_Result
-
ADC_CR0[8:4]
ADC_SQR0/1/2
ADC_JQR
ADC_CR0[3:2]
PCLK
PCLK/2
PCLK/4
PCLK/8
采样保持
+
ADC_CR0[0]
ADC_SglStart
ADC_SqrStart
ADC_JqrStart
1.5V
2.5V
ExRef
AVCC
ADC_SqrResult0-15
ADCREF
ADC_JqrResult0-3
ADC_CR0[10:9]
ADC_ResultAcc
ADCCLK
图 29-1 ADC 示意框图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 725 of 854
29.3
转换时序及转换速度
ADC 的转换时序如下图所示:一次完整的 ADC 转换由转换过程及逐次比较过程组成。
其中转换过程需要 4~12 个 ADCCLK,由 ADC_CR0.SAM 配置;逐次比较过程需要 16
个 ADCCLK。所以,一次 ADC 转换共需要 20~28 个 ADCCLK。
ADC 转换速度的单位为 sps,即每秒进行多少次 ADC 转换。ADC 转换速度的计算方
法为:ADCCLK 的频率 / 一次 ADC 转换所需要的 ADCCLK 的个数。
ADCCLK
ADCEN
START
采样
逐次比较
16个ADCCLK
4~12个ADCCLK
图 29-2 ADC 转换时序图
ADC 转换速度与 ADC 参考电压及 AVCC 电压相关,最高转换速度如下表所示:
ADC 参考电压
AVCC 电压
最高转换速度
最大 ADCCLK 频率
内部 1.5V
1.8~5.5V
200Ksps
4MHz
内部 2.5V
2.8~5.5V
200Ksps
4MHz
AVCC / ExRef
1.8~2.4V
200Ksps
4MHz
AVCC / ExRef
2.4~2.7V
500Ksps
16MHz
AVCC / ExRef
2.7~5.5V
1Msps
24MHz
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 726 of 854
29.4
单次转换模式
在单次转换模式下,ADC 启动后只执行一次转换,可对所有的 30 路 ADC 通道进行转
换。该模式既可通过设置 ADC_SglStart.Start 位启动也可通过设置 ADC_ExtTrigger0 的
外部触发启动。一旦选定通道的 ADC 转换完成, ADC_IFR.SGLIF 位会自动置 1,转
换结果保存在 ADC_Result 寄存器中。
通过 ADC_SglStart.Start 位启动 ADC 单次转换操作流程:
Step1:配置 PAADS~PCADS 相应的位,将待转换的 ADC 通道配置为模拟端口。
Step2:设置 PBADS.bit1 为 1,将 ADC 外部参考电压引脚配置为模拟端口。
注:如果 ADC 参考电压不选择外部参考电压引脚,则可以略过本步骤。
Step3:设置 BGR_CR.BGR_EN 为 1,使能 BGR 模块。
Step4:设置 ADC_CR0.En 为 1,使能 ADC 模块。
Step5:延时 20us,等待 ADC 及 BGR 模块启动完成。
Step6:设置 ADC_CR1.Mode 为 0,选择单次转换模式。
Step7:配置 ADC_CR0.Ref,选择 ADC 的参考电压。
Step8:设置 ADC_CR0.InRefEn 为 1,使能 ADC 内部参考电压。
注:如果 ADC 参考电压不选择内部参考电压,则可以略过本步骤。
Step9:配置 ADC_CR0.SAM 及 ADC_CR0.CkDiv,设置 ADC 的转换速度。
Step10:配置 ADC_CR0.SGLMux,选择待转换的通道。
Step11:设置 ADC_ICR.SGLIC 为 0,清除 ADC_IFR.SGLIF 标志。
Step12:设置 ADC_SglStart.Start 为 1,启动 ADC 单次转换。
Step13:等待 ADC_IFR. SGLIF 变为 1,读取 ADC_Result 寄存器以获取 ADC 转换结
果。
Step14:如需对其它通道进行转换,重复执行 Step10~Step13。
Step15:设置 ADC_CR0.En 及 BGR_CR.BGR_EN 为 0,关闭 ADC 模块、BGR 模块。
通过外部触发启动 ADC 单次转换操作流程:
Step1:配置 PAADS~PCADS 相应的位,将待转换的 ADC 通道配置为模拟端口。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 727 of 854
Step2:设置 PBADS.bit1 为 1,将 ADC 外部参考电压引脚配置为模拟端口。
注:如果 ADC 参考电压不选择外部参考电压引脚,则可以略过本步骤。
Step3:设置 BGR_CR.BGR_EN 为 1,使能 BGR 模块。
Step4:设置 ADC_CR0.En 为 1,使能 ADC 模块。
Step5:延时 20us,等待 ADC 及 BGR 模块启动完成。
Step6:设置 ADC_CR1.Mode 为 0,选择单次转换模式。
Step7:设置 ADC_CR0.IE 为 1,使能 ADC 中断。
Step8:使能 NVIC 中断向量表中的 ADC 中断。
Step9:配置 ADC_CR0.Ref,选择 ADC 的参考电压。
Step10:设置 ADC_CR0.InRefEn 为 1,使能 ADC 内部参考电压。
注:如果 ADC 参考电压不选择内部参考电压,则可以略过本步骤。
Step11:配置 ADC_CR0.SAM 及 ADC_CR0.CkDiv,设置 ADC 的转换速度。
Step12:配置 ADC_CR0.SGLMux,选择待转换的通道。
Step13:设置 ADC_IFR 为 0x0,清除 ADC 中断标志。
Step14:配置 ADC_ExtTrigger0,选择外部触发条件。
Step15:当外部触发条件触发 ADC 完成转换时,ADC 模块会产生中断。用户可在 ADC
中断服务程序中读取 ADC_Result 寄存器以获取 ADC 转换结果。
Step16:如需对其它通道进行转换,重复执行 Step12~Step15。
Step17:设置 ADC_CR0.En 及 BGR_CR.BGR_EN 为 0,关闭 ADC 模块、BGR 模块。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 728 of 854
29.5
扫描转换模式
扫描转换模式分为顺序扫描转换和插队扫描转换两种模式。两种模式各自单独工作时,
均可连续对多个通道进行多次转换;当两种模式同时工作时,则优先对插队扫描配置
的通道进行转换。
29.5.1 顺序扫描转换模式
顺序扫描转换模式最多可进行 16 次连续转换,转换的总次数由 ADC_SQR2.CNT 进行
配置;可配置所有 30 个通道进行转换,待转换通道由 ADC_SQRx.CHxMux 进行配置。
该模式既可通过设置 ADC_SqrStart.Start 位启动也可通过设置 ADC_ExtTrigger0 的外
部触发启动。启动转换后,ADC 模块依次转换 CHxMux~CH0Mux 中配置的通道直到
总转换次数完成。ADC 模块完成总转换次数后,ADC_IFR.SQRIF 位会自动置 1,转换
结果保存在转换通道所对应的 ADC_SqrResultx~ADC_SqrResult0 寄存器中。下图演示
了对 AIN0、AIN1、AIN5 进行 8 次转换的顺序扫描转换过程。其中顺序扫描转换通道
7,4,1 配置为 AIN1,转换通道 6,3,0 配置为 AIN0,转换通道 5,2 配置为 AIN5。
ADC_SqrStart.Start 置 1 后,ADC 模块会依次对顺序扫描转换通道 7~0 进行转换。
ADCEN
ADC_SqrStart.Start
SQR_CNT
07
06
05
04
03
02
01
00
SQR_CHx
01
00
05
01
00
05
01
00
SQRIF
ADC_SqrResult7
ADC_SqrResult6
ADC_SqrResult5
ADC_SqrResult4
ADC_SqrResult3
ADC_SqrResult2
ADC_SqrResult1
ADC_SqrResult0
图 29-3 ADC 顺序扫描转换过程示例
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 729 of 854
通过 ADC_SqrStart.Start 位启动 ADC 顺序扫描转换操作流程:
Step1:配置 PAADS~PCADS 相应的位,将待转换的 ADC 通道配置为模拟端口。
Step2:设置 PBADS.bit1 为 1,将 ADC 外部参考电压引脚配置为模拟端口。
注:如果 ADC 参考电压不选择外部参考电压引脚,则可以略过本步骤。
Step3:设置 BGR_CR.BGR_EN 为 1,使能 BGR 模块。
Step4:设置 ADC_CR0.En 为 1,使能 ADC 模块。
Step5:延时 20us,等待 ADC 及 BGR 模块启动完成。
Step6:设置 ADC_CR1.Mode 为 1,选择扫描转换模式。
Step7:配置 ADC_CR0.Ref,选择 ADC 的参考电压。
Step8:设置 ADC_CR0.InRefEn 为 1,使能 ADC 内部参考电压。
注:如果 ADC 参考电压不选择内部参考电压,则可以略过本步骤。
Step9:配置 ADC_CR0.SAM 及 ADC_CR0.CkDiv,设置 ADC 的转换速度。
Step10:配置 ADC_SQRx.CHxMux,选择顺序扫描转换通道。
Step11:配置 ADC_SQR2.CNT,选择顺序扫描转换的总转换次数。
注:若 CNT=x,则 ADC 依次对通道 CHx,CHx-1,… ,CH1,CH0 进行转换。
Step12:设置 ADC_ICR.SQRIC 为 0,清除 ADC_IFR.SQRIF 标志。
Step13:设置 ADC_SqrStart.Start 为 1,启动 ADC 顺序扫描转换。
Step14:等待 ADC_IFR.SQRIF 变为 1,读取 ADC_SqrResultx ~ ADC_SqrResult0 寄存
器以获取相应通道的转换结果。
Step15:如需对其它通道进行转换,重复执行 Step10~Step14。
Step16:设置 ADC_CR0.En 及 BGR_CR.BGR_EN 为 0,关闭 ADC 模块、BGR 模块。
通过外部触发启动 ADC 顺序扫描转换操作流程:
Step1:配置 PAADS~PCADS 相应的位,将待转换的 ADC 通道配置为模拟端口。
Step2:设置 PBADS.bit1 为 1,将 ADC 外部参考电压引脚配置为模拟端口。
注:如果 ADC 参考电压不选择外部参考电压引脚,则可以略过本步骤。
Step3:设置 BGR_CR.BGR_EN 为 1,使能 BGR 模块。
Step4:设置 ADC_CR0.En 为 1,使能 ADC 模块。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 730 of 854
Step5:延时 20us,等待 ADC 及 BGR 模块启动完成。
Step6:设置 ADC_CR1.Mode 为 1,选择扫描转换模式。
Step7:设置 ADC_CR0.IE 为 1,使能 ADC 中断。
Step8:使能 NVIC 中断向量表中的 ADC 中断。
Step9:配置 ADC_CR0.Ref,选择 ADC 的参考电压。
Step10:设置 ADC_CR0.InRefEn 为 1,使能 ADC 内部参考电压。
注:如果 ADC 参考电压不选择内部参考电压,则可以略过本步骤。
Step11:配置 ADC_CR0.SAM 及 ADC_CR0.CkDiv,设置 ADC 的转换速度。
Step12:配置 ADC_SQRx.CHxMux,选择顺序扫描转换通道。
Step13:配置 ADC_SQR2.CNT,选择顺序扫描转换的总转换次数。
注:若 CNT=x,则 ADC 依次对通道 CHx,CHx-1,… ,CH1,CH0 进行转换。
Step14:设置 ADC_IFR 为 0x0,清除 ADC 中断标志。
Step15:配置 ADC_ExtTrigger0,选择外部触发条件。
Step16:当外部触发条件触发 ADC 完成转换时,ADC 模块会产生中断。用户可在 ADC
中断服务程序中读取 ADC_SqrResultx ~ ADC_SqrResult0 寄存器以获取相应通
道的转换结果。
Step17:如需对其它通道进行转换,重复执行 Step12~Step16。
Step18:设置 ADC_CR0.En 及 BGR_CR.BGR_EN 为 0,关闭 ADC 模块、BGR 模块。
29.5.2 插队扫描转换模式
插队扫描转换模式最多可进行 4 次连续转换,转换的总次数由 ADC_JQR.CNT 进行配
置;可配置所有 30 个通道进行转换,待转换通道由 ADC_JQR.CHxMux 进行配置。该
模式既可通过设置 ADC_JqrStart.Start 位启动也可通过设置 ADC_ExtTrigger1 的外部触
发启动。启动转换后,ADC 模块依次转换 CHxMux~CH0Mux 中配置的通道直到总转
换次数完成。ADC 模块完成总转换次数后,ADC_IFR.JQRIF 位会自动置 1,转换结果
保存在转换通道所对应的 ADC_JqrResultx~ ADC_JqrResult0 寄存器中。下图演示了对
AIN0、AIN1、AIN5 进行 4 次转换的插队扫描转换的过程。其中插队扫描转换通道 3,
2,1,0 分别设置为 AIN5,AIN0,AIN1,AIN5。ADC_JqrStart.Start 置 1 后,ADC 模
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 731 of 854
块会依次对插队扫描转换通道 3~0 进行转换。
ADCEN
ADC_JqrStart.Start
JQR_CNT
03
02
01
00
JQR_CHx
05
00
01
05
JQRIF
ADC_JqrResult3
ADC_JqrResult2
ADC_JqrResult1
ADC_JqrResult0
图 29-4 ADC 插队扫描转换过程示例
通过 ADC_JqrStart.Start 位启动 ADC 插队扫描转换操作流程:
Step1:配置 PAADS~PCADS 相应的位,将待转换的 ADC 通道配置为模拟端口。
Step2:设置 PBADS.bit1 为 1,将 ADC 外部参考电压引脚配置为模拟端口。
注:如果 ADC 参考电压不选择外部参考电压引脚,则可以略过本步骤。
Step3:设置 BGR_CR.BGR_EN 为 1,使能 BGR 模块。
Step4:设置 ADC_CR0.En 为 1,使能 ADC 模块。
Step5:延时 20us,等待 ADC 及 BGR 模块启动完成。
Step6:设置 ADC_CR1.Mode 为 1,选择扫描转换模式。
Step7:配置 ADC_CR0.Ref,选择 ADC 的参考电压。
Step8:设置 ADC_CR0.InRefEn 为 1,使能 ADC 内部参考电压。
注:如果 ADC 参考电压不选择内部参考电压,则可以略过本步骤。
Step9:配置 ADC_CR0.SAM 及 ADC_CR0.CkDiv,设置 ADC 的转换速度。
Step10:配置 ADC_JQR.CHxMux,选择插队扫描转换通道。
Step11:配置 ADC_JQR.CNT,选择插队扫描转换的总转换次数。
注:若 CNT=x,则 ADC 依次对通道 CHx,CHx-1,… ,CH1,CH0 进行转换。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 732 of 854
Step12:设置 ADC_ICR.JQRIC 为 0,清除 ADC_IFR.JQRIF 标志。
Step13:设置 ADC_JqrStart.Start 为 1,启动 ADC 插队扫描转换。
Step14:等待 ADC_IFR.JQRIF 变为 1,读取 ADC_JqrResultx~ ADC_JqrResult0 寄存器
以获取相应通道的转换结果。
Step15:如需对其它通道进行转换,重复执行 Step10~Step14。
Step16:设置 ADC_CR0.En 及 BGR_CR.BGR_EN 为 0,关闭 ADC 模块、BGR 模块。
通过外部触发启动 ADC 插队扫描转换操作流程:
Step1:配置 PAADS~PCADS 相应的位,将待转换的 ADC 通道配置为模拟端口。
Step2:设置 PBADS.bit1 为 1,将 ADC 外部参考电压引脚配置为模拟端口。
注:如果 ADC 参考电压不选择外部参考电压引脚,则可以略过本步骤。
Step3:设置 BGR_CR.BGR_EN 为 1,使能 BGR 模块。
Step4:设置 ADC_CR0.En 为 1,使能 ADC 模块。
Step5:延时 20us,等待 ADC 及 BGR 模块启动完成。
Step6:设置 ADC_CR1.Mode 为 1,选择扫描转换模式。
Step7:设置 ADC_CR0.IE 为 1,使能 ADC 中断。
Step8:使能 NVIC 中断向量表中的 ADC 中断。
Step9:配置 ADC_CR0.Ref,选择 ADC 的参考电压。
Step10:设置 ADC_CR0.InRefEn 为 1,使能 ADC 内部参考电压。
注:如果 ADC 参考电压不选择内部参考电压,则可以略过本步骤。
Step11:配置 ADC_CR0.SAM 及 ADC_CR0.CkDiv,设置 ADC 的转换速度。
Step12:配置 ADC_JQR.CHxMux,选择插队扫描转换通道。
Step13:配置 ADC_JQR.CNT,选择插队扫描转换的总转换次数。
注:若 CNT=x,则 ADC 依次对通道 CHx,CHx-1,… ,CH1,CH0 进行转换。
Step14:设置 ADC_IFR 为 0x0,清除 ADC 中断标志。
Step15:配置 ADC_ExtTrigger1,选择外部触发条件。
Step16:当外部触发条件触发 ADC 完成转换时,ADC 模块会产生中断。用户可在 ADC
中断服务程序中读取 ADC_JqrResultx~ ADC_JqrResult0 寄存器以获取相应通
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 733 of 854
道的转换结果。
Step17:如需对其它通道进行转换,重复执行 Step12~Step16。
Step18:设置 ADC_CR0.En 及 BGR_CR.BGR_EN 为 0,关闭 ADC 模块、BGR 模块。
插队扫描转换的执行优先级高于顺序扫描转换,当顺序扫描转换正在进行时,如果插
队扫描转换启动,则顺序扫描在完成当前通道的转换后暂停,等到插队扫描转换完成
后,再继续执行剩下的通道转换。下图演示了对 AIN0,AIN1,AIN5,AIN8 进行顺序
扫描转换时,启动对 AIN2,AIN6 进行插队扫描转换的过程。其中顺序扫描转换通道
3,2,1,0 分别设置为 AIN1,AIN0,AIN5,AIN8,插队扫描转换通道 1,0 分别设
置为 AIN6,AIN2。在顺序扫描进行 AIN0 转换的过程中,启动了插队扫描,顺序扫描
会将当前 AIN0 的转换完成然后暂停,等到插队扫描完成 AIN6 和 AIN2 的转换后,顺
序扫描再进行 AIN5 和 AIN8 的转换。
ADCEN
ADC_SqrStart.Start
SQR_CNT
03
02
01
00
SQR_CHx
01
00
05
08
SQRIF
ADC_JqrStart.Start
JQR_CNT
JQR_CHx
01
00
06
02
JQRIF
ADC_SqrResult3
ADC_SqrResult2
ADC_SqrResult1
ADC_SqrResult0
ADC_JqrResult1
ADC_JqrResult0
图 29-5 ADC 顺序扫描过程中进行插队扫描示例
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 734 of 854
29.5.3 扫描转换触发 DMA 读取
顺序扫描和插队扫描转换完成后,可自动触发 DMA 读取转换结果。顺序扫描模式下,
通过配置 ADC_CR1. DmaSqr 为 1 使能该功能;插队扫描模式下,通过配置 ADC_CR1.
DmaJqr 为 1 使能该功能。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 735 of 854
29.6
连续转换累加模式
在连续转换累加模式下,启动一次 ADC 可对多个通道进行多次转换并对每次转换的
结果进行累加;可配置所有 30 个通道进行转换。ADC 转换的总次数由 ADC_SQR2.CNT
进行配置;待转换通道由 ADC_SQRx.CHxMux 进行配置。该模式既可通过设置
ADC_SqrStart.Start 位启动也可通过设置 ADC_ExtTrigger0 的外部触发启动。启动连续
转换后,ADC 模块依次转换 CHxMux~CH0Mux 中配置的通道直到总转换次数完成。
ADC 模块完成总转换次数后,ADC_IFR.SQRIF 位会自动置 1,转换结果的累加值保存
在 ADC_ResultAcc 寄存器中。
下图演示了对 AIN0、AIN1、AIN5 进行 10 次连续转换累加的过程。顺序扫描转换通
道 9,6,3,0 配置为 AIN0,转换通道 8,5,2 配置为 AIN1,转换通道 7,4,1 配置
为 AIN5。ADC_SqrStart.Start 置 1 后,ADC 模块会按照顺序扫描转换通道配置依次进
行转换,直到 SQR_CNT 的计数值变为 0。每次转换完成时,ADC_ResultAcc 寄存器都
会自动进行累加。图中给定的 AIN0、AIN1、AIN5 的转换结果依次为 0x010、0x020、
0x040。
ADCEN
ADC_SqrStart.Start
SQR_CNT
09
08
07
06
05
04
03
02
01
00
SQR_CHx
00
01
05
00
01
05
00
01
05
00
000
010
030
070
080
0A0
0E0
0F0
110
150
SQRIF
ADC_ResultAcc
160
图 29-6 ADC 连续转换累加过程示例
通过 ADC_SqrStart.Start 位启动 ADC 连续转换累加操作流程:
Step1:配置 PAADS~PCADS 相应的位,将待转换的 ADC 通道配置为模拟端口。
Step2:设置 PBADS.bit1 为 1,将 ADC 外部参考电压引脚配置为模拟端口。
注:如果 ADC 参考电压不选择外部参考电压引脚,则可以略过本步骤。
Step3:设置 BGR_CR.BGR_EN 为 1,使能 BGR 模块。
Step4:设置 ADC_CR0.En 为 1,使能 ADC 模块。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 736 of 854
Step5:延时 20us,等待 ADC 及 BGR 模块启动完成。
Step6:设置 ADC_CR1.Mode 为 1,选择扫描转换模式。
Step7:设置 ADC_CR1.RAccEn 为 1,使能 ADC 转换自动累加功能。
Step8:配置 ADC_CR0.Ref,选择 ADC 的参考电压。
Step9:设置 ADC_CR0.InRefEn 为 1,使能 ADC 内部参考电压。
注:如果 ADC 参考电压不选择内部参考电压,则可以略过本步骤。
Step10:配置 ADC_CR0.SAM 及 ADC_CR0.CkDiv,设置 ADC 的转换速度。
Step11:配置 ADC_SQRx.CHxMux,选择顺序扫描转换通道。
Step12:配置 ADC_SQR2.CNT,选择顺序扫描转换的总转换次数。
注:若 CNT=x,则 ADC 依次对通道 CHx,CHx-1,… ,CH1,CH0 进行转换。
Step13:设置 ADC_ICR.SQRIC 为 0,清除 ADC_IFR.SQRIF 标志。
Step14:设置 ADC_CR1.RAccClr 为 0,清零 ADC_ResultAcc 寄存器。
Step15:设置 ADC_SqrStart.Start 为 1,启动 ADC 顺序扫描转换。
Step16:等待 ADC_IFR.SQRIF 变为 1,读取 ADC_ResultAcc 寄存器以获取转换结果累
加值。
Step17:如需对其它通道进行转换,重复执行 Step11~Step16。
Step18:设置 ADC_CR0.En 及 BGR_CR.BGR_EN 为 0,关闭 ADC 模块、BGR 模块。
通过外部触发启动 ADC 连续转换累加操作流程:
Step1:配置 PAADS~PCADS 相应的位,将待转换的 ADC 通道配置为模拟端口。
Step2:设置 PBADS.bit1 为 1,将 ADC 外部参考电压引脚配置为模拟端口。
注:如果 ADC 参考电压不选择外部参考电压引脚,则可以略过本步骤。
Step3:设置 BGR_CR.BGR_EN 为 1,使能 BGR 模块。
Step4:设置 ADC_CR0.En 为 1,使能 ADC 模块。
Step5:延时 20us,等待 ADC 及 BGR 模块启动完成。
Step6:设置 ADC_CR1.Mode 为 1,选择扫描转换模式。
Step7:设置 ADC_CR0.IE 为 1,使能 ADC 中断。
Step8:使能 NVIC 中断向量表中的 ADC 中断。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 737 of 854
Step9:设置 ADC_CR1.RAccEn 为 1,使能 ADC 转换自动累加功能。
Step10:配置 ADC_CR0.Ref,选择 ADC 的参考电压。
Step11:设置 ADC_CR0.InRefEn 为 1,使能 ADC 内部参考电压。
注:如果 ADC 参考电压不选择内部参考电压,则可以略过本步骤。
Step12:配置 ADC_CR0.SAM 及 ADC_CR0.CkDiv,设置 ADC 的转换速度。
Step13:配置 ADC_SQRx.CHxMux,选择顺序扫描转换通道。
Step14:配置 ADC_SQR2.CNT,选择顺序扫描转换的总转换次数。
注:若 CNT=x,则 ADC 依次对通道 CHx,CHx-1,… ,CH1,CH0 进行转换。
Step15:设置 ADC_IFR 为 0x0,清除 ADC 中断标志。
Step16:设置 ADC_CR1.RAccClr 为 0,清零 ADC_ResultAcc 寄存器。
Step17:配置 ADC_ExtTrigger0,选择外部触发条件。
Step18:当外部触发条件触发 ADC 完成转换时,ADC 模块会产生中断。用户可在 ADC
中断服务程序中读取 ADC_ResultAcc 寄存器以获取转换结果累加值。
Step19:如需对其它通道进行转换,重复执行 Step13~Step18。
Step20:设置 ADC_CR0.En 及 BGR_CR.BGR_EN 为 0,关闭 ADC 模块、BGR 模块。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 738 of 854
29.7
ADC 转换外部触发源
ADC 转换既可通过软件配置启动,也可通过外部触发启动。
配置 ADC_ExtTrigger0 寄存器可设置 ADC 单次转换或顺序扫描转换的外部触发源。
PC15中断
ADC_ExtTrigger0[31]
PB15中断
ADC_ExtTrigger0[30]
……
……
外部触发源
Timer1中断
ADC_ExtTrigger0[1]
Timer0中断
ADC_ExtTrigger0[0]
图 29-7 ADC 单次转换或顺序扫描转换外部触发源示意图
配置 ADC_ExtTrigger1 寄存器可设置 ADC 插队扫描转换的外部触发源。
PC15中断
ADC_ExtTrigger1[31]
PB15中断
ADC_ExtTrigger1[30]
……
……
外部触发源
Timer1中断
ADC_ExtTrigger1[1]
Timer0中断
ADC_ExtTrigger1[0]
图 29-8 ADC 插队扫描转换外部触发源示意图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 739 of 854
29.8
ADC 转换结果比较
ADC 转换完成时,ADC 转换结果可以与用户设定的阈值进行比较,支持上阈值比较、
下阈值比较、区间值比较。该功能需要将相应的控制位 HtCmp、LtCmp、RegCmp 置
1。该功能可实现对模拟量的自动监测,直到 ADC 转换结果符合用户预期时才产生中
断申请用户程序界入。监测通道选择通过 ADC_CR1.ThCh 进行配置。
上阈值比较:当 ADC 转换结果位于[ADC_HT,4095]区间内则 ADC_IFR.HTIF 置 1;
向 ADC_ICR.HTIC 写入 0 则清零 ADC_IFR.HTIF。
下阈值比较:当 ADC 转换结果位于[0,ADC_LT)区间内则 ADC_IFR.LTIF 置 1;向
ADC_ICR.LTIC 写入 0 则清零 ADC_IFR.LTIF。
区间值比较:当 ADC 转换结果位于[ADC_LT,ADC_HT)区间内则 ADC_IFR.REGIF 置
1;向 ADC_ICR.REGIC 写入 0 则清零 ADC_IFR.REGIF。
ADC_HT
ADC_CR1.HtCmp
ADC_Result
高阀值
比较
HTIF
区间值
比较
REGIF
低阀值
比较
LTIF
ADC_CR1.RegCmp
ADC_LT
ADC_CR1.LtCmp
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 740 of 854
29.9
ADC 中断
ADC 中断请求如下表所示:
中断源
中断标志
ADC 插队扫描转换完成
ADC_IFR.JQRIF
ADC 顺序扫描转换完成
ADC_IFR.SQRIF
ADC 转换结果位于区间值区域
ADC_IFR.REGIF
ADC 转换结果位于上阈值区域
ADC_IFR.HTIF
ADC 转换结果比较下阈值区域
ADC_IFR.LTIF
ADC 单次转换完成
ADC_IFR.SGLIF
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
中断使能
ADC_CR0.IE
Page 741 of 854
29.10 使用温度传感器测量环境温度
温度传感器的输出电压会随环境温度的改变而变化,故根据温度传感器的输出电压即
可计算出相应的环境温度。当 ADC 模块的测量通道选择温度传感器的输出电压时,即
可测量环境温度。
计算公式如下:
环境温度 = 25 + 0.0803 × Vref × ( AdcValue – Trim )
其中:Vref 为当前 ADC 模块的参考电压,取值为 1.5 或 2.5。
AdcValue 为 ADC 模块测量温度传感器输出电压的结果,取值为 0~4095。
Trim 为 16Bits 的校准值,计算时需要从 Flash 存储器中读出,其存放地址详见
下表。
ADC 参考电压
校准值存放地址
校准值精度
内部 1.5V
0x00100C34
±3℃
内部 2.5V
0x00100C36
±3℃
使用内部存储的校准值测量环境温度可以达到±5℃的精度,如果客户自己校准使用多
点插值可以达到±1℃更高的精度。
计算示例如下:
条件 1:Vref=2.5、AdcValue=0x7E5、Trim=0x76C:
温度 1:25 + 0.0803 × 2.5 × (0x7E5 – 0x76C ) =
50.4℃。
条件 2:Vref=1.5、AdcValue=0x72D、Trim=0x76C:
温度 2:25 + 0.0803 × 1.5 × (0x72D – 0x76C ) =
17.1℃。
通过 ADC 测量环境温度操作流程:
Step1:设置 BGR_CR 为 3,使能 BGR 模块和温度传感器模块。
Step2:设置 ADC_CR0.En 为 1,使能 ADC 模块。
Step3:延时 20us,等待 ADC 及 BGR 模块启动完成。
Step4:设置 ADC_CR1.Mode 为 0,选择单次转换模式。
Step5:配置 ADC_CR0.Ref,选择 ADC 的参考电压为内部 1.5V 或内部 2.5V。
Step6:设置 ADC_CR0.InRefEn 为 1,使能 ADC 内部参考电压。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 742 of 854
注:如果 ADC 参考电压不选择内部参考电压,则可以略过本步骤。
Step7:配置 ADC_CR0.SAM 及 ADC_CR0.CkDiv,设置 ADC 的转换速度。
Step8:设置 ADC_CR0.SGLMux 为 0x1C,选择待转换的通道为温度传感器的输出。
Step9:设置 ADC_CR0.Buf 为 1,使能输入信号放大器。
Step10:设置 ADC_ICR.SGLIC 为 0,清除 ADC_IFR.SGLIF 标志。
Step11:设置 ADC_SglStart.Start 为 1,启动 ADC 单次转换。
Step12:等待 ADC_IFR.SGLIF 变为 1,读取 ADC_Result 寄存器以获取 ADC 转换结
果。
Step13:设置 ADC_CR0.En 及 BGR_CR 为 0,关闭 ADC 模块、BGR 模块、温度传
感器模块。
Step14:读取温度传感器校准值,根据公式计算当前的环境温度。
1450mV
1350mV
1250mV
1150mV
当 Vref = 2.5V 时
1050mV
𝑉𝑡𝑒𝑚𝑝 = 0.00304 ∗ (𝑇𝑒𝑚𝑝𝑐 − 25) + 1.1609
950mV
850mV
750mV
650mV
当 Vref = 1.5V 时
550mV
𝑉𝑡𝑒𝑚𝑝 = 0.00304 ∗ (𝑇𝑒𝑚𝑝𝑐 − 25) + 0.06954
450mV
-45
-35
-25
-15
-5
5
15
25
35
45
55
65
75
85
95
图 29-9 温度电压曲线
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 743 of 854
29.11 ADC 模块寄存器
基地址 0x40002400
寄存器
偏移地址
描述
ADC_CR0
0x004
ADC 基本配置寄存器0
ADC_CR1
0x008
ADC 基本配置寄存器1
ADC_SQR0
0x040
ADC 顺序扫描转换通道配置寄存器0
ADC_SQR1
0x044
ADC 顺序扫描转换通道配置寄存器1
ADC_SQR2
0x048
ADC 顺序扫描转换通道配置寄存器2
ADC_JQR
0x04C
ADC 插队扫描转换通道配置寄存器
ADC_SqrResult0
0x050
ADC 顺序扫描转换通道0转换结果
ADC_SqrResult1
0x054
ADC 顺序扫描转换通道1转换结果
ADC_SqrResult2
0x058
ADC 顺序扫描转换通道2转换结果
ADC_SqrResult3
0x05C
ADC 顺序扫描转换通道3转换结果
ADC_SqrResult4
0x060
ADC 顺序扫描转换通道4转换结果
ADC_SqrResult5
0x064
ADC 顺序扫描转换通道5转换结果
ADC_SqrResult6
0x068
ADC 顺序扫描转换通道6转换结果
ADC_SqrResult7
0x06C
ADC 顺序扫描转换通道7转换结果
ADC_SqrResult8
0x070
ADC 顺序扫描转换通道8转换结果
ADC_SqrResult9
0x074
ADC 顺序扫描转换通道9转换结果
ADC_SqrResult10
0x078
ADC 顺序扫描转换通道10转换结果
ADC_SqrResult11
0x07C
ADC 顺序扫描转换通道11转换结果
ADC_SqrResult12
0x080
ADC 顺序扫描转换通道12转换结果
ADC_SqrResult13
0x084
ADC 顺序扫描转换通道13转换结果
ADC_SqrResult14
0x088
ADC 顺序扫描转换通道14转换结果
ADC_SqrResult15
0x08C
ADC 顺序扫描转换通道15转换结果
ADC_JqrResult0
0x090
ADC 插队扫描转换通道0转换结果
ADC_JqrResult1
0x094
ADC 插队扫描转换通道1转换结果
ADC_JqrResult2
0x098
ADC 插队扫描转换通道2转换结果
ADC_JqrResult3
0x09C
ADC 插队扫描转换通道3转换结果
ADC_Result
0x0A0
ADC 转换结果
ADC_ResultAcc
0x0A4
ADC 转换结果累加值
ADC_HT
0x0A8
ADC 比较上阈值
ADC_LT
0x0AC
ADC 比较下阈值
ADC_IFR
0x0B0
ADC 中断标志寄存器
ADC_ICR
0x0B4
ADC 中断清除寄存器
ADC_ExtTrigger0
0x0B8
ADC 单次转换或顺序扫描转换外部中断触发源配置寄存器
ADC_ExtTrigger1
0x0BC
ADC 插队扫描转换外部中断触发源配置寄存器
ADC_SglStart
0x0C0
ADC单次转换启动控制寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 744 of 854
ADC_SqrStart
0x0C4
ADC顺序扫描转换启动控制寄存器
ADC_JqrStart
0x0C8
ADC插队扫描转换启动控制寄存器
表 29-1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
ADC 寄存器
Page 745 of 854
29.11.1 ADC 基本配置寄存器 0(ADC_CR0)
偏移地址 0x004
复位值 0x000027F0
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
IE
14
13
InRe
12
SAM
11
10
Buf
9
8
Ref
7
SGLMux
CkDiv
fEn
RW
RW
En
Res.
RW
RW
位
标记
功能描述
31:16
Reserved
保留
RW
RW
RW
RW
ADC中断控制
15
IE
1:使能中断
0:禁止中断
ADC内部参考电压使能
14
InRefEn
1:使能内部参考电压
0:禁止内部参考电压
ADC采样周期选择
00:4个转换周期
13:12
SAM
01:6个转换周期
10:8个转换周期
11:12个转换周期
ADC输入信号放大器控制
0:关闭放大器, 外部输入信号与ADC直接相连。
1:打开放大器, 外部输入信号通过放大器放大后与ADC相连,用于高阻信号。
11
Buf
以下几种情况需要打开BUF 功能,使用BUF功能时,最大速率200k sps
1)外部驱动很弱信号
2)测量1/3AVCC
3)测量temp sensor
4)测量VREF1P2
ADC参考电压选择
00:内部1.5V
10:9
Ref
01:内部2.5V
10:外部参考电压ExRef(PB01)
11:AVCC电压
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 746 of 854
单次转换模式转换通道选择
00000:AIN0(PA00)
00001:AIN1(PA01)
00010:AIN2(PA02)
00011:AIN3(PA03)
00100:AIN4(PA04)
00101:AIN5(PA05)
00110:AIN6(PA06)
00111:AIN7(PA07)
01000:AIN8(PB00)
01001:AIN9(PB01)
01010:AIN10(PC00)
01011:AIN11(PC01)
01100:AIN12(PC02)
01101:AIN13(PC03)
8:4
SGLMux
01110:AIN14(PC04)
01111:AIN15(PC05)
10000:AIN16(PB02)
10001:AIN17(PB10)
10010:AIN18(PB11)
10011:AIN19(PB12)
10100:AIN20(PB13)
10101:AIN21(PB14)
10110:AIN22(PB15)
10111:AIN23(PC06)
11000:OPA0输出
11001:OPA1输出
11010:OPA2输出
11011:1/3AVCC
注:ADC_CR0.Buf必须为1
11100:内置温度传感器输出电压
注:ADC_CR0.Buf必须为1
11101:内部基准1.2V输出电压
注:ADC_CR0.Buf必须为1
ADC时钟选择
00:PCLK时钟
3:2
CkDiv
01:PCLK时钟2分频
10:PCLK时钟4分频
11:PCLK时钟8分频
1
Reserved
保留
ADC使能控制
0
En
1:使能ADC
0:禁止ADC
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 747 of 854
29.11.2 ADC 基本配置寄存器 1(ADC_CR1)
偏移地址 0x008
复位值 0x00008000
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
RAc
Reg
HtC
LtC
RAc
Mod
Dma
Dma
cClr
Cmp
mp
mp
cEn
e
Jqr
Sqr
WO
RW
RW
RW
RW
RW
RW
RW
位
标记
功能描述
31:16
Reserved
保留
7
ThCh
RW
Alig
n
Reserved
RW
ADC转换结果累加寄存器清零
15
RAccClr
1:无作用;
0:ADC转换结果累加寄存器(ADC_ResultAcc)清零。
ADC区间比较控制
14
RegCmp
1:使能区间比较
0:禁止区间比较
ADC高阈值比较控制
13
HtCmp
1:使能高阈值比较
0:禁止高阈值比较
ADC低阈值比较控制
12
LtCmp
1:使能低阈值比较
0:禁止低阈值比较
ADC转换结果自动累加控制
11
RAccEn
1:使能ADC转换结果自动累加功能
0:禁止ADC转换结果自动累加功能
ADC转换模式选择
10
Mode
1:扫描转换模式
0:单次转换模式
插队扫描触发DMA读取控制
9
DmaJqr
1:使能插队扫描转换触发DMA读取
0:禁止插队扫描转换触发DMA读取
8
DmaSqr
顺序扫描触发DMA读取控制
1:使能顺序扫描转换触发DMA读取
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 748 of 854
0:禁止顺序扫描转换触发DMA读取
阈值比较通道选择
00000:选择通道0进行阈值比较
00001:选择通道1进行阈值比较
7:3
ThCh
00010:选择通道2进行阈值比较
……
11101:选择通道 29 进行阈值比较
转换结果对齐控制
2
Align
1:转换结果16Bits左对齐存储
0:转换结果16Bits右对齐存储
1:0
Reserved
保留
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 749 of 854
29.11.3 ADC 顺序扫描转换通道配置寄存器 0(ADC_SQR0)
偏移地址 0x040
复位值 0x00000000
31
30
29
28
27
Reserved
15
14
13
26
25
24
23
22
21
20
19
18
17
CH5Mux
CH4Mux
CH3Mux
RW
RW
RW
12
11
10
9
8
7
6
5
4
3
2
CH2Mux
CH1Mux
CH0Mux
RW
CH6EN
RW
CH2EN
CH5EN
RW
CH1EN
RW
CH0EN
0
RW
RW
位
标记
功能描述
31:30
Reserved
保留
RW
29:25
CH5Mux
顺序扫描转换通道5选择,设置参见ADC_CR0.SGLMux
RW
24:20
CH4Mux
顺序扫描转换通道4选择,设置参见ADC_CR0.SGLMux
19:15
CH3Mux
顺序扫描转换通道3选择,设置参见ADC_CR0.SGLMux
14:10
CH2Mux
顺序扫描转换通道2选择,设置参见ADC_CR0.SGLMux
9:5
CH1Mux
顺序扫描转换通道1选择,设置参见ADC_CR0.SGLMux
4:0
CH0Mux
顺序扫描转换通道0选择,设置参见ADC_CR0.SGLMux
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
1
16
RW
Page 750 of 854
29.11.4 ADC 顺序扫描转换通道配置寄存器 1(ADC_SQR1)
偏移地址 0x044
复位值 0x00000000
31
30
29
28
Reserved
15
14
13
27
26
25
24
23
22
21
20
19
18
17
CH11Mux
CH10Mux
CH9Mux
RW
RW
RW
12
11
10
9
8
7
6
5
4
3
2
CH8Mux
CH7Mux
CH6Mux
RW
CH6EN
RW
CH2EN
CH5EN
RW
CH1EN
RW
CH0EN
0
RW
RW
位
标记
功能描述
31:30
Reserved
保留
RW
29:25
CH11Mux
顺序扫描转换通道11选择,设置参见ADC_CR0.SGLMux
RW
24:20
CH10Mux
顺序扫描转换通道10选择,设置参见ADC_CR0.SGLMux
19:15
CH9Mux
顺序扫描转换通道9选择,设置参见ADC_CR0.SGLMux
14:10
CH8Mux
顺序扫描转换通道8选择,设置参见ADC_CR0.SGLMux
9:5
CH7Mux
顺序扫描转换通道7选择,设置参见ADC_CR0.SGLMux
4:0
CH6Mux
顺序扫描转换通道6选择,设置参见ADC_CR0.SGLMux
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
1
16
RW
Page 751 of 854
29.11.5 ADC 顺序扫描转换通道配置寄存器 2(ADC_SQR2)
偏移地址 0x048
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
Reserved
15
14
13
12
11
10
9
8
7
6
21
20
19
18
17
CNT
CH15Mux
RW
RW
5
4
3
2
CH14Mux
CH13Mux
CH12Mux
RW
CH6EN
RW
CH2EN
CH5EN
RW
CH1EN
RW
CH0EN
0
RW
RW
位
标记
功能描述
31:24
Reserved
保留
RW
23:20
CNT
顺序扫描转换次数
RW
19:15
CH15Mux
顺序扫描转换通道15选择,设置参见ADC_CR0.SGLMux
14:10
CH14Mux
顺序扫描转换通道14选择,设置参见ADC_CR0.SGLMux
9:5
CH13Mux
顺序扫描转换通道13选择,设置参见ADC_CR0.SGLMux
4:0
CH12Mux
顺序扫描转换通道12选择,设置参见ADC_CR0.SGLMux
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
1
16
RW
Page 752 of 854
29.11.6 ADC 插队扫描转换通道配置寄存器(ADC_JQR)
偏移地址 0x04C
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
Reserved
15
14
13
12
11
10
9
8
7
6
20
19
18
17
CNT
CH3Mux
RW
RW
5
4
3
2
CH2Mux
CH1Mux
CH0Mux
RW
CH6EN
RW
CH2EN
CH5EN
RW
CH1EN
RW
CH0EN
16
1
0
RW
RW
位
标记
功能描述
31:24
Reserved
保留
RW
21:20
CNT
插队扫描转换次数
RW
19:15
CH3Mux
插队扫描转换通道3选择,设置参见ADC_CR0.SGLMux
14:10
CH2Mux
插队扫描转换通道2选择,设置参见ADC_CR0.SGLMux
9:5
CH1Mux
插队扫描转换通道1选择,设置参见ADC_CR0.SGLMux
4:0
CH0Mux
插队扫描转换通道0选择,设置参见ADC_CR0.SGLMux
RW
29.11.7 ADC 顺序扫描转换通道 x 转换结果(ADC_SqrResult0 - 15)
偏移地址 0x050 ~ 0x8C
复位值 0x00000000
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
Result
Reserved
RO
位
标记
功能描述
31:12
Reserved
保留
11:0
Result
ADC 顺序扫描转换通道x转换结果
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 753 of 854
29.11.8 ADC 插队扫描转换通道 x 转换结果(ADC_JqrResult0 - 3)
偏移地址 0x090 ~ 0x9C
复位值 0x00000000
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
Result
Reserved
RO
位
标记
功能描述
31:12
Reserved
保留
11:0
Result
ADC 插队扫描转换通道x转换结果
29.11.9 ADC 转换结果(ADC_Result)
偏移地址 0x0A0
复位值 0x00000000
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
Result
Reserved
RO
位
标记
功能描述
31:12
Reserved
保留
11:0
Result
ADC转换结果
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 754 of 854
29.11.10 ADC 转换结果累加值(ADC_ResultAcc)
偏移地址 0x0A4
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
Reserved
18
17
16
ResultAcc[19:16]
RO
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
22
21
20
19
18
17
16
6
5
4
3
2
1
0
ResultAcc[15:0]
RO
位
标记
功能描述
31:20
Reserved
保留
19:0
ResultAcc
ADC转换累加值
29.11.11 ADC 比较上阈值(ADC_HT)
偏移地址 0x0A8
复位值 0x00000FFF
31
30
29
28
27
26
25
24
23
Reserved
15
14
13
12
11
10
9
8
7
HT
Reserved
RW
位
标记
功能描述
31:12
Reserved
保留
11:0
HT
ADC转换结果比较上阈值
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 755 of 854
29.11.12 ADC 比较下阈值(ADC_LT)
偏移地址 0x0AC
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
b6
b5
b4
b3
b2
b1
b0
Reserved
b15
b14
b13
b12
b11
b10
b9
b8
b7
LT
Reserved
RW
位
标记
功能描述
31:12
Reserved
保留
11:0
LT
ADC转换结果比较下阈值
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 756 of 854
29.11.13 ADC 中断标志寄存器(ADC_IFR)
偏移地址 0x0B0
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
SQRI
REGI
HHT_
LLT_
S_
F
F
INTF
INTF
INTF
RO
RO
RO
RO
RO
Reserved
15
14
13
12
11
10
9
8
7
JQRIF
Reserved
RO
位
标记
功能描述
31:6
Reserved
保留
ADC插队扫描转换完成标志
5
JQRIF
1:ADC插队扫描转换完成
0:ADC插队扫描转换未完成
ADC顺序扫描转换完成标志
4
SQRIF
1:ADC顺序扫描转换完成
0:ADC顺序扫描转换未完成
ADC转换结果比较区间标志
3
REGIF
1:ADC转换结果位于[ADC_LT ,ADC_HT)区间内
0:ADC转换结果位于[ADC_LT ,ADC_HT)区间外
ADC转换结果比较上阈值标志
2
HTIF
1:ADC转换结果位于[ADC_HT,4095]区间内
0:ADC转换结果位于[ADC_HT,4095]区间外
ADC转换结果比较下阈值标志
1
LTIF
1:ADC转换结果位于[0,ADC_LT)区间内
0:ADC转换结果位于[0,ADC_LT)区间外
ADC单次转换完成标志
0
SGLIF
1:ADC单次转换完成
0:ADC单次转换未完成
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 757 of 854
29.11.14 ADC 中断清除寄存器(ADC_ICR)
偏移地址 0x0B4
复位值 0x0000003F
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
JQRI
SQRI
REGI
HHT_
LLT_
S_
C
C
C
INTC
INTC
INTC
R1W0
R1W0
R1W0
R1W0
R1W0
R1W0
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
功能描述
31:6
Reserved
保留
5
JQRIC
4
SQRIC
3
REGIC
2
HTIC
1
LTIC
0
SGLIC
写0清除ADC插队扫描转换完成标志
写1无作用
写0清除ADC顺序扫描转换完成标志
写1无作用
写0清除ADC转换结果比较区间标志
写1无作用
写0清除ADC转换结果比较上阈值
写1无作用
写0清除ADC转换结果比较下阈值标志
写1无作用
写0清除ADC单次转换完成标志
写1无作用
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 758 of 854
29.11.15 ADC 单 次 转 换 或 顺 序 扫 描 转 换 外 部 中 断 触 发 源 配 置 寄 存 器
(ADC_ExtTrigger0)
偏移地址 0x0B8
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
PC15
PB15
PA15
PC11
PB11
PA11
PD07
PC07
PB07
PA07
PD03
PC03
PB03
PA03
DMA
SPI1
RW
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
LPUA
LPUA
UAR
UAR
SPI0
PCA
RTC
VC1
VC0
TIM6
TIM5
TIM4
TIM3
TIM2
TIM1
TIM0
RT1
RT0
T1
T0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能描述
31
PC15
PC15中断触发ADC转换
30
PB15
PB15中断触发ADC转换
29
PA15
PA15中断触发ADC转换
28
PC11
PC11中断触发ADC转换
27
PB11
PB11中断触发ADC转换
26
PA11
PA11中断触发ADC转换
25
PD07
PD07中断触发ADC转换
24
PC07
PC07中断触发ADC转换
23
PB07
PB07中断触发ADC转换
22
PA07
PA07中断触发ADC转换
21
PD03
PD03中断触发ADC转换
20
PC03
PC03中断触发ADC转换
19
PB03
PB03中断触发ADC转换
18
PA03
PA03中断触发ADC转换
17
DMA
DMA中断触发ADC转换
16
SPI1
SPI1中断触发ADC转换
15
SPI0
SPI0中断触发ADC转换
14
PCA
PCA中断触发ADC转换
13
RTC
RTC中断触发ADC转换
12
VC1
VC1中断触发ADC转换
11
VC0
VC0中断触发ADC转换
10
LPUART1
LPUART1中断触发ADC转换
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 759 of 854
9
LPUART0
LPUART0中断触发ADC转换
8
UART1
UART1中断触发ADC转换
7
UART0
UART0中断触发ADC转换
6
TIM6
Timer6中断触发ADC转换
5
TIM5
Timer5中断触发ADC转换
4
TIM4
Timer4中断触发ADC转换
3
TIM3
Timer3中断触发ADC转换
2
TIM2
Timer2中断触发ADC转换
1
TIM1
Timer1中断触发ADC转换
0
TIM0
Timer0中断触发ADC转换
Notes:
1)
TIM4/5/6 中断触发 ADC 自动转换,除了需要使能 TIM4/5/6 的相应中断外,还需要配置
Advanced Timer 的展频及中断触发选择寄存器 TIMX_CR 选择可以触发 ADC 的中断源。
2)
触发 ADC 使用的是各中断标志位的上升沿。如果需要重复触发,需要清除中断标志。如果
不需要进入中断服务程序,请不要使能 NVIC 的中断使能。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 760 of 854
29.11.16 ADC 插队扫描转换外部中断触发源配置寄存器(ADC_ExtTrigger1)
偏移地址 0x0BC
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
PC1
PB1
PA1
PC1
PB1
PA1
PD0
PC0
PB0
PA0
PD0
PC0
PB0
PA0
DM
SPI
5
5
5
1
1
1
7
7
7
7
3
3
3
3
A
1
RW
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
SPI
PC
RT
LPU
UA
UA
TIM
TIM
TIM
TIM
TIM
TIM
TIM
A
C
VC0
LPU
0
VC1
AR
AR
RT1
RT0
6
5
4
3
2
1
0
RW
RW
RW
RW
RW
T1
RW
T0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
位
标记
功能描述
31
PC15
PC15中断触发ADC转换
30
PB15
PB15中断触发ADC转换
29
PA15
PA15中断触发ADC转换
28
PC11
PC11中断触发ADC转换
27
PB11
PB11中断触发ADC转换
26
PA11
PA11中断触发ADC转换
25
PD07
PD07中断触发ADC转换
24
PC07
PC07中断触发ADC转换
23
PB07
PB07中断触发ADC转换
22
PA07
PA07中断触发ADC转换
21
PD03
PD03中断触发ADC转换
20
PC03
PC03中断触发ADC转换
19
PB03
PB03中断触发ADC转换
18
PA03
PA03中断触发ADC转换
17
DMA
DMA中断触发ADC转换
16
SPI1
SPI1中断触发ADC转换
15
SPI0
SPI0中断触发ADC转换
14
PCA
PCA中断触发ADC转换
13
RTC
RTC中断触发ADC转换
12
VC1
VC1中断触发ADC转换
11
VC0
VC0中断触发ADC转换
10
LPUART1
LPUART1中断触发ADC转换
9
LPUART0
LPUART0中断触发ADC转换
8
UART1
UART1中断触发ADC转换
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 761 of 854
7
UART0
UART0中断触发ADC转换
6
TIM6
Timer6中断触发ADC转换
5
TIM5
Timer5中断触发ADC转换
4
TIM4
Timer4中断触发ADC转换
3
TIM3
Timer3中断触发ADC转换
2
TIM2
Timer2中断触发ADC转换
1
TIM1
Timer1中断触发ADC转换
0
TIM0
Timer0中断触发ADC转换
Notes:
1)
TIM4/5/6 中断触发 ADC 自动转换,除了需要使能 TIM4/5/6 的相应中断外,还需要配置
Advanced Timer 的展频及中断触发选择寄存器 TIMX_CR 选择可以触发 ADC 的中断源。
2)
触发 ADC 使用的是各中断标志位的上升沿。如果需要重复触发,需要清除中断标志。如果
不需要进入中断服务程序,请不要使能 NVIC 的中断使能。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 762 of 854
29.11.17 ADC 单次转换启动控制寄存器(ADC_SglStart)
偏移地址 0x0C0
复位值 0x00000000
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
Start
Reserved
位
标记
功能描述
31:1
Reserved
保留
RW
ADC单次转换启动控制
0
Start
1:启动ADC单次转换
0:停止ADC单次转换
29.11.18 ADC 顺序扫描转换启动控制寄存器(ADC_SqrStart)
偏移地址 0x0C4
复位值 0x00000000
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
Reserved
位
标记
功能描述
31:1
Reserved
保留
7
Start
RW
ADC顺序扫描转换启动控制
0
Start
1:启动ADC顺序扫描转换
0:停止ADC顺序扫描转换
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 763 of 854
29.11.19 ADC 插队扫描转换启动控制寄存器(ADC_JqrStart)
偏移地址 0x0C8
复位值 0x00000000
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
Reserved
位
标记
功能描述
31:1
Reserved
保留
7
Start
RW
ADC插队扫描转换启动控制
0
Start
1:启动ADC插队扫描转换
0:停止ADC插队扫描转换
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 764 of 854
30
模拟比较器(VC)
30.1
模拟电压比较器 VC 简介
模拟电压比较器 VC 用于比较两个输入模拟电压的大小,并根据比较结果输出高/低
电平。当“+”输入端电压高于“-”输入端电压时,电压比较器输出为高电平;当
“+”输入端电压低于“-”输入端电压时,电压比较器输出为低电平。本产品内部
集成的模拟电压比较器 VC 具有以下特性:
支持电压比较功能;
支持内部 64 阶 VCC 分压(使用分压来源电压需要大于 1.8V)
支持 16 个外部输入端口和片内 BGR 输出的参考电压作为电压比较器的输入;
支持三种软件可配置的中断触发方式:高电平触发/上升沿触发/下降沿触发;
电压比较器的输出可以作为 通用定时器 和 低功耗定时器控制输入;
电压比较器的输出可以作为 高级定时器和通用定时器的刹车输入或者捕获输入;
支持在超低功耗模式下工作,电压比较器的中断输出可以将芯片从超低功耗模式下
唤醒;
提供软件可配置的滤波时间以增强芯片的抗干扰能力。
注意:使用 VC 需要使能 BGR,参考 BGR 寄存器描述
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 765 of 854
30.2
电压比较器框架图
VC0_CR[14:12]
VC0_CR[7:4]
VC0_CR[16]
VC_CR[11:8]
VCIN10
VCIN0
Vcap引脚电压
温度传感器
ADC参考电压
1.2V基准电压
VC0中断
VC0_CR[15]
VCIN15
VC0_OUT
数字滤波
+
VCIN0
VC_CR[7]
ADC参考电压
电源电压
触发条件选择
VC0
VC0_CR[11:8]
VC0_CR[3:0]
电阻分压
VC_CR[6:0]
VC1_CR[3:0]
VC1
VCIN0
1.2V基准电压
ADC参考电压
温度传感器
Vcap引脚电压
VCIN0
VC1_CR[11:8]
+
VCIN15
VC1_OUT
数字滤波
VC_CR[15:12]
VC1_CR[16]
VCIN10
VC1_CR[7:4]
VC1_CR[15]
触发条件选择
VC1中断
VC1_CR[14:12]
图 30-1 VC 框架图
30.3
建立/响应时间
当使用电压比较器时,从 VC 使能或者 VC 的两端输入电压变化到输出正确的结果
的时间由 VC 控制寄存器(VC_CR)中的 BIAS_SEL 控制位决定,电流越大 VC 响
应越快,典型值从 200nS 到 20uS 四档可调。
如果选择温度传感器、1.2V 基准电压、ADC 模块参考电压作为比较器的端输入,则需
要打开内部的 BGR 模块。内部 BGR 的启动时间大约为 20us,电压比较器需要等待
内部 BGR 稳定后才能正常输出。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 766 of 854
30.4
滤波时间
在电压比较器固有的建立/响应时间之外,用户可以设置更长的滤波时间来过滤掉系统
噪声,比如马达停止时的大电流噪声。
从寄存器 VC_IFR.VCx_Filter 可以读出数字滤波后的信号电平;当 GPIO 功能配置为
VCx_OUT 时,数字滤波后的信号可以从 GPIO 输出以方便测量。
比较器
输出波形
数字滤波电路
输出波形
图 30-2 VC 滤波响应时间
30.5
迟滞功能
电压比较器可以选择迟滞功能,迟滞功能使能后的图示如下:
负端电压+迟滞
负端电压-迟滞
比较器输出波形
图 30-3 VC 迟滞功能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 767 of 854
30.6
VC 寄存器
基地址 0x40002400
寄存器
偏移地址
描述
VC_CR
0x010
VC0/1 配置寄存器0
VC0_CR
0x014
VC0 配置寄存器
VC1_CR
0x018
VC1 配置寄存器
VC0_ OUT_CFG
0x01C
VC0 输出配置寄存器
VC1_ OUT_CFG
0x020
VC1 输出配置寄存器
VC_INT
0x024
VC 中断寄存器
表 30-1 VC 寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 768 of 854
30.6.1 VC 配置寄存器(VC_CR)
偏移地址 0x010
复位值 0x00000020
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
7
6
5
4
3
2
1
0
Reserved
15
14
13
12
11
10
9
8
VC1_HYS_
VC1_BIAS_
VC0_HYS_
VC0_BIAS
VC_REF
VC_DI
SEL
SEL
SEL
_SEL
2P5_SEL
V_EN
RW
RW
RW
RW
RW
RW
位
标记
功能描述
31:16
Reserved
保留
VC_DIV
RW
VC1 迟滞选择:
00:没有迟滞
15:14
VC1_HYS_SEL
01:迟滞电压大约10mV
10:迟滞电压大约20mV
11:迟滞电压大约30mV
VC1 功耗选择(功耗越大,响应速度越快)
00:300nA
13:12
VC1_BIAS_SEL
01:1.2uA
10:10uA(需要开启BGR,BGR启动时间大约20us)
11:20uA(需要开启BGR,BGR启动时间大约20us)
VC0 迟滞选择:
00:没有迟滞
11:10
VC0_HYS_SEL
01:迟滞电压大约10mV
10:迟滞电压大约20mV
11:迟滞电压大约30mV
VC0 功耗选择(功耗越大,响应速度越快)
00:300nA
9:8
VC0_BIAS_SEL
01:1.2uA
10:10uA(需要开启BGR,BGR启动时间大约20us)
11:20uA(需要开启BGR,BGR启动时间大约20us)
VC_DIV 参考电压Vref选择
7
VC_REF2P5_SEL
0:VCC
1:ADC_CR0.SREF所选择的参考电压
6
VC_DIV_EN
5:0
VC_DIV
6位 DAC 使能
1:使能
6位 DAC 配置
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 769 of 854
000000: 1/64 Vref
000001:2/64 Vref
000010:3/64 Vref
000011:4/64 Vref
…
111110:63/64 Vref
111111: Vref
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 770 of 854
30.6.2 VC0 配置寄存器(VC0_CR)
偏移地址 0x014
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
EN
Reserved
11
10
14
13
12
IE
level
rising
falling
debounce_time
FLTEN
n_sel
p_sel
RW
RW
RW
RW
RW
RW
RW
RW
标记
功能描述
31:17
Reserved
保留
8
RW
15
位
9
16
7
6
5
4
3
2
1
0
电压比较器使能
16
EN
1:使能电压比较器
0:关闭电压比较器
15
IE
VC 中断使能
1:使能;0:禁止
VC 输出信号触发中断选择
14
level
1:使能高电平触发 INT flag
0:禁止高电平触发 INT flag
VC 输出信号触发中断选择
13
rising
1:使能上升沿触发 INT flag
0:禁止上升沿触发 INT flag
VC 输出信号触发中断选择
12
falling
1:使能下降沿触发 INT flag
0:禁止下降沿触发 INT flag
VC 输出滤波时间配置
111:滤波时间大约为28.8ms
110:滤波时间大约为7.2ms
101:滤波时间大约为1.8ms
11:9
debounce_time
100:滤波时间大约为450us
011:滤波时间大约为112us
010:滤波时间大约为28us
001:滤波时间大约为14us
000:滤波时间大约为7us
注意:滤波时间的配置只有在 FLTEN=1 时才有效。
8
FLTEN
1:启动 VC 滤波
0:VC 无滤波
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 771 of 854
电压比较器“-”端输入选择
0000: select channel 0 input PA0
0001: select channel 1 input PA1
0010: select channel 2 input PA2
0011: select channel 3 input PA3
0100: select channel 4 input PA4
0101: select channel 5 input PA5
0110: select channel 6 input PA6
7:4
N_SEL
0111: select channel 7 input PA7
1000: select channel 8 input PC4
1001: select channel 9 input PC5
1010: select channel 10 input PB0
1011:电阻分压输出电压
1100:内置温度传感器输出电压
1101:内部基准1.2V输出电压
1110:ADC模块的参考电压(使用需要使能ADC)
1111:VCAP引脚的电压
电压比较器“+”端输入选择
0000: select channel 0 input PC0
0001: select channel 1 input PC1
0010: select channel 2 input PC2
0011: select channel 3 input PC3
0100: select channel 4 input PA0
0101: select channel 5 input PA1
0110: select channel 6 input PA2
3:0
P_SEL
0111: select channel 7 input PA3
1000: select channel 8 input PA4
1001: select channel 9 input PA5
1010: select channel 10 input PA6
1011: select channel 11 input PA7
1100: select channel 12 input PB4
1101: select channel 13 input PB5
1110: select channel 14 input PB6
1111: select channel 15 input PB7
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 772 of 854
30.6.3 VC1 配置寄存器(VC1_CR)
偏移地址 0x018
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
EN
Reserved
11
10
14
13
12
IE
level
rising
falling
debounce_time
FLTEN
n_sel
p_sel
RW
RW
RW
RW
RW
RW
RW
RW
标记
功能描述
31:17
Reserved
保留
8
RW
15
位
9
16
7
6
5
4
3
2
1
0
电压比较器使能
16
EN
1:使能电压比较器
0:关闭电压比较器
15
IE
VC 中断使能
1:使能;0:禁止
VC 输出信号触发中断选择
14
level
1:使能高电平触发 INT flag
0:禁止高电平触发 INT flag
VC 输出信号触发中断选择
13
rising
1:使能上升沿触发 INT flag
0:禁止上升沿触发 INT flag
VC 输出信号触发中断选择
12
falling
1:使能下降沿触发 INT flag
0:禁止下降沿触发 INT flag
VC 输出滤波时间配置
111:滤波时间大约为28.8ms
110:滤波时间大约为7.2ms
101:滤波时间大约为1.8ms
11:9
debounce_time
100:滤波时间大约为450us
011:滤波时间大约为112us
010:滤波时间大约为28us
001:滤波时间大约为14us
000:滤波时间大约为7us
注意:滤波时间的配置只有在 FLTEN=1 时才有效。
8
FLTEN
1:启动 VC 滤波
0:VC 无滤波
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 773 of 854
电压比较器“-”端输入选择
0000: select channel 0 input PC0
0001: select channel 1 input PC1
0010: select channel 2 input PC2
0011: select channel 3 input PC3
0100: select channel 4 input PA0
0101: select channel 5 input PA1
0110: select channel 6 input PB0
7:4
N_SEL
0111: select channel 7 input PB1
1000: select channel 8 input PB2
1001: select channel 9 input PB3
1010: select channel 10 input PB4
1011:电阻分压输出电压
1100:内置温度传感器输出电压
1101:内部基准1.2V输出电压
1110:ADC模块的参考电压(使用需要使能ADC)
1111:VCAP引脚的电压
电压比较器“+”端输入选择
0000: select channel 0 input PA0
0001: select channel 1 input PA1
0010: select channel 2 input PA2
0011: select channel 3 input PA3
0100: select channel 4 input PA4
0101: select channel 5 input PA5
0110: select channel 6 input PB1
3:0
P_SEL
0111: select channel 7 input PB2
1000: select channel 8 input PB10
1001: select channel 9 input PB12
1010: select channel 10 input PB13
1011: select channel 11 input PB14
1100: select channel 12 input PB4
1101: select channel 13 input PB5
1110: select channel 14 input PB6
1111: select channel 15 input PB7
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 774 of 854
30.6.4 VC0 输出配置寄存器(VC0_OUT_CFG)
偏移地址 0x01C
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
TIM
TIM3
TIM2
TIM1
TIM0
INV_
BK
RCLR
RCLR
RCLR
RCLR
Timer
RW
RW
RW
RW
RW
RW
Reserved
15
14
brake
TIM6
13
12
INV_T
RW
RW
10
INV_T
TIM5
IM6
RW
11
8
7
INV_T
TIM4
IM5
RW
9
RW
IM4
RW
位
标记
功能描述
31:16
Reserved
保留
15
brake
14
TIM6
13
INV_TIM6
12
TIM5
11
INV_TIM5
10
TIM4
9
INV_TIM4
8:6
Res.
5
TIMBK
4
TIM3RCLR
3
TIM2RCLR
2
TIM1RCLR
1
TIM0RCLR
Reserved
RW
VC0 作为 Advanced Timer 刹车控制
1:使能; 0:禁止。
VC0 filter 结果输出到 TIM6 捕获输入CHA使能
1:使能; 0:禁止。
VC0 filter 结果输出到 TIM6 反向使能
1:使能反向; 0:禁止反向,输入与 VC 输出同向。
VC0 filter 结果输出到 TIM5 捕获输入CHA使能
1:使能; 0:禁止。
VC0 filter 结果输出到 TIM5 反向使能
1:使能反向; 0:禁止反向,输入与 VC 输出同向。
VC0 filter 结果输出到 TIM4 捕获输入CHA使能
1:使能; 0:禁止。
VC0 filter 结果输出到 TIM4 反向使能
1:使能反向; 0:禁止反向,输入与 VC 输出同向。
保留
VC0 filter 结果输出到Timer0/1/2/3 刹车控制
1:使能; 0:禁止。
VC0 filter 结果输出到 TIM3 REFCLR 使能控制
1:使能; 0:禁止。
VC0 filter 结果输出到 TIM2 REFCLR 使能控制
1:使能; 0:禁止。
VC0 filter 结果输出到 TIM1 REFCLR 使能控制
1:使能; 0:禁止。
VC0 filter 结果输出到 TIM0 REFCLR 使能控制
1:使能; 0:禁止。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 775 of 854
0
INV_Timer
VC0 filter 结果输出反向到各 TIM0/1/2/3/REFCLR
1:使能反向; 0:禁止反向,输入与 VC 输出同向。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 776 of 854
30.6.5 VC1 输出配置寄存器(VC1_ OUT_CFG)
偏移地址 0x020
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
TIMB
TIM3
TIM2
TIM1
TIM0
INV_
K
RCLR
RCLR
RCLR
RCLR
Timer
RW
RW
RW
RW
RW
RW
Reserved
15
brake
RW
14
13
12
11
10
9
TIM
INV_
TIM
INV_
TIM
INV_
6
TIM6
5
TIM5
4
TIM4
RW
RW
RW
RW
RW
RW
位
标记
功能描述
31:16
Reserved
保留
15
brake
14
TIM6
13
INV_TIM6
12
TIM5
11
INV_TIM5
10
TIM4
9
INV_TIM4
8:6
Res.
5
TIMBK
4
TIM3RCLR
3
TIM2RCLR
2
TIM1RCLR
1
TIM0RCLR
8
7
Reserved
VC1 作为 Advanced Timer 刹车控制
1:使能; 0:禁止。
VC1 filter 结果输出到 TIM6 捕获输入CHB使能
1:使能; 0:禁止。
VC1 filter 结果输出到 TIM6 反向使能
1:使能反向; 0:禁止反向,输入与 VC 输出同向。
VC1 filter 结果输出到 TIM5 捕获输入CHB使能
1:使能; 0:禁止。
VC1 filter 结果输出到 TIM5 反向使能
1:使能反向; 0:禁止反向,输入与 VC 输出同向。
VC1 filter 结果输出到 TIM4 捕获输入CHB使能
1:使能; 0:禁止。
VC1 filter 结果输出到 TIM4 反向使能
1:使能反向; 0:禁止反向,输入与 VC 输出同向。
保留
VC1 filter 结果输出到Timer0/1/2/3 刹车控制
1:使能; 0:禁止。
VC1 filter 结果输出到 TIM3 REFCLR 使能控制
1:使能; 0:禁止。
VC1 filter 结果输出到 TIM2 REFCLR 使能控制
1:使能; 0:禁止。
VC1 filter 结果输出到 TIM1 REFCLR 使能控制
1:使能; 0:禁止。
VC1 filter 结果输出到 TIM0 REFCLR 使能控制
1:使能; 0:禁止。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 777 of 854
0
INV_Timer
VC1 filter 结果输出反向到各 TIM0/1/2/3/REFCLR
1:使能反向; 0:禁止反向,输入与 VC 输出同向。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 778 of 854
30.6.6 VC 中断寄存器(VC_IFR)
偏移地址 0x024
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
VC1_
VC0_
VC1_
VC0_
Filter
Filter
INTF
INTF
RO
RO
W0
W0
Reserved
15
14
13
12
11
10
9
Reserved
8
7
位
标记
功能描述
31:4
Reserved
保留
3
VC1_Filter
VC1 Filter 后的状态
2
VC0_Filter
VC0 Filter 后的状态
1
VC1_INTF
VC1 中断标志,1发生 VC1 中断;0未发生中断;写0清除中断标志,写1无效
0
VC0_INTF
VC0 中断标志,1发生 VC0 中断;0未发生中断;写0清除中断标志,写1无效
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 779 of 854
31
低电压检测器(LVD)
31.1
LVD 简介
LVD 可用于监测 VCC 及芯片引脚的电压。当被监测电压与 LVD 阈值的比较结果满足
触发条件时,LVD 会产生中断或复位信号,用户可根据该信号执行一些紧急任务。
LVD 具有以下特性:
4 路监测源,AVCC、PC13、PB08、PB07;
16 阶阈值电压,1.8~3.3V 可选;
8 种触发条件,高电平、上升沿、下降沿组合;
2 种触发结果,复位、中断;
8 阶滤波配置,防止误触发;
具备迟滞功能,强力抗干扰。
31.2
LVD 框图
LVD_CR[3:2]
LVD_CR[0]
VCC
PC13
PB8
PC7
LVD_OUT
LVD_IFR[1]
LVD_CR[11:8]
数字滤波
LVD中断
+
LVD阈值
触发条件选择
LVD_CR[7:4]
LVD_CR[14:12]
LVD复位
LVD_CR[15] LVD_CR[1]
图 31-1 LVD 框图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 780 of 854
31.3
迟滞功能
LVD 内置的电压比较器具有迟滞功能,可以增强芯片的抗干扰能力。LVD 的输出信号
会等到输入信号高于或低于阈值电压 20mV 后才发生翻转,其输入输出信号示意如下:
阈值电压+20mV
阈值电压-20mV
迟滞比较器
输出波形
图 31-2 LVD 迟滞响应
31.4
数字滤波
如果芯片的工作环境恶劣,迟滞比较器的输出会出现噪声信号。使能数字滤波模块,
则迟滞比较器的输出波形中脉宽小于 LVD_CR.Debounce_time 的噪声信号都可以被滤
除。禁止数字滤波模块,则数字滤波模块的输入输出信号相同。
从寄存器 LVD_IFR[1]可以读出数字滤波后的信号电平;当 GPIO 功能配置为 LVD_OUT
时,数字滤波后的信号可以从 GPIO 输出以方便测量。
使能数字滤波模块,滤波示意如下所示:
迟滞比较器
输出波形
数字滤波电路
输出波形
图 31-3 LVD 滤波输出
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 781 of 854
31.5
配置示例
31.5.1 LVD 配置为低电压复位
在本模式下,监测电压低于阈值电压时复位 MCU。
配置方法如下所示:
Step1:配置 LVD_CR.Source_sel,选择待监测的电压来源。
Step2:配置 LVD_CR. VTDS,选择 LVD 的阈值电压。
Step3:配置 LVD_CR. Debounce_time,选择 LVD 滤波时间。
Step4:配置 LVD_CR. FLTEN,使能 LVD 滤波。
Step5:设置 LVD_CR. HTEN 为 1,选择高电平触发 LVD 动作。
Step6:设置 LVD_CR.ACT 为 1,选择 LVD 动作为复位。
Step7:设置 LVD_CR.LVDEN 为 1,使能 LVD。
31.5.2 LVD 配置为电压变化中断
在本模式下,监测电压高于或低于阈值电压时产生中断。
配置方法如下所示:
Step1:配置 LVD_CR.Source_sel,选择待监测的电压来源。
Step2:配置 LVD_CR. VTDS,选择 LVD 的阈值电压。
Step3:配置 LVD_CR. Debounce_time,选择 LVD 滤波时间。
Step4:配置 LVD_CR. FLTEN,使能 LVD 滤波。
Step5:设置 LVD_CR. RTEN 和 LVD_CR. FTEN 为 1,选择电平变化触发 LVD 动作。
Step6:设置 LVD_CR.ACT 为 0,选择 LVD 动作为中断。
Step7:设置 LVD_CR.IE 为 1,使能 LVD 中断。
Step8:使能 NVIC 中断向量表中的 LVD 中断。
Step9:设置 LVD_CR.LVDEN 为 1,使能 LVD。
Step10:在 LVD 的中断服务程序中执行用户需要进行的操作;退出中断服务程序前向
LVD_IFR 写入 0x00 以清除中断标志。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 782 of 854
31.6
LVD 寄存器
基地址 0x40002400
寄存器
偏移地址
描述
LVD_CR
0x028
LVD 配置寄存器
LVD_IFR
0x02C
LVD 中断标志寄存器
表 31-1 LVD 寄存器
31.6.1 LVD 配置寄存器(LVD_CR)
偏移地址 0x028
复位值 0x00000000
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
IE
HTEN
RTEN
FTEN
11
10
9
8
7
FLTE
Debounce_time
LVDE
VTDS
Source_sel
ACT
N
RW
RW
RW
RW
RW
位
标记
功能描述
31:16
Reserved
保留
RW
N
RW
RW
RW
RW
LVD中断使能
15
IE
1:使能;
0:禁止。
高电平触发使能
14
HTEN
(被监测电压低于阈值电压)
1:使能;
0:禁止。
上升沿触发使能
13
RTEN
(被监测电压从高于阈值电压变为低于阈值电压)
1:使能;
0:禁止。
下降沿触发使能
12
FTEN
(被监测电压从低于阈值电压变为高于阈值电压)
1:使能;
0:禁止。
数字滤波时间配置
111:滤波时间大约为28.8ms
11:9
Debounce_time
110:滤波时间大约为7.2ms
101:滤波时间大约为1.8ms
100:滤波时间大约为450us
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 783 of 854
011:滤波时间大约为112us
010:滤波时间大约为28us
001:滤波时间大约为14us
000:滤波时间大约为7us
注:滤波时间仅在FLTEN为1时有效。
数字滤波使能配置
8
FLTEN
1: 使能数字滤波
0:禁止数字滤波
LVD 阈值电压选择
1111:3.3v
1110:3.2v
1101:3.1v
1100:3.0v
1011:2.9v
1010:2.8v
1001:2.7v
7:4
VTDS
1000:2.6v
0111:2.5v
0110:2.4v
0101:2.3v
0100:2.2v
0011:2.1v
0010:2.0v
0001:1.9v
0000:1.8v
LVD 监测来源选择
11:PB07端口输入电压
3:2
Source_sel
10:PB08端口输入电压
01:PC13端口输入电压
00:AVCC 电源电压
LVD触发动作选择
1
ACT
1:系统复位
0:NVIC中断
LVD使能控制
0
LVDEN
1:使能LVD
0:禁止LVD
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 784 of 854
31.6.2 LVD 中断寄存器(LVD_IFR)
偏移地址 0x02C
复位值 0x00000000
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
LVD_
Reserved
RO
位
标记
功能描述
31:2
Reserved
保留
1
LVD_Filter
LVD Filter 后的状态
INTF
Filter
RW0
LVD中断标志:
0
INTF
1:发生LVD中断;
0:未发生中断;
写0清除中断标志,写1无效。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 785 of 854
32
运算放大器(OPA)
OPA 模块可以灵活配置,适用于简易滤波器和 Buffer 应用。内部的三个运放可以配置
为反向、同向具有不同增益的组合运放,也可以使用外部电阻进行级联。OPA 的输入
范围是 0V 到 AVCC,输出范围是 0.1V 到 AVCC-0.1V。
32.1
OPA 特性
三个独立配置运放
OPA 的输入范围是 0 到 AVCC,输出范围是 0.1 到 AVCC-0.1 可编程增益
OPA 通过外部电阻连接可配置为仪表放大器
可配置为以下模式
–
通用运放模式(general purpose OPA)
–
电压跟随器
–
反相输入 PGA
–
同相输入 PGA
–
级联反相 PGA
–
级联同相 PGA
–
两个运放的差分运放
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 786 of 854
32.2
OPA 功能描述
三个 OPA 通过寄存器选择可以配置为各种不同的 PGA 模式,也可以配置为用户使用
外部元件的运放功能。运放的输出可以作为 ADC 的通道输入。OPA0 的输出连接到
ADC 的通道 24,OPA1 的输出连接到 ADC 的通道 25,OPA2 的输出连接到 ADC 的通
道 26。OPA 的输入输出也可以连接到端口上。
如果使用 OPA(PGA/运放),需要三个同时使能。
OPA_INP
EXT_OP
EXT_OP
+
POSSEL
OPA_INN
NEGSEL
EXT_OP
-
MODE
OPA_OUT
POEN
ADC
UBUFSEL
RES
RES
RESSEL
PGAGAIN
RESINSEL
32.2.1 PGA 功能
MODE 设置为 0 为 PGA 功能,内部选择网络可以选择 OPA 的输入、OPA 的输出,
CR.POSSEL 选择正端输入。CR.NEGSEL 选择负端输入,正负端输入可以选择其他 OPA
的输出,端口或者电阻网络。反馈可以设置为单位增益或者电阻网络配置增益。OPA
的输出可以连接其他 OPA 的输入或者电阻网络。使用内部 PGA 时,选择内部环路,
POEN 在工作状态必须是开关打开状态(调试时可以通过 POEN 将内部 PGA 的输出到
端口,这样有可能影响 OPA 的负载状态,从而影响 OPA 的工作)。
32.2.2 运放功能
MODE 设置为 1 为运放功能,使用外部电阻组成闭环放大系统,选择外部电阻网络组
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 787 of 854
成的环路,UBUF_SEL,RESSEL 设置为 0 为开关打开状态。POEN 开关闭合可将 OPA
输出送入 ADC 模块。
32.3
配置
单位
增益
PGA配置
PGA
正向
输入PGA
反向
级联
输入
反向
PGA
PGA
级联
正向PGA
两运放
差分
PGA
通用
关闭
运放
状态
OPA0_POS_SEL
11
11
11
11
11
11
11
00
OPA1_POS_SEL
11
11
11
11
10
11
11
00
OPA2_POS_SEL
11
11
11
11
10
11
11
00
OPA0_NEG_SEL
00
01
01
01
01
00
11
01
OPA1_NEG_SEL
00
01
01
01
01
01
11
01
OPA2_NEG_SEL
00
01
01
01
01
01
11
01
OPA0_RESMINMUX
00
00
10
10
00
00
00
00
OPA1_RESMINMUX
00
00
10
01
00
01
00
00
OPA2_RESMINMUX
00
00
10
01
00
00
00
00
OPA0_UBUF_SEL
1
0
0
0
0
1
0
0
OPA1_UBUF_SEL
1
0
0
0
0
0
0
0
OPA2_UBUF_SEL
1
0
0
0
0
0
0
0
OPA0_RES_SEL
0
1
1
1
1
1
0
0
OPA1_RES_SEL
0
1
1
1
1
1
0
0
OPA2_RES_SEL
0
1
1
1
1
0
0
0
OPA0_EN
1
1
1
1
1
1
1
0
OPA1_EN
1
1
1
1
1
1
1
0
OPA2_EN
1
1
1
1
1
1
1
0
OPA0_OUT_SEL
0
0
0
0
0
0
1
0
OPA1_OUT_SEL
0
0
0
0
0
0
1
0
OPA2_OUT_SEL
0
0
0
0
0
0
1
0
32.3.1 PGA 增益
PGA 的增益由控制寄存器的 PGAGAIN 决定。
PGAGAIN
Gain(invert)
Gain (non-invert)
000
14
16
001
7
8
010
13/3
16/3
011
3
4
100
5/3
8/3
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 788 of 854
101
1
2
110
1/3
4/3
111
11/5
16/5
32.3.2 单位增益 PGA
这种模式下配置为 OPA 的负端输入与 OPA 的输出连通。用于单位增益的电压跟随器。
配置
POSSEL
NEGSEL
RESMINMUX
UBUFSEL
RESSEL
EN
OUT_SEL
单位增益
11
00
00
1
0
1
0
32.3.3 正向输入 PGA
三个 OPA 都配置为这种模式,增益有 OPx_CR.PGAGAIN 决定。
配置
POSSEL NEGSEL
RESMINMUX UBUFSEL RESSEL
EN
OUT_SEL
正向输入 PGA
11
00
1
0
01
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
0
1
Page 789 of 854
32.3.4 反向输入 PGA
三个 OPA 都配置为这种模式,增益有 OPx_CR.PGAGAIN 决定。
配置
POSSEL NEGSEL RESMINMUX UBUFSEL RESSEL
EN
OUT_SEL
反向输入 PGA
11
1
0
01
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
10
0
1
Page 790 of 854
32.3.5 级联反向输入 PGA
配置如下,PGA 的增益由三个 OPA 的 PGAGAIN 共同决定。这种模式下 PGAGAIN 不
支持 7 和 14 的增益。
PGA配置
级联反向PGA
OPA0_POS_SEL
11
OPA1_POS_SEL
11
OPA2_POS_SEL
11
OPA0_NEG_SEL
01
OPA1_NEG_SEL
01
OPA2_NEG_SEL
01
OPA0_RESMINMUX
10
OPA1_RESMINMUX
01
OPA2_RESMINMUX
01
OPA0_UBUF_SEL
0
OPA1_UBUF_SEL
0
OPA2_UBUF_SEL
0
OPA0_RES_SEL
1
OPA1_RES_SEL
1
OPA2_RES_SEL
1
OPA0_EN
1
OPA1_EN
1
OPA2_EN
1
OPA0_OUT_SEL
0
OPA1_OUT_SEL
0
OPA2_OUT_SEL
0
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 791 of 854
32.3.6 级联正向输入 PGA
配置如下,PGA 的增益由三个 OPA 的 PGAGAIN 共同决定。
PGA配置
级联正向PGA
OPA0_POS_SEL
11
OPA1_POS_SEL
10
OPA2_POS_SEL
10
OPA0_NEG_SEL
01
OPA1_NEG_SEL
01
OPA2_NEG_SEL
01
OPA0_RESMINMUX
00
OPA1_RESMINMUX
00
OPA2_RESMINMUX
00
OPA0_UBUF_SEL
0
OPA1_UBUF_SEL
0
OPA2_UBUF_SEL
0
OPA0_RES_SEL
1
OPA1_RES_SEL
1
OPA2_RES_SEL
1
OPA0_EN
1
OPA1_EN
1
OPA2_EN
1
OPA0_OUT_SEL
0
OPA1_OUT_SEL
0
OPA2_OUT_SEL
0
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 792 of 854
32.3.7 两运放差分 PGA
两运放差分 PGA 配置如下,PGA 的增益有 OPA1_CR.PGAGAIN 决定,两运放差分只
支持 OPA0,OPA1 两个 OPA 的连接。
PGA配置
两运放差分PGA
OPA0_POS_SEL
11
OPA1_POS_SEL
11
OPA2_POS_SEL
00
OPA0_NEG_SEL
00
OPA1_NEG_SEL
01
OPA2_NEG_SEL
01
OPA0_RESMINMUX
00
OPA1_RESMINMUX
01
OPA2_RESMINMUX
00
OPA0_UBUF_SEL
1
OPA1_UBUF_SEL
0
OPA2_UBUF_SEL
0
OPA0_RES_SEL
1
OPA1_RES_SEL
1
OPA2_RES_SEL
0
OPA0_EN
1
OPA1_EN
1
OPA2_EN
0
OPA0_OUT_SEL
0
OPA1_OUT_SEL
0
OPA2_OUT_SEL
0
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 793 of 854
32.3.8 通用运放配置
需要使能相应的 OPA 的 MODE 选择 OPA 的运放功能,根据需要使能 OPA_CRx.POEN
连通运放输出是否连接到内部 ADC 输入。
配置
通用运放
OPA0_POS_SEL
11
OPA1_POS_SEL
11
OPA2_POS_SEL
11
OPA0_NEG_SEL
11
OPA1_NEG_SEL
11
OPA2_NEG_SEL
11
OPA0_RESMINMUX
00
OPA1_RESMINMUX
00
OPA2_RESMINMUX
00
OPA0_UBUF_SEL
0
OPA1_UBUF_SEL
0
OPA2_UBUF_SEL
0
OPA0_RES_SEL
0
OPA1_RES_SEL
0
OPA2_RES_SEL
0
OPA0_EN
1
OPA1_EN
1
OPA2_EN
1
OPA0_OUT_SEL
1
OPA1_OUT_SEL
1
OPA2_OUT_SEL
1
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 794 of 854
32.4
OPA 寄存器
基地址 0x40002400
寄存器
偏移地址
描述
OPA_CR0
0x030
OP0 控制寄存器
OPA_CR1
0x034
OP1 控制寄存器
OPA_CR2
0x038
OP2 控制寄存器
表 32-1 OPA 寄存器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 795 of 854
32.4.1 OPA 配置寄存器(OPA_CR0)
偏移地址 0x030
复位值 0x00000120
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RESMINMUX
Reserved
RW
15
POEN
14
13
PGAGAIN
12
11
10
9
POSSEL
8
NEGSEL
7
6
5
4
3
2
RES
UBU
MOD
SEL
FSEL
E
RW
RW
RW
BIASSEL
1
0
Reser
EN
ved
RW
RW
RW
RW
RW
位
标记
功能描述
31:18
Reserved
保留
17:16
RESINMUX
OPA反向输入选择,根据配置表选择PGA功能
RW
使能OPA IO端口与内部连接控制。
15
POEN
运放功能时,OPA的输出连接到内部ADC;
PGA功能时,PGA输出连接到端口
1: 连通;0: 断开
增益选择
14:12
PGAGAIN
Gain(invert)
Gain (non-invert)
000
14
16
001
7
8
010
13/3
16/3
011
3
4
100
5/3
8/3
101
1
2
110
1/3
4/3
111
11/5
16/5
11:10
POSSEL
OPA正输入选择,根据配置表选择PGA功能
9:8
NEGSEL
OPA负输入选择,根据配置表选择PGA功能
7:5
BIASSEL
OPA偏置电流选择
4
RESSEL
3
UBUFSEL
2
MODE
1
Reserved
电阻网络到OPA输出选择,根据配置表选择PGA功能
0: 断开; 1: 连通
单位增益buffer选择,根据配置表选择PGA功能
工作模式选择
0:内部PGA模式
1:外部运放模式
保留
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 796 of 854
0
EN
OPA使能(另外两个OPA必须同时使能)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 797 of 854
32.4.2 OPA 配置寄存器(OPA_CR1)
偏移地址 0x034
复位值 0x00000120
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RESMINMUX
Reserved
RW
15
POEN
14
13
PGAGAIN
12
11
10
9
POSSEL
8
NEGSEL
7
6
5
4
3
2
RES
UBU
MOD
SEL
FSEL
E
RW
RW
RW
BIASSEL
1
0
Reser
EN
ved
RW
RW
RW
RW
RW
位
标记
功能描述
31:18
Reserved
保留
17:16
RESINMUX
OPA反向输入选择,根据配置表选择PGA功能
RW
使能OPA IO端口与内部连接控制。
15
POEN
运放功能时,OPA的输出连接到内部ADC;
PGA功能时,PGA输出连接到端口
1:连通;0:断开
增益选择
14:12
PGAGAIN
Gain(invert)
Gain (non-invert)
000
14
16
001
7
8
010
13/3
16/3
011
3
4
100
5/3
8/3
101
1
2
110
1/3
4/3
111
11/5
16/5
11:10
POSSEL
正输入选择,根据配置表选择PGA功能
9:8
NEGSEL
负输入选择,根据配置表选择PGA功能
7:5
BIASSEL
OPA偏置电流选择
4
RESSEL
3
UBUFSEL
2
MODE
1
Reserved
电阻网络到OPA输出选择,根据配置表选择PGA功能
0: 断开; 1: 连通
单位增益buffer选择,根据配置表选择PGA功能
工作模式选择
0:内部PGA模式
1:外部运放模式
保留
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 798 of 854
0
EN
OPA使能(另外两个OPA必须同时使能)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 799 of 854
32.4.3 OPA 配置寄存器(OPA_CR2)
偏移地址 0x038
复位值 0x00000120
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
RESMINMUX
Reserved
RW
15
POEN
14
13
PGAGAIN
12
11
10
9
POSSEL
8
NEGSEL
7
6
5
4
3
2
RES
UBU
MOD
SEL
FSEL
E
RW
RW
RW
BIASSEL
1
0
Rese
EN
rved
RW
RW
RW
RW
RW
位
标记
功能描述
31:18
Reserved
保留
17:16
RESINMUX
OPA反向输入选择,根据配置表选择PGA功能
RW
使能OPA IO端口与内部连接控制。
15
POEN
运放功能时,OPA的输出连接到内部ADC;
PGA功能时,PGA输出连接到端口
1:连通;0:断开
增益选择
14:12
PGAGAIN
Gain(invert)
Gain (non-invert)
000
14
16
001
7
8
010
13/3
16/3
011
3
4
100
5/3
8/3
101
1
2
110
1/3
4/3
111
11/5
16/5
11:10
POSSEL
正输入选择,根据配置表选择PGA功能
9:8
NEGSEL
负输入选择,根据配置表选择PGA功能
7:5
BIASSEL
OPA偏置电流选择
4
RESSEL
3
UBUFSEL
2
MODE
1
Reserved
电阻网络到OPA输出选择,根据配置表选择PGA功能
0: 断开; 1: 连通
单位增益buffer选择,根据配置表选择PGA功能
工作模式选择
0:内部PGA模式
1:外部运放模式
保留
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 800 of 854
0
EN
OPA使能(另外两个OPA必须同时使能)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 801 of 854
33
模拟其它寄存器
基地址 0x40002400
寄存器
偏移地址
描述
BGR_CR
0x000
BGR 控制寄存器
33.1
BGR 配置寄存器(BGR_CR)
偏移地址 0x000
复位值 0x00000000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
TS_
BGR
EN
_EN
RW
RW
Reserved
15
14
13
12
11
10
9
8
7
Reserved
位
标记
功能描述
31:2
Reserved
保留
内置温度传感器使能控制
1
TS_EN
1:使能内部温度传感器
0:禁止内部温度传感器
注意:温度传感器使能 20us 后,才能输出稳定信号。
BGR 使能控制
1:使能 BGR
0:禁止 BGR
注意:
0
BGR_EN
1) PERI_CLKEN.ADC 为 1 时,才可以操作此寄存器。
2) BGR 使能 20us 后,才能输出稳定的高精度参考电压。BGR 稳定后才可以被其它
模块使用,故用户操作中应加入等待 BGR 稳定的步骤。
3) 当使用 ADC,OPA 时,必须使能 BGR。
4) 当使用 VC 时,需根据 VC 寄存器的配置决定是否使能 BGR。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 802 of 854
34
SWD 调试接口
HC32L130/HC32L136 系列使用 ARM Cortex-M0+内核,该内核具有硬件调试模块 SWD,
支持复杂的调试操作。硬件调试模块允许内核在取指(指令断点)或访问数据(数据断点)
时停止。内核停止时,内核的内部状态和系统的外部状态都可以在 IDE 中进行查询。
完成查询后,内核和外设可以被复原,程序将继续执行。当 HC32L130/L136 微控制器
连接到调试器并开始调试时,调试器将使用内核的硬件调试模块进行调试操作。
注意:
– SWD 在 DeepSleep 模式下不能工作,请在 Active 和 Sleep 模式下进行调试操作。
34.1
SWD 调试附加功能
本产品使用了 ARM Cortex-M0+ CPU,该内核包含用于高级调试功能的硬件扩展,因
此本产品所拥有的调试功能与 Cortex-M0+一致。调试扩展允许内核可以在取指(指令
断点)或取访问数据(数据断点)时停止内核。内核停止时,可以查询内核的内部状
态和系统的外部状态。查询完成后,将恢复内核和系统并恢复程序执行。
当调试主机与 MCU 相连并进行调试时,将使用调试功能。
32L13X MCU 调试支持
Cortex-M0+调试支持
Cortex-M0+
core
系统接口
总线矩阵
桥接器
SWDIO
SWCLK
SW-DP
DBGMCU
NVIC
调试AP
DWT
BPU
图 34-1 调试支持框图
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 803 of 854
Cortex®-M0+ 内核中内置的调试功能是 ARM® CoreSight 设计套件的一部分。
ARM® Cortex®-M0+内核提供集成片上调试支持。它包括:
SW-DP:串行线
BPU:断点单元
DWT:数据观察点触发
注:
– 有关 ARM® Cortex®-M0+ 内核支持的调试功能的详细信息,请参见 Cortex®M0+ 技术参考手册。
34.2
ARM® 参考文档
Cortex®-M0+技术参考手册 (TRM)
可从 www.infocenter.arm.com 获取。
ARM® 调试接口 V5
ARM® CoreSight 设计套件版本 r1p1 技术参考手册
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 804 of 854
34.3
调试端口引脚
34.3.1 SWD 端口引脚
HC32L130/HC32L136 系列的 SWD 接口,需要用到 2 个引脚,如下表所示。
SWD 端口名称
调试功能
引脚分配
SWCLK
串行时钟
PA14
SWDIO
串行数据输入/输出
PA13
34.3.2 SW-DP 引脚分配
如果烧录程序时使能了【加密芯片】选项,则上电后 SWD 调试功能被禁止。如果烧录
程序时没有使能【加密芯片】选项,则上电后 PA13/PA14 引脚均被初始化为可被调试
器使用的专用引脚。用户可设置 SYSCTRL1 .SWD_USE_IO 寄存器来禁止 SWD 引脚
的调试功能,SWD 引脚将被释放以用作普通 GPIO。SWD 引脚的配置与功能小结如下
表所示:
【加密芯片】选项
SWD_USE_IO 配置
PA13/PA14 功能
加密
0
NA
加密
1
GPIO
不加密
0
SWD
不加密
1
GPIO
34.3.3 SWD 引脚上的内部上拉
用户软件释放 SW I/O 后,GPIO 控制器便会控制这些引脚。GPIO 控制寄存器的复位
状态会将 I/O 置于等效的状态:
SWDIO:输入上拉
SWCLK:输入上拉
由于内置上拉和下拉电阻,因此无需添加外部电阻。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 805 of 854
34.4
SWD 端口
34.4.1 SWD 协议简介
此同步串行协议使用两个引脚:
SWCLK:从主机到目标的时钟
SWDIO:双向
利用该协议,可以同时读取和写入两组寄存器组(DPACC 寄存器组和 APACC 寄存
器组)。传输数据时,LSB 在前。
对于 SWDIO 双向管理,必须在电路板上对线路进行上拉(ARM® 建议采用 100 K)。
这些上拉电阻可在内部配置。无需外部上拉电阻。
每次在协议中更改 SWDIO 的方向时,都会插入转换时间,此时线路即不受主机驱动
也不受目标驱动。默认情况下,此转换时间为一位时间,但可以通过配置 SWCLK 频
率来调整。
34.4.2 SWD 协议序列
每个序列包括三个阶段:
1. 主机发送的数据包请求(8 位)
2. 目标发送的确认响应(3 位)
3. 主机或目标发送的数据传输阶段(33 位)
位
名称
说明
0
启动
必须为1
1
APnDP
0:DP 访问;1:AP 访问
2
RnW
0:写请求;1:读请求
4:3
A[3:2]
DP 或 AP 寄存器的地址字段
5
奇偶校验
前面几位的单位奇偶校验
6
停止
0
7
驻留
不受主机驱动。由于存在上拉,因此必须由目标读为 1
有关 DPACC 和 APACC 寄存器的详细说明,请参见 Cortex®-M0+ TRM。
数据包请求后面始终为转换时间(默认 1 位),此时主机和目标都不会驱动。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 806 of 854
位
名称
说明
0
ACK
001:FAULT
010:WAIT
100:OK
仅当发生 READ 事务或者接收到 WAIT 或 FAULT 确认时,ACK 响应后才必须是
转换时间。
位
名称
说明
0:31
WDATA 或RDATA
写入或读取数据
32
奇偶校验
32 个数据位的单奇偶校验
仅当发生 READ 事务时,DATA 传输后才必须是转换时间。
34.4.3 SW-DP 状态机(复位、空闲状态、ID 代码)
SW-DP 的状态机有一个用于标识 SW-DP 的内部 ID 代码。该代码符合 JEP-106 标
准。此 ID 代码是默认的 ARM®代码,设置为 0x0BB11477(相当于 Cortex®-M0+)。
注意:
– 在目标读取此 ID 代码前,SW-DP 状态机是不工作的。
在上电复位后或者线路处于高电平超过 50 个周期后,SW-DP 状态机处于复位状
态。
如果在复位状态后线路处于低电平至少两个周期,SW-DP 状态机处于空闲状态。
复位状态后,该状态机必须首先进入空闲状态,然后对 DP-SW ID CODE 寄存器
执行读访问。否则,目标将在另一个事务上发出 FAULT 确认响应。
有关 SW-DP 状态机的更多详细信息,请参见 Cortex®-M0+ TRM 和 CoreSight 设计
套件 r1p0TRM。
34.4.4 DP 和 AP 读/写访问
不延迟对 DP 的读访问:可以立即发送目标响应(如果 ACK=OK),也可以延迟
发送目标响应(如果 ACK=WAIT)。
延迟对 AP 的读访问。这意味着会在下次传输时返回访问结果。如果要执行的下
次访问不是 AP 访问,则必须读取 DP-RDBUFF 寄存器来获取结果。
每次进行 AP 读访问或 RDBUFF 读请求时都会更新 DP-CTRL/STAT 寄存器的
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 807 of 854
READOK 标志,以便了解 AP 读访问是否成功。
SW-DP 有写缓冲区(用于 DP 或 AP 写入),这样即使在其它操作仍未完成时,
也可以接受写入操作。如果写缓冲区已满,则目标确认响应为 WAIT。但 IDCODE
读取、CTRL/STAT 读取或 ABORT 写入除外,这几项操作在写缓冲区已满时也会
被接受。
由于存在异步时钟域 SWCLK 和 HCLK,因此写操作后(奇偶校验位后)还需要
两个额外的 SWCLK 周期,以使写入操作在内部生效。应在将线路驱动为低电平
时(空闲状态)应用这些周期。
在写 CTRL/STAT 寄存器以提出一个上电请求时,这一点特别重要。否则下一个操作
(在内核上电后才有效的操作)会立即执行,这将导致失败。
34.4.5 SW-DP 寄存器
当 APnDP=0 时能够访问这些寄存器:
A[3:2]
RW
SELECT 寄存器
的 CTRLSEL 位
寄存器
注释
制造商代码设置为 Cortex®-M0+ 的默认 ARM®
00
读取
IDCODE
代码。
0x0BB11477(标识 SW-DP)
00
写
ABORT
目的:
01
读 /写
0
DPCTRL/STAT
– 请求系统或调试上电
– 配置 AP 访问的传输操作
– 控制比较和验证操作
– 读取一些状态标志(上溢和上电确认)
01
读 /写
10
读取
10
写
1
WIRE
用 于 配 置 物 理 串 行 端 口 协 议(如 转 换 时 间 的 持续
CONTROL
时间)
READ
允 许 从 已损 坏 的调试 软件 传 输中 恢 复读 取 数 据,
RESEND
无需重复执行原始 AP 传输。
SELECT
用于选择当前访问端口和活动的 4 字寄存器 窗口
由于已发出 AP 访问,因此该读缓冲区非常有 用(在
11
读 /写
READ
执行下个 AP 事务时提供读取 AP 请求 的结果)。
BUFFER
此读取缓冲区捕获 AP 中的数据,显示为
前一次读取的结果,无需启动新操作。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 808 of 854
34.4.6 SW-AP 寄存器
当 APnDP=1 时能够访问这些寄存器:
有多个 AP 寄存器,这些寄存器按以下组合进行寻址:
移位值 A[3:2]
DP SELECT 寄存器的当前值
地址
A[3:2] 值
说明
0x0
00
保留,必须保持复位值。
DP CTRL/STAT 寄存器。用于:
0x4
01
– 请求系统或调试上电
– 配置 AP 访问的传输操作
– 控制比较和验证操作
– 读取一些状态标志(上溢和上电确认)
10
DP SELECT 寄存器:用于选择当前访问端口和活动的 4 字寄存器窗
口。
0x8
– 位 31:24:APSEL:选择当前 AP (select the current AP)
– 位 23:8:保留
– 位 7:4:APBANKSEL:在当前 AP 上选择活动的 4 字寄存器窗口
– 位 3:0:保留
0xC
11
DP RDBUFF 寄存器:用于通过调试器在执行一系列操作后获取最后结
果
(无需请求新的 JTAG-DP 操作)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 809 of 854
34.5
内核调试
通过内核调试寄存器调试内核。通过调试访问端口调试访问这些寄存器。它由四个寄
存器组成:
寄存器
说明
DHCSR
32 位调试停止控制和状态寄存器
此寄存器提供有关处理器状态的信息,能够使内核进入调试停止状态并提供处理器步进功
能。
DCRSR
17 位调试内核寄存器选择器寄存器:
此寄存器选择需要进行读写操作的处理器寄存器。
DCRDR
32 位调试内核寄存器数据寄存器:
此寄存器保存在寄存器与 DCRSR(选择器)寄存器选择的处理器之间读取和写入的
数据。
DEMCR
32 位调试异常和监视控制寄存器:
此寄存器提供向量捕获和调试监视控制。
这些寄存器在系统复位时不复位。它们只能通过上电复位来复位。有关更多详细信息,
请参见 Cortex®-M0+ TRM。
为了在复位后立即使内核进入调试停止状态,必须:
34.6
使能调试和异常监视控制寄存器的位 0 (VC_CORRESET)
使能调试停止控制和状态寄存器的位 0 (C_DEBUGEN)
BPU(断点单元)
Cortex®-M0+ BPU 实现提供四个断点寄存器。
34.6.1 BPU 功能
处理器断点实现了基于 PC 的断点功能。
有关 BPU CoreSight 标识寄存器及其地址和访问类型的更多信息,请参见 ARMv6-M
ARM®和 ARM® CoreSight 组件技术参考手册。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 810 of 854
34.7
DWT(数据观察点)
Cortex®-M0+ DWT 实现提供了两个观察点寄存器组。
34.7.1 DWT 功能
处理器观察点实现了数据地址和基于 PC 的观察点功能(即 PC 采样寄存器),并支
持比较器地址掩码,如 ARMv6-M ARM® 中所述。
34.7.2 DWT 程序计数器采样寄存器
实现数据观察点单元的处理器还实现了 ARMv6-M 可选 DWT 程序计数器采样寄存
器(DWT_PCSR)。此寄存器允许调试程序定期采样 PC,无需停止处理器。这可提供粗
略分析。有关更多信息,请参见 ARMv6-M ARM®。
Cortex®-M0+ DWT_PCSR 记录通过条件代码和指令以及未通过条件代码的指令。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 811 of 854
34.8
MCU 调试组件(DBG)
MCU 调试组件帮助调试器为以下各项提供支持:
低功耗模式
断点期间的定时器、看门狗的时钟控制
34.8.1 对低功耗模式的调试支持
要进入低功耗模式,必须执行指令 WFI 或 WFE。
MCU 支持多个低功耗模式,这些模式可以禁止 CPU 时钟或降低 CPU 功耗。
内核不允许在调试会话期间关闭 FCLK 或 HCLK。由于调试期间需要使用它们进行
调试连接,因此其必须保持激活状态。MCU 集成了特殊方法,允许用户在低功耗模式
下调试软件。
34.8.2 对定时器、看门狗的调试支持
断点期间,必须选择定时器和看门狗的计数器的行为方式:
在产生断点时,计数器继续计数。例如,当 PWM 控制电机时,通常需要这种方
式。
在产生断点时,计数器停止计数。用于看门狗时需要这种方式。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 812 of 854
34.9
调试模式模块工作状态控制(DEBUG_ACTIVE)
复位值 0x00000FFF(仅在 SWD 调试模式下,此寄存器设置才起作用)
偏移地址:0x038
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
1
0
Reserved
15
14
13
12
11
10
TIM3
Reserved
9
8
7
6
5
4
3
2
RTC
WDT
PCA
TIM6
TIM5
TIM4
LPTIM
TIM2
TIM1
TIM0
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
Res.
RW
位
标记
功能描述
31:12
Reserved
保留
调试时, Timer3 计数功能配置
11
TIM3
1:在 SWD 调试界面下,暂停 Timer3 计数功能
0:在 SWD 调试界面下,Timer3 正常计数功能
10
Reserved
保留
调试时, RTC 计数功能配置
9
RTC
1:在 SWD 调试界面下,暂停 RTC 计数功能
0:在 SWD 调试界面下,RTC 正常计数功能
调试时, WDT 计数功能配置
8
WDT
1:在 SWD 调试界面下,暂停 WDT 计数功能
0:在 SWD 调试界面下,WDT 正常计数功能
调试时, PCA 计数功能配置
7
PCA
1:在 SWD 调试界面下,暂停 PCA 计数功能
0:在 SWD 调试界面下,PCA 正常计数功能
调试时, Timer6 计数功能配置
6
TIM6
1:在 SWD 调试界面下,暂停 Timer 计数功能
0:在 SWD 调试界面下,Timer 正常计数功能
调试时, Timer5 计数功能配置
5
TIM5
1:在 SWD 调试界面下,暂停 Timer 计数功能
0:在 SWD 调试界面下,Timer 正常计数功能
调试时, Timer4 计数功能配置
4
TIM4
1:在 SWD 调试界面下,暂停 Timer 计数功能
0:在 SWD 调试界面下,Time r 正常计数功能
调试时, LpTimer 计数功能配置
3
LPTIM
1:在 SWD 调试界面下,暂停 Timer 计数功能
0:在 SWD 调试界面下,Time r 正常计数功能
2
TIM2
调试时, Timer2 计数功能配置
1:在 SWD 调试界面下,暂停 Timer 计数功能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 813 of 854
0:在 SWD 调试界面下,Timer 正常计数功能
调试时, Timer1 计数功能配置
1
TIM1
1:在 SWD 调试界面下,暂停 Timer 计数功能
0:在 SWD 调试界面下,Timer 正常计数功能
调试时, Timer0 计数功能配置
0
TIM0
1:在 SWD 调试界面下,暂停 Timer 计数功能
0:在 SWD 调试界面下,Timer 正常计数功能
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 814 of 854
35
典型应用电路图
DVCC
DVCC
10K
100nF
RESETB
SWCLK
1uF+
100nF
VCAP
RESETB
BOOT0
1.8 - 5.5V
DVCC
SWD & ISP
SWDIO
10K
XTHI
可
选
1.8 - 5.5V
DVSS
XTHO
AVCC
XTLI
可
选
AVSS
XTLO
注意:
– AVCC 与 DVCC 电压必须相同。
– 每组电源都需要一个去耦电容,去耦电容尽量靠近相应电源引脚。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 815 of 854
36
电气特性
36.1
测试条件
除非特别说明,所有的电压都以 VSS 为基准。
36.1.1 最小和最大数值
除非特别说明,在生产线上通过对 100%的产品在环境温度 TA=25℃和 TA=TAmax 下
执行的测试(TAmax 与选定的温度范围匹配),所有最小和最大值将在最坏的环境温
度、供电电压和时钟频率条件下得到保证。
在每个表格下方的注解中说明为通过综合评估、设计模拟和/或工艺特性得到的数据,
不会在生产线上进行测试;在综合评估的基础上,最小和最大数值是通过样本测试后,
取其平均值再加减三倍的标准分布(平均±3Σ)得到。
36.1.2 典型数值
除非特别说明,典型数据是基于 TA=25℃和 VCC=3.3V(1.8V ≤ VCC ≤ 5.5V 电压范
围)。这些数据仅用于设计指导而未经测试。
典型的 ADC 精度数值是通过对一个标准的批次采样,在所有温度范围下测试得到,
95%产品的误差小于等于给出的数值(平均±2Σ)。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 816 of 854
36.2
绝对最大额定值
加在器件上的载荷如果超过“绝对最大额定值”列表中给出的值,可能会导致器件永久
性地损坏。这里只是给出能承受的最大载荷,并不意味在此条件下器件的功能性操作
无误。器件长期工作在最大值条件下会影响器件的可靠性。
符号
描述
最小值
外部主供电电压(包含AVCC和DVCC)
VCC - VSS
(1)
(2)
最大值
单位
-0.3
5.5
V
VSS-0.3
VCC + 0.3
V
VIN
在其它引脚上的输入电压
| ΔVCCx |
不同供电引脚之间的电压差
50
mV
| VSSx - VSS |
不同接地引脚之间的电压差
50
mV
VESD(HBM)
ESD静电放电电压(人体模型)
参考绝对最大值电气参数
V
表 36-1 电压特性
1. 所有的电源(DVCC,AVCC)和地(DVSS, AVSS)引脚必须始终连接到外部允许范围内的供电系统上。
2. IINJ(PIN)绝对不可以超过它的极限,即保证 VIN 不超过其最大值。如果不能保证 VIN 不超过其最大值,也
要保证在外部限制 I INJ(PIN)不超过其最大值。当 VIN>VCC 时,有一个正向注入电流;当 VINVCC 时,有一个正向注入电流;当 VIN=2.7V
500Ksps@VCC>=2.4V
ENOB
Effective Bits
200Ksps@VCC>=1.8V
10.3
Bit
10.3
Bit
REF=EXREF
1Msps@VCC>=2.7V
500Ksps@VCC>=2.4V
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 836 of 854
200Ksps@VCC>=1.8V
REF=VCC
200Ksps@VCC>=1.8V
REF=internal 1.5V
200Ksps@VCC>=2.8V
REF=internal 2.5V
9.4
Bit
9.4
Bit
68.2
dB
68.2
dB
60
dB
60
dB
1Msps@VCC>=2.7V
500Ksps@VCC>=2.4V
200Ksps@VCC>=1.8V
REF=EXREF
1Msps@VCC>=2.7V
SNR
Signal to Noise
500Ksps@VCC>=2.4V
Ratio
200Ksps@VCC>=1.8V
REF=VCC
200Ksps@VCC>=1.8V
REF=internal 1.5V
200Ksps@VCC>=2.8V
REF=internal 2.5V
200Ksps;
DNL(1)
Differential non-linearity
INL(1)
Integral non-linearity
Eo
Offset error
0
LSB
Eg
Gain error
0
LSB
VREF=EXREF/AVCC
200Ksps;
VREF=EXREF/AVCC
-1
1
LSB
-3
3
LSB
1. 由设计保证,不在生产中测试。
2. ADC 的典型应用如下图所示:
VCC
RAIN
RADC
AINX
12 bit converter
VAIN
Ileak ag e:+ /-50nA
Cpara siti c
CADC
12 bit SAR ADC
对于 0.5LSB 采样误差精度要求的条件下,外部输入阻抗的计算公式如下:
R AIN =
M
− R ADC
𝐹𝐴𝐷𝐶 ∗ 𝐶𝐴𝐷𝐶 ∗ (N + 1) ∗ ln(2)
其中𝐹𝐴𝐷𝐶 为 ADC 时钟频率,寄存器 ADC_CR0可设定其与 PCLK 的关系,如下
表。
下表为 ADC 时钟频率𝐹𝐴𝐷𝐶 和 PCLK 分频比关系:
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 837 of 854
ADC_CR0
N
00
1
01
2
10
4
11
8
M 为采样周期个数,由寄存器 ADC_CR0设定。
下表为采样时间𝑡𝑠𝑎 和 ADC 时钟频率𝐹𝐴𝐷𝐶 的关系:
ADC_CR0
M
00
4
01
6
10
8
11
12
下表为 ADC 时钟频率𝐹𝐴𝐷𝐶 和外部电阻𝑅𝐴𝐼𝑁 的关系(M=12,采样误差 0.5LSB 的条件
下):
𝑅𝐴𝐼𝑁 (KOhm)
𝐹𝐴𝐷𝐶 (KHz)
10
5600
30
2100
50
1300
80
820
100
660
120
550
150
450
对于上述典型应用,应注意:
- 尽量减小 ADC 输入端口𝐴𝐼𝑁𝑋 的寄生电容𝐶𝑃𝐴𝑅𝐴𝐶𝐼𝑇𝐼𝐶 ;
- 除了考虑𝑅𝐴𝐼𝑁 值外,如果信号源𝑉𝐴𝐼𝑁 的内阻较大时,也需要加入考虑。
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 838 of 854
36.3.16 VC 特性
符号
参数
Vin
Input voltage range
Vincom
Input common mode range
Voffset
Input offset
常温25°C
Icomp
Comparator’s current
VCx_BIAS_SEL=00
0.3
VCx_BIAS_SEL=01
1.2
VCx_BIAS_SEL=10
10
VCx_BIAS_SEL=11
20
Comparator’s response time
VCx_BIAS_SEL=00
20
when one input cross
VCx_BIAS_SEL=01
5
another
VCx_BIAS_SEL=10
1
VCx_BIAS_SEL=11
0.2
Comparator’s setup time
VCx_BIAS_SEL=00
20
when ENABLE.
VCx_BIAS_SEL=01
5
Input signals unchanged.
VCx_BIAS_SEL=10
1
VCx_BIAS_SEL=11
0.2
Tresponse
Tsetup
Twarmup
条件
最小值
3.3V
典型值
最大值
单位
0
5.5
V
0
VCC-0.2
V
-10
+10
mV
μA
μs
μs
20
μs
VC_debounce = 000
7
μs
VC_debounce = 001
14
VC_debounce = 010
28
VC_debounce = 011
112
VC_debounce = 100
450
VC_debounce = 101
1800
VC_debounce = 110
7200
VC_debounce = 111
28800
From main bandgap enable
to 1.2V BGR reference、
Temp sensor voltage、ADC
internal 1.5V、2.5V
reference stable
Tfilter
Digital filter time
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 839 of 854
36.3.17 OPA 特性
OPA:(AVCC=2.2V ~ 5.5 V, AVSS=0 V, Ta=- 40°C ~ +85°C)
符号
参数
条件
最小值
典型值
最大值
单位
Vi
输入电压
Vo
输出电压
(1)
0
-
AVCC
V
Io
输出电流
(1)
0.1
-
AVCC-0.1
V
0.5
mA
RL
负载电阻(1)
Tstart
初始化时间
Vio
输入失调电压
PM
相位范围(1)
RL=10KΩ, CL=20pF
65
-
deg
GM
增益范围
RL=10KΩ, CL=20pF
15
-
dB
UGBW
单位增益带宽(1)
CL=20pF
2.5
MHz
SR
压摆率
CL=15pF
2.6
V/uS
CMRR
共模抑制比
70
dB
Ω
10K
(2)
(2)
(1)
20
Vic=AVCC/2, Vo=AVCC/2,
us
±6
RL=10KΩ, Rs=50Ω
(1)
mV
1. 由设计保证,不在生产中测试。
2. 需要同时设置 BGR_CR=1
36.3.18 LCD 控制器
符号
参数
工作条件
ILCD
电流
VCC=3.3V
RH
最小
典型
最大
单位
3.3
uA
低驱动电阻
1M
Ω
RL
高驱动电阻
360K
Ω
VLCDH
LCD 可调最高电压
VCC
V
VLCD3
LCD 最高电压
VLCDH
V
VLCD2
LCD 2/3电压
2/3 VLCDH
V
VLCD1
LCD 1/3电压
1/3 VLCDH
V
VLCD0
LCD最低电压
△VXX
LCD 电压偏差
0
TA=-40~85℃
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
V
±50
mV
Page 840 of 854
器件电子签名
37
电子签名存放在闪存存储器模块的系统存储区域,可以通过 SWD 或者 CPU 读取。它
包含的芯片识别信息在出厂时编写,用户固件或者外部设备可以读取电子签名,用以
自动匹配不同配置的 HC32Fxxx / HC32Lxxx 微控制器。
产品唯一身份标识(UID)寄存器(80 位)
37.1
唯一身份标识符典型应用场景:
用作序列号
在对内部 Flash 进行编程前将 UID 与软件加密原语和协议结合使用时用作安全
密钥以提高 Flash 中代码的安全性
激活安全自举过程等
80 位的唯一设备标识符提供了一个对于任何设备和任何上下文都唯一的参考号码。用
户永远不能改变这些位。80 位的唯一设备标识符也可以以单字节/半字/字等不同方式
读取,然后使用自定义算法连接起来。
基址:0x0010 0E74
偏移地址
描述
UID Bits(80 bits)
7
6
5
4
3
0
UID[7:0]
1
UID[15:8]
2
3
Lot Number
0
UID[31:24]
UID[39:32]
5
UID[47:40]
X Coordinate
1
UID[23:16]
4
6
2
UID[55:48]
on the wafer
7
Y Coordinate
UID[63:56]
on the wafer
8
Wafer Number
UID[71:64]
9
Rev ID
UID[79:72]
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 841 of 854
37.2
产品型号寄存器
0x0010 0C60 ~ 0x0010 0C6F 存储了产品型号的 ASCII 码。如产品型号不足 16 字节,
则以 0x00 进行填充。
例:484333324C3133364B38544100000000 所代表的产品型号为 HC32L136K8TA。
37.3
FLASH 容量寄存器
基地址:0x0010 0C70
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
FlashSize[31:16]
R
15
14
13
12
11
10
9
8
7
FlashSize[15:0]
R
位
标记
功能描述
31:0
FlashSize
产品内置 Flash 的容量,以字节为单位
0x00008000 代表 Flash 容量为 32K Byte
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 842 of 854
37.4
RAM 容量寄存器
基地址:0x0010 0C74
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
6
5
4
3
2
1
0
5
4
3
2
1
0
RamSize[31:16]
R
15
14
13
12
11
10
9
8
7
RamSize[15:0]
R
位
标记
功能描述
31:0
RamSize
产品内置 RAM 的容量,以字节为单位
0x00000800 代表 RAM 容量为 2K Byte
37.5
管脚数量寄存器
基地址:0x0010 0C7A
15
14
13
12
11
10
9
8
7
6
PinCount[15:0]
R
位
标记
功能描述
15:0
PinCount
产品管脚的数量,以只为单位
0x0020 代表产品管脚数量为 32
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 843 of 854
38
封装尺寸
LQFP64 封装
A3
A2 A
A1
F
θ
c
D
D1
1
E1
b
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
e
E
B B
Page 844 of 854
LQFP64 (10x10)
LQFP64 (7x7)
Symbol
Min
Nom
Max
Min
Nom
Max
A
--
--
1.60
--
--
1.60
A1
0.05
--
0.15
0.05
--
0.15
A2
1.35
1.40
1.45
1.35
1.40
1.45
A3
0.59
0.64
0.69
0.59
0.64
0.69
b
0.18
--
0.26
0.16
--
0.24
b1
0.17
0.20
0.23
0.15
0.18
0.21
c
0.13
--
0.17
0.13
--
0.17
c1
0.12
0.13
0.14
0.12
0.13
0.14
D
11.80
12.00
12.20
8.80
9.00
9.20
D1
9.90
10.00
10.10
6.90
7.00
7.10
E
11.80
12.00
12.20
8.80
9.00
9.20
E1
9.90
10.00
10.10
6.90
7.00
7.10
eB
11.25
--
11.45
8.10
--
8.25
e
L
0.50BSC
0.45
L1
θ
--
0.40BSC
0.75
0.40
1.00REF
0°
--
--
0.65
1.00REF
7°
0°
--
7°
NOTE:
- Dimensions “D1” and “E1” do not include mold flash.
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 845 of 854
LQFP48 封装
Millimeter
Symbol
Min
Nom
Max
A
--
--
1.60
A1
0.05
--
0.15
A2
1.35
1.40
1.45
A3
0.59
0.64
0.69
b
0.18
--
0.26
b1
0.17
0.20
0.23
c
0.13
--
0.17
c1
0.12
0.13
0.14
D
8.80
9.00
9.20
D1
6.90
7.00
7.10
E
8.80
9.00
9.20
E1
6.90
7.00
7.10
eB
8.10
--
8.25
e
L
0.50BSC
0.40
L1
θ
--
0.65
1.00REF
0
--
7°
NOTE:
- Dimensions “D1” and “E1” do not include
mold flash.
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 846 of 854
QFN48 封装
Millimeter
Symbol
Min
Nom
Max
A
0.70
0.75
0.80
A1
0.00
0.02
0.05
A3
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
0.20REF
b
0.20
0.25
0.30
D
6.90
7.00
7.10
D2
5.20
5.30
5.40
E
6.90
7.00
7.10
E2
5.20
5.30
5.40
e
0.40
0.50
0.60
K
0.35
0.45
0.55
L
0.30
0.40
0.50
R
0.09
--
--
Page 847 of 854
QFN32 封装
Millimeter
Symbol
Min
Nom
Max
A
0.70
0.75
0.80
A1
0.00
0.02
0.05
b
0.15
0.20
0.25
c
0.18
0.20
0.25
D
3.90
4.00
4.10
D2
2.60
2.65
2.70
e
0.40BSC
Nd
2.80BSC
E
3.90
4.00
4.10
E2
2.60
2.65
2.70
Ne
K
0.20
--
--
L
0.35
0.40
0.45
L1
0.30
0.35
0.40
L2
0.15
0.20
0.25
h
0.30
0.35
0.40
L/F 载体尺寸
(Mil)
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
2.80BSC
112*112
Page 848 of 854
TSSOP28 封装
Millimeter
Symbol
Min
Nom
Max
A
--
--
1.20
A1
0.05
--
0.15
A2
0.80
--
1.00
A3
0.39
0.44
0.49
b
0.20
--
0.29
b1
0.19
0.22
0.25
c
0.14
--
0.18
c1
0.12
0.13
0.14
D
9.60
9.70
9.80
E
6.20
6.40
6.60
E1
4.30
4.40
4.50
e
0.65BSC
L
0.45
L1
θ
0.60
0.75
1.00BSC
0
--
8°
NOTE:
- Dimensions “D” and “E1” do not include
mold flash.
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 849 of 854
39
附录 A SysTick 定时器
39.1
SysTick 定时器简介
OS 要想支持多任务,就需要周期执行上下文切换,这样就需要有定时器之类的硬件资
源打断程序执行。当定时器中断产生时,处理器就会在异常处理中进行 OS 任务调度,
同时还会进行 OS 维护的工作。Cortex-M0 处理器中有一个称为 SysTick 的简单定时器,
用于产生周期性的中断请求。
SysTick 为 24 位的定时器,并且向下计数。定时器的计数减到 0 后,就会重新装载一
个可编程的数值,并且同时产生 SysTick 异常(异常编号为 15),该异常事件会引起
SysTick 异常处理的执行,这个过程是 OS 的一部分。
对于不需要 OS 的系统,SysTick 定时器也可以用作其他用途,比如定时、计时或者为
需要周期执行的任务提供中断源。SysTick 异常的产生是可控的,如果异常被禁止,仍
然可以用轮询的方法使用 SysTick 定时器,比如检查当前的计数值或者轮询计数标志。
39.2
设置 SysTick
由于 SysTick 定时器的重载值和当前值在复位时都是未定义的,为了防止产生异常结
果,对 SysTick 的配置需要遵循一定的流程:
Step1:配置 SysTick->CTRL. ENABLE 为 0,禁止 SysTick。
Step2:配置 SysTick->CTRL. CLKSOURCE,选择 SysTick 的时钟源。
Step3:配置 SysTick->LOAD,选择 SysTick 的溢出周期。
Step4:向 SysTick->VAL 写入任意值,清零 SysTick->VAL 及 SysTick->CTRL.
COUNTFLAG。
Step5:配置 SysTick->CTRL. TICKINT 为 1,使能 SysTick 中断。
Step6:配置 SysTick->CTRL. ENABLE 为 1,使能 SysTick。
Step7:在中断服务程序中读取 SysTick->CTRL 以清除溢出标志。
注意:Systick 溢出周期为 SysTick->LOAD+1,配置示例如下:
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 850 of 854
时钟源
39.3
SysTick->LOAD
溢出周期
HCLK
4MHz
3999
1ms
XTL
32.768KHz
327
10.01ms
SysTick 寄存器
地址
名称
CMSIS 符号
全名
0XE000E010
SYS_CSR
SysTick->CTRL
SysTick控制和状态寄存器
0XE000E014
SYS_RVR
SysTick->LOAD
SysTick重装载寄存器
0XE000E018
SYS_CVR
SysTick->VAL
SysTick当前值寄存器
0XE000E01C
SYS_CALIR
SysTick->CALIB
SysTick校准值寄存器
39.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
1:使用内核时钟(HCLK)
0:使用参考时钟(XTL)
注:当选择参考时钟作为SysTick的时钟源时,需要同
步使能XTL时钟源及SysCtrl.PERI_CLKEN.TICK
1
TICKINT
SysTick中断使能
1:使能中断
0:禁止中断
0
ENABLE
SysTick定时器使能
1:使能SysTick
0:禁止SysTick
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 851 of 854
39.3.2 SysTick 重载寄存器(LOAD)
位
符号
功能描述
类型
复位值
31:24
Reserved
-
-
-
23:0
RELOAD
SysTick 定时器重载值
RW
未定义
39.3.3 SysTick 当前值寄存器(VAL)
位
符号
功能描述
类型
复位值
31:24
Reserved
-
-
-
23:0
CURRENT
读取该寄存器,获取SysTick定时器的当前计数值
RW
未定义
写任意值到该寄存器,清零该寄存器及COUNTFLAG
39.3.4 SysTick 校准值寄存器(CALIB)
位
符号
功能描述
类型
复位值
31
NOREF
SysTick当前计数时钟标志
RO
-
1:当前计数时钟为内核时钟(HCLK)
0:当前计数时钟为外部参考时钟(XTL)
30
SKEW
TENMS精度指示
RO
1:TENMS值代表粗略的10ms
0:TENMS值代表精确的10ms
29:24
Reserved
-
-
23:0
TENMS
10毫秒校准值
RO
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
-
Page 852 of 854
40
附录 B 文档约定
40.1
寄存器相关缩写词列表
寄存器说明中使用以下缩写词:
RW
读写,软件可以读写这些位。
RO
只读,软件只能读取这些位。
WO
只写,软件只能写入该位。读取该位时将返回无效数据。
W1
只写 1,硬件自动清 0,写 0 无效
R0W1
软件读取该位为 0,写入 1 将该位清零。写入 0 对该位的值无影响。
RW0
软件可以读写该位,写 1 无效,写 0 清除
R1W0
软件读取该位为 1,,写入 0 将该位清零。写入 1 对该位的值无影响。
RC
软件可以读取该位。读取该位时,将自动清零。
写入“0”对该位的值无影响。
Res, Reserverd 保留位,必须保持复位值。
40.2
词汇表
本节简要介绍本文档中所用首字母缩略词和缩写词的定义:
Word:32 位数据。
Half Word:16 位数据。
Byte:8 位数据。
IAP(在应用中编程):IAP 是指可以在用户程序运行期间对微控制器的 Flash 进行重
新编程。
ICP(在线编程):ICP 是指可以在器件安装于用户应用电路板上时使用 JTAG 协议、
SWD 协议或自举程序对微控制器的 Flash 进行编程。
AHB:高级高性能总线。
APB:低速外设总线。
DMA:直接存储器访问。
TIM:定时器
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 853 of 854
版本记录 & 联系方式
版本
修订日期
修订内容摘要
Rev1.0
2018/8/17
初稿发布。
Rev1.1
2018/8/27
增加在线编程模式描述;修改参数。
Rev1.2
2018/10/15
补充第12章FLASH操作描述。
Rev1.3
2018/11/11
增加第2章描述引脚配置和功能,修改13.4节。
修正以下数据:①ADC特性 ②增加封装尺寸 ③删除OPA校零 ④全片擦除(Chip Erase)中
Rev1.4
2019/2/27
Step6和Step7 ⑤ESD特性 ⑥存储器特性中ECFLASH最小值 ⑦控制寄存器(UARTx_SCON)
和控制寄存器(LPUARTx_SCON)中PEIE描述。
Rev1.5
2019/7/23
修正以下数据:①存储器特性 ②ESD特性 ③编程模式。
修正以下数据:①引脚配置图中BOOT0脚 ②模块信号说明中增加新描述 ③典型应用电路图
Rev1.6
2019/12/12
④高速外部时钟XTH和低速外部时钟XTL中配图与注意事项 ⑤更新I2C 总线(I2C)、通用
同步异步收发器(UART)、低功耗同步异步收发器(LPUART)部分描述。
修正以下数据:①器件电子签名;②附录A SysTick 定时器;③DMA控制器(DMAC)和
Rev1.7
2020/1/17
循环冗余校验(CRC)章节描述;④系统控制寄存器1(SYSCTRL1)增加注意项;⑤CR寄
存器(FLASH_CR)复位值;⑥I2C配置寄存器(I2Cx_CR)的0位;⑦增加QFN48封装。
Rev1.8
2020/3/5
编程模式中增加注意项。
如果您在购买与使用过程中有任何意见或建议,请随时与我们联系。
Email:mcu@hdsc.com.cn
网址:http://www.hdsc.com.cn/mcu.htm
通信地址:上海市浦东新区中科路 1867 号 A 座 10 层
邮编:201203
HC32L130 系列 / HC32L136 系列用户手册 Rev1.8
Page 854 of 854