小华半导体-低功耗 MCU:HC32L021 来喽~ 这是他哥,出新品还是比较快的。

最近这个小华的新品给到我了,又是一颗 M0+的 MCU,我整体的研究了一下,感觉还是蛮多感受的,国产感觉最近俩年可能是和 M0+的核心较上劲儿了,库库发新品,也没有看到更加高效的核心,比如 M23,M33 这些:

比如姜主任搞飞控,就需要强大的DSP 核心

其实 M33 也是 M4 的 DSP 性能,只有一些加密而已。

然后这个外设是加入的更加独出心裁,我时而觉得有点像一个“无脑”巨人,这里的无脑不是弱的意思,而是不能做太多实时性的活,还有一点就是如果追求较多的外设的话,封装上面的引脚又不够了:

感觉有点像最近看的战锤 40K 里面的阿斯塔特的感觉

看看实物

首先是封装最大,也是功能最全的

这个图非常的清晰,可以看看芯片的命名方式:

直接就可以识图了
这个有点像 TI 的板子设计

也可以快速选型:

可以看大全系都给了 128k
可以看到除了这个引脚少点,功能是一点不缩水

对这样设计的思考

书接上文:

“既然有这么多外设、还有高速 ADC 和 LCD 控制器,为什么不用 Cortex-M3/M4,而只用 M0+?”

HC32L12x 的目标:极低功耗 + 高集成 + 实时确定性

这颗 MCU 面向的不是高算力场景(如DSP或复杂运算),而是传感、采集、测控类系统,这些系统有几个共性:

系统类型
特征
例子
仪表类
数据量小、实时性高
电表、血压计、温湿度计
可穿戴类
待机时间长
智能手环、体温计
工业采集类
外设多、逻辑明确
ADC采集、比较器保护、PWM驱动

这些应用的算力需求极低,但功耗要求极严、外设交互极多

因此选用 Cortex-M0+ 是“能耗最优解”:

指令集简化 → 功耗小、逻辑密度高

无硬件除法、无乱序执行 → 逻辑门少、晶体管功耗低

2 级流水线 → 响应快、确定性强(无复杂分支预测)

内核电流仅 40–60 µA/MHz,比 M3/M4 低约 30–50%

模式
CPU
外设
时钟
功耗
运行
运行
可选
主时钟
51 μA/MHz
休眠
停止
关闭
主时钟运行
27 μA/MHz
深度休眠
停止
关闭
所有时钟关闭
0.65 μA
一部分

换句话说

外设多 ≠ 一定要用高端内核,只要外设能自主运作(DMA / Trigger / Event),CPU 就不必参与。

外设分布式架构:“外设自治 + 事件链控制”

HC32L12x 的体系不是让 CPU 去轮询,而是让外设互相触发、自动流转。另外这也不仅仅是M0+的设计,其实现在 MCU 都趋向于这样的设计,比如 MSPM0 的事件功能,以及领慧的触发互联:

无一不是再解放 CPU

硬件事件链

比较器 VC → 触发 ADC 转换 → ADC DMA → Timer 更新 PWM

整个过程CPU 不参与,靠硬件事件触发矩阵完成:

VC 输出硬件信号连到 ADC 触发器

ADC 完成转换后自动启动 DMA

DMA 将结果写入定时器寄存器

PWM 波形立即更新→ CPU 空闲、功耗低、响应快(几十 ns 级)

这类“硬件自动链”广泛存在:

模块链路
说明
Timer → ADC
定时采样
VC → Timer
过流关断
RTC → Wake
定时唤醒
UART → DMA
零拷贝传输

因此 M0+ 只需配置和管理这些通路,不用实时干预。

小华新品HC32L12X:128K,低功耗,超多外设

HC32L12x 的“智能”不在 CPU,而在“外设互联矩阵 + DMA + Trigger 控制”,M0+ 核心只是一个调度大脑,外设是分布式神经元,这样的角度来看这样的设计,其实就比较说的过去了。

功耗优化逻辑:低频 CPU + 高速外设并行

M0+的最大优势就是功耗低,一个小电池工作一年,那就比较要用最小面积的晶体管,大部分外设(ADC、SPI、Timer)都有独立时钟域,能在 CPU 休眠时继续运行,以及多样的外设门开关,低功耗?什么是他妈的低功耗!

呜呜呜,不会 P 图啦!
其实就是很简单

用就费电,不用就不费电,所以顺手就把外设关了,以及时钟。

功能
时钟域
CPU 是否参与
ADC 采样
PCLK / 异步触发
Timer PWM
独立计数器时钟
RTC / LPTIM
32 kHz
DMA 搬运
AHB 总线时钟
LCD 显示
LCDCLK

