ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

LPWAN射频芯片选型到落地:硬件工程师避坑指南

LPWAN射频芯片选型到落地:硬件工程师避坑指南 低功耗广域网无线射频芯片这个方向这几年我从模组选型、天线匹配到现场组网踩了不少坑。最早接触时以为只要把芯片焊上去、SPI调通就能通信结果实际部署时发现距离短得可怜、功耗高得离谱、丢包率忽高忽低。后来才明白LPWAN射频芯片不是简单的收发器它涉及sub-1GHz频段的物理层特性、调制方式的选择、链路预算的计算、以及跟MCU的协同调度。这篇文章面向做物联网终端、环境监测、远程抄表、农业传感等场景的硬件工程师和嵌入式开发者把LPWAN射频芯片从选型到落地的关键环节拆开讲清楚尤其是那些数据手册上不会写、但现场一定会遇到的问题。1. 先搞清楚LPWAN射频芯片到底在解决什么问题1.1 从能通信到能远距离低功耗通信的本质跨越普通2.4GHz射频芯片比如蓝牙、Zigbee在开放环境下的可靠通信距离通常只有几十米到一百多米穿墙之后衰减更严重。而LPWAN射频芯片工作在sub-1GHz频段典型如433MHz、470MHz、868MHz、915MHz波长更长绕射能力和穿透能力明显优于2.4GHz。这不是玄学是物理规律频率越低路径损耗越小对障碍物的穿透性越好。但光有低频还不够。LPWAN芯片真正的核心在于链路预算的优化。链路预算等于发射功率加上接收灵敏度单位是dB。举个例子一颗典型的LoRa射频芯片发射功率20dBm接收灵敏度在SF12、BW125kHz条件下可以做到-137dBm链路预算就是157dB。而蓝牙经典模式的链路预算通常只有90到100dB左右。这多出来的50多dB换算成距离就是数量级的差异。所以LPWAN射频芯片解决的核心问题是在极低的功耗预算下实现公里级的可靠通信。注意这里极低功耗和公里级是同时要求的这才是难点。如果只追求距离加大发射功率就行但电池撑不住如果只追求低功耗缩短通信占空比就行但实时性和可靠性又没了。1.2 调制方式决定了芯片的能力边界LPWAN射频芯片常见的调制方式有几种每种对应不同的芯片架构和应用场景。LoRa调制是Semtech的专利技术采用线性调频扩频。它的特点是接收灵敏度极高抗干扰能力强但数据速率低典型在0.3kbps到37.5kbps之间。LoRa芯片如SX1276、SX1262、LLCC68等适合对距离要求高、数据量小的场景比如远程抄表、环境监测。FSK/GFSK调制是传统窄带调制数据速率可以做到几十到几百kbps功耗相对较低但灵敏度不如LoRa。很多LPWAN芯片同时支持FSK和LoRa比如SX1262就支持两种模式可以根据场景切换。Sigfox采用的是超窄带UNB调制带宽只有100Hz左右每个消息的传输时间极短功耗极低但需要依赖运营商网络终端芯片如AX-SIP系列。下面这张表可以直观对比几种主流方案调制方式典型芯片灵敏度数据速率适用场景LoRaSX1262/SX1276-137dBmSF120.3-37.5kbps远距离小数据FSK/GFSKSX1262/SX1231-120dBm1-300kbps中距离中速率UNBAX-SIP-140dBm100bps运营商网络OOK分立方案-110dBm1-10kbps低成本遥控选芯片之前先明确你的场景需要多远、多少数据、多低功耗然后反推调制方式和芯片型号。这一步做错了后面怎么调都白搭。1.3 sub-1GHz频段的法规约束与频段选择sub-1GHz不是随便用的每个国家和地区都有明确的频段划分和发射功率限制。中国ISM频段主要是470-510MHz欧洲是868MHz北美是915MHz。发射功率方面中国规定470MHz频段最大发射功率不超过50mW约17dBm欧洲868MHz根据子频段不同有14dBm、27dBm等限制。这意味着你选芯片时不能只看芯片本身支持多大功率还要看目标市场的法规。比如SX1262支持最大22dBm但如果你做中国市场的产品实际只能用到17dBm左右多出来的功率能力用不上。反过来如果你做出口欧洲的产品就要选支持27dBm的型号比如SX1261配合外部PA。还有一个容易忽略的点是占空比限制。欧洲868MHz频段对某些子频段有1%的占空比要求也就是说你每小时只能发射36秒。这个约束直接影响你的通信协议设计如果没考虑进去产品到了欧洲可能合规性就过不了。2. 射频芯片选型时那些容易看走眼的参数2.1 接收灵敏度不是唯一指标要看条件数据手册上写的接收灵敏度一定要看清楚测试条件。同样是-137dBm有的芯片是在SF12、BW125kHz、CR4/5条件下测的有的则是在更宽松的条件下。扩频因子SF越高灵敏度越好但传输时间越长、功耗越大。带宽BW越窄灵敏度越好但抗频偏能力越差。我见过有人选型时只看灵敏度数字选了一颗标称-140dBm的芯片结果实际用的时候发现要达到这个灵敏度必须把SF调到12、BW调到62.5kHz单包传输时间超过1秒功耗直接爆表。所以选型时要看在你能接受的传输时间和功耗下实际能达到的灵敏度是多少。2.2 发射功率与效率的权衡发射功率不是越大越好。首先法规限制在那里其次功放效率会直接影响功耗。一颗芯片在20dBm输出时电流可能达到120mA而在14dBm输出时只有45mA。如果你的场景不需要那么远的距离降低发射功率可以大幅延长电池寿命。这里有个经验公式发射功率每降低6dB通信距离大约减半但电流消耗可能降低一半以上。所以如果你的节点部署密度较高完全可以用较低的发射功率靠组网来覆盖而不是每个节点都怼最大功率。2.3 睡眠电流和唤醒时间决定电池寿命对于电池供电的传感器节点芯片的睡眠电流和唤醒时间比发射功率更关键。一颗芯片睡眠电流如果是1uA另一颗是0.5uA看起来差别不大但如果你用一颗2000mAh的电池1uA的静态电流一年消耗约8.76mAh0.5uA则是4.38mAh差别就出来了。唤醒时间也很重要。从深度睡眠唤醒到射频就绪有的芯片需要几毫秒有的需要几十毫秒。如果你的应用是每分钟上报一次数据每次唤醒多花10ms一年下来多消耗的时间就很可观了。SX1262在这方面做得比较好唤醒时间典型值在几百微秒级别。2.4 接口与MCU的协同能力射频芯片和MCU之间的接口通常是SPI但不同芯片的SPI时序、寄存器操作复杂度差别很大。有的芯片需要MCU频繁轮询状态寄存器有的则支持中断驱动MCU可以在射频芯片处理数据时继续睡眠。还有一个关键点是DIO引脚的功能映射。SX126x系列有多个DIO引脚可以映射为TxDone、RxDone、Timeout、CRC错误等中断源。合理配置这些中断可以让MCU只在必要时唤醒大幅降低系统功耗。如果没用好MCU频繁轮询功耗就上去了。3. 硬件设计中最容易翻车的几个环节3.1 天线匹配网络不是照抄参考设计就行很多LPWAN射频芯片的datasheet会给出一个参考匹配网络通常是几个电感和电容组成的π型或T型网络。但直接照抄往往效果不好因为匹配网络跟你的PCB走线、天线阻抗、外壳材料都有关系。我踩过的一个坑是参考设计用的是0402封装的电感我换成了0603结果匹配效果差了很多。原因是0603封装的寄生参数跟0402不一样在高频下影响很大。所以匹配网络尽量用参考设计推荐的封装尺寸甚至品牌也尽量一致。匹配调试需要用到矢量网络分析仪或者频谱分析仪。如果没有这些设备至少要用一个简单的驻波比表来验证。调试的目标是让天线端的阻抗匹配到50欧姆回波损耗S11小于-10dB。如果S11只有-5dB意味着有一半的功率被反射回来了通信距离直接打折扣。3.2 电源去耦和滤波决定射频底噪射频芯片对电源噪声非常敏感。如果电源纹波大射频底噪就会抬高接收灵敏度直接恶化。我见过一个案例同样的芯片和天线A板子通信距离500米B板子只有200米最后查出来是B板子的LDO输出纹波大了30mV。去耦电容的布局很关键。通常需要在射频芯片的电源引脚附近放一个100nF和一个1uF的电容100nF要尽量靠近引脚走线尽量短。如果芯片有多个电源引脚每个都要单独去耦不能共用。另外射频芯片的电源最好用LDO单独供电不要跟MCU、电机等噪声大的负载共用一路DCDC。如果必须共用至少要在射频芯片电源前加一级LC滤波。3.3 晶振精度影响频率稳定度LPWAN射频芯片通常需要一个32MHz或TCXO作为参考时钟。普通晶振的精度在±10ppm左右而TCXO可以做到±0.5ppm甚至更好。在LoRa模式下频率偏差会导致解调性能下降尤其是在高扩频因子条件下。如果你的应用环境温度变化大比如户外部署建议用TCXO。普通晶振在-40到85度范围内的频偏可能达到±30ppm足以让LoRa解调失败。TCXO虽然贵一点但能省去很多现场调试的麻烦。3.4 PCB布局中的射频走线规则射频走线要遵循几个基本原则走线尽量短、尽量直避免直角和过孔射频走线下方要有完整的地平面射频走线和数字走线要保持距离避免平行走线。我见过一个设计射频走线从芯片出来之后绕了半个板子才到天线接口结果插损大了3dB通信距离少了30%。所以射频部分布局时天线接口和射频芯片要尽量靠近中间不要放其他器件。4. 软件配置与功耗优化的实战细节4.1 扩频因子和带宽的取舍逻辑LoRa模式下扩频因子SF从7到12带宽BW从7.8kHz到500kHz。SF越高灵敏度越好但传输时间越长。BW越宽传输速率越高但灵敏度越差。具体怎么选我的经验是先确定你需要的通信距离和速率然后反推。比如你需要传1公里数据量每次20字节每分钟传一次。可以先试SF9、BW125kHz看看链路质量。如果丢包率高再升到SF10或SF11。不要一上来就用SF12那样功耗和延迟都受不了。下面是一个实测的参考数据环境是郊区开阔地发射功率17dBm天线增益2dBiSFBW灵敏度20字节传输时间实测距离7125kHz-123dBm约50ms800m9125kHz-129dBm约130ms1.5km11125kHz-134dBm约400ms2.5km12125kHz-137dBm约700ms3km这个数据只是参考实际距离受环境影响很大。城市环境可能只有郊区的三分之一到一半。4.2 自适应速率调整的实现思路固定SF和BW在实际部署中往往不是最优的。距离近的节点可以用低SF快速传输距离远的节点用高SF保证可靠。自适应速率调整ADR就是根据链路质量动态调整SF和BW。实现ADR的基本逻辑是节点定期上报时网关记录接收信号的RSSI和SNR。如果SNR持续高于某个阈值比如10dB就通知节点降低SF如果SNR低于阈值比如0dB就通知节点提高SF。调整的步长可以是一级一级来避免剧烈变化导致链路中断。这里要注意ADR的调整指令要通过下行链路发给节点所以网关必须支持下行。另外调整频率不能太高否则信令开销太大。通常每几十个包调整一次就够了。4.3 睡眠调度与唤醒策略电池供电的节点大部分时间应该在睡眠。以SX1262为例睡眠模式电流可以低到0.5uA左右。MCU也进入深度睡眠整体静态电流控制在2uA以内。唤醒策略有两种定时唤醒和事件唤醒。定时唤醒是RTC定时器到点唤醒MCUMCU再唤醒射频芯片发送数据。事件唤醒是外部传感器触发比如震动、温度超限等。定时唤醒的周期要根据应用需求来定。环境监测可能每5分钟一次抄表可能每天一次。周期越长平均功耗越低。但要注意有些LPWAN网络有心跳要求比如LoRaWAN的Class A设备每次上行后会开两个接收窗口如果长时间不上行网络服务器可能认为设备离线。4.4 数据包格式与重传机制LPWAN的数据包通常很短LoRaWAN的最大载荷在SF12、BW125kHz下只有51字节。所以数据格式要紧凑能用1个字节表示的不要用2个字节。重传机制要谨慎设计。如果每次发送都重传3次功耗直接翻3倍。我的做法是正常情况不重传依赖网关的ACK。如果连续N次没有收到ACK再触发重传并且重传时提高SF或发射功率。这样在链路好的时候不浪费功耗链路差的时候又能保证可靠性。5. 现场部署中那些让人头疼的问题5.1 丢包率忽高忽低的排查思路现场部署最怕的就是丢包率不稳定。有时候好好的有时候突然丢一堆。排查这类问题我通常按以下顺序来先看RSSI和SNR。如果RSSI正常但SNR很差说明有干扰。sub-1GHz频段的干扰源不少比如某些无线遥控器、对讲机、甚至劣质开关电源。用频谱仪扫一下频段看看有没有持续存在的干扰信号。如果RSSI和SNR都正常但丢包可能是协议层的问题。比如网关的接收窗口配置不对或者节点的发送时机冲突。LoRaWAN的Class A设备发送是随机的如果多个节点同时发送网关可能来不及处理。可以引入随机退避让节点在发送前随机等待一段时间。还有一种情况是邻道干扰。如果附近有另一个LPWAN网络在相同频段工作即使频点不同强信号也可能阻塞接收机。这时候需要调整频点或者增加滤波器。5.2 距离不达标的常见原因标称几公里的通信距离实际只有几百米这种情况太常见了。原因通常有这几个天线匹配没做好S11不达标功率反射。用驻波比表测一下如果S11大于-10dB先调匹配。发射功率没设对。有些芯片默认发射功率很低需要在初始化时配置。检查寄存器设置确认实际输出功率。环境遮挡。城市环境建筑物多信号衰减大。sub-1GHz虽然绕射能力好但也不是万能的。如果节点在室内网关在室外中间隔了几堵墙距离肯定打折扣。接收端灵敏度没达到。检查接收端的LNA配置、带宽设置、SF设置。有时候接收端为了省电用了低增益模式灵敏度就下来了。5.3 电池寿命低于预期的排查标称5年电池寿命实际用了半年就没电了这种问题我也遇到过。排查下来通常是这几个原因睡眠电流没降下来。用万用表测一下睡眠时的电流如果超过10uA说明有外设没关或者IO口漏电。检查所有IO的配置未使用的IO要设为模拟输入或者输出低避免浮空。唤醒时间太长。用示波器测一下从RTC中断到射频发送完成的时间如果超过预期优化代码减少不必要的初始化。发射功率过高。如果实际不需要那么远降低发射功率。每降低6dB电流大约减半。重传次数过多。如果链路质量差频繁重传功耗自然高。优化天线和部署位置减少重传。5.4 多节点组网的冲突与容量规划一个网关能带多少个节点取决于节点的上报频率、数据包长度、以及网关的接收能力。LoRa网关通常有8个信道每个信道可以解调一个LoRa信号。如果节点每分钟上报一次每次传输时间100ms那么一个信道理论上可以支持600个节点。但实际上要考虑冲突概率和网关处理能力通常建议不超过200个节点每网关。如果节点密度高可以考虑多网关部署或者使用ADR让近端节点用低SF快速传输减少占用时间。另外节点的发送时间要随机化避免周期性碰撞。6. 从芯片到模组的工程化考量6.1 什么时候该用模组而不是自己画板如果项目时间紧、射频经验不足直接用模组是更稳妥的选择。模组厂商已经把射频匹配、晶振、屏蔽罩都做好了你只需要通过SPI或UART跟模组通信。常见的LPWAN模组有基于SX1262的Ra-01、基于SX1276的Ra-02等。自己画板的优势是成本低、尺寸灵活但需要射频调试能力和测试设备。如果年产量不大模组的综合成本可能更低因为省去了调试时间和认证费用。6.2 认证测试中容易忽略的项目LPWAN产品要过认证除了常规的CE、FCC还要注意射频部分的测试。比如欧洲的ETSI EN 300 220对发射功率、占空比、杂散发射都有要求。杂散发射这一项容易被忽略如果PCB布局不好或者滤波不够杂散可能超标。还有频率容限测试。TCXO的精度要满足法规要求通常要求±10ppm以内。如果用的是普通晶振可能过不了。6.3 固件升级与现场维护LPWAN节点通常部署在难以触及的地方固件升级是个难题。如果支持OTA要通过LPWAN链路传输固件速度很慢一个100KB的固件可能要传几个小时。所以固件要尽量小或者采用差分升级。如果不支持OTA就要预留调试接口比如UART或者SWD方便现场维护。但要注意调试接口在不使用时不能引入额外功耗最好用跳线或者MOS管控制通断。7. 几个实际项目中的经验教训7.1 环境监测项目中的频点选择做过一个农业环境监测项目节点分布在农田里网关在仓库屋顶。一开始用470MHz发现中午时段丢包率很高。后来用频谱仪扫了一下发现附近有个无线麦克风系统在工作正好在470MHz附近。换到490MHz之后丢包率从30%降到了2%以下。这个经验是部署前一定要做频谱扫描了解现场的电磁环境。不要假设sub-1GHz频段是干净的。7.2 温控电路中的射频干扰问题有一个STM32加LoRa的温控电路项目发现每次继电器吸合时LoRa通信就会中断。排查下来是继电器线圈的反向电动势通过电源和地耦合到了射频部分。解决方案是在继电器线圈两端加续流二极管并且在射频芯片电源前加一级LC滤波。另外继电器的驱动走线和射频走线要尽量远离。7.3 低功耗设计中的一个反直觉发现有一次做低功耗优化发现把MCU主频从16MHz降到1MHz整体功耗反而上升了。原因是主频降低后MCU处理同样的任务需要更长时间而射频芯片和传感器的功耗是固定的MCU处理时间长了整体能耗反而增加。所以低功耗优化的关键是缩短高功耗状态的时间而不是单纯降低主频。这个经验说明功耗优化要算总账不能只看某一个器件的电流。7.4 天线选型对部署的影响天线不是越贵越好也不是增益越高越好。高增益天线方向性强适合定向通信但如果节点位置不固定可能适得其反。全向天线增益低但覆盖均匀适合节点分散的场景。还有一个实际问题是天线的安装方式。如果天线靠近金属物体谐振频率会偏移匹配变差。所以天线周围要留出足够的净空区至少四分之一波长。470MHz的四分之一波长大约是16厘米这个距离要保证。8. 写在最后的一些个人体会LPWAN射频芯片这个领域纸面参数和实际表现之间的差距往往比想象中大。数据手册上的灵敏度、距离、功耗都是在理想条件下测的。实际部署中天线、电源、环境、协议配置每一个环节都可能让性能打对折。我的建议是选型阶段多做对比测试不要只看一家硬件设计阶段留出匹配调试的余地比如预留π型网络的焊盘软件阶段把功耗测量做细用数据说话部署阶段先做小规模试点确认链路质量再批量铺开。另外LPWAN技术本身也在演进LoRa、Sigfox之外还有NB-IoT、Wi-SUN等方案。选型时不要局限于一种技术根据场景需求综合评估。比如需要双向实时通信的场景NB-IoT可能更合适需要极低功耗和超长距离的场景LoRa更有优势。最后分享一个实用技巧如果你没有专业的射频测试设备可以用两个节点做对传测试一个固定一个移动记录不同距离下的RSSI和丢包率。虽然不如频谱仪精确但足以发现大部分问题。这个方法我用了很多次简单有效。
返回列表