第1章:MCU选型策略——理疗仪的大脑怎么选?
做理疗仪,说白了就是跟人体打交道。MCU选错了,后面全白干。我这些年经手过十几个理疗项目,从低端的按摩贴到多通道电刺激仪,MCU选型这块踩过的坑,今天一次性说清楚。
1.1 主流MCU厂商对比:STM32、GD32、ESP32
先聊聊这三家。你想想看,市面上那么多MCU,为什么我重点提这三个?因为理疗仪这个领域,它们几乎覆盖了90%的应用场景。
STM32——老大哥,稳如狗
ST的STM32系列,我用了快十年。说实话,它最大的优点就是生态成熟。库函数、例程、社区支持,你要啥有啥。我在项目里遇到ADC采样抖动的问题,去ST社区一搜,半小时就找到解决方案了。
但缺点也很明显——贵。尤其是这两年,STM32F103从原来的十几块涨到五六十,搞得我们项目预算直接超支。如果你做的是高端理疗仪,不差钱,选STM32没问题。但要是走量产品,得掂量掂量。
GD32——国产替代,性价比之王
GD32是兆易创新的,跟STM32引脚兼容。我第一个GD32项目是2020年,当时ST缺货严重,被迫换的。说实话,一开始心里没底,但用下来发现,大部分场景下完全够用。
有个坑我得提醒你:GD32的ADC精度跟STM32比,确实差一截。我做过一个经皮电刺激仪,需要采集皮肤阻抗,GD32的ADC噪声明显偏大。后来加了外部滤波才搞定。所以,高精度模拟采集场景,慎用GD32。
ESP32——WiFi/蓝牙一体,物联网首选
ESP32是乐鑫的,自带WiFi和蓝牙。如果你要做远程理疗、数据上传、APP控制,这货简直是神器。我去年做的一个智能理疗腰带,就是ESP32+SGP30气体传感器,实时监测用户状态上传云端。
但ESP32的功耗偏高。深度睡眠模式下还有10μA左右,对于电池供电的便携理疗仪,这是个问题。我建议:需要无线通信时用ESP32,否则别碰。
我的选型原则:
- 高端多通道理疗仪 → STM32F4/H7系列
- 中端走量产品 → GD32F103/F303系列
- 需要无线功能 → ESP32系列
1.2 选型关键参数:主频、Flash、RAM、外设接口
参数这东西,不能光看数据手册。我见过有人拿着72MHz主频的MCU去做多通道高频电刺激,结果中断响应不过来,波形都变形了。嗯,这里要注意,参数要跟实际需求挂钩。
主频——不是越高越好
理疗仪的核心是波形生成和控制算法。对于低频理疗(<1kHz),48MHz主频绰绰有余。但如果你要做中频电疗(2-10kHz),或者多通道同步输出,建议至少72MHz起步。
我曾经做过一个8通道经皮神经电刺激仪,用的STM32F103(72MHz)。每个通道需要独立PWM和定时器,中断嵌套一多,CPU占用率直接飙到85%。后来换了STM32F407(168MHz),问题才解决。
Flash和RAM——别省这点钱
很多工程师选型时喜欢抠Flash和RAM,觉得够用就行。我劝你一句:留余量。
理疗仪通常需要存储波形数据、用户参数、治疗记录。一个简单的方波波形表可能只要几百字节,但如果你要做复杂的调制波形(比如指数波、锯齿波),波形表轻松上几KB。再加上RTOS、协议栈、GUI库,64KB Flash很快就满了。
我个人习惯:Flash至少留30%余量,RAM至少留50%。别问我为什么,问就是吃过亏——有一次产品快量产了,客户突然要加个OTA功能,结果Flash不够,重新选型、改板、测试,折腾了两个月。
| 理疗仪类型 | 推荐Flash | 推荐RAM | 备注 |
|---|---|---|---|
| 单通道低频理疗 | 64KB | 8KB | 够用,但别加功能 |
| 多通道中频理疗 | 128KB | 16KB | 建议上RTOS |
| 带蓝牙/WiFi的智能理疗 | 256KB+ | 32KB+ | 协议栈很吃资源 |
外设接口——理疗仪的核心需求
理疗仪最常用的外设接口,我列一下:
- 定时器/PWM:生成治疗波形,至少需要2个高级定时器
- ADC:采集皮肤阻抗、温度、电流反馈,12位起步,16位更好
- DAC:生成模拟波形,有些方案用PWM+滤波代替,但精度差
- I2C/SPI:连接传感器、显示屏、存储芯片
- UART:调试、蓝牙模块通信
这里有个经验:理疗仪的PWM通道数,至少是治疗通道数的2倍。为什么?因为你需要用互补PWM驱动H桥,一个通道需要两路PWM。我见过有人用8通道PWM的MCU去做4通道电刺激,结果发现不够用,最后只能分时复用,波形质量大打折扣。
小技巧:选型时,把外设接口需求列个表,然后去MCU数据手册里核对。别只看数量,还要看是否支持你需要的功能(比如PWM的死区插入、ADC的采样率)。
1.3 功耗与成本平衡——理疗仪的生命线
功耗和成本,是理疗仪设计的两个紧箍咒。尤其是便携式产品,电池续航直接决定用户体验。成本嘛,老板天天盯着BOM表看。
功耗——从μA级别开始抠
理疗仪的工作模式通常分三种:
- 工作模式:输出治疗波形,电流几十mA到几百mA
- 待机模式:等待用户操作,电流几mA
- 休眠模式:长时间不使用时,电流几μA
我建议:选型时重点关注休眠功耗。因为理疗仪不是一直工作的,用户可能一天只用20分钟。如果休眠功耗高,电池几天就耗光了。
STM32L系列在休眠模式下能做到0.3μA,GD32能做到1μA左右,ESP32就比较差了,10μA起步。所以,电池供电的产品,我一般优先考虑STM32L或GD32的低功耗系列。
成本——别只看MCU单价
很多新手选型时只盯着MCU的价格,忽略了外围电路的成本。举个例子:
- STM32F103C8T6:单价约15元(现在行情)
- GD32F103C8T6:单价约8元
表面上看GD32便宜了7块钱。但如果你用GD32,ADC精度不够,需要外加一个ADC芯片(比如ADS1115,约5元),总成本反而变成了13元。再加上PCB面积增大、焊接成本增加,其实没省多少。
所以我的建议是:算总账,别算单品账。把MCU、外围芯片、PCB、生产测试成本全部算进去,再决定用哪个方案。
避坑指南:我曾经在一个项目中,为了省2块钱,选了低成本的MCU。结果量产时发现,该MCU的ADC在高温下(40°C以上)漂移严重,导致治疗电流不准。最后不得不全部召回,损失了十几万。嗯,从那以后,我再也不敢在关键参数上省钱。
1.4 我的选型流程——三步走
说了这么多,总结一下我的选型流程:
- 第一步:列需求——治疗通道数、波形类型、是否需要无线、电池续航要求、目标成本
- 第二步:初筛——根据主频、Flash、RAM、外设接口,从STM32、GD32、ESP32里挑出2-3个候选
- 第三步:验证——买开发板,写核心代码(PWM生成、ADC采集、通信),跑一周看看稳定性
第三步最重要。数据手册写得再好,不如实际跑一跑。我见过太多「数据手册上写着支持,实际用起来各种坑」的情况了。
最后说一句:MCU选型没有标准答案,只有最适合你项目的方案。多试、多测、多总结,慢慢就有感觉了。
下一章,我们聊聊理疗仪的核心——波形生成电路设计。到时候我会详细讲PWM、DAC、H桥驱动这些硬核内容。