→ 因此系统可以:CPU 工作在 4 MHz(极低功耗);外设在独立域高频运作(如 ADC@2 Msps);功耗仍极低(几十 µA 级),这正是 M0+ 架构适配“多外设、低功耗”的关键。

还是很灵活的

算力 vs. 实时性:M0+ 已经足够

即使算力不强,M0+ 对于控制类任务完全够用。

操作类型
周期
说明
GPIO 响应中断
<10 cycles
触发快
ADC 结果计算(滤波/平均)
1–2 µs
远快于采样速率
UART 处理(9600–115200bps)
<5% CPU 占用
丰裕
LCD 刷新
DMA 驱动
CPU 不占用

相比之下,M3/M4 只有在:DSP / FFT / PID 运算密集型;USB / 以太网协议栈;多任务 RTOS 复杂场景;才真正需要;而 HC32L12x 明显不走那条路线。

成本与面积:高外设密度 + 小核心面积

在芯片设计层面:

模块
晶体管占比(约)
Cortex-M0+ 核心
<10%
模拟前端 (ADC/VC/LVD)
~25%
时钟/电源管理
~15%
外设矩阵/DMA/LCD
~40%
其他逻辑
~10%

因为 M0+ 面积极小(约 0.04 mm² @ 90 nm),留出了大量空间放外设;如果换成 M4(带 FPU、NVIC 扩展),功耗和面积会翻倍;而绝大多数目标应用(LCD 表、医疗仪表)根本用不到。

从系统设计角度看:

HC32L12x 体现了“控制器去 CPU 化趋势”的思路

现代低功耗 MCU 已不再依赖 CPU 做所有控制。 取而代之的是:

外设间触发矩阵(Peripheral Trigger Matrix, PTM),DMA 自动搬运独立时钟域管理事件控制器 (ECL)

上面这几个在MCU里面没有

HC32 系列中有部分型号(如 HC32F460 / HC32M120 / HC32L130)包含完整的 Peripheral Trigger Matrix (PTM) 或 AOS(A peripheral trigger system) 模块;虽然 HC32L12x 没有独立命名为 “PTM”的模块,但在参考手册中,多个外设内部定义了可被触发的输入源和可输出的触发信号

这种模式叫做:

“硬件有限状态机 (FSM) + 轻量 CPU 管理”

就给你一种感觉,外设是最重要的,只是没有办法才给了一个 M0+的核心罢了。

image-20251026103607964

然后ARM 这种架构确实是好呀,越设计越简洁,就是几个 AHB 和 APB 的桥,高低速和实时性分割开。

(说小话,有朋友告诉我,芯源的 MCU 都是 XH 的人设计的,我看这个数据手册的写法,emmmm,感觉是很大的一样了)

哈哈哈,感觉灵魂一样

特色外设

这个我在 STM32 的一些型号里面看到的。

特色的一个IIC外设

加入了了比传统的 IIC 更加强大的外设
特性
普通 I²C
HSI2C
速率
100 / 400 kHz
100 / 400 / 1000 kHz
FIFO
16 字节 TX/RX FIFO
DMA 支持
一般仅 TX
TX + RX 全双向
电源域
主域
可低功耗独立运行
硬件自动序列
部分
完整 START–STOP 流程
唤醒功能
可唤醒 CPU
时序配置
固定延时
寄存器可调(TIMINGR)
多主仲裁
可选
默认支持并自动恢复

细节不说,自己看手册,写一个例子。

比如一个低功耗多传感器采集系统:多个 I²C 传感器(温湿度、加速度、光照)挂在总线上;MCU 进入 DeepSleep;某传感器周期性发送 START;HSI2C 唤醒系统 + DMA 自动收数据;CPU 仅在 DMA 结束中断时处理一次→ 功耗极低、CPU 负载极小。

ADC外设

这我喜欢,这我熟悉

还是蛮快的,12bit,以及差不多到了满轨的采集范围。

image-20251026105028730

使用起来简单,也有了比较完整的回环检测功能,可以看系统的电压情况。

中断也很完整

后记

因为现在 MCU 的外设和设计都是固定的,单纯的也已经没有什么可解读的了,毕竟是一个数学电路,没有模拟烦人。但是确实是国产的 MCU 越来越有性价比了,128K 的存储空间,我不敢想。然后还有一堆模拟外设,在不那么精确的情况下都可以剩下不少其他的 bom,而且还有特色的时钟校准,都可以剩下了晶振,基本上接电就可以使用,电源轨道也宽;对于开发者是好事情,祝越来越好。

样片申请

可以找他们申请和购买。

图片

https://www./product/1310.html