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

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
CH571F

CH571F

  • 厂商:

    WCH(南京沁恒)

  • 封装:

    QFN28_4X4MM_EP

  • 描述:

    32位MCU微控制器 QFN28 2.3~3.6V

  • 数据手册
  • 价格&库存
CH571F 数据手册
CH573/CH571 数据手册 V2.2 概述 CH573 是集成 BLE 无线通讯的 RISC-V MCU 微控制器。片上集成低功耗蓝牙 BLE 通讯模块、全速 USB 主机和设备控制器及收发器、SPI、4 个串口、ADC、触摸按键检测模块、RTC 等丰富的外设资源。 功能 l 通用串行总线 USB: l Royalty-Free 内核 Core: - - 内置 USB 控制器和 DMA,支持 64 字节数据包 - 集成 USB 2.0 全速收发器 PHY,无需外围 - 支持全/低速的 Host 主机和 Device 设备模式 l 实时时钟 RTC:支持定时和触发两种模式 l 模数转换 ADC: - 12 位模数转换器,支持差分和单端输入 - 10 路外部模拟信号通道和 2 路内部信号 32 位青稞 RISC-V 处理器 WCH RISC-V3A 支持 RV32IMAC 指令集,硬件乘法和除法 低功耗两级流水线 多档系统主频,最低 32KHz 特有高速的中断响应机制 l 512K 字节非易失存储 FlashROM: - 448KB 用户应用程序存储区 CodeFlash 32KB 用户非易失数据存储区 DataFlash 24KB 系统引导程序存储区 BootLoader 8KB 系统非易失配置信息存储区 InfoFlash 支持 ICP、ISP 和 IAP,支持 OTA 无线升级 20MHz 系统主频下基本零等待 l 触摸按键检测模块 TouchKey:10 路通道 l 定时器 Timer 和脉宽调制 PWM: - 4 组 26 位定时器,16MHz 主频定时可达 4.2S - 4 路捕捉/采样,支持上升沿/下降沿/双边沿 - 4 路 26 位 PWM 输出,8 路 8 位 PWM 输出 l 18K 字节易失数据存储 SRAM: l 异步串口 UART: - 16KB 双电源供电的睡眠保持存储区 RAM16K - 2KB 双电源供电的睡眠保持存储区 RAM2K - l 电源管理和低功耗: - 支持 3.3V 和 2.5V 电源,CH573X 支持 1.8V 内置 DC-DC 转换,0dBm 发送功率时电流 6mA 空闲模式 Idle:1.5mA 暂停模式 Halt:320uA 睡眠模式 Sleep:1.4uA~8uA 多档 下电模式 Shutdown:0.3uA~2uA 多档 可选低功耗或高精度的电池电压低压监控 4 组独立 UART,兼容 16C550,内置 8 级 FIFO 23 位计数器,通讯波特率可达 6Mbps UART0 支持部分 Modem,支持硬件自动流控 UART0 支持多机通讯时从机地址自动匹配 l 串行外设接口 SPI: - 内置 FIFO,支持 DMA - SCK 串行时钟频率可达系统主频的一半 - 支持 Master 和 Slave 模式 l 时钟:内置 PLL,内置 32KHz 时钟 l 安全特性:AES-128 加解密,芯片唯一 ID l 温度传感器 TS l 低功耗蓝牙 BLE: l 通用输入输出端口 GPIO: - - 集成 2.4GHz RF 收发器和基带及链路控制 接收灵敏度-96dBm,可编程+5dBm 发送功率 BLE 符合 Bluetooth Low Energy 4.2 规范 在 3dBm 发送功率时无线通讯距离约 240 米 提供优化的协议栈和应用层 API,支持组网 22 个 GPIO,其中 4 个支持 5V 信号输入 可选上拉或下拉电阻,可选输出驱动能力 所有 GPIO 支持电平或边沿中断输入 所有 GPIO 支持电平或边沿唤醒输入 l 封装形式:QFN28_4X4、QFN32_4X4、QFN20_3X3 CH571 基于 CH573 简化,去掉了 USB host 主机和触摸按键检测模块、8 位 PWM 模块和两个串口, FlashROM 总容量仅 256KB,ADC 不支持 DMA,只支持 2.3V 以上电源电压。除了上述差异,其它基本与 CH573 相同,可直接参考 CH573 手册和资料。 V2.2 1 WCH 用户闪存 芯片 +引导闪存 型号 +数据闪存 CH573X 448K+ CH573F 24K+32K CH573Q CH571F 192K+ CH571D 24K+32K CH571R CH571K 数据 存储 RAM 16+2K 16+2K 16+2K 16+2K 16+2K 16+2K 16+2K RTC 定 SPI BLE 捕 串 时 时 PWM 主 蓝 捉 口 钟 器 从 牙 4 4+8 4 4 4+6 组 4 4+8 4 √ 4 4+0 √ √ 组 2 3 3+0 组 4 4+0 0 0 1 ADC 及 TS 10+1 8+1 10+1 6+1 6+1 4+1 4+1 电容 触摸 按键 10 路 8路 10 路 0 0 0 0 PLL USB USB 倍 主 设 频 机 备 √ √ √ √ √ √ √ × √ × √ × √ × × DC DC √ √ √ √ × × × 最低 电源 电压 1.7V 2.3V 2.3V 2.3V 2.3V 2.3V 2.3V 通 用 I/O 22 20 22 20 15 10 4 封装 形式 QFN32 QFN28 LQFP32 QFN28 QFN20 TSSOP16 ESSOP10 注: CH573Q、CH571R 和 CH571K 因封装形式所限,射频性能相比 QFN 封装形式略有下降。 V2.2 2 WCH CH573/CH571 数据手册 http://wch.cn 第 1 章 引脚信息 24 23 22 21 20 19 18 17 CH573X PB10/UD-/TMR1_ PB11/UD+/TMR2_ PB12/SCS_/RXD1_ PB13/SCK0_/TXD1_ PB14/TIO/MOSI_/PWM10/DSR PB15/TCK/MISO_/DTR PA9/TMR0/TXD1/AIN13 PA8/RXD1/AIN12 16 15 14 13 12 11 10 9 VDCIA PA4/AIN0 PA5/AIN1 PA15/MISO/RXD0_/AIN5 PA14/MOSI/TXD0_/AIN4 PA13/SCK0/AIN3 PA12/SCS/AIN2 25 26 27 28 29 30 31 32 1 2 3 4 5 6 7 8 GND PA4/RXD3/AIN0 PA5/TXD3/AIN1 PA15/MISO/RXD0_/AIN5 PA14/MOSI/TXD0_/AIN4 PA13/SCK0/PWM5/AIN3 PA12/SCS/PWM4/AIN2 PA11/X32KO/TMR2 CH573Q PB10/UD-/TMR1_ PB11/UD+/TMR2_ PB12/SCS_/RXD1_ PB13/SCK0_/TXD1_ PB14/TIO/MOSI_/PWM10/DSR PB15/TCK/MISO_/DTR PA9/TMR0/TXD1/AIN13 PA8/RXD1/AIN12 16 15 14 13 12 11 10 9 ANT VINTA X32MI X32MO PB23/RST#/TMR0_ 15 14 13 12 11 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 0 GND PA11/X32KO/TMR2 PA10/X32KI/TMR1 VDCID VSW VIO33/VDD33 PA8/RXD1 PA9/TMR0/TXD1 CH571F 14 13 12 11 10 9 8 PB7/TXD0 PB10/UD-/TMR1_ PB11/UD+/TMR2_ PB12/SCS_/RXD1_ PB13/SCK0_/TXD1_ PB14/TIO/MOSI_/DSR PB15/TCK/MISO_/DTR PA10/X32KI/TMR1 PB6/RTS/PWM8/AIN9 PB0/PWM6/CTS/AIN8 VDCID/VDCIA VSW GND VIO33/VDD33 VIN5 22 23 24 25 26 27 28 ANT VINTA X32MI X32MO PB22/TMR3/RXD2 PB23/RST#/TMR0_/TXD2/PWM11 PB4/RXD0/PWM7 PB7/TXD0/PWM9 ANT VINTA X32MI X32MO PB22/TMR3 PB23/RST#/TMR0_ PB4/RXD0 24 23 22 21 20 19 18 17 21 20 19 18 17 16 15 0 1 2 3 4 5 6 7 GND 0 VDCIA PA4/RXD3/AIN0 PA5/TXD3/AIN1 PA15/MISO/RXD0_/AIN5 PA14/MOSI/TXD0_/AIN4 PA13/SCK0/PWM5/AIN3 PA12/SCS/PWM4/AIN2 PA11/X32KO/TMR2 ANT VINTA X32MI X32MO PB22/TMR3/RXD2 PB23/RST#/TMR0_/TXD2/PWM11 PB4/RXD0/PWM7 PB7/TXD0/PWM9 25 26 27 28 29 30 31 32 PA10/X32KI/TMR1 PB6/RTS/PWM8/AIN9 PB0/PWM6/CTS/AIN8 VDCID VSW VDD33 VIO33 VIN5 CH573F 14 13 12 11 10 9 8 PB7/TXD0/PWM9 PB10/UD-/TMR1_ PB11/UD+/TMR2_ PB12/SCS_/RXD1_ PB13/SCK0_/TXD1_ PB14/TIO/MOSI_/PWM10/DSR PB15/TCK/MISO_/DTR PA11/X32KO/TMR2 PA10/X32KI/TMR1 VDCID VSW VIO33/VDD33 PA8/RXD1/AIN12 PA9/TMR0/TXD1/AIN13 VDCIA PA4/RXD3/AIN0 PA5/TXD3/AIN1 PA15/MISO/RXD0_/AIN5 PA14/MOSI/TXD0_/AIN4 PA13/SCK0/PWM5/AIN3 PA12/SCS/PWM4/AIN2 GND 22 23 24 25 26 27 28 ANT VINTA X32MI X32MO PB22/TMR3/RXD2 PB23/RST#/TMR0_/TXD2/PWM11 PB4/RXD0/PWM7 21 20 19 18 17 16 15 1.1 引脚排列 PB4/RXD0 PB7/TXD0 PB10/UD-/TMR1_ PB11/UD+/TMR2_ PA9/TMR0/TXD1 10 9 8 7 6 16 15 14 13 12 11 10 9 PA15/MISO/RXD0_/AIN5 ANT PA14/MOSI/TXD0_/AIN4 GND PA13/SCK0/AIN3 VINTA PA12/SCS/AIN2 X32MI CH571R VIO33/VDD33 X32MO PA8/RXD1 PB22/TMR3 PA9/TMR0/TXD1 PB23/RST#/TMR0_ PB11/UD+/TMR2_ PB10/UD-/TMR1_ 0 1 2 3 4 5 GND PA12/SCS/AIN2 PA13/SCK0/AIN3 VDD33 PA14/MOSI/TXD0_/AIN4 GND PA15/MISO/RXD0_/AIN5 X32MI VINTA CH571K X32MO ANT 10 9 8 7 6 1 2 3 4 5 0 CH571D PA12/SCS/AIN2 PA11/X32KO/TMR2 PA10/X32KI/TMR1 VIO33/VDD33 PA8/RXD1 PA4/AIN0 PA5/AIN1 PA15/MISO/RXD0_/AIN5 PA14/MOSI/TXD0_/AIN4 PA13/SCK0/AIN3 GND 16 17 18 19 20 1 2 3 4 5 6 7 8 注:0#引脚是指底板。对于 CH571K 是可选但强烈建议的连接,对于其它封装形式是必要的连接。 图 1-1 CH573 和 CH571 封装引脚排列 V2.2 3 WCH CH573/CH571 数据手册 http://wch.cn 1.2 引脚描述 QFN32 QFN28 引脚号 引脚号 引脚 名称 引脚 类型 复用功能 在前优先 0 0 GND 电源 - 4 3 VDCID 电源 - 5 4 VSW 电源 - VDD33 电源 VBAT 6 5 7 8 无 VIO33 VIN5 电源 电源 - 9 6 PA8 I/O/A RXD1 /AIN12 10 7 PA9 I/O/A TMR0 /TXD1 /AIN13 PB15 I/O /5VT TCK /MISO_ /DTR 11 8 12 9 PB14 I/O /5VT TIO /MOSI_ /PWM10 /DSR 13 10 PB13 I/O /5VT SCK0_ /TXD1_ 14 11 PB12 I/O /5VT SCS_ /RXD1_ 15 12 PB11 I/O/A UD+ /TMR2_ 16 13 PB10 I/O/A UD/TMR1_ 17 14 PB7 I/O TXD0 /PWM9 18 15 PB4 I/O RXD0 /PWM7 V2.2 功能描述 公共接地端,电压 0V 参考点。 内部数字电路 LDO 调整器的电源输入,需外接退耦电容。启 用 DC-DC 时建议 2.2uF(支持 0.47uF~4.7uF,容值小略省 电但降低 BLE 灵敏度 2dBm),不启用时建议不小于 0.1uF。 内部 DC-DC 开关输出,启用 DC-DC 时必须贴近引脚串接电感 连接到 VDCID,建议用 22uH 电感(支持 3.3uH~33uH),不 启用 DC-DC 时可以直连 VDCID。 DC-DC 或电池电源输入,需贴近引脚外接退耦电容。启用 DC-DC 时建议 2.2uF 或 1uF,不启用 DC-DC 时 0.1uF 即可。 I/O 电源输入, 需贴近引脚外接退耦电容,建议不小于 0.1uF。 5V 电源输入,内部简单降压后输出到 VIO33。 PA8:通用双向数字 I/0 引脚。 RXD1:UART1 串行数据输入。 AIN12:ADC 模拟信号输入通道 12。 PA9:通用双向数字 I/0 引脚。 TMR0:定时器 0 的捕捉输入 0 和 PWM 输出通道 0。 TXD1:UART1 串行数据输出。 AIN13:ADC 模拟信号输入通道 13。 PB15:通用双向数字 I/0 引脚。 TCK:两线仿真调试接口的串行时钟输入。注 3 MISO_:SPI0 的 MISO 引脚映射。 DTR:UART0 的 MODEM 输出信号,数据终端就绪。 PB14:通用双向数字 I/0 引脚。 TIO:仿真调试接口的串行数据输入输出,内置上拉。注 3 MOSI_:SPI0 的 MOSI 引脚映射。 PWM10:脉宽调制输出通道 10。 DSR:UART0 的 MODEM 输入信号,数据装置就绪。 PB13:通用双向数字 I/0 引脚。 SCK0_:SPI0 的 SCK 引脚映射。 TXD1_:UART1 的 TXD1 引脚映射。 PB12:通用双向数字 I/0 引脚。 SCS_:SPI0 的 SCS 引脚映射。 RXD1_:UART1 的 RXD1 引脚映射。 PB11:通用双向数字 I/0 引脚。 UD+:USB 总线的 D+数据线。 TMR2_:定时器 2 的 TMR2 引脚映射。 PB10:通用双向数字 I/0 引脚。 UD-:USB 总线的 D-数据线。 TMR1_:定时器 1 的 TMR1 引脚映射。 PB7:通用双向数字 I/0 引脚。 TXD0:UART0 串行数据输出。 PWM9:脉宽调制输出通道 9。 PB4:通用双向数字 I/0 引脚。 RXD0:UART0 串行数据输入。 4 WCH CH573/CH571 数据手册 http://wch.cn 19 16 PB23 I/O RST# /TMR0_ /TXD2 /PWM11 20 17 PB22 I/O TMR3 /RXD2 21 22 18 19 X32MO X32MI I/A A - 23 20 VINTA 电源 - 24 21 ANT A - 25 22 VDCIA 电源 - 26 23 PA4 I/O/A RXD3 /AIN0 27 24 PA5 I/O/A TXD3 /AIN1 28 25 PA15 I/O/A MISO /RXD0_ /AIN5 I/O/A MOSI /TXD0_ /AIN4 29 26 PA14 30 27 PA13 I/O/A SCK0 /PWM5 /AIN3 31 28 PA12 I/O/A SCS /PWM4 /AIN2 32 1 PA11 I/O/A X32KO /TMR2 1 2 PA10 I/O/A X32KI /TMR1 2 无 PB6 I/O/A RTS /PWM8 /AIN9 V2.2 PWM7:脉宽调制输出通道 7。 PB23:通用双向数字 I/0 引脚。 RST#:外部复位输入,低电平有效,内置上拉电阻。 TMR0_:定时器 0 的 TMR0 引脚映射。 TXD2:UART2 串行数据输出。 PWM11:脉宽调制输出通道 11。 PB22:通用双向数字 I/0 引脚。 TMR3:定时器 3 的捕捉输入 3 和 PWM 输出通道 3。 RXD2:UART2 串行数据输入。 高频振荡器 HSE 的反相输出端,外接 32MHz 晶体的一端。 高频振荡器 HSE 的输入端,外接 32MHz 晶体的另一端。 内部模拟电路的电源节点,需贴近引脚外接退耦电容。启用 DC-DC 时建议 1uF 或 2.2uF(支持 0.1uF~2.2uF,容值小略 省电但降低 BLE 灵敏度 1dBm),不启用时建议不小于 0.1uF。 RF 射频信号输入输出,建议直连天线。 内部模拟电路 LDO 调整器的电源输入,需外接退耦电容。 建议不小于 0.1uF,建议直连 VDCID。 PA4:通用双向数字 I/0 引脚。 RXD3:UART3 串行数据输入。 AIN0:ADC 模拟信号输入通道 0。 PA5:通用双向数字 I/0 引脚。 TXD3:UART3 串行数据输出。 AIN1:ADC 模拟信号输入通道 1。 PA15:通用双向数字 I/0 引脚。 MISO:SPI0 串行数据引脚,主机输入/从机输出。 RXD0_:UART0 的 RXD0 引脚映射。 AIN5:ADC 模拟信号输入通道 5。 PA14:通用双向数字 I/0 引脚。 MOSI:SPI0 串行数据引脚,主机输出/从机输入。 TXD0_:UART0 的 TXD0 引脚映射。 AIN4:ADC 模拟信号输入通道 4。 PA13:通用双向数字 I/0 引脚。 SCK0:SPI0 串行时钟引脚,主机输出/从机输入。 PWM5:脉宽调制输出通道 5。 AIN3:ADC 模拟信号输入通道 3。 PA12:通用双向数字 I/0 引脚。 SCS:SPI0 从机模式下的片选输入,低电平有效。 PWM4:脉宽调制输出通道 4。 AIN2:ADC 模拟信号输入通道 2。 PA11:通用双向数字 I/0 引脚。 X32KO:低频振荡器的反相输出端,外接 32KHz 晶体的一端。 TMR2:定时器 2 的捕捉输入 2 和 PWM 输出通道 2。 PA10:通用双向数字 I/0 引脚。 X32KI:低频振荡器的输入端,外接 32KHz 晶体的另一端。 TMR1:定时器 1 的捕捉输入 1 和 PWM 输出通道 1。 PB6:通用双向数字 I/0 引脚。 RTS:UART0 的 MODEM 输出信号,请求发送。 PWM8:脉宽调制输出通道 8。 AIN9:ADC 模拟信号输入通道 9。 5 WCH CH573/CH571 数据手册 3 无 PB0 http://wch.cn I/O/A PWM6 /CTS /AIN8 PB0:通用双向数字 I/0 引脚。 PWM6:脉宽调制输出通道 6。 CTS:UART0 的 MODEM 输入信号,清除发送。 AIN8:ADC 模拟信号输入通道 8。 注: (1)、引脚类型: I=TTL/CMOS 电平斯密特输入; O=CMOS 电平三态输出; A=模拟信号输入或输出; 5VT=支持 5V 信号电压输入。 (2)、引脚的复用功能及映射根据其优先级在表中按从高到底排列,其中 GPIO 功能为最低优先级。 (3)、两线仿真调试接口通过 ISP 工具配置。仿真调试接口启用后,PB15 和 PB14 仅用作 TCK 和 TIO, 不再用于 GPIO 或外设复用功能引脚。关闭仿真调试接口后,PB15 和 PB14 才可用于 GPIO 和外 设复用功能引脚。 (4)、USB 收发器按 USB2.0 全内置设计,PB10 和 PB11 引脚用于 USB 时不能串接电阻。 (5)、QFN20 等其它封装的引脚参考上述同名引脚的说明。 V2.2 6 WCH CH573/CH571 数据手册 http://wch.cn 第 2 章 系统结构及存储器 2.1 系统结构 下图为 CH573 芯片系统结构框图。内核是青稞 RISC-V 微处理器。 图 2-1 CH573 内部结构框图 2.2 存储器映射 CH573 的寻址空间主要包括 CODE 区/FlashROM、DATA 区/SRAM、外设等几个不同区域,详见下图 所示。 V2.2 7 WCH CH573/CH571 数据手册 http://wch.cn 图 2-2 存储器映射图 2.3 存储器映射表 各存储器映射区域地址范围如下表所示: 表 2-1 存储器映射区域地址 地址范围 0x00000000-0x0007FFFF 0x00080000-0x200037FF 0x20003800-0x20007FFF 0x20008000-0x3FFFFFFF 0x40000000-0x4000FFFF 0x40010000-0xE000BFFF 0xE000C000-0xE000FFFF 0xE0010000-0xFFFFFFFF 用途 描述 片上 CODE 区域,非易失存储器 保留 片上 DATA 区域,易失存储器 保留 各种外设 保留 系统内部各种外设 保留 512KB,FlashROM 18KB,SRAM 多个外设模块 系统控制空间 SCS - 2.3.1 片上 CODE 区域映射表 表 2-2CODE 区域地址 地址范围 0x00000000-0x0006FFFF 0x00000000-0x0002FFFF 0x00070000-0x00077FFF 0x00078000-0x0007DFFF 0x0007E000-0x0007FFFF V2.2 用途 CH573:用户应用程序存储区 CodeFlash CH573Q/CH571:用户应用程序存储区 CodeFlash 用户非易失数据存储区 DataFlash 系统引导程序存储区 BootLoader 系统非易失配置信息存储区 InfoFlash 8 描述 448KB 192KB 32KB 24KB 8KB WCH CH573/CH571 数据手册 http://wch.cn 地址 0x0007E000-0x0007EEFF 的配置信息可以由用户通过工具设置。 表 2-3 用户级非易失配置信息说明 位地址 名称 用途 位 2~位 0 位3 位4 位5 位6 RESERVED CFG_RESET_EN CFG_DEBUG_EN RESERVED CFG_BOOT_EN 位7 CFG_ROM_READ 位 27~位 8 位 31~位 28 RESERVED VALID_SIG 默认值 保留 RST#外部手工复位输入引脚使能 两线仿真调试接口 SWD 使能 保留 系统引导程序 BootLoader 使能 FlashROM 中的代码和数据保护模式: 0-禁止编程器读出,程序保密;1-允许读出 保留 配置信息有效标志,固定值 101b 0 1 0 1 1 0FFF0Fh 0100b 注:当 CFG_DEBUG_EN=1、CFG_RESET_EN=0、CFG_ROM_READ=1,两线仿真调试接口启用。 2.3.2 片上 DATA 区域映射表 表 2-4 DATA 区域地址 地址范围 0x20003800-0x200077FF 0x20007800-0x20007FFF 用途 描述 主+辅双电源供电的可独立保持存储区 RAM16K 主+辅双电源供电的可独立保持存储区 RAM2K 16KB 2KB 2.3.3 外设地址分配 CH573 主要包含以下外设,每个外设占用一定的地址空间,外设寄存器的实际访问地址为:基地 址+偏移地址。在后续章节中,寄存器的地址有详细说明。下表为各个外设基地址的分配表。 表 2-5 外设基地址分配表 外设编号 2 3 4 5 6 7 8 9 10 11 12 13 外设名称 SYS(PMU/RTC/GPIO 等) AUX(ADC/TKEY/PLL 等) FlashROM-Control TMR0 TMR1 TMR2 TMR3 UART0 UART1 UART2 UART3 SPI0 PWMx(PWM4~PWM11) USB 14 Radio:BLE 1 外设基址 0x4000 1000 0x4000 0x4000 0x4000 0x4000 0x4000 0x4000 0x4000 0x4000 0x4000 0x4000 0x4000 0x4000 0x4000 0x4000 1800 2000 2400 2800 2C00 3000 3400 3800 3C00 4000 5000 8000 C000 D000 下表为后续章节寄存器描述中“访问”的解释说明: 表 2-6 访问属性说明 缩写词 描述 V2.2 9 WCH CH573/CH571 数据手册 RF RO WO RZ WZ RW RW1 WA RWA http://wch.cn 只读且读取值为固定值,不受复位影响。 只读。 只写,读取值为 0 或无效。 只读,读取完之后自动清 0。 写则清 0。 可读可写。 可读,写 1 则清 0。 只写且仅安全模式下,读取值为 0 或无效。 可读,仅安全模式下可写。 下表为后续章节中使用的缩写解释说明: 表 2-7 名词缩写说明 缩写词 描述 HSE LSE LSI CK32M CK32K Fpll HCLK Fsys Tsys RAM2K RAM16K 0x H B V2.2 外部高频晶体振荡时钟源(建议 32MHz) 外部低频晶体振荡时钟源(建议 32KHz) 内部低频 RC 时钟振荡源(应用软件运行时校准后为 32KHz) 高频时钟源(默认 32MHz) 低频时钟源(默认 32KHz) PLL 输出时钟(默认频率为 480MHz) 系统主频时钟 系统主频时钟频率 系统主频时钟周期(1/Fsys) 高地址的 2KB SRAM 低地址的 16KB SRAM 以其开头的数据表示 16 进制数 以其结束的数据表示 16 进制数 以其结束的数据表示 2 进制数 10 WCH CH573/CH571 数据手册 http://wch.cn 第 3 章 中断 系统内置快速可编程中断控制器(PFIC: Programmable Fast Interrupt Controller) ,最多支 持 255 个中断向量。当前系统管理了 18 个外设中断通道和 5 个内核中断通道,其他中断源保留。 3.1 中断控制器 18 个外设中断,每个中断请求都有独立的触发和屏蔽控制位,有专用的状态位。 1 个不可屏蔽中断 NMI。 特有快速中断进出机制,硬件自动压栈和恢复,无需指令开销。 特有快速中断响应机制,4 路可编程直达中断向量地址。 3.2 系统 SysTick 定时器 内核自带了一个 64 位递减型计数器(SysTick) ,支持 HCLK 或者 HCLK/8 作为时基,具有较高优 先级,校准后可用于时间基准。 3.3 中断和异常向量 下表列出了芯片系统的向量表 表 3-1 中断向量表 编号 0 1 2 3 4-11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 V2.2 优先 级 -3 -2 -1 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15 17 18 优先级 类型 固定 固定 固定 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 可设置 名称 Reset NMI EXC SysTick SWI TMR0 GPIO_A GPIO_B SPI0 BLEL BLEB USB TMR1 TMR2 UART0 UART1 RTC ADC PWMX TMR3 说明 保留 复位 不可屏蔽中断 所有类型的失效、异常中断 保留 系统嘀嗒定时器 保留 软件中断 保留 TMR0 定时器 0 中断 GPIO 端口 PA 通用 I/O 中断 GPIO 端口 PB 通用 I/O 中断 SPI0 中断 无线模块的 LLE 中断 无线模块的 BB 中断 USB 中断 保留 TMR1 定时器 1 中断 TMR2 定时器 2 中断 UART0 异步串口 0 中断 UART1 异步串口 1 中断 RTC 实时时钟中断 ADC 和 TouchKey 中断 保留 PWMX(PWM4~11)中断 TMR3 定时器 3 中断 11 地址 0x0000_0000 0x0000_0004 0x0000_0008 0x0000_000C 0x0000_0030 0x0000_0038 0x0000_003C 0x0000_0040 0x0000_0044 0x0000_0048 0x0000_004C 0x0000_0050 0x0000_0054 0x0000_0058 0x0000_0060 0x0000_0064 0x0000_0068 0x0000_006C 0x0000_0070 0x0000_0074 0x0000_007C 0x0000_0080 WCH CH573/CH571 数据手册 33 34 35 19 20 21 可设置 可设置 可设置 http://wch.cn UART2 UART3 WDOG_BAT UART2 异步串口 2 中断 UART3 异步串口 3 中断 看门狗定时器中断/电池低电压中断 0x0000_0084 0x0000_0088 0x0000_008C 3.4 寄存器 3.4.1 PFIC 寄存器描述 PFIC 相关寄存器基地址:0xE000E000 表 3-2 PFIC 相关寄存器列表 名称 R32_PFIC_ISR1 R32_PFIC_ISR2 R32_PFIC_IPR1 R32_PFIC_IPR2 R32_PFIC_ITHRESDR R32_PFIC_FIBADDRR R32_PFIC_CFGR R32_PFIC_GISR R32_PFIC_FIOFADDRR0 R32_PFIC_FIOFADDRR1 R32_PFIC_FIOFADDRR2 R32_PFIC_FIOFADDRR3 R32_PFIC_IENR1 R32_PFIC_IENR2 R32_PFIC_IRER1 R32_PFIC_IRER2 R32_PFIC_IPSR1 R32_PFIC_IPSR2 R32_PFIC_IPRR1 R32_PFIC_IPRR2 R32_PFIC_IACTR1 R32_PFIC_IACTR2 R32_PFIC_IPRIORx R32_PFIC_SCTLR R32_PFIC_VTCTLR 偏移地址 0x00 0x04 0x20 0x24 0x40 0x44 0x48 0x4C 0x60 0x64 0x68 0x6C 0x100 0x104 0x180 0x184 0x200 0x204 0x280 0x284 0x300 0x304 0x400 0xD10 0xD14 描述 PFIC 中断使能状态寄存器 1 PFIC 中断使能状态寄存器 2 PFIC 中断挂起状态寄存器 1 PFIC 中断挂起状态寄存器 2 PFIC 中断优先级阈值配置寄存器 PFIC 快速中断服务基地址寄存器 PFIC 中断配置寄存器 PFIC 中断全局状态寄存器 PFIC 快速中断 0 偏移地址寄存器 PFIC 快速中断 1 偏移地址寄存器 PFIC 快速中断 2 偏移地址寄存器 PFIC 快速中断 3 偏移地址寄存器 PFIC 中断使能设置寄存器 1 PFIC 中断使能设置寄存器 2 PFIC 中断使能清除寄存器 1 PFIC 中断使能清除寄存器 2 PFIC 中断挂起设置寄存器 1 PFIC 中断挂起设置寄存器 2 PFIC 中断挂起清除寄存器 1 PFIC 中断挂起清除寄存器 2 PFIC 中断激活状态寄存器 1 PFIC 中断激活状态寄存器 2 PFIC 中断优先级配置寄存器 PFIC 系统控制寄存器 PFIC 向量表控制寄存器 PFIC 中断使能状态寄存器 1(PFIC_ISR1) 位 名称 访问 描述 31#及以下中断当前使能状态。 [31:12] INTENSTA RO 1:当前编号中断已使能; 0:当前编号中断未启用。 保留。 [11:0] Reserved RO Reset、NMI、EXC 中断忽略,下同。 PFIC 中断使能状态寄存器 2(PFIC_ISR2) 位 名称 访问 [31:4] Reserved RO 保留。 V2.2 描述 12 复位值 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 复位值 0 0 复位值 0 WCH CH573/CH571 数据手册 [3:0] http://wch.cn INTENSTA RO 32#及以上中断当前使能状态。 1:当前编号中断已使能; 0:当前编号中断未启用。 0 PFIC 中断挂起状态寄存器 1(PFIC_IPR1) 位 名称 访问 [31:12] PENDSTA RO [11:0] Reserved RO 描述 31#及以下中断当前挂起状态。 1:当前编号中断已挂起; 0:当前编号中断未挂起。 保留。 PFIC 中断挂起状态寄存器 2(PFIC_IPR2) 位 名称 访问 [31:4] Reserved RO [3:0] RO PENDSTA 描述 保留。 32#及以上中断当前挂起状态。 1:当前编号中断已挂起; 0:当前编号中断未挂起。 PFIC 中断优先级阈值配置寄存器(PFIC_ITHRESDR) 位 名称 访问 [31:8] Reserved RO [7:0] THRESHOLD RW 复位值 0 0 复位值 0 0 描述 复位值 保留。 中断优先级阈值设置值。 低于当前设置值的中断优先级值,当挂起时不 执行中断服务;此寄存器为 0 时表示阈值寄存 器功能无效。 [7:4]:优先级阈值。 [3:0]:保留,固定为 0,写无效。 0 0 PFIC 快速中断服务基地址寄存器(PFIC_FIBADDRR) 位 名称 访问 [31:28] BASEADDR RW [27:0] Reserved RO 描述 复位值 快速中断响应的目标跳转地址的高 4 位。 与 PFIC_FIOFADDRR*共同构成对应编号的快速中 0 断向量(中断服务程序的 32 位跳转地址) 。 保留。 0 PFIC 中断配置寄存器(PFIC_CFGR) 位 名称 [31:16] KEYCODE WO [15:8] Reserved RO V2.2 描述 访问 7 SYSRESET WO 6 PFICRESET WO 对于不同的目标控制位,需要同步写入相应的安 全访问标识数据才能修改,读出数据固定为 0: KEY1 = 0xFA05; KEY2 = 0xBCAF; KEY3 = 0xBEEF。 保留。 系统复位(同步写入 KEY3) 。自动清 0。 写 1 有效,写 0 无效。 PFIC 控制模块复位,自动清 0。 写 1 有效,写 0 无效。 13 复位值 0 0 0 0 WCH CH573/CH571 数据手册 http://wch.cn 5 EXCRESET WO 4 EXCSET WO 3 NMIRESET WO 2 NMISET WO 1 NESTCTRL RW 0 HWSTKCTRL RW 异常中断清除挂起(同步写入 KEY2) 。 写 1 有效,写 0 无效。 异常中断挂起(同步写入 KEY2) 。 写 1 有效,写 0 无效。 NMI 中断清除挂起(同步写入 KEY2) 。 写 1 有效,写 0 无效。 NMI 中断挂起(同步写入 KEY2) 。 写 1 有效,写 0 无效。 嵌套中断使能控制: 1:关闭; 0:打开(同步写入 KEY1) 。 硬件压栈使能控制: 1:关闭; 0:打开(同步写入 KEY1) 。 0 0 0 0 0 0 PFIC 中断全局状态寄存器(PFIC_GISR) 位 名称 [31:10] Reserved 9 GPENDSTA 8 GACTSTA [7:0] NESTSTA 访问 描述 复位值 RO 保留。 0 当前是否有中断处于挂起: 0 RO 1:有; 0:没有。 当前是否有中断被执行: RO 0 1:有; 0:没有。 当前中断嵌套状态,目前支持 2 级嵌套,[1:0] 有效。 3:第 2 级中断中; 0 RO 1:第 1 级中断中; 0:没有中断发生; 其他:不可能情况。 PFIC 快速中断 0 偏移地址寄存器(PFIC_FIOFADDRR0) 位 名称 访问 [31:24] IRQID0 RW [23:0] OFFADDR0 RW 描述 复位值 快速中断 0 的编号。 快速中断 0 服务程序低 24 位地址,其中低 20 位 配置有效,[23:20]固定为 0。 0 0 PFIC 快速中断 1 偏移地址寄存器(PFIC_FIOFADDRR1) 位 名称 [31:24] IRQID1 [23:0] OFFADDR1 访问 描述 复位值 RW 快速中断 1 的编号。 0 快速中断 1 服务程序低 24 位地址,其中低 20 位 RW 0 配置有效,[23:20]固定为 0。 PFIC 快速中断 2 偏移地址寄存器(PFIC_FIOFADDRR2) 位 名称 访问 描述 复位值 [31:24] IRQID2 RW 快速中断 2 的编号。 0 快速中断 2 服务程序低 24 位地址,其中低 20 位 [23:0] OFFADDR2 RW 0 配置有效,[23:20]固定为 0。 PFIC 快速中断 3 偏移地址寄存器(PFIC_FIOFADDRR3) 位 名称 访问 描述 [31:24] IRQID3 RW 快速中断 3 的编号。 V2.2 14 复位值 0 WCH CH573/CH571 数据手册 [23:0] OFFADDR3 http://wch.cn RW 快速中断 3 服务程序低 24 位地址,其中低 20 位 配置有效,[23:20]固定为 0。 PFIC 中断使能设置寄存器 1(PFIC_IENR1) 位 名称 访问 描述 0 复位值 31#及以下中断使能控制。 [31:12] INTEN WO 1:当前编号中断使能; 0 0:无影响。 [11:0] Reserved RO 保留。 0 注:建议调用评估板资料中的子程序或宏对 PFIC_IENR1/2 进行操作,避免直接写寄存器,下同。 PFIC 中断使能设置寄存器 2(PFIC_IENR2) 位 名称 访问 [31:4] Reserved RO [3:0] WO INTEN 描述 保留。 32#及以上中断使能控制。 1:当前编号中断使能; 0:无影响。 PFIC 中断使能清除寄存器 1(PFIC_IRER1) 位 名称 访问 描述 复位值 0 0 复位值 31#及以下中断关闭控制。 [31:12] INTRESET WO 1:当前编号中断关闭; 0 0:无影响。 [11:0] Reserved RO 保留。 0 注:建议调用评估板资料中的子程序或宏对 PFIC_IRER1/2 进行操作,避免直接写寄存器,下同。 PFIC 中断使能清除寄存器 2(PFIC_IRER2) 位 名称 访问 描述 [31:4] Reserved RO 保留。 32#及以上中断关闭控制。 [3:0] INTRESET WO 1:当前编号中断关闭; 0:无影响。 PFIC 中断挂起设置寄存器 1(PFIC_IPSR1) 位 名称 访问 描述 31#及以下中断挂起设置。 [31:12 PENDSET WO 1:当前编号中断挂起; ] 0:无影响。 [11:0] Reserved RO 保留。 PFIC 中断挂起设置寄存器 2(PFIC_IPSR2) 位 名称 访问 描述 [31:4] Reserved RO 保留。 32#及以上中断挂起设置。 [3:0] PENDSET WO 1:当前编号中断挂起; 0:无影响。 V2.2 15 复位值 0 0 复位值 0 0 复位值 0 0 WCH CH573/CH571 数据手册 http://wch.cn PFIC 中断挂起清除寄存器 1(PFIC_IPRR1) 位 名称 访问 [31:12] PENDRESET WO [11:0] Reserved RO 描述 复位值 31#及以下中断挂起清除。 1:当前编号中断清除挂起状态; 0:无影响。 保留。 0 0 PFIC 中断挂起清除寄存器 2(PFIC_IPRR2) 位 名称 访问 [31:4] Reserved RO [3:0] WO PENDRESET 描述 复位值 保留。 32#及以上中断挂起清除。 1:当前编号中断清除挂起状态; 0:无影响。 0 0 PFIC 中断激活状态寄存器 1(PFIC_IACTR1) 位 名称 访问 [31:12] IACTS RW1 [11:0] Reserved RO 描述 31#及以下中断执行状态。 1:当前编号中断执行中; 0:当前编号中断未执行。 保留。 复位值 0 0 PFIC 中断激活状态寄存器 2(PFIC_IACTR2) 位 名称 [31:4] Reserved [3:0] IACTS 访问 描述 RO 保留。 32#及以上中断执行状态。 RW1 1:当前编号中断执行中; 0:当前编号中断未执行。 复位值 0 0 PFIC 中断优先级配置寄存器(PFIC_IPRIORx) (x=0-63) 控制器支持 256 个中断(0-255) ,每个中断使用 8bit 来设置控制优先级。 31 24 23 16 15 8 7 IPRIOR63 … IPRIORx … IPRIOR0 位 [2047:2040] … [31:24] [23:16] [15:8] [7:0] V2.2 0 PRIO_255 PRIO_254 PRIO_253 PRIO_252 … … … … PRIO_(4x+3) PRIO_(4x+2) PRIO_(4x+1) PRIO_(4x) … … … … PRIO_3 PRIO_2 PRIO_1 PRIO_0 名称 IP_255 … IP_3 IP_2 IP_1 IP_0 访问 RW … RW RW RW RW 描述 同 IP_0 描述。 … 同 IP_0 描述。 同 IP_0 描述。 同 IP_0 描述。 编号 0 中断优先级配置: 16 复位值 0 … 0 0 0 0 WCH CH573/CH571 数据手册 http://wch.cn [7:4]:优先级控制位。 [3:0]:保留,固定为 0,写无效。 优先级数值越小则优先级越高。只有 2 级中断嵌 套,即只能抢占 1 次。 PFIC 系统控制寄存器(PFIC_SCTLR) 位 名称 访问 [31:6] Reserved RO 5 SETEVENT WO 4 SEVONPEND RW 3 WFITOWFE RW 2 SLEEPDEEP RW 1 SLEEPONEXIT RW 0 Reserved RO 描述 保留。 设置事件,可以唤醒 WFE 的情况。 当发生事件或者中断挂起状态时,可以从 WFE 指 令后唤醒系统,如果未执行 WFE 指令,将在下次 执行该指令后立即唤醒系统。 1:启用的事件和所有中断(包括未开启中断)都 能唤醒系统; 0:只有启用的事件和启用的中断可以唤醒系统。 将 WFI 指令当成是 WFE 执行。 1:将之后的 WFI 指令当做 WFE 指令; 0:无作用。 控制系统的低功耗模式: 1:deepsleep 0:sleep 控制离开中断服务程序后,系统状态: 1:系统进入低功耗模式; 0:系统进入主程序。 保留。 复位值 0 0 0 0 0 0 0 PFIC 系统控制寄存器(R32_PFIC_VTCTLR) 位 [31:6] 0 名称 Reserved VTADDR 访问 RO RO 描述 保留。 写 1 将向量表地址偏移到 0x20003800。 复位值 0 0 3.4.2 SysTick 寄存器描述 STK 相关寄存器基地址:0xE000F000 表 3-3 STK 相关寄存器列表 名称 偏移地址 描述 R32_STK_CTLR 0x00 系统计数控制寄存器 R32_STK_CNTL 0x04 系统计数器低位寄存器 R32_STK_CNTH 0x08 系统计数器高位寄存器 R32_STK_CMPLR 0x0C 计数重加载低位寄存器 R32_STK_CMPHR 0x10 计数重加载高位寄存器 R32_STK_CNTFG 0x14 计数器计数标志寄存器 复位值 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 系统计数控制寄存器(STK_CTLR) 位 名称 访问 描述 复位值 [31:9] Reserved RO 保留。 0 重装载控制,写 1 将计数重加载寄存器(64 位) 8 STRELOAD W1 0 数值更新到当前计数器寄存器中。 [7:3] Reserved RO 保留。 0 V2.2 17 WCH CH573/CH571 数据手册 http://wch.cn 2 STCLK RW 1 STIE RW 0 STE RW 计数器时钟源选择: 1:HCLK 做时基; 0:HCLK/8 做计数时基。 计数器中断使能控制位: 1:使能计数器中断; 0:无计数器中断。 系统计数器使能控制位: 1:启动系统计数器 STK; 0:关闭系统计数器 STK,计数器停止计数。 系统计数器低位寄存器(STK_CNTL) 位 名称 访问 [31:0] CNTL RW 系统计数器高位寄存器(STK_CNTH) 位 名称 访问 [31:0] CNTH RW 0 0 0 描述 复位值 STK 计数器计数值低 32 位。计数递减。 当 CNT[63:0]值减为 0 时,置位 STK 中断标志。 0 描述 复位值 STK 计数器计数值高 32 位。计数递减。 0 当 CNT[63:0]值减为 0 时,置位 STK 中断标志。 计数重加载低位寄存器(STK_CMPLR) 位 [31:0] CMPL 名称 访问 描述 RW 设置重加载计数器值低 32 位。 复位值 0 计数重加载高位寄存器(STK_CMPHR) 位 [31:0] CMPH 名称 访问 描述 RW 设置重加载计数器值高 32 位。 复位值 0 计数器计数标志寄存器(STK_CNTFG) 位 名称 [31:2] Reserved 1 CNTIF 访问 描述 复位值 RO 保留。 0 RW0 计数器减为 0 标志。写 0 清除,写 1 无效。 0 系统软件中断使能位。 0 SWIE RW 1:打开软件中断,同时触发软件中断服务; 0 0:关闭软件中断。 注:SWIE=1 将执行软件中断服务,如果未在中断服务中关闭 SWIE 功能,离开中断服务将再次触发软 件中断服务。 V2.2 18 WCH CH573/CH571 数据手册 http://wch.cn 第 4 章 系统控制 4.1 复位控制 系统支持 6 种复位形式,分别为电源上电复位 RPOR(real power on reset)、外部手工复位 MR(manual reset)、内部软件复位 SR(software reset)、看门狗超时复位 WTR(watch-dog time-out reset)、下电模式下唤醒导致的全局复位 GRWSM(global reset by waking under shutdown mode)、 常规唤醒导致的局部寄存器复位 LRW(local reset by waking)。 寄存器 R8_GLOB_RESET_KEEP 和 RB_ROM_CODE_OFS,只在 RPOR 复位时被复位,而不受其它复位形 式影响。 下图中时序参数和复位特性参数请参考第 20.5 节的时序参数表。 4.1.1 电源上电复位 RPOR 当电源上电时,芯片内部 POR 模块会产生上电复位,并延时以等待电源稳定。另外,在运行过程 中,当电源电压低于 Vlvr 时,芯片内部 LVR 模块会产生低压复位直到电压回升,并延时以等待电源 稳定。下图为上电复位过程和低压复位过程。 图 4-1 上电复位 4.1.2 外部手工复位 MR 外部手工复位由外部加到 RST#引脚的低电平触发,当复位低电平持续时间大于最小复位脉冲宽 度(Trst)时即触发系统进行复位。 图 4-2 外部复位 4.1.3 内部软件复位 SR 内部软件复位,用于不需要外部干预而自行复位。设置全局复位配置寄存器(R8_RST_WDOG_CTRL) V2.2 19 WCH CH573/CH571 数据手册 http://wch.cn 的位 RB_SOFTWARE_RESET 为 1,即可实现软件复位。该位会自动清 0。 4.1.4 看门狗超时复位 WTR 看门狗功能是基于一个 8 位的递增计数器,计数时钟周期为 131072/Fsys。当开启了看门狗超时 复位功能后,一旦此计数器溢出会复位整个系统。 4.1.5 下电模式唤醒后的复位 GRWSM 一旦系统进入下电模式(详见电源管理章节)后,在唤醒信号的作用下,系统将有序执行唤醒操 作,唤醒之后系统将执行全局复位,此复位效果类似于上电复位。 4.1.6 常规唤醒操作引起的复位 LRW 如果系统是从睡眠模式中被唤醒,则在相关电源准备就绪之后会产生复位,此复位为局部复位, 根据需要对睡眠模式下掉电的寄存器进行有选择的复位。 在睡眠模式下,各功能模块的寄存器分为三类: 第一种是属于需数据保持的功能模块的关键寄存器(例如配置/模式等) ,睡眠时由辅助电源继 续供电,数据不丢失,睡眠和唤醒对其数据无影响; 第二种是属于需数据保持的功能模块的可再生寄存器(例如计数器、FIFO 等) ,睡眠时断电, 唤醒后数据是随机数(例如 FIFO 存储单元)或者被复位(例如 FIFO 计数器) ; 第三种是属于无需数据保持的功能模块的寄存器,睡眠时断电,唤醒后数据是随机数(例如 FIFO 存储单元)或者被复位(例如 FIFO 计数器、配置/模式寄存器) 。 LRW 就是用于上述后两种被复位的寄存器。 4.2 安全访问 系统某些寄存器的属性是“RWA”或者“WA” ,表示当前寄存器为安全访问寄存器,可以直接读取 但是写入需要进入安全访问模式。 先写入 R8_SAFE_ACCESS_SIG 寄存器 0x57; 再写入 R8_SAFE_ACCESS_SIG 寄存器 0xA8; 即可进入安全访问模式,此时可以操作具有“RWA/WA”属性的寄存器,此后约 16 个系统主频周期(Tsys) 都处于安全模式下,该有效期内可以改写一个或多个安全类寄存器,超出上述有效期后将自动终止安 全模式。或者可提前向 R8_SAFE_ACCESS_SIG 寄存器写入 0x00 提前终止安全模式。 4.3 寄存器描述 表 4-1 系统控制相关寄存器列表 名称 R8_SAFE_ACCESS_SIG R8_CHIP_ID R8_SAFE_ACCESS_ID R8_WDOG_COUNT R8_RESET_STATUS R8_GLOB_ROM_CFG R8_GLOB_CFG_INFO R8_RST_WDOG_CTRL R8_GLOB_RESET_KEEP R32_FLASH_DATA R32_FLASH_CONTROL R8_FLASH_DATA R8_FLASH_CTRL V2.2 访问地址 0x40001040 0x40001041 0x40001042 0x40001043 0x40001044 0x40001044 0x40001045 0x40001046 0x40001047 0x40001800 0x40001804 0x40001804 0x40001806 描述 安全访问标记寄存器 芯片 ID 寄存器 安全访问 ID 寄存器 看门狗计数器寄存器 复位状态寄存器 FlashROM 应用配置寄存器 全局配置信息状态寄存器 看门狗及复位配置寄存器 复位保持寄存器 FlashROM 字数据寄存器 FlashROM 控制寄存器 FlashROM 字节数据寄存器 FlashROM 存取控制寄存器 20 复位值 0x00 0x73 0x04 0x00 0x01 0x01 0xEX 0x00 0x00 0xXXXXXXXX 0x074000XX 0xXX 0x40 WCH CH573/CH571 数据手册 http://wch.cn R8_FLASH_CFG 0x40001807 FlashROM 存取配置寄存器 0x07 安全访问标记寄存器(R8_SAFE_ACCESS_SIG) 位 名称 访问 [7:0] R8_SAFE_ACCESS_SIG WO 7 [6:4] Reserved RB_SAFE_ACC_TIMER R0 RO 3 RB_SAFE_ACC_ACT RO 2 Reserved R0 RB_SAFE_ACC_MODE RO [1:0] 芯片 ID 寄存器(R8_CHIP_ID) 位 名称 [7:0] R8_CHIP_ID 描述 复位值 安全访问标记寄存器。 部分寄存器(访问属性为 RWA)为保护寄 存器,必须进入安全访问模式才能进行 写操作。对该寄存器先写入 0x57,再写 00h 入 0xA8,即可进入安全访问模式,并且 限时约 16 个主时钟周期(Tsys),超过则 自动保护。可以写入其它任意值强制直 接退出安全访问模式,回到保护状态。 保留。 0 当前安全访问时间计数。 000b 当前安全访问模式状态: 1:未锁定/安全访问模式下,可写; 0 0:锁定,RWA 属性寄存器不可改写。 保留。 0 当前安全访问模式状态: 11:安全模式,可写入属性 RWA 寄存器; 00b 其他:非安全模式。 访问 RF 描述 CH573:固定值 73h,用于识别芯片。 CH571:固定值 71h,用于识别芯片。 复位值 73h 71h 安全访问 ID 寄存器(R8_SAFE_ACCESS_ID) 位 [7:0] 名称 R8_SAFE_ACCESS_ID 访问 RF 看门狗计数器寄存器(R8_WDOG_COUNT) 位 名称 访问 [7:0] R8_WDOG_COUNT RW 描述 复位值 04h 描述 可预置初值的看门狗计数器,一直自动 递增,可从 0xFF 循环到 0x00 再继续。 计数周期 = 131072/Fsys。 复位值 固定值 04h。 00h 复位状态寄存器(R8_RESET_STATUS)、FlashROM 应用配置寄存器(R8_GLOB_ROM_CFG) 位 名称 访问 描述 复位值 FlashROM 程序存储区 CodeFlash 的擦除 7 RB_ROM_CODE_WE RWA /编程使能位: 0 1:允许擦除/编程; 0:该区擦写保护。 FlashROM 数据存储区 DataFlash 的擦除 6 RB_ROM_DATA_WE RWA /编程使能位: 0 1:允许擦除/编程;0:全部擦写保护。 FlashROM 存取控制接口使能: 5 RB_ROM_CTRL_EN RWA 0 1:允许控制; 0:禁止存取。 4 RB_ROM_CODE_OFS RWA 选择用户程序代码在 FlashROM 的起始 0 V2.2 21 WCH CH573/CH571 数据手册 3 [2:0] http://wch.cn Reserved R0 RB_RESET_FLAG RO 偏移地址, 该值不受 MR、 SR、 WTR 或 GRWSM 影响,仅在 RPOR 有效时才能清零: 0:0x000000; 1:0x040000(跳过 ROM 中前 256KB) 。 保留。 最近一次复位状态: 000:软件复位 SR(RB_WDOG_RST_EN=0 时软件复位可产生此状态,否则可复位 但不产生此状态) ; 001:上电复位 RPOR; 010:看门狗超时复位 WTR; 011:外部手动复位 MR; 101:从下电模式唤醒时的复位 GRWSM; 100/110/111:唤醒复位 LRW,且此前的 上一次复位分别是 SR/WTR/MR。 0 001b 全局配置信息状态寄存器(R8_GLOB_CFG_INFO) 位 [7:6] 名称 Reserved 访问 R0 5 RB_BOOT_LOADER RO 4 RB_CFG_DEBUG_EN RO 3 RB_CFG_BOOT_EN RO 2 RB_CFG_RESET_EN RO 1 Reserved RO 0 RB_CFG_ROM_READ RO 描述 保留。 Bootloader 状态: 1:当前处于 Bootloader 状态; 0:当前处于用户程序状态。 两线仿真调试接口使能状态: 1:可仿真调试,可读取 FlashROM; 0:禁止仿真调试。 系统引导程序 BootLoader 使能状态: 1:已启用;0:未启用。 RST#外部手动复位输入使能状态: 1:已启用;0:未启用。 保留。 FlashROM 代码和数据区保护状态: 1:外部编程器可读; 0:保护,外部不可访问,程序保密。 看门狗及复位配置寄存器(R8_RST_WDOG_CTRL) 位 名称 访问 描述 [7:5] Reserved RO 保留。 看门狗定时器中断标志: 1:发生了看门狗计数溢出,即检测到 R8_WDOG_COUNT 递增 0xFF 到 0x00; 4 RB_WDOG_INT_FLAG RW1 0:看门狗计数未溢出。 标志写 1 清 0,或者重新加载看门狗计 数器值(R8_WDOG_COUNT) 清 0,或者执 行__SEV() 清 0。 3 Reserved RO 保留。 看门狗定时器中断使能位: 2 RB_WDOG_INT_EN RWA 1:使能,看门狗计数溢出后产生中断; 0:关闭看门狗定时器中断。 1 RB_WDOG_RST_EN RWA 看门狗超时复位使能位: V2.2 22 复位值 11b 1/0 0 1 0 0 0 复位值 000b 0 0 0 0 WCH CH573/CH571 数据手册 0 RB_SOFTWARE_RESET http://wch.cn WA/ WZ 1:使能,看门狗计数溢出后系统复位; 0:仅作为看门狗定时器。 注:此位置 1 后软件复位操作将不影响 RB_RESET_FLAG 状态。 系统软件复位控制,复位后将自动清零: 1:执行系统软件复位; 0:空闲,无动作。 复位保持寄存器(R8_GLOB_RESET_KEEP) 位 名称 访问 [7:0] R8_GLOB_RESET_KEEP RW 0 描述 复位值 复位保持寄存器,该寄存器值不受手动 复位、软件复位、看门狗复位或者普通 唤醒复位的影响。 00h 有关 FlashROM 的操作或者设置可以参考相关子程序,本手册不提供有关 FlashROM 字数据寄存器和 FlashROM 控制寄存器的说明。 4.4 Flash-ROM 操作步骤 1.擦除 Flash-ROM,将目标扇区中全部数据位变为 1,请参考和调用相关子程序。 2.写 Flash-ROM,将目标字中的部分数据位从 1 变为 0(无法将位数据从 0 变为 1) ,请参考和调用 相关子程序。 3.读 Flash-ROM,通过指向程序存储空间的指针,读取目标地址的 code 或 data。 4.5 芯片唯一 ID 号 每个芯片出厂时都具有唯一的 ID 号,即芯片身份识别号。该 ID 数据及其校验和共 8 字节,存储 于芯片内部只读区域中,具体操作请参考例子程序。 V2.2 23 WCH CH573/CH571 数据手册 http://wch.cn 第 5 章 电源控制 5.1 电源管理 CH573 内置有电源管理单元 PMU。系统电源从 VDD33 输入,通过内置的多个 LDO 电压调整器为系 统的 FlashROM、系统的数字电路(包括内核和 USB 等)和系统的模拟电路(包括高频振荡器、PLL、 ADC 和 RF 收发器等)提供所需的电源。GPIO 和 FlashROM 的电源从 VIO33 输入。 正常工作时的电源供电分为两种方式:直接电源和 DC-DC 转换。在正常工作之外,CH573 提供了 4 种低功耗模式:空闲模式、暂停模式、睡眠模式、下电模式。 上电后默认不启用 DC-DC,而是提供直通电源,其电压纹波较小。为了降低正常运行时的系统功 耗,可以选择启用 DC-DC 提升电源能耗利用率,工作电流通常将下降到直通方式的 60%左右。 为了降低睡眠时的系统功耗,可以选择关闭系统主 LDO,切换成由系统内置的超低功耗 ULP-LDO 提供辅助电源。当系统进入睡眠或下电模式时,除了电源管理和 RTC 寄存器等常供电单元外,系统的 高 2KB 和 16KB 的 SRAM、内核及所有的外设皆可选择是否维持供电,LSE/LSI 可选择是否开启。 图 5-1 电源系统 5.2 寄存器描述 名称 R16_SLP_CLK_OFF R8_SLP_CLK_OFF0 R8_SLP_CLK_OFF1 R8_SLP_WAKE_CTRL V2.2 表 5-1 功耗管理相关寄存器列表 访问地址 描述 0x4000100C 睡眠时钟控制寄存器 0x4000100C 睡眠时钟控制寄存器 0 0x4000100D 睡眠时钟控制寄存器 1 0x4000100E 唤醒事件配置寄存器 24 复位值 0x0000 0x00 0x00 0x20 WCH CH573/CH571 数据手册 http://wch.cn R8_SLP_POWER_CTRL R16_POWER_PLAN R16_AUX_POWER_ADJ R8_BAT_DET_CTRL R8_BAT_DET_CFG R8_BAT_STATUS 0x4000100F 0x40001020 0x40001022 0x40001024 0x40001025 0x40001026 外设睡眠电源控制寄存器 睡眠电源管理寄存器 辅助电源调整控制寄存器 电池电压检测控制寄存器 电池电压检测配置寄存器 电池状态寄存器 睡眠时钟控制寄存器 0(R8_SLP_CLK_OFF0) 位 名称 访问 7 RB_SLP_CLK_UART3 RWA 6 RB_SLP_CLK_UART2 RWA 5 RB_SLP_CLK_UART1 RWA 4 RB_SLP_CLK_UART0 RWA 3 RB_SLP_CLK_TMR3 RWA 2 RB_SLP_CLK_TMR2 RWA 1 RB_SLP_CLK_TMR1 RWA 0 RB_SLP_CLK_TMR0 RWA 描述 串口 3 时钟源: 1:关闭; 0:开启。 串口 2 时钟源: 1:关闭; 0:开启。 串口 1 时钟源: 1:关闭; 0:开启。 串口 0 时钟源: 1:关闭; 0:开启。 定时器 3 时钟源: 1:关闭; 0:开启。 定时器 2 时钟源: 1:关闭; 0:开启。 定时器 1 时钟源: 1:关闭; 0:开启。 定时器 0 时钟源: 1:关闭; 0:开启。 0x00 0x11DF 0x0XXX 0x00 0x02 0x00 复位值 0 0 0 0 0 0 0 0 睡眠时钟控制寄存器 1(R8_SLP_CLK_OFF1) 位 名称 访问 7 RB_SLP_CLK_BLE RWA 6 5 Reserved Reserved RO RO 4 RB_SLP_CLK_USB RWA 3 Reserved RO 2 RB_SLP_CLK_PWMX RWA 1 Reserved RO 0 RB_SLP_CLK_SPI0 RWA 唤醒事件配置寄存器(R8_SLP_WAKE_CTRL) 位 名称 访问 V2.2 7 RB_WAKE_DELAY RWA 6 RB_WAKE_EV_MODE RWA 描述 BLE 控制器时钟源: 1:关闭; 0:开启。 保留。 保留。 USB 控制器时钟源: 1:关闭; 0:开启。 保留。 PWMx 时钟源: 1:关闭; 0:开启。 保留。 SPI0 时钟源: 1:关闭; 0:开启。 复位值 0 0 0 0 0 0 0 0 描述 复位值 选择唤醒后的延时周期数(另加 TSUHSE): 1:短延时,520 个周期+TSUHSE; 0 0:长延时,3590 个周期+TSUHSE。 唤醒事件内部记忆模式使能: 0 1:使能记忆,支持短脉冲事件唤醒; 25 WCH CH573/CH571 数据手册 http://wch.cn 5 RB_SLP_BAT_WAKE RWA 4 RB_SLP_GPIO_WAKE RWA 3 RB_SLP_RTC_WAKE RWA 2 1 Reserved Reserved RO RO 0 RB_SLP_USB_WAKE RWA 0:不记忆,事件需保持有效直到唤醒。 使能电池低压事件唤醒系统: 1:使能;0:关闭。 使能 GPIO 事件唤醒系统: 1:使能;0:关闭。 使能 RTC 事件唤醒系统: 1:使能;0:关闭。 保留。 保留。 使能 USB 事件唤醒系统: 1:使能; 0:关闭。 1 0 0 0 0 0 外设睡眠电源控制寄存器(R8_SLP_POWER_CTRL) 位 7 名称 Reserved 6 RB_RAM_RET_LV WA 5 RB_SLP_CLK_RAM2K RWA 4 RB_SLP_CLK_RAMX RWA Reserved RO [3:0] 访问 RO 描述 保留。 SRAM 睡眠时辅助电源低压使能(只写) : 0:正常电源电压,睡眠时功耗略大; 1:较低电源电压,睡眠时功耗略小。 RAM2K 的 SRAM 时钟控制: 1:关闭;0:开启。 主 SRAM(RAM16K)的时钟控制: 1:关闭;0:开启。 保留。 复位值 0 0 0 0 0000b 睡眠电源管理寄存器(R16_POWER_PLAN) 位 访问 RB_PWR_PLAN_EN RWA/ WZ [14:11] RB_PWR_MUST_0010 RWA 10 RB_PWR_DCDC_PRE RWA 9 RB_PWR_DCDC_EN RWA 8 RB_PWR_LDO_EN RWA 7 RB_PWR_SYS_EN RWA 6 5 Reserved Reserved RWA RO 4 RB_PWR_RAM16K RWA 3 RB_PWR_EXTEND RWA 15 V2.2 名称 描述 复位值 睡眠电源规划控制使能: 1:开启规划; 0:关闭或结束规划。 0 开启电源规划,用于稍后进入睡眠或下 电模式时执行,执行后该位自动清 0。 保留,必须写 0010b。 0010b DC-DC 偏置电路使能(即时生效) : 0 1:使能; 0:禁止。 DC-DC 使能位(即时生效) : 1:DC-DC 使能,直通电源关闭; 0 0:DC-DC 禁止,直通电源开启。 内部 LDO 控制(睡眠规划) : 1 1:开启 LDO;0:规划将关闭 LDO,更省。 系统电源控制(睡眠规划) : 1:提供系统电源(在 VSW 引脚) ; 1 0:关闭系统电源,规划将进入睡眠模式 或者下电模式。 保留,必须写 0。 1 保留。 0 RAM16K 的 SRAM 供电(睡眠规划) : 1 1:双供电; 0:不用辅助电源。 USB 和 RF 配置供电(睡眠规划) : 1 1:双供电; 0:不用辅助电源。 26 WCH CH573/CH571 数据手册 http://wch.cn 内核和基本外设供电(睡眠规划) : 1 1:双供电; 0:不用辅助电源。 RAM2K 的 SRAM 供电(睡眠规划) : 1 RB_PWR_RAM2K RWA 1 1:双供电; 0:不用辅助电源。 FlashROM 供电(睡眠规划) : 0 RB_PWR_XROM RWA 1 1:持续供电;0:睡眠时关闭电源。 此寄存器除 RB_PWR_DCDC_PRE 和 RB_PWR_DCDC_EN 之外均为睡眠规划预置,其电源配置在进入低功耗 的睡眠模式和下电模式后生效。 2 RB_PWR_CORE RWA 辅助电源调整控制寄存器(R16_AUX_POWER_ADJ) 位 [15:12] [11:8] [7:6] [5:3] [2:0] 名称 Reserved Reserved Reserved Reserved 访问 RO RO RO RWA RB_ULPLDO_ADJ RWA 描述 保留。 保留,只读位,写操作不影响。 保留。 保留,写入时必须保持原值不变。 超低功耗 LDO 的辅助电源输出电压调节 值(数值仅供参考,不建议修改): 000:0.77V; 001:0.80V; 010:0.84V; 011:0.88V; 100:0.91V; 101:0.95V; 110:0.99V; 111:1.03V。 电池电压检测控制寄存器(R8_BAT_DET_CTRL) 位 名称 访问 [7:4] Reserved 描述 复位值 0000b XXXXb 00b 1XXb XXXb (010b) 复位值 RO 保留。 0000b 电池低电压中断使能: 3 RB_BAT_LOW_IE RWA 0 1:使能;0:关闭。 电池超低电压中断使能: 2 RB_BAT_LOWER_IE RWA 0 1:使能;0:关闭。 低功耗的电池电压监控功能使能: 0 1 RB_BAT_MON_EN RWA 1:使能低压监控,增加电流约 1uA; 0:关闭低功耗的电池低压监控。 当 RB_BAT_MON_EN=1 时,设置低功耗的 0 RB_BAT_LOW_VTHX RWA 0 低压监控阈值。参考 RB_BAT_LOW_VTH。 当 RB_BAT_MON_EN=0 时,是高精度的电 池电压检测功能使能: 0 RB_BAT_DET_EN RWA 1:使能低压检测,同时开启基准电压等 0 模块,睡眠模式下电流 210uA; 0:关闭高精度的电池低压检测。 注:如果电池电压达到超低电压检测阈值,且 RB_BAT_LOWER_IE 和 RB_BAT_LOW_IE 都使能(正常情况 下只使能其中之一) ,那么将产生 NMI 不可屏蔽中断,等效于提高中断优先级。 电池电压检测配置寄存器(R8_BAT_DET_CFG) 位 名称 访问 [7:2] Reserved RO [1:0] V2.2 RB_BAT_LOW_VTH RWA 描述 保留。 当 RB_BAT_MON_EN=0 时,设置高精度的 超低电压及低电压的检测阈值: (超低电压参考阈值,低电压参考阈值) 27 复位值 000000b 10b WCH CH573/CH571 数据手册 http://wch.cn 00:1.7V , 1.95V; 01:1.9V , 2.15V; 10:2.1V , 2.35V; 11:2.3V , 2.55V。 当 RB_BAT_MON_EN=1 时 , 以 RB_BAT_LOW_VTHX 为最高位加上此 2 位 合并 3 位设置低功耗的低压监控阈值: 000~111:待测待定。 电池状态寄存器(R8_BAT_STATUS) 位 名称 访问 描述 复位值 Reserved RO 000000b 1 RB_BAT_STAT_LOW RO 0 RB_BAT_STAT_LOWER RO 保留。 电池低压检测或低压监控的结果,指示 电池电压处于低电压状态: 1:低于低电压阈值;0:否。 当 RB_BAT_MON_EN=0 时,指示电池电压 处于超低电压状态: 1:低于超低电压阈值;0:否。 [7:2] 0 0 5.3 低功耗模式 在系统复位后,微控制器处于正常运行状态。当 MCU 不需要运行时,可以选择适当的低功耗模式 来节省功耗。用户需要根据最低电源消耗、最快启动时间和可用唤醒事件等条件,选定一个合适的低 功耗模式。 芯片提供以下 4 种主要的低功耗模式: l 空闲模式(Idle) 所有外设保持正常供电,内核停止运行,时钟系统运转。检测到唤醒事件后,可以立即唤醒。 l 暂停模式(Halt) 在空闲模式的基础上,时钟系统停止。检测到唤醒事件后,首先时钟运转,然后唤醒内核运行。 l 睡眠模式(Sleep): 主 LDO 关闭,由超低功耗 ULP-LDO 维持 PMU、内核和基本外设供电,LSE 或 LSI 可以选择是否开 启,RAM2K、RAM16K、USB 和 RF 配置可以选择是否维持供电。检测到唤醒事件后,首先主 LDO 开 启,然后时钟运转,最后唤醒内核,程序继续运行,需要时可以重新设置到更高主频。 l 下电模式(Shutdown) : 在睡眠模式的基础上,关闭了内核和基本外设以及 USB 和 RF 配置,LSE 或 LSI 可以选择是否开 启,RAM2K、RAM16K 可以选择是否维持供电。检测到唤醒事件后,PMU 将执行 GRWSM 复位,软件 可根据复位标志 RB_RESET_FLAG 和可选的 RAM 中的保持数据区分于 RPOR。 下表详细描述了几种低功耗模式的特征及唤醒途径: 表 5-2 低功耗模式 模式 特征 进入条件 外设均正常供电,内核停止运行, 设置 SLEEPDEEP=0, 空闲模式 时钟系统运转,但可以通过外设时 设 置 唤 醒 条 件 后 执 行 Idle 钟控制位选择关闭各外设的时钟。 __WFI()或__WFE()。 唤醒事件 I/O 或 RTC 或 BAT 或 USB 设置 SLEEPDEEP=1, 设置唤醒条件后执行 __WFI()或__WFE()。 I/O 或 RTC 或 BAT 或 USB 暂停模式 Halt V2.2 外设均正常供电,内核停止运行, 时钟系统停止(PLL/HSE 停止) 。 28 功耗 1.5mA 320uA WCH CH573/CH571 数据手册 睡眠模式 Sleep 下电模式 Shutdown 主 LDO 关闭,超低功耗 ULP-LDO 维 持 PMU、内核和基本外设供电, LSE 或 LSI 可以选择是否开启, RAM2K、RAM16K、USB 和 RF 配置可 以选择是否维持供电。 超低功耗 LDO 维持 PMU 供电, LSE 或 LSI 可以选择是否开启, RAM2K、RAM16K 可以选择是否维持 供电,用于保持数据。 http://wch.cn 设置 SLEEPDEEP=1, 设置 POWER_PLAN, 设置唤醒条件后执行 __WFI()或__WFE()。 I/O 或 RTC 或 BAT。 芯片唤醒后 会继续运行 1.4uA~ 8uA 设置 SLEEPDEEP=1, 设置 POWER_PLAN, 设置唤醒条件后执行 __WFI()或__WFE()。 I/O 或 RTC 或 BAT。 芯片唤醒后 会自动复位 0.3uA~ 2uA 下表描述了几种低功耗模式的详细配置: 表 5-3 低功耗模式详细配置示例 规划配置 SYS_EN RAM2K RAM16K CK32K CORE EXTEND 功耗(仅供参考) 维持供电 系统电源 数据区 数据区 LSE/LSI 二选一 CPU 内核和 USB 和 PMU 和 RTC 寄存器 的功能 VSW 2KB 16KB RTC 唤醒 基本外设 RF 配置 常供电,约 0.3uA 0 0 0 0 0 0 0.3~0.5uA 0 1 0 0 0 0 1.0~1.7uA 下电模式 常用配置 0 0 0 1 0 0 0.6~0.8uA 0 1 0 1 0 0 1.3~2.0uA 0 1 0 0 1 0 1.4~2.1uA 0 1 0 1 1 0 1.7~2.4uA 睡眠模式 0 0 1 0 1 0 4.7~7.2uA 常用配置 0 0 1 1 1 0 5.0~7.5uA 0 1 1 1 1 1 6.0~8.0uA 5.4 DC-DC 操作步骤 启用 DC-DC 电源模式(启用前需确认外部硬件电路上存在 DC-DC 所需的电感和电容) (1) 、进入安全访问模式:寄存器 R8_SAFE_ACCESS_SIG 先写入 0x57,再写入 0xA8; (2) 、打开 DC-DC 偏置电路:将寄存器 R16_POWER_PLAN 的 RB_PWR_DCDC_PRE 置 1; (3) 、打开 DC-DC 电源:将寄存器 R16_POWER_PLAN 的 RB_PWR_DCDC_EN 置 1,启用 DC-DC。 关闭 DC-DC,切换到直通电源模式 (1) 、进入安全访问模式:寄存器 R8_SAFE_ACCESS_SIG 先写入 0x57,再写入 0xA8; (2) 、清零寄存器 R16_POWER_PLAN 的 RB_PWR_DCDC_EN 和 RB_PWR_DCDC_PRE 控制位。 V2.2 29 WCH CH573/CH571 数据手册 http://wch.cn 第 6 章 系统时钟及 RTC 6.1 系统时钟简介 以下几种不同的时钟源可被选择来驱动系统时钟 HCLK(Fsys) — HSE 之分频。 — 内部 PLL(默认 480MHz)分频。 — LSE 或 LSI 原始时钟 CK32K。 任意一个时钟源都可以被独立地启动或关闭,由此可以优化系统功耗。 6.1.1 时钟结构 CLK_OSC32K_XT PA10 X32KI PA11 X32KO 外部晶振 LSE RTC MUX CK32K 内部时钟32K, LSI MUX X32MI X32MO HCLK 外部晶振 HSE PLL倍频器 x15=480MHz Fpll 时钟分频器 Fpll/10=48Mhz PIN_XT32K_IE 分频器 CLK_SYS_MOD Fsys CLK_XT32K_PON USB ADC SLP_CLK_USB ADC_CLK_DIV SLP_CLK_BLE BLE SLP_CLK_TMRx Timer 0-3 SPI0 SPI_CLOCK_DIV PWMX 4-11 PWM_CLOCK_DIV UART 0-3 UARTx_DIV SLP_CLK_SPI0 SLP_CLK_PWMx SLP_CLK_UARTx SLP_CLK_RAMX RAM16K SRAM SLP_CLK_RAM2K RAM2K SRAM HCLK PMU, CPU, GPIO, FlashROM, DMA 图 6-1 时钟树框图 上图是系统内部的时钟树结构,其中的 RTC 功能使用的是 32KHz 时钟源 CK32K,所以使用这些功 能必须打开低频时钟;USB 的数据传输依靠 PLL 分频后产生的时钟源;其他的外设驱动时钟以及数字 控制逻辑由系统时钟或者再分频驱动。 V2.2 30 WCH CH573/CH571 数据手册 http://wch.cn 6.2 RTC 简介 实时时钟(RTC)是一个独立的定时器,包含一组连续计数的计数器。在相应软件配置下,可提 供简单日历功能。修改计数器的值可以重新设置当前的时间和日期。 RTC 寄存器与 PMU 一样常供电,在系统复位或从低功耗模式唤醒后,RTC 的设置和时间维持不变。 6.2.1 主要特性 l 可配置 2 种模式: — 定时模式:软件可选择固定周期时间(定时)产生中断通知。 — 触发模式:匹配一个软件预设的目标闹钟时间,产生中断通知。 l 3 组 16 位计数器,提供了 CK32K 原始周期、2 秒周期、1 天周期的计数。 6.3 寄存器描述 表 6-1 时钟及振荡器控制相关寄存器列表 名称 R16_CLK_SYS_CFG R8_HFCK_PWR_CTRL R16_INT32K_TUNE R8_XT32K_TUNE R8_CK32K_CONFIG R8_XT32M_TUNE R16_OSC_CAL_CNT R8_OSC_CAL_CTRL R8_PLL_CONFIG R8_RTC_FLAG_CTRL R8_RTC_MODE_CTRL R32_RTC_TRIG R16_RTC_CNT_32K R16_RTC_CNT_2S R32_RTC_CNT_DAY 访问地址 0x40001008 0x4000100A 0x4000102C 0x4000102E 0x4000102F 0x4000104E 0x40001050 0x40001052 0x4000104B 0x40001030 0x40001031 0x40001034 0x40001038 0x4000103A 0x4000103C 系统时钟配置寄存器(R16_CLK_SYS_CFG) 位 名称 访问 [15:8] Reserved RO [7:6] 5 [4:0] RB_CLK_SYS_MOD RWA Reserved RO RB_CLK_PLL_DIV RWA 描述 系统时钟配置寄存器 高频时钟模块电源控制寄存器 内部 32KHz 时钟校准寄存器 外部 32KHz 时钟谐振控制寄存器 32KHz 振荡器配置寄存器 外部 32MHz 时钟谐振控制寄存器 振荡器频率校准计数值寄存器 振荡器频率校准控制寄存器 PLL 配置寄存器 RTC 标志和控制寄存器 RTC 模式配置寄存器 RTC 触发数值寄存器 RTC 基于 32768Hz 计数值寄存器 RTC 以 2S 为单位的计数值寄存器 RTC 以天为单位的计数值寄存器 复位值 0x0005 0x04 0x0800 0xC3 0xX2 0x31 0xXXXX 0x02 0x4A 0x30 0x02 0x00000000 0xXXXXXXXX 0xXXXXXXXX 0x0000XXXX 描述 保留。 HCLK 系统时钟源模式选择: 00/10:CK32M(默认 32MHz)进行分频; 01:PLL(默认 480MHz)进行分频; 11:CK32K(默认 32KHz)作为 HCLK。 保留。 HCLK 输出时钟分频系数,最小值为 2,0 代表最大值 32,写 1 将关闭 HCLK。 复位值 00h 00b 0 00101b 计算: Fck32m = XT_32MHz; Fck32k = RB_CLK_OSC32K_XT ? XT_32KHz : RC_32KHz; Fpll = Fck32m * 15 = 480MHz; Fsys = RB_CLK_SYS_MOD==3?Fck32k:(RB_CLK_SYS_MOD[0]? Fpll :Fck32m)/RB_CLK_PLL_DIV; 上电默认值 Fsys = Fck32m/ RB_CLK_PLL_DIV = 32MHz / 5 = 6.4MHz; V2.2 31 WCH CH573/CH571 数据手册 http://wch.cn Fsys 范围: 32KHz,2MHz~10MHz,15MHz~60MHz 高频时钟模块电源控制寄存器(R8_HFCK_PWR_CTRL) 位 [7:5] 名称 Reserved 访问 RO 4 RB_CLK_PLL_PON RWA 3 Reserved RO 2 RB_CLK_XT32M_PON RWA Reserved RO [1:0] 描述 保留。 PLL 电源控制位: 1:上电; 0:掉电。 保留。 外部 32MHz 振荡器电源控制位: 1:上电; 0:掉电。 保留。 内部 32KHz 时钟校准寄存器(R16_INT32K_TUNE) 位 名称 访问 [15:12] [11:0] Reserved RB_INT32K_TUNE RO RWA 描述 保留。 内部 RC 32KHz 时钟频率校准值。 复位值 000b 0 0 1 00b 复位值 0000b 800h 外部 32KHz 时钟谐振控制寄存器(R8_XT32K_TUNE) 位 名称 访问 [7:4] RB_XT32K_C_LOAD RWA [3:2] Reserved RO [1:0] RB_XT32K_I_TUNE RWA 描述 选择与外部 32KHz 晶体匹配的内置负载 电容(可能影响 RTC 时钟精度), 电容量 = RB_XT32K_C_LOAD + 12pF, 0000b~1111b 分别对应约 12pF~27pF。 根据所用晶体参数选择。 保留。 外部 32KHz 振荡器偏置电流选择: 00:70%额定电流;01:额定电流; 10:140%额定电流;11:200%额定电流。 32KHz 振荡器配置寄存器(R8_CK32K_CONFIG) 位 名称 访问 描述 7 RB_32K_CLK_PIN RO 32KHz 时钟引脚状态(异步信号)。 [6:3] Reserved RO 保留。 CK32K(32KHz)时钟源选择位: 2 RB_CLK_OSC32K_XT RWA 1:外部 32KHz 振荡器; 0:内部 32KHz 振荡器。 内部 32KHz 振荡器电源控制位: 1 RB_CLK_INT32K_PON RWA 1:上电;0:掉电。 外部 32KHz 振荡器电源控制位: 0 RB_CLK_XT32K_PON RWA 1:上电; 0:掉电。 复位值 1100b 00b 11b 复位值 X 0000b 0 1 0 外部 32MHz 时钟谐振控制寄存器(R8_XT32M_TUNE) 位 名称 访问 描述 复位值 7 Reserved RO 保留。 0 选择与外部 32MHz 晶体匹配的内置负载 电容(可能影响无线通讯): [6:4] RB_XT32M_C_LOAD RWA 011b 电容量 = RB_XT32M_C_LOAD * 2 + 10pF, 000b~111b 分别对应约 10pF~24pF。 V2.2 32 WCH CH573/CH571 数据手册 http://wch.cn [3:2] Reserved RO [1:0] RB_XT32M_I_BIAS RWA 根据所用晶体参数选择,常用为 111b。 保留。 外部 32MHz 振荡器偏置电流选择: 00:75%额定电流;01:额定电流; 10:125%额定电流;11:150%额定电流。 振荡器频率校准计数值寄存器(R16_OSC_CAL_CNT) 位 名称 访问 描述 [15:14] Reserved RO 保留。 对 5 个 CK32K 周期基于系统主频的计数 [13:0] RB_OSC_CAL_CNT RO 值,用于校准内部 32KHz 振荡器频率。 00b 01b 复位值 00b XXXXh 振荡器频率校准控制寄存器(R8_OSC_CAL_CTRL) 位 [7:2] 名称 Reserved 访问 RO 1 RB_OSC_CNT_HALT RO 0 RB_OSC_CNT_EN RWA 描述 保留。 振荡器频率校准计数器计数状态位: 1:正在暂停计数;0:正在计数中。 振荡器频率校准计数器使能位: 1:使能计数;0:禁止计数。 复位值 000000b 1 0 PLL 配置寄存器(R8_PLL_CONFIG) 位 7 [6:0] 名称 Reserved RB_PLL_CFG_DAT 访问 RO RWA 描述 保留。 PLL 配置参数。 复位值 0 1001010b RTC 标志和控制寄存器(R8_RTC_FLAG_CTRL) 位 7 6 名称 RB_RTC_TRIG_FLAG RB_RTC_TMR_FLAG 访问 RO RO 5 RB_RTC_TRIG_CLR RW 4 RB_RTC_TMR_CLR RW Reserved RO [3:0] RTC 模式配置寄存器(R8_RTC_MODE_CTRL) 位 名称 访问 V2.2 7 RB_RTC_LOAD_HI RWA 6 RB_RTC_LOAD_LO RWA 5 RB_RTC_TRIG_EN RWA 描述 RTC 触发模式激活标志。 RTC 定时模式激活标志。 禁用触发模式时,此位固定为 1。 使能触发模式时,写 1 清零触发模式激 活标志 RB_RTC_TRIG_FLAG 并自动清 0。 禁用定时模式时,此位固定为 1。 使能定时模式时,写 1 清零定时模式激 活标志 RB_RTC_TMR_FLAG 并自动清 0。 保留。 复位值 0 0 描述 写 1 将加载 RTC 计数器高字,加载后自 动清 0。将 R32_RTC_TRIG(实际仅低 14 位)加载到 R32_RTC_CNT_DAY。 写 1 将加载 RTC 计数器低字,加载后自 动清 0。将 R32_RTC_TRIG 高 16 位加载 到 R16_RTC_CNT_2S;将 R32_RTC_TRIG 低 16 位加载到 R16_RTC_CNT_32K。 RTC 触发模式使能位: 1:使能;0:禁用。 复位值 33 1 1 0000b 0 0 0 WCH CH573/CH571 数据手册 http://wch.cn 4 RB_RTC_TMR_EN RWA 3 RB_RTC_IGNORE_B0 RWA [2:0] RB_RTC_TMR_MODE RWA RTC 触发数值寄存器(R32_RTC_TRIG) 位 名称 [31:0] RTC 定时模式使能位: 1:使能;0:禁用。 触发模式下忽略比较匹配值的最低位: 1:忽略最低位;0:比较最低位。 RTC 定时模式固定周期(定时)选择: 000:0.125S;001:0.25S; 010:0.5S; 011:1S; 100:2S; 101:4S; 110:8S; 111:16S。 0 0 010b 访问 描述 复位值 RWA RTC 触发模式下的预设匹配数值,其高 16 位和低 16 位分别与 R16_RTC_CNT_2S 和 R16_RTC_CNT_32K 进行匹配。 与 RB_RTC_LOAD_LO 及 RB_RTC_LOAD_HI 配合,用于更新 RTC 计数器当前值。 0000h R32_RTC_TRIG 注:预设匹配数值不是直接写入目标时间,涉及简单计算,请参考后面的说明。 RTC 基于 32768Hz 计数值寄存器(R16_RTC_CNT_32K) 位 [15:0] 名称 R16_RTC_CNT_32K 访问 RO 描述 RTC 基于 32768Hz 计数值寄存器。 RTC 以 2S 为单位的计数值寄存器(R16_RTC_CNT_2S) 位 名称 访问 [15:0] R16_RTC_CNT_2S RO RTC 以 2S 为单位的当前计数值。 RTC 以天为单位的计数值寄存器(R32_RTC_CNT_DAY) 位 名称 访问 [31:16] [15:14] [13:0] Reserved Reserved R32_RTC_CNT_DAY RO RO RO 描述 描述 复位值 XXXXh 复位值 XXXXh 复位值 保留。 0000h 保留。 00b RTC 以天为单位的当前计数值。 XXXXXXXXXXXXXXb 6.4 功能描述及配置 6.4.1 RTC 计数器初始化 (1)、设置 R32_RTC_TRIG 寄存器数值,将 RB_RTC_LOAD_HI 置位,即可将 R32_RTC_TRIG 寄存器的数值 加载到 R32_RTC_CNT_DAY 寄存器中; (2)、设置 R32_RTC_TRIG 寄存器数值,将 RB_RTC_LOAD_LO 置位,即可将 R32_RTC_TRIG 寄存器的高低 各 16 位数值分别加载到 R16_RTC_CNT_2S 寄存器和 R16_RTC_CNT_32K 寄存器。 6.4.2 RTC 时钟源切换为 LSE 晶振 (1)、确认 X32KI 和 X32KO 所在的 GPIO 引脚没有设置为输出,没有设置上拉和下拉电阻,只有晶体; (2)、配置 R8_CK32K_CONFIG 寄存器,置 RB_CLK_XT32K_PON 为 1,开启外部 32KHz 晶体振荡器; (3)、建议先置 RB_XT32K_I_TUNE 为最大,等待晶体振荡器稳定(约数百 mS)后再改为额定电流; (4)、配置 R8_CK32K_CONFIG 寄存器,置 RB_CLK_OSC32K_XT 为 1,要求时钟源切换到晶体振荡器; V2.2 34 WCH CH573/CH571 数据手册 http://wch.cn (5)、等待至少半个 32KHz 时钟周期,通常 16uS,真正完成时钟源的切换。 6.4.3 RTC 定时功能 (1)、配置 R8_RTC_MODE_CTRL 寄存器,设置 RB_RTC_TMR_MODE 选择合适的定时周期,置 RB_RTC_TMR_EN 为 1,打开 RTC 定时功能; (2)、达到定时周期后,会产生 RTC 定时激活标志 RB_RTC_TMR_FLAG 及中断,查询 R8_RTC_FLAG_CTRL 寄存器,置位 RB_RTC_TMR_CLR 可清零标志。 6.4.4 RTC 触发功能 (1)、在 R32_RTC_TRIG 寄存器中设置好目标匹配数值,计算和操作步骤: 以当前时间 R32_RTC_CNT_32K(高 16 位 R16_RTC_CNT_2S 和低 16 位 R16_RTC_CNT_32K)加上间 隔时间 DelayTime(单位 S),计算出目标时间数值,T32 = R32_RTC_CNT_32K + DelayTime * 32768, 将 T32 写入 R32_RTC_TRIG 寄存器中,完成匹配数值设定; (2)、配置 R8_RTC_MODE_CTRL 寄存器,置 RB_RTC_TRIG_EN 为 1,打开 RTC 触发功能; (3)、当 RTC 当前计数值 R16_RTC_CNT_2S 和 R16_RTC_CNT_32K 分别与 R32_RTC_TRIG 预设的高和低 16 位匹配时,产生 RTC 触发激活标志 RB_RTC_TRIG_FLAG 及中断,置位 RB_RTC_TRIG_CLR 可清零标志。 (4)、如果 RTC 已经过校时,那么可以支持目标绝对时间触发,由目标年/月/日/时/分/秒/毫秒计算 出目标时间数值 T32,其它步骤同上。具体可参考评估板例子程序。 6.4.5 用 HSE 校准内部 32K 时钟 LSI 参考评估板例子程序 V2.2 35 WCH CH573/CH571 数据手册 http://wch.cn 第 7 章 通用 I/O 和复用功能 7.1 GPIO 简介 芯片提供了 2 组 GPIO 端口 PA 和 PB,共 22 个通用输入输出引脚,每个引脚都具有中断和唤醒功 能,部分引脚具有复用及映射功能。 每个 GPIO 端口有一个 32 位方向配置寄存器 R32_Px_DIR, 一个 32 位引脚输入寄存器 R32_Px_PIN, 一个 32 位数据输出寄存器 R32_Px_OUT,一个 32 位数据复位寄存器 R32_Px_CLR,一个 32 位上拉电阻 配置寄存器 R32_Px_PU,一个 32 位下拉电阻/驱动能力配置寄存器 R32_Px_PD_DRV。 PA 端口中,仅 PA[4]、PA[5]、PA[8]~PA[15]位有效,对应芯片上 10 个 GPIO 引脚。 PB 端口中,仅 PB[0]、PB[4]、PB[6]、PB[7]、PB[10]~PB[15]、PB[22]、PB[23]位有效,对应 芯片上 12 个 GPIO 引脚。 每个 I/O 端口位可以自由编程,但是 I/O 端口寄存器必须按 8 位、16 位或者 32 位字访问。如果 引脚的复用功能没有开启,则默认作为通用 I/O 口使用。 下图是 GPIO 内部结构框图: 图 7-1 I/O 内部结构框图 7.2 外部中断/唤醒 芯片的所有 I/O 管脚都具有中断功能,并可实现睡眠唤醒。 为了使用外部中断,端口位必须配置成输入模式。并提供 4 种触发模式:高电平、低电平、上升 沿、下降沿。 唤醒功能需要打开端口位的中断使能 R16_Px_INT_EN, 并开启寄存器 R8_SLP_WAKE_CTRL 中的 GPIO 唤醒控制位 RB_SLP_GPIO_WAKE。 7.3 GPIO 的复用与重映射 V2.2 36 WCH CH573/CH571 数据手册 http://wch.cn 7.3.1 复用功能 部分 I/O 引脚具有复用功能,上电后默认所有 I/O 引脚均为通用 I/O 功能,启用各功能模块后, 相应的原 GPIO 引脚被配置成各自功能模块对应的功能引脚。 如果一个管脚复用多个功能,并且多个功能都已开启,那么复用功能的优先级顺序请参考 1.2 节 引脚描述的“复用功能”列表中功能顺序。 例如:PB23 脚复用为 RST#/TMR0_/TXD2/PWM11,则 RST#复位输入功能优先,PWM11 输出功能的优 先级最低。这样可以在多个复用功能中,将功能优先级最低的部分不需使用的引脚启用相对更高优先 级的复用功能。 下表列出了部分用于外设模块的功能引脚的 GPIO 配置。 表 7-1 定时器 x TMR0/1/2/3 引脚 功能配置 GPIO 配置 输入捕捉通道 x 输入(浮空输入/上拉输入/下拉输入) TMRx 输出 PWM 通道 x 推挽输出 UART0/1/2/3 引脚 TXDx RXDx RTS,DTR CTS,DSR 表 7-2 UARTx 功能配置 串口发送 x 串口接收 x MODEM 信号输出或 RS485 控制 MODEM 信号输入 SPI0 引脚 SCK0 MOSI MISO SCS 表 7-3 SPI0 功能配置 主模式时钟输出 从模式时钟输入 全双工模式-主模式 全双工模式-从模式 半双工模式-主模式 半双工模式-从模式 全双工模式-主模式 全双工模式-从模式 半双工模式-主模式 半双工模式-从模式 主模式片选输出 从模式片选输入 GPIO 配置 推挽输出 上拉输入(推荐)或浮空输入 推挽输出 上拉输入(推荐)或浮空输入 GPIO 配置 推挽输出 输入(浮空输入/上拉输入/下拉输入) 推挽输出 输入(浮空输入/上拉输入/下拉输入) 未用到,可做通用 I/O 未用到,可做通用 I/O 输入(浮空输入/上拉输入/下拉输入) 输入(推荐上拉,片选后自动切为推挽输出) 或推挽输出(禁止用于总线连接方式) 输入或推挽输出,手工切换 输入(推荐上拉,片选后自动切为推挽输出) 推挽输出(可换用其它引脚) 上拉输入(推荐)或浮空输入 ADC 采样通道引脚 AINx 表 7-4 ADC 功能配置 模拟数字转换输入通道 GPIO 配置 浮空输入 USB 信号引脚 USB_DM USB_DP 表 7-5 USB 功能配置 连接到内部 USB 收发器 连接到内部 USB 收发器 GPIO 配置 浮空输入 浮空输入 7.3.2 功能引脚重映射 V2.2 37 WCH CH573/CH571 数据手册 http://wch.cn 为了使外设功能的同时利用率达到最优,可以通过设置 R16_PIN_ALTERNATE 功能引脚重映射寄存 器把一些功能引脚重新映射到其他引脚上。 表 7-7 复用功能重映射引脚 外设功能引脚 SPI0 RXD1/TXD1 RXD0/TXD0 TMR2/PWM2/CAP2 TMR1/PWM1/CAP1 TMR0/PWM0/CAP0 默认所在的 GPIO 引脚 PA[12]/PA[13]/PA[14]/PA[15] PA[8]/PA[9] PB[4]/PB[7] PA[11] PA[10] PA[9] 重映射到的 GPIO 引脚 PB[12]/PB[13]/PB[14]/PB[15] PB[12]/PB[13] PA[15]/PA[14] PB[11] PB[10] PB[23] 7.4 寄存器描述 表 7-8GPIO 相关寄存器列表 名称 R16_PIN_ALTERNATE R16_PIN_ANALOG_IE R16_PA_INT_EN R16_PB_INT_EN R16_PA_INT_MODE R16_PB_INT_MODE R16_PA_INT_IF R16_PB_INT_IF R32_PA_DIR R32_PA_PIN R32_PA_OUT R32_PA_CLR R32_PA_PU R32_PA_PD_DRV R32_PB_DIR R32_PB_PIN R32_PB_OUT R32_PB_CLR R32_PB_PU R32_PB_PD_DRV 访问地址 0x40001018 0x4000101A 0x40001090 0x40001092 0x40001094 0x40001096 0x4000109C 0x4000109E 0x400010A0 0x400010A4 0x400010A8 0x400010AC 0x400010B0 0x400010B4 0x400010C0 0x400010C4 0x400010C8 0x400010CC 0x400010D0 0x400010D4 描述 功能引脚重映射寄存器 外设模拟管脚配置寄存器 PA 端口中断使能寄存器 PB 端口中断使能寄存器 PA 端口中断模式配置寄存器 PB 端口中断模式配置寄存器 PA 端口中断标志寄存器 PB 端口中断标志寄存器 PA 端口方向配置寄存器 PA 端口引脚输入寄存器 PA 端口数据输出寄存器 PA 端口数据复位寄存器 PA 端口上拉电阻配置寄存器 PA 端口下拉/驱动配置寄存器 PB 端口方向配置寄存器 PB 端口引脚输入寄存器 PB 端口数据输出寄存器 PB 端口数据复位寄存器 PB 端口上拉电阻配置寄存器 PB 端口下拉/驱动配置寄存器 功能引脚重映射寄存器(R16_PIN_ALTERNATE) 位 名称 访问 描述 [15:12] Reserved RO 保留。 [11:9] Reserved RO 保留。 SPI0 功能引脚映射选择位: 1:SCK0_/SCS_/MOSI_/MISO_映射到 8 RB_PIN_SPI0 RW PB[12]/PB[13]/PB[14]/PB[15]; 0:SCK0/SCS/MOSI/MISO 映射到 PA[12]/PA[13]/PA[14]/PA[15]。 7 Reserved RO 保留。 6 Reserved RO 保留。 V2.2 38 复位值 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x00000000 0x0000XXX0 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00X0XXXX 0x00000000 0x00000000 0x00000000 0x00000000 复位值 0000b 000b 0 0 0 WCH CH573/CH571 数据手册 http://wch.cn 5 RB_PIN_UART1 RW 4 RB_PIN_UART0 RW 3 Reserved RO 2 RB_PIN_TMR2 RW 1 RB_PIN_TMR1 RW 0 RB_PIN_TMR0 RW UART1 功能引脚映射选择位: 1:RXD1_/TXD1_映射到 PB[12]/PB[13]; 0:RXD1/TXD1 映射到 PA[8]/PA[9]。 UART0 功能引脚映射选择位: 1:RXD0_/TXD0_映射到 PA[15]/PA[14]; 0:RXD0/TXD0 映射到 PB[4]/PB[7]。 保留。 TMR2 功能引脚映射选择位: 1:TMR2_/PWM2_/CAP2_映射到 PB[11]; 0:TMR2/PWM2/CAP2 映射到 PA[11]。 TMR1 功能引脚映射选择位: 1:TMR1_/PWM1_/CAP1_映射到 PB[10]; 0:TMR1/PWM1/CAP1 映射到 PA[10]。 TMR0 功能引脚映射选择位: 1:TMR0_/PWM0_/CAP0_映射到 PB[23]; 0:TMR0/PWM0/CAP0 映射到 PA[9]。 0 0 0 0 0 0 外设模拟管脚配置寄存器(R16_PIN_ANALOG_IE) 位 V2.2 名称 访问 15 RB_PIN_ADC4_5_IE RW 14 RB_PIN_ADC2_3_IE RW 13 RB_PIN_XT32K_IE RW 12 RB_PIN_ADC13_IE RW 11 RB_PIN_ADC12_IE RW 10 RB_PIN_ADC1_IE RW 9 RB_PIN_ADC0_IE RW 8 RB_PIN_ADC8_9_IE RW 7 RB_PIN_USB_IE RW 6 RB_PIN_USB_DP_PU RW 描述 复位值 ADC/TKEY 4/5 通道引脚数字输入禁用: 1:关闭 PA14-15 数字输入,可节约功耗; 0 0:打开数字输入。 ADC/TKEY 2/3 通道引脚数字输入禁用: 1:关闭 PA12-13 数字输入,可节约功耗; 0 0:打开数字输入。 32KHz 晶振 LSE 引脚数字输入禁用: 1:关闭 PA10-11 数字输入,可节约功耗; 0 0:打开数字输入。 ADC/TKEY 13 通道引脚数字输入禁用: 1:关闭 PA9 数字输入,可节约功耗; 0 0:打开数字输入。 ADC/TKEY 12 通道引脚数字输入禁用: 1:关闭 PA8 数字输入,可节约功耗; 0 0:打开数字输入。 ADC/TKEY 1 通道引脚数字输入禁用: 1:关闭 PA5 数字输入,可节约功耗; 0 0:打开数字输入。 ADC/TKEY 0 通道引脚数字输入禁用: 1:关闭 PA4 数字输入,可节约功耗; 0 0:打开数字输入。 ADC/TKEY 8/9 通道引脚数字输入禁用: 1:关闭 PB0/PB6 数字输入,可节约功耗; 0 0:打开数字输入。 USB 引脚使能: 1:PB10-11 为 USB 通讯引脚; 0 0:PB10-11 不用于 USB 通讯。 USB UD+引脚内部上拉电阻使能: 1:强制使能上拉(RB_UC_DEV_PU_EN 在 0 睡眠或下电模式下不起作用,由此代替) ; 39 WCH CH573/CH571 数据手册 [5:0] http://wch.cn Reserved RO 0:由 RB_UC_DEV_PU_EN 控制是否上拉。 保留。 000000b 注:如果引脚用于模拟功能(ADC/TouchKey) ,建议将该引脚的数字输入功能关闭,即设置数字输入 禁用,从而可以降低功耗,并有利于减少干扰。 PA 端口中断使能寄存器(R16_PA_INT_EN) 位 [15:0] 名称 R16_PA_INT_EN 访问 RW 描述 PA 引脚中断使能位: 1:使能相应中断; 0:禁止相应中断。 PB 端口中断使能寄存器(R16_PB_INT_EN) 位 名称 访问 描述 PB 引脚中断使能位: 1:使能相应中断; 0:禁止相应中断。 注:R16_PB_INT_EN[9]对应 PB23,R16_PB_INT_EN[8]对应 PB22。 [15:0] R16_PB_INT_EN RW 复位值 0000h 复位值 0000h PA 端口中断模式配置寄存器(R16_PA_INT_MODE) 位 [15:0] 名称 R16_PA_INT_MODE 访问 RW 描述 PA 引脚中断模式选择位: 1:边沿触发;0:电平触发。 PB 端口中断模式配置寄存器(R16_PB_INT_MODE) 位 名称 访问 描述 PB 引脚中断模式选择位: [15:0] R16_PB_INT_MODE RW 1:边沿触发;0:电平触发。 复位值 0000h 复位值 0000h 注:R16_PB_INT_MODE[9]对应 PB23,R16_PB_INT_MODE[8]对应 PB22。 PA 端口中断标志寄存器(R16_PA_INT_IF) 位 名称 访问 [15:0] R16_PA_INT_IF RW1 描述 PA 引脚中断标志位,写 1 清零: 1:有中断;0:无中断。 PB 端口中断标志寄存器(R16_PB_INT_IF) 位 名称 访问 描述 PB 引脚中断标志位,写 1 清零: [15:0] R16_PB_INT_IF RW1 1:有中断; 0:无中断。 注:R16_PB_INT_IF[9]对应 PB23,R16_PB_INT_IF[8]对应 PB22。 PA 端口方向配置寄存器(R32_PA_DIR) 位 名称 访问 [31:16] Reserved RO [15:8] R8_PA_DIR_1 RW [7:0] V2.2 R8_PA_DIR_0 RW 描述 保留。 PA 引脚当前输入输出方向配置: 1:引脚为输出模式; 0:引脚为输入模式。 40 复位值 0000h 复位值 0000h 复位值 0000h 00h 00h WCH CH573/CH571 数据手册 http://wch.cn PA 端口引脚输入寄存器(R32_PA_PIN) 位 名称 访问 [31:16] Reserved RO [15:8] R8_PA_PIN_1 RO [7:0] R8_PA_PIN_0 RO PA 端口数据输出寄存器(R32_PA_OUT) 位 名称 访问 [31:16] Reserved RO [15:8] R8_PA_OUT_1 RW [7:0] R8_PA_OUT_0 RW 描述 复位值 保留。 PA 引脚当前电平状态(仅在 R32_PA_DIR 对应位为 0 时,该位值有效): 1:引脚输入高电平; 0:引脚输入低电平。 0000h 描述 复位值 0000h 保留。 方向寄存器 R32_PA_DIR 对应位为 1 时: 控制 PA 引脚输出电平状态: 1:输出高电平;0:输出低电平。 方向寄存器 R32_PA_DIR 对应位为 0 时: 控制 PA 引脚中断极性选择: 1:高电平/上升沿;0:低电平/下降沿。 XXh XXh 00h 00h PA 端口数据复位寄存器(R32_PA_CLR) 位 [31:16] [15:8] 名称 Reserved R8_PA_CLR_1 访问 RO WZ [7:0] R8_PA_CLR_0 WZ PA 端口上拉电阻配置寄存器(R32_PA_PU) 位 名称 访问 [31:16] Reserved RO [15:8] R8_PA_PU_1 RW [7:0] R8_PA_PU_0 RW 描述 保留。 PA 数据寄存器复位控制: 1:R32_PA_OUT 对应位数据清 0; 0:无影响。 描述 保留。 PA 引脚上拉电阻使能控制: 1:启用上拉电阻;0:关闭上拉电阻。 PA 端口下拉/驱动配置寄存器(R32_PA_PD_DRV) 位 名称 访问 描述 [31:16] Reserved RO 保留。 方向寄存器 R32_PA_DIR 对应位为 0 时: PA 引脚下拉电阻使能控制: [15:8] R8_PA_PD_DRV_1 RW 1:启用下拉电阻;0:关闭下拉电阻。 方向寄存器 R32_PA_DIR 对应位为 1 时: PA 引脚电流驱动能力选择: [7:0] R8_PA_PD_DRV_0 RW 1:20mA 级别;0:5mA 级别。 PB 端口方向配置寄存器(R32_PB_DIR) 位 名称 访问 [31:24] Reserved RO [23:16] R8_PB_DIR_2 RW [15:8] R8_PB_DIR_1 RW [7:0] R8_PB_DIR_0 RW V2.2 描述 保留。 PB 引脚当前输入输出方向配置: 1:引脚为输出模式; 0:引脚为输入模式。 41 复位值 0000h 00h 00h 复位值 0000h 00h 00h 复位值 0000h 00h 00h 复位值 00h 00h 00h 00h WCH CH573/CH571 数据手册 http://wch.cn PB 端口引脚输入寄存器(R32_PB_PIN) 位 名称 访问 [31:24] [23:16] [15:8] Reserved R8_PB_PIN_2 R8_PB_PIN_1 RO RO RO [7:0] R8_PB_PIN_0 RO 描述 复位值 保留。 PB 引脚当前电平状态(仅在 R32_PB_DIR 对应位为 0 时,该位值有效): 1:引脚输入高电平; 0:引脚输入低电平。 00h XXh XXh 描述 复位值 保留。 方向寄存器 R32_PB_DIR 对应位为 1 时: 控制 PB 引脚输出电平状态: 1:输出高电平;0:输出低电平。 方向寄存器 R32_PB_DIR 对应位为 1 时: 控制 PB 引脚输出电平状态: 1:输出高电平;0:输出低电平。 方向寄存器 R32_PB_DIR 对应位为 0 时: 控制 PB 引脚中断极性选择: 1:高电平/上升沿;0:低电平/下降沿。 00h PB 端口数据输出寄存器(R32_PB_OUT) 位 名称 访问 [31:24] Reserved RO [23:16] R8_PB_OUT_2 RW [15:8] R8_PB_OUT_1 RW [7:0] R8_PB_OUT_0 RW PB 端口数据复位寄存器(R32_PB_CLR) 位 名称 访问 [31:24] Reserved RO [23:16] R8_PB_CLR_2 WZ [15:8] R8_PB_CLR_1 WZ [7:0] R8_PB_CLR_0 WZ PB 端口上拉电阻配置寄存器(R32_PB_PU) 位 名称 访问 [31:24] Reserved RO [23:16] R8_PB_PU_2 RW [15:8] R8_PB_PU_1 RW [7:0] R8_PB_PU_0 RW 描述 保留。 PB 数据寄存器复位控制: 1:R32_PB_OUT 对应位数据清 0; 0:无影响。 描述 保留。 PB 引脚上拉电阻使能控制: 1:启用上拉电阻;0:关闭上拉电阻。 PB 端口下拉/驱动配置寄存器(R32_PB_PD_DRV) 位 名称 访问 描述 [31:24] Reserved RO 保留。 方向寄存器 R32_PB_DIR 对应位为 0 时: [23:16] R8_PB_PD_DRV_2 RW PB 引脚下拉电阻使能控制: 1:启用下拉电阻;0:关闭下拉电阻。 [15:8] R8_PB_PD_DRV_1 RW 方向寄存器 R32_PB_DIR 对应位为 1 时: PB 引脚电流驱动能力选择: [7:0] R8_PB_PD_DRV_0 RW 1:20mA 级别;0:5mA 级别。 XXh 00h 00h 00h 复位值 00h 00h 00h 00h 复位值 00h 00h 00h 00h 复位值 00h 00h 00h 00h 7.5 GPIO 引脚模式配置 V2.2 42 WCH CH573/CH571 数据手册 http://wch.cn 每个 GPIO 都可以配置成 5 种模式,具体见下表: 表 7-9 端口配置表 模式 R32_Px_DIR 浮空输入/高阻输入/模拟输入 带上拉电阻的输入 带下拉电阻的输入 推挽输出,驱动能力 5mA 级别 推挽输出,驱动能力 20mA 级别 V2.2 0 0 0 1 1 43 R32_Px_PU R32_Px_PD_DRV 0 1 0 X X 0 0 1 0 1 WCH CH573/CH571 数据手册 http://wch.cn 第 8 章 通用定时器 TMRx 8.1 TMRx 简介 芯片提供了 4 个 26 位定时器,TMR0、TMR1、TMR2 和 TMR3,最长定时时间为 2^26 个时钟周期。 它适用于多种场合,包括测量输入信号脉冲长度(输入捕捉)或者产生输出波形(PWM) ,另外 TMR1 和 TMR2 支持 DMA 功能。每个定时器都是完全独立的,可以一起同步操作。 8.1.1 主要特性 l 4 个 26 位定时器,每个定时器定时时间最大为 2^26 个时钟周期。 l 支持定时器中断,其中 TMR1 和 TMR2 支持 DMA 及中断。 l 支持捕捉功能,测量输入脉冲长度或周期。 l 捕捉功能可设置为电平变化捕捉和高或低电平保持时间捕捉功能。 l 支持 26 位 PWM 功能,可动态调整 PWM 占空比设置。 8.2 寄存器描述 名称 表 8-1 TMR0 相关寄存器列表 访问地址 描述 复位值 R8_TMR0_CTRL_MOD R8_TMR0_INTER_EN R8_TMR0_INT_FLAG R8_TMR0_FIFO_COUNT R32_TMR0_COUNT R32_TMR0_CNT_END R32_TMR0_FIFO 0x40002000 0x40002002 0x40002006 0x40002007 0x40002008 0x4000200C 0x40002010 模式设置寄存器 中断使能寄存器 中断标志寄存器 FIFO 计数寄存器 当前计数值寄存器 计数终值设置寄存器 FIFO 寄存器 0x02 0x00 0x00 0x0X 0x0XXXXXXX 0x0XXXXXXX 0x0XXXXXXX 名称 R8_TMR1_CTRL_MOD R8_TMR1_CTRL_DMA R8_TMR1_INTER_EN R8_TMR1_INT_FLAG R8_TMR1_FIFO_COUNT R32_TMR1_COUNT R32_TMR1_CNT_END R32_TMR1_FIFO R16_TMR1_DMA_NOW R16_TMR1_DMA_BEG R16_TMR1_DMA_END 表 8-2TMR1 相关寄存器列表 访问地址 描述 0x40002400 模式设置寄存器 0x40002401 DMA 控制寄存器 0x40002402 中断使能寄存器 0x40002406 中断标志寄存器 0x40002407 FIFO 计数寄存器 0x40002408 当前计数值寄存器 0x4000240C 计数终值寄存器 0x40002410 FIFO 寄存器 0x40002414 DMA 当前缓冲区地址 0x40002418 DMA 起始缓冲区地址 0x4000241C DMA 结束缓冲区地址 复位值 0x02 0x00 0x00 0x00 0x0X 0x0XXXXXXX 0x0XXXXXXX 0x0XXXXXXX 0x0000XXXX 0x0000XXXX 0x0000XXXX 名称 R8_TMR2_CTRL_MOD R8_TMR2_CTRL_DMA R8_TMR2_INTER_EN R8_TMR2_INT_FLAG 表 8-3TMR2 相关寄存器列表 访问地址 描述 0x40002800 模式设置寄存器 0x40002801 DMA 控制寄存器 0x40002802 中断使能寄存器 0x40002806 中断标志寄存器 V2.2 44 复位值 0x02 0x00 0x00 0x00 WCH CH573/CH571 数据手册 http://wch.cn R8_TMR2_FIFO_COUNT R32_TMR2_COUNT R32_TMR2_CNT_END R32_TMR2_FIFO R16_TMR2_DMA_NOW R16_TMR2_DMA_BEG R16_TMR2_DMA_END 0x40002807 0x40002808 0x4000280C 0x40002810 0x40002814 0x40002818 0x4000281C FIFO 计数寄存器 当前计数值寄存器 计数终值寄存器 FIFO 寄存器 DMA 当前缓冲区地址 DMA 起始缓冲区地址 DMA 结束缓冲区地址 0x0X 0x0XXXXXXX 0x0XXXXXXX 0x0XXXXXXX 0x0000XXXX 0x0000XXXX 0x0000XXXX 名称 R8_TMR3_CTRL_MOD R8_TMR3_INTER_EN R8_TMR3_INT_FLAG R8_TMR3_FIFO_COUNT R32_TMR3_COUNT R32_TMR3_CNT_END R32_TMR3_FIFO 表 8-4 TMR3 相关寄存器列表 访问地址 描述 0x40002C00 模式设置寄存器 0x40002C02 中断使能寄存器 0x40002C06 中断标志寄存器 0x40002C07 FIFO 计数寄存器 0x40002C08 当前计数值寄存器 0x40002C0C 计数终值设置寄存器 0x40002C10 FIFO 寄存器 复位值 0x02 0x00 0x00 0x0X 0x0XXXXXXX 0x0XXXXXXX 0x0XXXXXXX 模式设置寄存器(R8_TMRx_CTRL_MOD) (x=0/1/2/3) 位 名称 访问 描述 捕捉模式下,选择捕捉触发方式: 00:不触发; 01:捕捉任何边沿变化之间的时间; 10:捕捉下降沿到下降沿之间时间; 11:捕捉上升沿到上升沿之间时间。 [7:6] RB_TMR_CAP_EDGE RW 计数模式下,选择计数的边沿: 00:不采样计数; 01:采样到任意边沿计数; 10:采样到下降沿计数; 11:采样到上升沿计数。 PWM 模式下,选择数据重复方式: [7:6] RB_TMR_PWM_REPEAT RW 00:重复 1 次;01:重复 4 次; 10:重复 8 次;11:重复 16 次。 5 Reserved RO 保留。 RB_TMR_MODE_IN=1 输入模式的子模式: 4 RB_TMR_CAP_COUNT RW 1:计数模式;0:捕捉模式。 PWM 模式下,输出极性设置位: 4 RB_TMR_OUT_POLAR RW 1:默认高电平,低电平有效; 0:默认低电平,高电平有效。 定时器输出使能位: 3 RB_TMR_OUT_EN RW 1:输出使能;0:输出禁止。 定时器计数使能位: 2 RB_TMR_COUNT_EN RW 1:使能计数;0:停止计数。 定时器的 FIFO/计数器/中断标志清零: 1 RB_TMR_ALL_CLEAR RW 1:强制清空和清零;0:不清。 定时器模式设置位: 0 RB_TMR_MODE_IN RW 1:输入模式(捕捉模式或计数模式) ; 0:定时模式或 PWM 模式。 V2.2 45 复位值 00b 00b 0 0 0 0 0 1 0 WCH CH573/CH571 数据手册 http://wch.cn 中断使能寄存器(R8_TMRx_INTER_EN) (x=0/1/2/3) 位 名称 访问 [7:5] Reserved RO 4 RB_TMR_IE_FIFO_OV RW 3 RB_TMR_IE_DMA_END RW 2 RB_TMR_IE_FIFO_HF RW 1 RB_TMR_IE_DATA_ACT RW 0 RB_TMR_IE_CYC_END RW 描述 复位值 保留。 FIFO 溢出(捕捉模式 FIFO 满或 PWM 模 式 FIFO 空)中断使能位: 1:使能中断;0:禁止中断。 DMA 结束中断使能位(仅 TMR1/2 支持) : 1:使能中断;0:禁止中断。 FIFO 使用过半 (捕捉模式 FIFO>=4 或 PWM 模式 FIFO=4 或 PWM 模式 FIFO=4 或发送 时 FIFO= min(可能收到的最大数据包长度 + 2 字节,64 字节) 。 端点 n 发送长度寄存器(R8_UEPn_T_LEN) (n=0/1/2/3/4) 位 名称 访问 描述 复位值 [7:0] R8_UEPn_T_LEN RW 设置 USB 端点 n 准备发送的数据字节数。 XXh 端点 n 控制寄存器(R8_UEPn_CTRL) (n=0/1/2/3/4) 位 名称 访问 描述 USB 端点 n 的接收器(处理 OUT 事务) 7 RB_UEP_R_TOG RW 期望的同步触发位: 1:期望 DATA1;0:期望 DATA0。 USB 端点 n 的发送器(处理 IN 事务)准 6 RB_UEP_T_TOG RW 备的同步触发位: 1:发送 DATA1;0:发送 DATA0。 5 Reserved RO 保留。 V2.2 83 复位值 0 0 0 WCH CH573/CH571 数据手册 http://wch.cn 4 RB_UEP_AUTO_TOG RW [3:2] MASK_UEP_R_RES RW [1:0] MASK_UEP_T_RES RW 同步触发位自动翻转使能控制位: 1:数据发送或接收成功后自动翻转相应 的同步触发位; 0:不自动翻转,可以手动切换。 只支持端点 1/2/3。 端点 n 的接收器对 OUT 事务的响应控制: 00:应答 ACK; 01:超时/无响应,用于非端点 0 的实时 /同步传输; 10:应答 NAK 或忙; 11:应答 STALL 或错误。 端点 n 的发送器对 IN 事务的响应控制: 00:DATA0/DATA1 数据就绪并期望 ACK; 01:应答 DATA0/DATA1 并期望无响应, 用于非端点 0 的实时/同步传输; 10:应答 NAK 或忙; 11:应答 STALL 或错误。 0 00b 00b 17.2.3 主机寄存器描述 在 USB 主机模式下,芯片提供了一组双向主机端点,包括一个发送端点 OUT 和一个接收端点 IN, 数据包的最大长度是 64 字节,支持控制传输、中断传输、批量传输和实时/同步传输。 主机端点发起的每一个 USB 事务,在处理结束后总是自动设置 RB_UIF_TRANSFER 中断标志。应用 程序可以直接查询或在 USB 中断服务程序中查询并分析中断标志寄存器 R8_USB_INT_FG,根据各中断 标志分别进行相应的处理;并且,如果 RB_UIF_TRANSFER 有效,那么还需要继续分析 USB 中断状态寄 存器 R8_USB_INT_ST,根据当前 USB 传输事务的应答 PID 标识 MASK_UIS_H_RES 进行相应的处理。 如果事先设定了主机接收端点的 IN 事务的同步触发位 RB_UH_R_TOG,那么可以通过 RB_U_TOG_OK 或者 RB_UIS_TOG_OK 判断当前所接收到的数据包的同步触发位是否与主机接收端点的同步触发位匹 配,如果数据同步,则数据有效;如果数据不同步,则数据应该被丢弃。每次处理完 USB 发送或者接 收中断后,都应该正确修改相应主机端点的同步触发位,用于同步下次所发送的数据包和检测下次所 接收的数据包是否同步;另外,通过设置 RB_UH_T_AUTO_TOG 和 RB_UH_R_AUTO_TOG 可以实现在发送 成功或接收成功后自动翻转相应的同步触发位。 USB 主机令牌设置寄存器 R8_UH_EP_PID 用于设置被操作的目标设备的端点号和本次 USB 传输事 务的令牌 PID 包标识。SETUP 令牌和 OUT 令牌所对应的数据由主机发送端点提供,准备发送的数据在 R16_UH_TX_DMA 缓冲区中,准备发送的数据长度设置在 R16_UH_TX_LEN 中;IN 令牌所对应数据由目标 设备返回给主机接收端点,接收到数据存放 R16_UH_RX_DMA 缓冲区中,接收到的数据长度存放在 R8_USB_RX_LEN 中。 表 17-5USB 主机相关寄存器列表(标灰受 RB_UC_RESET_SIE 复位控制) 名称 R8_UHOST_CTRL R8_UH_EP_MOD R16_UH_RX_DMA R16_UH_TX_DMA R8_UH_SETUP R8_UH_EP_PID R8_UH_RX_CTRL R8_UH_TX_LEN R8_UH_TX_CTRL V2.2 访问地址 0x40008001 0x4000800d 0x40008018 0x4000801c 0x40008026 0x40008028 0x4000802a 0x4000802c 0x4000802e 描述 USB 主机物理端口控制寄存器 USB 主机端点模式控制寄存器 USB 主机接收缓冲区起始地址 USB 主机发送缓冲区起始地址 USB 主机辅助设置寄存器 USB 主机令牌设置寄存器 USB 主机接收端点控制寄存器 USB 主机发送长度寄存器 USB 主机发送端点控制寄存器 84 复位值 0xX0 0x00 0xXXXX 0xXXXX 0x00 0x00 0x00 0xXX 0x00 WCH CH573/CH571 数据手册 http://wch.cn USB 主机物理端口控制寄存器(R8_UHOST_CTRL) 位 名称 访问 7 RB_UH_PD_DIS RW 6 Reserved RO 5 RB_UH_DP_PIN RO 4 RB_UH_DM_PIN RO 3 Reserved RO 2 RB_UH_LOW_SPEED RW 1 RB_UH_BUS_RESET RW 0 RB_UH_PORT_EN RW 描述 USB 主机端口 UD+/UD-引脚内部下拉电 阻控制位: 1:禁用内部下拉;0:使能内部下拉。 可用于 GPIO 模式提供下拉电阻。 保留。 当前 UD+引脚状态: 1:高电平; 0:低电平。 当前 UD-引脚状态: 1:高电平; 0:低电平。 保留。 USB 主机端口低速模式使能位: 1:选择 1.5Mbps 低速模式; 0:选择 12Mbps 全速模式。 USB 主机模式总线复位控制位: 1:强制输出 USB 总线复位; 0:结束输出。 USB 主机端口使能位: 1:使能主机端口;0:禁用主机端口。 当 USB 设备断开连接时,该为自动清 0。 复位值 1 0 X X 0 0 0 0 USB 主机端点模式控制寄存器(R8_UH_EP_MOD) 位 名称 访问 描述 复位值 7 Reserved RO 保留。 0 主机发送端点发送(SETUP/OUT)使能位: 6 RB_UH_EP_TX_EN RW 1:使能端点发送; 0 0:禁止端点发送。 5 Reserved RO 保留。 0 主机发送端点发送数据缓冲区模式控制 4 RB_UH_EP_TBUF_MOD RW 0 位。 主机接收端点接收(IN)使能位: 3 RB_UH_EP_RX_EN RW 1:使能端点接收; 0 0:禁止端点接收。 [2:1] Reserved RO 保留。 00b USB 主机接收端点接收数据缓冲区模式 0 RB_UH_EP_RBUF_MOD RW 0 控制位。 由 RB_UH_EP_TX_EN 和 RB_UH_EP_TBUF_MOD 组合控制主机发送端点数据缓冲区模式,参考下表。 表 17-6 主机发送缓冲区模式 RB_UH_EP_TX_EN RB_UH_EP_TBUF_MOD 描述:以 R16_UH_TX_DMA 为起始地址 0 X 端点被禁用,未用到 R16_UH_TX_DMA 缓冲区。 1 0 单 64 字节发送缓冲区(SETUP/OUT) 。 双 64 字节发送缓冲区,通过 RB_UH_T_TOG 选择: 1 1 当 RB_UH_T_TOG=0 时选择前 64 字节缓冲区; 当 RB_UH_T_TOG=1 时选择后 64 字节缓冲区。 由 RB_UH_EP_RX_EN 和 RB_UH_EP_RBUF_MOD 组合控制主机接收端点数据缓冲区模式,参考下表。 表 17-7 主机接收缓冲区模式 V2.2 85 WCH CH573/CH571 数据手册 http://wch.cn RB_UH_EP_RX_EN 0 1 RB_UH_EP_RBUF_MOD X 0 1 1 结构描述:以 R16_UH_TX_DMA 为起始地址 端点被禁用,未用到 R16_UH_RX_DMA 缓冲区。 单 64 字节接收缓冲区(IN) 。 双 64 字节接收缓冲区,通过 RB_UH_R_TOG 选择: 当 RB_UH_R_TOG=0 时选择前 64 字节缓冲区; 当 RB_UH_R_TOG=1 时选择后 64 字节缓冲区。 USB 主机接收缓冲区起始地址(R16_UH_RX_DMA) 位 名称 访问 [15:0] R16_UH_RX_DMA RW 描述 主机端点数据接收缓冲区起始地址。 低 14 位有效,地址必须 4 字节对齐。 复位值 XXXXb USB 主机发送缓冲区起始地址(R16_UH_TX_DMA) 位 [15:0] 名称 R16_UH_TX_DMA 访问 RW 描述 主机端点数据发送缓冲区起始地址。 低 14 位有效,地址必须 4 字节对齐。 USB 主机辅助设置寄存器(R8_UH_SETUP) 位 名称 访问 7 RB_UH_PRE_PID_EN RW 6 RB_UH_SOF_EN RW Reserved RO [5:0] USB 主机令牌设置寄存器(R8_UH_EP_PID) 位 名称 访问 [7:4] MASK_UH_TOKEN RW [3:0] MASK_UH_ENDP RW 描述 低速前导包 PRE PID 使能位: 1:使能,用于通过外部 HUB 与低速 USB 设备通讯。 0:禁用低速前导包。 自动产生 SOF 包使能位: 1:主机自动产生 SOF 包; 0:不自动产生,但可手工产生。 保留。 描述 设置本次 USB 传输事务的令牌 PID 包标 识。 设置本次被操作的目标设备的端点号。 USB 主机接收端点控制寄存器(R8_UH_RX_CTRL) 位 名称 访问 描述 USB 主机接收器(处理 IN 事务)期望的 7 RB_UH_R_TOG RW 同步触发位: 1:期望 DATA1;0:期望 DATA0。 [6:5] Reserved RO 保留。 同步触发位自动翻转使能控制位: 1:数据接收成功后自动翻转相应的期待 4 RB_UH_R_AUTO_TOG RW 同步触发位(RB_UH_R_TOG); 0:不自动翻转,可以手动切换。 3 Reserved RO 保留。 主机接收器对 IN 事务的响应控制位: 2 RB_UH_R_RES RW 1:无响应,用于非 0 端点的实时/同步 V2.2 86 复位值 XXXXb 复位值 0 0 000000b 复位值 0000b 0000b 复位值 0 00b 0 0 0 WCH CH573/CH571 数据手册 [1:0] http://wch.cn Reserved RO 传输; 0:应答 ACK。 保留。 00b USB 主机发送长度寄存器(R8_UH_TX_LEN) 位 [7:0] 名称 R8_UH_TX_LEN 访问 RW 描述 设置 USB 主机发送端点准备发送的数据 字节数。 复位值 XXh USB 主机发送端点控制寄存器(R8_UH_TX_CTRL) 位 7 名称 Reserved 访问 RO 6 RB_UH_T_TOG RW 5 Reserved RO 4 RB_UH_T_AUTO_TOG RW Reserved RO RB_UH_T_RES RW [3:1] 0 V2.2 描述 保留。 USB 主机发送器(处理 SETUP/OUT 事务) 准备的同步触发位: 1:表示发送 DATA1;0:表示发送 DATA0。 保留。 同步触发位自动翻转使能控制位: 1:数据发送成功后自动翻转相应的同步 触发位(RB_UH_T_TOG); 0:不自动翻转,可以手动切换。 保留。 USB 主机发送器对 SETUP/OUT 事务的响 应控制位: 1:期望无响应,用于非 0 端点的实时/ 同步传输; 0:期望应答 ACK。 87 复位值 0 0 0 0 000b 0 WCH CH573/CH571 数据手册 http://wch.cn 第 18 章 预留 V2.2 88 WCH CH573/CH571 数据手册 http://wch.cn 第 19 章 无线通讯 19.1 简介 芯片集成低功耗 2.4-GHz 无线通讯模块,包括 RF 收发器、基带和链路控制以及天线匹配网络, 支持低功耗蓝牙 BLE。内部提供一百多个寄存器用于调节参数和控制过程及状态,本手册不对寄存器 作详细介绍,无线通讯底层操作主要以子程序库提供应用支持。 主要特性: l 集成 2.4GHz 射频收发器、BaseBand 基带和 LLE 链路控制。 l 支持低功耗蓝牙 BLE,符合 Bluetooth Low Energy 4.2 规范。 l 单端 RF 接口,简化板级设计。 l 典型接收灵敏度-96dBm;CH573Q 和 CH571K 因封装形式所限,接收灵敏度约-93dBm。 l 可编程-20dBm 到+5dBm 发送功率,支持动态调整。 l 在 0dBm 发送功率时使用 PCB 板载天线的通讯距离约 170 米,在 3dBm 发送功率时约 240 米。 l 使用内置 DC-DC 转换后,0dBm 发送功率时电流 6mA 多。 l 支持 AES 加解密。 l 支持 DMA。 l 提供优化的通讯协议栈和应用层 API,支持组网。 l 支持各种主流操作系统下的上拉机开发,提供各 OS 下的 API 和 APP。 19.2 LLE 模块 LLE 模块支持自动收发模式和手动收发模式,5 组独立的硬件定时器,可控制收发数据任意一过 程的时间点。 19.3 DMA 模块 控制器共有 2 组 DMA,每组 DMA 有两个通道。DMA0 的两个通道分别用于发送数据和接收数据,DMA2 的两个通道用于自动模式,在自动发送模式中,可以同时配置发送 DMA 的地址和接收 DMA 的地址,这 样在帧间隔期间不需要再进行配置。 19.4 BB 模块 19.5 AES 模块 具体的应用请基于 BLE 协议栈库使用,并参考提供的 BLE 应用示例。 V2.2 89 WCH CH573/CH571 数据手册 http://wch.cn 第 20 章 参数 20.1 绝对最大值 临界或者超过绝对最大值将可能导致芯片工作不正常甚至损坏。 表 20-1 绝对最大值参数表 名称 参数说明 最小值 最大值 单位 TA TS VDD33 VIO33 VIO VIO5 VDCI VXCK 工作时的环境温度 储存时的环境温度 系统电源电压(VDD33 接电源,GND 接地) I/O 电源电压(VIO33 接电源,GND 接地) 输入或者输出引脚上的电压 支持 5V 耐压的输入或者输出引脚上的电压 VDCID/VDCIA 引脚上的电压(如果用外置 DC-DC) X32MI/X32MO/启用 LSE 后的 PA10/PA11 的电压 -40 -40 -0.4 -0.4 -0.4 -0.4 -0.4 -0.3 85 125 4.2 4.2 VIO33+0.4 5.5 VDD33+0.4 1.4 ℃ ℃ V V V V V V 20.2 电气参数 测试条件:TA=25℃,VDD33=VIO33=3.3V,Fsys=16MHz。 表 20-2 电气参数表 名称 参数说明 最小值 典型值 CH573X 1.7 3.3 VDD33 系统电源电压@VDD33 非 CH573X 2.3 3.3 CH573X 1.7 3.3 VIO33 I/O 电源电压@VIO33 非 CH573X 2.3 3.3 VIN5 5V 电源电压@VIN5 CH573X 4.5 5 ICC8 Fsys=8M 1.8 直通方式静态电源电流 ICC16 条件:代码运行于 RAM 中。 Fsys=16M 2.0 如运行于 Flash 中另加 5mA Fsys=48M ICC48 6.3 IDDC8 Fsys=8M 1.4 启用 DC-DC 后静态电源电流 IDDC16 条件:代码运行于 RAM 中。 Fsys=16M 1.5 如运行于 Flash 中另加 4mA Fsys=48M IDDC48 5.4 VIL GPIO 低电平输入电压 0 VIH GPIO 高电平输入电压 2.0 VIL5 支持 5V 耐压的 GPIO 低电平输入电压 0 VIH5 支持 5V 耐压的 GPIO 高电平输入电压 2.0 VOL 低电平输出电压(5mA/20mA 吸入电流) 0 0.3 VOH 高电平输出电压(5mA/20mA 输出电流) VIO33-0.4 VIO33-0.3 IIN GPIO 浮空输入端的输入电流 -3 0 IUP GPIO 内置上拉电阻的输入端的输入电流 25 60 IDN GPIO 内置下拉电阻的输入端的输入电流 -90 -60 Vref VINTA 引脚的电压(ADC 参考电压) 1.035 1.05 Vdci VDCID 引脚在启用 DC-DC 后的电压 1.28 1.32 CH573X 1.3 1.5 Vlvr LVR 低压复位的门限电压 非 CH573X 1.8 2.05 V2.2 90 最大值 3.6 3.6 3.6 3.6 5.3 0.9 VIO33 0.9 5.0 0.4 VIO33 3 90 25 1.065 1.38 1.7 2.3 单位 V V V V V mA mA mA mA mA mA V V V V V V uA uA uA V V V V WCH CH573/CH571 数据手册 http://wch.cn 20.3 低功耗模式功耗 测试条件:TA=25℃,VDD33=VIO33=3.3V,Fsys=16MHz。 表 20-3 低功耗参数表(仅供参考,与温度相关) 低功耗模式 空闲模式,开启各模块时钟组合 暂停模式,关闭所有时钟 睡眠模式,多种组合,参考表 5-3 睡眠模式,PMU+内核+RAM2K,GPIO 唤醒,无 RTC 下电模式,多种组合,参考表 5-3 下电模式,仅 PMU,GPIO 唤醒后复位,无 RTC 最小值 1.2 典型值 1.5 320 1.4~8 1.4 0.3~2 0.3 最大值 1.7 单位 mA uA uA uA uA uA 典型值 0.7~1.4 4.0~5.5 0.3 0.4 200 0.9 100 150 0.4 0.1 0.1 1.6 3 11 6 5 2 10 4.5 12.5 5.5 最大值 单位 uA uA uA uA uA uA uA uA mA mA mA mA mA mA mA mA mA mA mA mA mA 名称 FHSE TSUHSE TSTHSE 表 20-5 高速振荡器 HSE 参数说明 最小值 外部 HSE 振荡器频率 外部 HSE 振荡器启动到可用时间 80 外部 HSE 振荡器启动到稳定时间 200 典型值 32 200 500 最大值 500 3000 单位 MHz uS uS 名称 FLSIR 表 20-6 低速振荡器 LSI 和 LSE 参数说明 最小值 内部 LSI 振荡器频率(校准前) 20K 典型值 32K 最大值 48K 单位 Hz 表 20-4 各模块电流(仅供参考,与温度相关) 名称 IDD(RAM2K) IDD(RAM16K) IDD(LSI) IDD(LSE) IDD(HSE) IDD(BM) IDD(BD) IDD(PLL) IDD(ADC) IDD(TKEY) IDD(TS) IDD(USB) IDD(BLE) 参数说明 RAM2K:2KB SRAM RAM16K:16KB SRAM 内部 LSI 振荡器 外部 LSE 振荡器 外部 HSE 振荡器 低功耗的电池低压监控 BM 模块 高精度的电池低压检测 BD 模块 内部 PLL 振荡器 ADC 模块 TouchKey 模块 温度传感器 TS 模块 非发送状态 USB 模块 发送状态 直通电源 接收 启用 DC-DC 直通电源 -20dBm 发送功率 启用 DC-DC BLE 蓝牙 直通电源 0dBm 发送功率 启用 DC-DC 直通电源 +3dBm 发送功率 启用 DC-DC 最小值 100 1.2 300 2.0 20.4 时钟源 V2.2 91 WCH CH573/CH571 数据手册 FLSI ALSI TSULSI TSULSE TSTLSE http://wch.cn 内部 LSI 频率(应用软件运行时校准后) TA=-40℃~85℃ LSI 振荡器精度 (软件校准后) TA=0℃~60℃ 内部 LSI 振荡器启动到稳定时间 外部 LSE 振荡器启动到可用时间 外部 LSE 振荡器启动到稳定时间 32716 32768 0.1 0.05 40 300 1500 32820 0.3 0.1 100 1500 5000 Hz % % uS mS mS 典型值 480 15 最大值 30 单位 MHz uS 最小值 典型值 最大值 单位 11 15 100 8 8 12 1 TSUHSE+80 TSUHSE+300 TSUHSE+1 20 mS nS uS uS uS uS uS uS mS 100 500 表 20-7 PLL 特性 名称 FPLL TPLLLK 参数说明 PLL 倍频输出时钟(CK32M * 15 倍) PLL 锁相时间 最小值 20.5 时间参数 测试条件:TA=25℃,VDD33=VIO33=3.3V,Fsys=6.4MHz。 表 20-8 时间参数 名称 Trpor Trst Tmr Tsr Twtr TWAK 参数说明 电源上电复位 RPOR 后的复位延时 RST#有效信号宽度 外部复位 MR 后的复位延时 软件复位 SR 后的复位延时 看门狗复位 WTR 后的复位延时 空闲模式 暂停模式 从低功耗状态 退出的唤醒时间 睡眠模式 下电模式 2 2 10 0.6 TSUHSE+60 TSUHSE+200 TSUHSE+0.4 18 18 18 3 TSUHSE+150 TSUHSE+400 TSUHSE+5 注:上表中延时参数均是基于 Tsys 的倍数,降低主频将增加延时。 上表中延时参数是基于使用外部 HSE 时钟源,如果睡眠期间使用外部 HSE 时钟源,那么表中暂停模式 /睡眠模式/下电模式的延时参数 TWAK 均额外增加约 0.2~1mS(启动到可用 TSUHSE) 。 20.6 其它参数 测试条件:TA=25℃,VDD33=VIO33=3.3V,Fsys=16MHz。 表 20-9 其它参数 名称 RTS ATSC TFRER TFRPG NEPCE TDR VESD V2.2 参数说明 最小值 典型值 最大值 单位 TS 温度传感器的测量范围 -40 85 ℃ 温度传感器经软件校准后的测量误差 ±10 ℃ Flash-ROM 的单次扇区擦除操作时间 6 9 13 mS Flash-ROM 的单次字编程操作时间 1 2 4 mS 5~45℃ 100K 1000K(抽测) Flash-ROM 的擦写次数 times erase/program cycle endurance -40~85℃ 50K 200K(抽测) Flash-ROM 的数据保持能力 20 years 天线 ANT 2K 4K(抽测) V I/O 输入或者输出 引脚上的 ESD 耐压 I/O 引脚:PA 和 PB 4K 6K(抽测) V 92 WCH CH573/CH571 数据手册 http://wch.cn 第 21 章 封装 芯片封装 封装形式 QFN32 QFN28 LQFP32 QFN28 QFN20 TSSOP16 ESSOP10 塑体宽度 4*4mm 4*4mm 7*7mm 4*4mm 3*3mm 4.4mm 3.9mm 引脚间距 0.4mm 15.7mil 0.4mm 15.7mil 0.8mm 31.5mil 0.4mm 15.7mil 0.4mm 15.7mil 0.65mm 25mil 1.0mm 39mil 封装说明 方形无引线 32 脚 方形无引线 28 脚 标准 LQFP32 脚贴片 方形无引线 28 脚 方形无引线 20 脚 薄小型的 16 脚贴片 带底板的窄距 10 脚贴片 订货型号 CH573X CH573F CH573Q CH571F CH571D CH571R CH571K 说明:尺寸标注的单位是 mm(毫米) ,引脚中心间距是标称值,除此之外的尺寸误差不大于±0.2mm。 QFN32_4X4 V2.2 93 WCH CH573/CH571 数据手册 http://wch.cn QFN28_4X4 QFN20_3X3 V2.2 94 WCH CH573/CH571 数据手册 http://wch.cn LQFP32 TSSOP16 V2.2 95 WCH CH573/CH571 数据手册 http://wch.cn ESSOP10 V2.2 96 WCH CH573/CH571 数据手册 http://wch.cn 第 22 章 修改记录 版本 日期 说明 V0.9 2019.09.26 初版发行 V1.0 2020.04.11 正式版发行 V1.1 2020.07.10 微调 20.3 节电流参数、接收灵敏度和发送功率 V1.2 2020.09.15 增加 BLE 通讯距离,微调 20.3 节电流和 PLL 参数, 考虑睡眠电流而修改各电容建议值、修改 DCDC 电感建议值 V1.3 2020.10.21 改正温度传感器错字,修改电容建议值、修改电感建议值 V1.4 2020.11.06 R8_BAT_DET_CFG 默认值,提示调试接口启用后 PB15 和 PB14 不能 GPIO V1.5 2020.11.20 V1.6 2021.01.18 V1.7 2021.03.01 新增 CH571K 封装形式,更正 PFIC_IACTR 等多个中断寄存器的属性 V1.8 2021.09.22 更新 R8_GLOB_RESET_KEEP,更新封装形式加注尺寸 V1.9 2021.12.23 新增 CH573Q 封装形式,提醒 USB 引脚外部不串联电阻 V1.10 2022.01.20 辅助电源调整控制寄存器 R16_AUX_POWER_ADJ 如有写操作需 16 位, 修正笔误,DMA 地址寄存器的宽度只支持低 14 位,支持 RAM 后 16KB V1.11 2022.04.19 增加提示:CH573Q 和 CH571K 因封装形式所限,接收灵敏度约-93dBm V1.12 2022.06.27 增加 ESSOP10 尺寸。修正笔误:温度传感器采样时需 RB_ADC_BUF_EN=0 V2.0 2022.09.29 增加 TSSOP16 封装形式,修正 RB_XT32K_C_LOAD 描述 V2.1 2022.10.19 外部 HSE 频率删除非 32MHz,更新睡眠电流参考值范围 V2.2 2022.10.31 修正笔误:TSSOP16 封装 CH571R 的 14 脚和 15 脚 V2.2 表 2-3 改默认值,6.3 节改 R16_CLK_SYS_CFG,定时器增加计数模式说明, 增加 10.5 节 SPI 时序,修正 16.2 节 R8_TKEY_COUNT 计算 注明 ADC 的校准通道,注明 CH571 的 ADC 不支持 DMA, 注明 R16_PB_INT_EN/MODE/IF 的[9:8]对应 PB23 和 PB22 97 WCH
CH571F 价格&库存

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

免费人工找货
CH571F
  •  国内价格
  • 1+3.62500
  • 30+3.50000
  • 100+3.25000
  • 500+3.00000
  • 1000+2.87500

库存:140