0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
HC32L136K8TA

HC32L136K8TA

  • 厂商:

    XHSC(小华半导体)

  • 封装:

    LQFP64_7X7MM

  • 描述:

    CPU内核:ARM Cortex-M0 CPU最大主频:48MHz 工作电压范围:1.8V~5.5V 内部振荡器:有 外部时钟频率范围:4MHz~32MHz 程序 FLASH容量:64KB RAM总容...

  • 数据手册
  • 价格&库存
HC32L136K8TA 数据手册
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
HC32L136K8TA 价格&库存

很抱歉,暂时无法提供与“HC32L136K8TA”相匹配的价格&库存,您可以联系我们找货

免费人工找货