第二章:核心器件选型——MCU、射频芯片与电源管理
各位工程师朋友,咱们今天聊聊选型。说实话,终端节点硬件设计里,选型这一步要是走偏了,后面画板子、调代码全是白费功夫。我见过太多项目,因为MCU选了个功耗高的,结果电池撑不过三个月,最后整个方案推倒重来。嗯,今天我就把这几年的经验掰开揉碎,跟你聊聊MCU、射频芯片和电源管理芯片到底该怎么选。
2.1 MCU选型要点
MCU是终端节点的大脑。选它的时候,我一般盯着三个维度看:功耗、处理能力、外设。说白了,就是既要跑得动协议栈,又要省电,还得能接上传感器和射频芯片。
2.1.1 功耗——这是第一道门槛
低功耗广域网终端,电池一用就是三五年。MCU的功耗要是压不下来,其他都是空谈。我个人习惯先看三个指标:
- 工作模式电流:跑在16MHz左右时,最好控制在2mA以内。我见过有些国产芯片标称1.8mA,实际测出来2.5mA,嗯,这里要留余量。
- 睡眠模式电流:这个最关键。终端大部分时间都在睡觉,睡眠电流每多1μA,电池寿命就少一截。我建议选低于1μA的,最好能到0.5μA以下。
- 唤醒时间:从睡眠到能干活,别超过10μs。你想想看,射频芯片发数据前要唤醒MCU,如果唤醒太慢,数据包就丢了。
2.1.2 处理能力——够用就行,别浪费
低功耗广域网终端不需要跑AI,也不需要处理视频。处理能力够用就好。我一般这样选:
- 主频:16MHz到48MHz足够了。LoRa协议栈加上传感器驱动,32MHz的Cortex-M0+完全能搞定。
- RAM:8KB到16KB。LoRaWAN协议栈大概占4KB,剩下给应用层。我建议至少8KB,否则调试时你会很痛苦。
- Flash:64KB到128KB。协议栈固件大概30KB,加上应用代码,64KB勉强够。我个人习惯选128KB,留点空间给OTA升级。
避坑指南: 我曾经选了一款主频只有8MHz的MCU,想着省电。结果LoRaWAN Class B模式跑起来,时间同步窗口老是错过。后来换成32MHz的,问题就解决了。所以,别为了省电把主频压得太低,协议栈对实时性有要求。
2.1.3 外设——接口要够用
终端节点要接传感器、射频芯片、可能还有显示屏。外设接口得够用:
- SPI:至少1路。射频芯片(SX126x/SX127x)基本都是SPI接口。
- I2C:至少1路。很多传感器用I2C,比如温湿度、气压计。
- UART:至少1路。调试用,或者接GPS模块。
- ADC:至少2路。接电池电压检测和模拟传感器。
- GPIO:至少8个。控制射频芯片的DIO引脚、传感器电源开关等。
你想想看,如果MCU的SPI只有一个,射频芯片占用了,传感器就没法用SPI了,只能转I2C。嗯,选型时最好留点余量。
2.2 射频芯片选型:SX126x vs SX127x
射频芯片是终端节点的核心。目前市面上主流的就是Semtech的SX127x和SX126x系列。我两个都用过,说说我的感受。
2.2.1 SX127x——经典但老了
SX127x系列(比如SX1276、SX1278)是LoRa的元老。优点是稳定、资料多、便宜。缺点嘛,功耗偏高,体积大。
- 接收电流:约10mA到12mA。这在几年前算不错,但现在看偏高了。
- 发射电流:+20dBm时约120mA。嗯,这个水平还行。
- 睡眠电流:约1μA。不算差,但也不出彩。
- 封装:QFN 28,体积6x6mm。占地方。
2.2.2 SX126x——新一代主力
SX126x系列(比如SX1261、SX1262、SX1268)是SX127x的升级版。功耗更低,体积更小,还多了些新功能。
- 接收电流:约4.5mA到5mA。比SX127x省了一半多。
- 发射电流:+22dBm时约130mA。比SX127x略高,但功率也大了。
- 睡眠电流:约0.2μA。这个很优秀。
- 封装:QFN 24,体积4x4mm。比SX127x小了一半。
- 新增功能:内置DCDC转换器,可以进一步降低功耗。还有FSK/OOK调制模式,偶尔也能用上。
我个人习惯,新项目首选SX126x。除非成本压得特别低,或者对功耗不敏感,才会考虑SX127x。
2.2.3 对比表格
| 参数 | SX127x | SX126x |
|---|---|---|
| 接收电流 | 10-12 mA | 4.5-5 mA |
| 发射电流(+20dBm) | 120 mA | 105 mA |
| 睡眠电流 | 1 μA | 0.2 μA |
| 封装尺寸 | 6x6 mm | 4x4 mm |
| 内置DCDC | 无 | 有 |
| 调制方式 | LoRa + FSK | LoRa + FSK + OOK |
| 典型价格 | 较低 | 中等 |
2.3 电源管理芯片选型
电源管理芯片,说白了就是给MCU和射频芯片提供稳定电压的。低功耗终端对电源管理的要求很特殊:既要高效率,又要低静态电流。
2.3.1 核心指标
- 静态电流(Iq):这个最重要。终端大部分时间在睡觉,电源芯片的静态电流如果太大,电池就白费了。我建议选Iq低于1μA的,最好能到0.5μA以下。
- 效率:在轻载(1mA以下)时,效率要高于80%。很多DCDC在轻载时效率很低,还不如LDO。
- 输出纹波:射频芯片对电源纹波敏感。纹波太大,会影响接收灵敏度。我一般要求纹波低于10mV。
- 输入电压范围:电池电压从4.2V降到2.5V,电源芯片要能正常工作。
2.3.2 LDO vs DCDC
这是个老生常谈的问题。我直接说结论:
- LDO:静态电流低(可以做到0.3μA),纹波小,但效率低。适合给MCU供电,因为MCU睡眠时电流很小,LDO的静态电流优势明显。
- DCDC:效率高(90%以上),但静态电流大(通常几μA到几十μA),纹波大。适合给射频芯片供电,因为发射时电流大,DCDC的高效率能省不少电。
我个人习惯,终端节点用LDO给MCU供电,DCDC给射频芯片供电。这样既保证了睡眠时的低功耗,又保证了发射时的高效率。
避坑指南: 我曾经选了一款DCDC,标称静态电流2μA,觉得还行。结果实际测出来,在轻载(10μA)时,效率只有40%,而且纹波有30mV。后来换成了一款带PFM模式的DCDC,轻载时自动进入脉冲频率调制模式,静态电流降到0.5μA,效率也上去了。所以,选DCDC时一定要看轻载效率曲线,别只看满载数据。
2.3.3 推荐型号
| 类型 | 型号 | 静态电流 | 特点 |
|---|---|---|---|
| LDO | TPS7A02 | 0.3 μA | 超低Iq,适合MCU供电 |
| LDO | XC6206 | 1 μA | 便宜,常用,但纹波略大 |
| DCDC | TPS62840 | 0.5 μA | 带PFM模式,轻载效率高 |
| DCDC | LTC3388 | 0.7 μA | 宽输入范围,适合电池供电 |
2.4 本章知识体系
下面这张图,是我自己总结的选型逻辑。你一看就明白了。
嗯,选型这件事,说白了就是平衡。功耗、性能、成本,这三者永远在打架。我的经验是,先定功耗目标,再选MCU,然后配射频芯片,最后用电源管理把整个系统的功耗压到最低。顺序别搞反了,否则后面全是坑。