跳转至

CH582M 特性与概览

芯片型号:CH582M(QFN48 封装)
厂商:南京沁恒微电子(WCH)
学习状态:🚧 基础功能熟悉中
更新日期:2026年7月18日


1. 核心规格速查

参数 规格
CPU 内核 青稞 V4 32位 RISC-V(QingKe V4)
最高主频 80 MHz
指令集 RV32IMACF + 自研字节/半字压缩指令
程序存储 448 KB CodeFlash
数据存储 32 KB SRAM
工作电压 2.3 V ~ 3.6 V
睡眠功耗 低至 0.3 μA
封装 QFN-48-EP (5 mm × 5 mm)

2. 无线通信

BLE 5.3

  • 集成 2 Mbps 低功耗蓝牙 协议栈(物理层 + 链路层 + Host)
  • 支持角色:
  • Peripheral(从机):最常用,如传感器、键鼠、手环
  • Central(主机):扫描、连接多个从机
  • Observer(观察者):仅扫描,不连接
  • Broadcaster(广播者):仅广播,不接收
  • 支持 BLE MESH 组网(需配合例程)
  • 支持 2.4G 私有协议 模式(非标准 BLE,适合自定义遥控器)

实际应用例程(官方 EVT 包)

CH583EVT 包中 EXAM/ 目录包含 16 个大类、约 60+ 个独立例程,覆盖 BLE、USB、外设、RTOS 等。以下是分类速查:

BLE 例程(约 30+ 个)

例程 角色/场景 说明
Peripheral 从机 通用从机,含 5 种属性特征(读/写/通知/可读可写/安全可读)
Central 主机 扫描并连接从机,执行读写操作
MultiCentral 主机 同时连接管理多个从机
CentPeri / MultiCentPeri 主从一体 芯片同时扮演主机和从机角色
Observer 观察者 仅扫描广播包,不建立连接
Broadcaster 广播者 仅发送广播,不接收扫描请求
BLE_UART 从机 蓝牙串口透传(最常用,BLE ↔ UART 数据桥)
BLE_USB 从机 BLE ↔ USB 数据桥
HID_Keyboard 从机 模拟蓝牙键盘
HID_Mouse 从机 模拟蓝牙鼠标
HID_Consumer 从机 模拟媒体控制键(音量/播放等)
HID_Touch 从机 模拟触摸笔/触控板
HeartRate 从机 心率计 Profile(模拟 Health 设备)
RunningSensor 从机 跑步传感器(RSCP Profile)
CyclingSensor 从机 骑行传感器(CSCP Profile)
SpeedTest_Central / SpeedTest_Peripheral 主机/从机 BLE 传输速率测试
Direct_Test_Mode BLE 射频直连测试(DTM)
RF_PHY / RF_PHY_Hop 2.4G 私有协议(非标准 BLE)收发/跳频
SYNC_ADV / SYNC_SCAN 周期同步广播/扫描(Periodic Advertising)
peripheral_ancs_client 从机 Apple Notification Center Service 客户端
IoCHub_NET IoCHub 网络相关
LWNS 轻量级组网协议
MESH 系列 节点 天猫精灵灯、厂商自定义模型、代理节点、低功耗节点、朋友节点、自配网等 15+ 个子例程
OTA 系列 备份升级 / 固定库升级(含 IAP、JumpIAP、用户固件 3 件套)

USB 例程

例程 模式 说明
Device/COM Device USB-CDC 虚拟串口
Device/HID_CompliantDev Device 标准 HID 设备
Device/CompoundDev Device 复合设备(CDC + HID 等组合)
Device/CompoundU2Dev Device 复合设备(USB2.0 全速)
Device/VendorDefinedDev Device 厂商自定义 USB 设备
Host/HostEnum Host USB 主机枚举
Host/HostU2Enum Host USB2.0 主机枚举
Host/HostAOA Host Android Open Accessory 协议
Host/U_DISK Host U 盘读写(Mass Storage)

外设基础例程

例程 说明
ADC 14 通道 12bit ADC 采集
FLASH CodeFlash / DataFlash 读写擦除操作
I2C I2C 主从通信(CH582M 无硬件 I2C,需 GPIO 模拟)
SPI SPI 主从通信
TMR 定时器 / PWM 输出
PWMX 高级 PWM 功能
TOUCH 触摸按键检测
UART1 串口通信
PM 电源管理(低功耗模式切换)

RTOS 与系统例程

例程 说明
FreeRTOS 集成 FreeRTOS 操作系统
RT-Thread 集成 RT-Thread 操作系统
HarmonyOS 集成 OpenHarmony 轻量系统
IAP 在应用编程(APP / UART_IAP / USB_IAP 3 种方式)
SRC 启动代码和系统底层相关

3. USB 外设

  • 2 组独立全速 USB 2.0(12 Mbps)
  • 可同时做 Host + Device
  • 或双 Device / 双 Host 组合
  • 常见用法:
  • USB-CDC(虚拟串口)用于调试/升级
  • USB-HID 用于键鼠设备
  • USB-U盘 用于数据记录

4. 其他片上外设

外设 数量/规格 学习要点
UART 4 组 蓝牙透传、日志打印、GPS 等
SPI 1 组(CH583 有 2 组) 驱动屏幕、外接 Flash、传感器
ADC 14 通道,12 bit 电池电压、模拟传感器采集
触摸按键 内置检测模块 省外部电容,适合做面板
RTC 内置日历 低功耗定时唤醒、时间戳
GPIO 最多 40 个 注意复用优先级
定时器 内置通用定时器 做 PWM、延时、任务调度
温度传感器 内置 粗略温度监测
看门狗 独立 防死机复位

5. 软件开发生态

开发环境

工具 说明
MounRiver Studio (MRS) 沁恒官方免费 IDE,基于 Eclipse,内置 RISC-V GCC 工具链
WCH-Link 调试下载器(RISC-V 两线调试)
ISP 工具 串口/USB 免调试器下载

软件框架

  • TMOS(Task Management Operating System)
  • 沁恒提供的任务调度系统,非 RTOS,但支持任务分时和事件驱动
  • BLE 协议栈跑在 TMOS 上,用户应用建议也基于 TMOS 编写
  • 比裸机轮询更省功耗,比 FreeRTOS 更轻量

关键 SDK 资源

资源 位置/获取方式
CH583 EVT 包 官网下载,含全部例程 + 蓝牙开发手册
BLE 协议栈库 LIB/ 目录,以库文件形式提供
MESH 协议栈库 MESH/MESH_LIB/ 目录
低功耗蓝牙软件开发参考手册 EVT 包内 PDF

6. Flash 与存储(速览)

📄 详细解析已拆分为独立文章:CH582M Flash 存储与 SNV 详解

CH582M 的 512 KB Flash 被分为 4 个区域:448 KB CodeFlash(程序)、32 KB DataFlash(用户数据)、24 KB BootLoader、8 KB InfoFlash。关键注意点:

要点 说明
CodeFlash 最小擦除 4 KB,带加解密 擦后读前 4 字节是"乱码"属正常
DataFlash 最小擦除 256 B,无加密 偏移地址操作,ISP 可直接读取
写前必擦 Flash 不能直接覆盖写,必须先擦除
Buff 4 字节对齐 RAM 中读写缓冲区地址必须对齐,否则 HardFault
SNV 在尾部 0x7E00 偏移后是 BLE 配对信息,误写会导致重新配对
擦写寿命 常温 10 万次,全温 5 万次

片上存储不够用?通过 SPI 外接 W25Q64(SPI Flash)、AT24C02(EEPROM)、FM25W256(FRAM) 等芯片扩展,详见详解文章。


7. 硬件设计参考

最小系统要点

  • 电源:2.3 ~ 3.6 V,建议 3.3 V LDO 供电
  • 晶振:内置 HSI,外部 32.768 kHz 晶振(可选,用于 RTC 精度)
  • 复位:外部 NRST 引脚 + 上电复位 POR
  • 天线:PCB 板载天线或陶瓷天线(参考官方 SCHPCB 封装库)
  • 调试:WCH-Link 两线调试,或串口 ISP 下载

引脚复用注意

CH582M 为 QFN48,很多引脚有 3 ~ 4 个复用功能,设计时要先查 引脚定义表 确认优先级。


8. 沁恒 CH58x 系列选型对比

参数 CH582 CH583 CH585 CH592 CH591
内核 青稞 V4 (RISC-V) 青稞 V4 (RISC-V) 青稞 V3C (RISC-V) 青稞 V4C (RISC-V) 青稞 V4C (RISC-V)
主频 80 MHz 80 MHz 78 MHz 20 MHz 20 MHz
CodeFlash 448 KB 448 KB 448 KB 448 KB 192 KB
DataFlash 32 KB 32 KB 32 KB 32 KB 32 KB
SRAM 32 KB 32 KB 128 KB 26 KB 26 KB
BLE 版本 5.3 5.3 5.4 5.4 5.4
USB 2 × 全速 2 × 全速 1 × 高速 480M + 全速 1 × 全速 1 × 全速
NFC
段式 LCD ✅ (112点) ✅ (80点) ✅ (部分型号)
LED 点阵
SPI 1 2 2 1 1
触摸按键 ✅ (14ch) ✅ (12ch)
GPIO 40 40 40 24 20/12/10
最低电压 2.3 V 1.75 V 1.7 V 1.7 V 1.7 / 2.3 V
封装 QFN48 QFN48 QFN48/QFN32/QFN20 QFN32/QFN28/QFN20 QFN28/QFN20/TSSOP16
价格区间 很低
典型场景 通用 BLE + 双 USB 通用 BLE + 双 USB 高性能、大 RAM、USB HS、NFC 低功耗、小体积、成本极致 极简成本方案

