就说上个月,我们团队接了个新项目——需求听起来简单:能驱动BLDC马达,还带Type-C 快充。可真到了方案设计阶段,头就大了。电机控制、PD受电、高压LDO……光芯片就得四五颗。
就在这时候,我注意到了沁恒的CH32M030。这颗芯片是带PD功能的电机控制MCU,把电机预驱、PD快充、模拟处理这些功能都塞到了一颗芯片里,集成度很高。
先说电机控制这部分。
以前构建BLDC电机驱动电路,最少得三颗芯片:MCU控制算法,预驱芯片驱动MOS管,还得外挂运放做电流采样或信号调理。现在用CH32M030,这些全齐了。

它自带4个独立半桥驱动器,能直接推MOS管,省掉预驱芯片;
内置4个运放和3个比较器,电压电流采样、过流保护这些模拟电路直接内部搞定;
还有高压LDO,直接从电机供电端(最高28V)降压给芯片自己用,又省了颗电源芯片。

上图中,母线电源通过 R1 接入 MCU 的 HV 引脚,通过 LDO 后得到一个预驱供电电压 VDD8,VDD8通过寄存器可配置为 5~10V,再经过一个 LDO 可得到 VDD33——MCU 工作电压。
再来看快充功能。
如今,Type-C PD快充几乎成了设备的标配,但传统的实现方案都需要额外外挂一颗专用的PD协议芯片,不仅增加了成本和PCB空间,也提高了设计复杂度。而CH32M030将这一功能直接集成到了芯片内部,而且直接集成了两组PD,可以支持两个Type-C口,这下就不止电机应用了,复杂的电源管理也能轻松应对。
M030的两组PD很灵活,不仅能要电,还能对外给电。搭配内部的两路可编程灌电流模块,M030能控制两个外部DC-DC。具体来说,灌电流模块直接向DC-DC的反馈回路叠加一个精确可控的电流,这个外部电流会改变DC-DC反馈点的电压,让DC-DC乖乖地输出我们想要的任意电压。这种硬件级的直连控制方式响应迅速而且精度高。

上图展示了M030的一种电源应用,从Type-C直接申请电压透传至另一Type-C端口,或者其中一个Type-C端口通过灌电流调节DC-DC的方式向另一Type-C端口供电都可以,这两种情况都支持PPS动态调压。
引脚设计也很强大。
CH32M030的USB引脚(DP和DM)除了支持标准的USB通信功能外,还具备多种小功能,可以灵活地改做他用。这些功能都是USB外设上附带的,不占用MCU资源表里的运放、比较器资源。

输出模拟电压:通过USB外设附带的6位DAC和运放,DP/DM引脚可以输出可调的模拟电压。
作为比较器输入:DP和DM引脚可以输入模拟信号,通过USB外设附带的运放比较器与内部6位DAC电压比较。这个应用也不占用独立的4个运放和3个电压比较器,在需要简单模拟信号比较的场合很方便。
可调的上下拉电阻:DP和DM引脚内部可配上拉下拉,上下拉电阻阻值从15.5kΩ到108.5kΩ,可配64挡。
作为ADC输入引脚:这个不用多说了。
总体上看,咱们这个项目选用CH32M030,省掉1颗预驱芯片、1颗PD协议芯片、2颗运放、1颗高压LDO,外围精简的效果还是挺明显。这还没算PCB面积缩小和焊接简化,故障率也会跟着降低。说不定哪天做个咱工程师常用的可调电源也是相当不错的。
光硬件集成度高还不够,代码好不好写也很重要。
沁恒提供了基于VSCode的MounRiver Studio集成开发环境,界面比Keil豪华,代码编辑、编译下载、调试监控一应俱全,像函数调用分析、静态堆栈调用分析这些专业功能也有,CH32M030的库函数写得也比较规整,整体体验还不错。
当然,芯片也不是万能的。如果项目对主频要求特别高,或者需要复杂的图形界面,那可能还得选性能更强的型号。但对于大多数FOC/BLDC电机应用、电源管理和工控相关,CH32M030的优点还是挺明显的。
下图是M030的demo板:
