第二章:核心器件选型——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,如果唤醒太慢,数据包就丢了。
我的经验: 我在项目中遇到过用STM32L0系列,睡眠电流标称0.4μA,实际测出来0.6μA,但还在可接受范围。后来换了一款国产芯片,标称0.3μA,结果温度一降到-20℃,直接飙到3μA。所以,一定要看全温度范围的典型值,别只看25℃的数据。

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。占地方。
注意: 我曾经用SX1278做过一个项目,电池容量2000mAh,每天发10次数据,每次发射1秒。算下来电池只能撑1年半。后来换成SX1262,同样的条件,电池撑了2年多。所以,如果对功耗敏感,SX127x可能不是最佳选择

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
典型价格 较低 中等
我的建议: 如果你做的是电池供电的终端,比如温湿度传感器、水表、烟感,直接上SX126x。省下来的功耗,可以让你用更小的电池,或者延长产品寿命。如果是市电供电的网关,SX127x也够用。

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选型 射频芯片选型 电源管理选型 功耗(睡眠电流) 处理能力(主频/RAM) 外设(SPI/I2C/UART) SX127x(经典/功耗高) SX126x(低功耗/小体积) 对比:接收/发射/睡眠 LDO(低Iq/低纹波) DCDC(高效率/轻载) 推荐型号对比 选型核心原则: 低功耗 + 够用处理能力 + 匹配外设

嗯,选型这件事,说白了就是平衡。功耗、性能、成本,这三者永远在打架。我的经验是,先定功耗目标,再选MCU,然后配射频芯片,最后用电源管理把整个系统的功耗压到最低。顺序别搞反了,否则后面全是坑。


专注资料整理