选型建议

你的需求 推荐型号 理由
刚入门学 BLE,要资料全 CH582M 例程最多,社区最活跃,性价比最高
程序大 / RAM 吃紧 / 要 USB 高速 CH585 128 KB SRAM 是 4 倍提升,USB 480M 传文件快 10 倍
电池供电、小体积、成本压到极致 CH592F QFN20 只有 3×3 mm,功耗更低
只需要 BLE 透传,啥都不要 CH591R TSSOP16 封装,192 KB Flash 够用,价格最低

📌 一句话:CH582M 是甜点型号——功能够全、价格够低、资料够多。如果不够用了,按"缺什么补什么"升级:RAM 不够 → CH585;体积/功耗 → CH592;成本 → CH591。


9. Nordic nRF 系列对比(预习框架)

沁恒走的是 RISC-V + 国产低价 路线,Nordic 走的是 ARM + 国际生态 路线。两者不是直接替代关系,而是不同场景的最优解。

参数 nRF52832 nRF52840 nRF5340 nRF54H20
内核 Cortex-M4 @ 64 MHz Cortex-M4F @ 64 MHz 双核 Cortex-M33 双 Cortex-M33 + 双 RISC-V
Flash 512 KB 1 MB 1 MB + 256 KB 2 MB
RAM 64 KB 256 KB 512 KB + 64 KB 1 MB
BLE 版本 5.0 5.0 / 5.1 (长距离/高速) 5.3 5.4
TX 功率 +4 dBm +8 dBm +3 dBm +10 dBm
接收灵敏度 -96 dBm -103 dBm (125Kbps) - -
USB ✅ 全速 ✅ 全速 ✅ 高速
NFC
802.15.4 ✅ (Thread/Zigbee)
LE Audio
Direction Finding ✅ (AoA/AoD)
最大速率 2 Mbps 2 Mbps 2 Mbps 4 Mbps
SDK nRF5 SDK nRF5 SDK nRF Connect SDK (Zephyr) nRF Connect SDK
IDE Keil/SES Keil/SES VS Code + nRF Connect VS Code + nRF Connect
价格 中高 很高
典型场景 手环/传感器 键鼠/复杂网关 音频/定位/多协议 Matter/高端音频

沁恒 vs Nordic 的选择逻辑

场景 推荐平台 原因
成本敏感、出货量 10K+、USB 调试/升级刚需 沁恒 CH58x 价格低 30~50%,中文支持好,USB 双口设计更灵活
需要大 RAM 跑算法(如数字信号处理) Nordic nRF52840/5340 256 KB / 512 KB RAM 碾压 CH58x 的 32 KB
需要 LE Audio、蓝牙定位、Matter Nordic nRF5340/54H20 沁恒目前不支持这些高级特性
需要过 CE/FCC 认证出口 Nordic 协议栈认证完善,全球法规支持更成熟
国内 IoT 项目、快速落地、低 BOM 沁恒 生态在国内更接地气,MRS 免费,无需 Keil 授权

💡 我的计划:先吃透 CH582M(低成本 BLE + 双 USB),后续如果要搞音频、定位或超大内存应用,再切 nRF5340。两者的开发思维差异主要在 SDK 架构(沁恒是库 + TMOS,Nordic 是 Zephyr RTOS + 配置系统),底层 BLE 协议原理是通的。


10. 学习 TODO

  • 搭建 MounRiver Studio 开发环境
  • 编译下载 Peripheral 例程,用手机 BLE 助手连接
  • 实现 BLE_UART 透传,与串口助手双向通信
  • 读取芯片内置温度传感器并 BLE 广播
  • 实现 OTA 无线升级(备份升级方式)
  • 用 TMOS 添加自定义任务,熟悉事件驱动模型
  • 测量实际功耗(活动/睡眠/广播)
  • 设计一块自己的 CH582M 核心板

参考链接