NB-IoT模组半夜频繁掉网,电表项目卡住了,求指点
各位同行,遇到个邪门问题,快被整崩溃了。我们做的是NB-IoT智能电表,模组用的移远BC35-G,STM32L4主控,电池供电,设计寿命6年。小批量试产200台,装现场跑了半个月,发现有十几台每天凌晨1点到3点之间必掉网,重连要一两分钟,有时候直接死机得等看门狗复位。白天倒基本正常。这时间点太规律了,我怀疑跟基站侧有关,但运营商那边查了说信号没问题。已经试过:换过一批模组、加过电源滤波、把PSM和eDRX参数都调过,还是偶发。现在老板天天催量产,说再搞不定这单要黄。我们功耗预算卡得死,平均电流要求压在30uA以内,不敢随便加硬件。有没有兄弟做过类似项目的?这到底是射频的事还是协议栈的事,还是我电源设计埋了坑?求个排查思路,先谢过了!
回答(6)
半夜规律掉网,先别怀疑基站,重点查两个:一是基站夜间可能做小区重选或参数下发,模组进PSM后收不到寻呼、醒来状态机错乱,直接看BC35-G手册里PSM唤醒后的附着流程,抓串口log看掉网前最后几条AT和URC。二是电源,凌晨低温+电池电压跌落,L4的RTC和模组射频峰值电流叠加,VBAT瞬态掉到模组欠压阈值就复位,示波器抓VBAT和PA使能脚,看掉网瞬间有没有毛刺。先做这两步:AT+CEREG? 轮询加URC全打印定位是协议栈还是硬件,同时并个大电容试一晚。功耗卡30uA,PSM参数别动,先查清再说。
先别急着怀疑基站,凌晨固定掉网这种规律性,我第一反应是低温和电池内阻。凌晨环境温度最低,锂亚电池内阻上升,模组发射瞬时电流拉大时电压跌落,直接触发欠压复位,看着就像掉网死机。
排查建议:1、抓现场,用示波器长存储模式挂VBAT,凌晨掉网时看有没有深跌,同时测环境温度;2、查电源路径,看模组和主控是否共用一路,滤波电容够不够;3、确认看门狗复位前有没有掉压痕迹。
先看波形再下结论,别光信运营商说信号没问题。
凌晨1-3点必掉网,先别怀疑射频,这个规律性更像协议栈或环境触发。给你几个点:1)查运营商那个时段是不是有基站侧TAU/寻呼参数变化,NB-IoT的TAU定时器到期会触发跟踪区更新,重连一两分钟很符合这个特征,把T3412调大试试;2)STM32L4进低功耗前确认串口和模组IO电平,半夜温度低、电池电压略降,若LDO余量不足模组瞬时电流拉低电压复位,看门狗复位多半是这原因,量一下凌晨的VBAT纹波;3)抓模组串口log,看掉网前最后一条AT响应是啥,是CEREG变0还是直接无响应,这能分清是协议栈还是供电。功耗卡死就先从T3412和VBAT纹波入手,成本最低。
先别急着甩给基站,这时间点规律得像定时任务,我第一反应是排查低功耗唤醒和射频供电。给几个方向:一是半夜是不是有抄表或心跳任务集中触发,用逻辑分析仪抓MCU到模组的UART,看掉网前有没有异常AT交互或电流毛刺;二是示波器看VBAT在发射瞬间跌落多少,电池内阻大了凌晨低温更容易塌,建议挂个高分辨率电流探头看波形;三是查eDRX周期和基站寻呼窗口是否踩上,把参数日志导出对比掉网时刻。先看波形再下结论,别先加硬件。
这问题时间点规律,先别急着甩锅基站,大概率是模组在做网络侧周期性行为时电流顶不住。建议按这个顺序查:一是用电流探头+示波器抓凌晨掉网前后的VCC波形,重点看发射瞬间有没有跌到2.1V以下,电池内阻大了半夜低温更容易触发;二是把模组Log口打开,看掉网前是RRC释放、TAU还是被网络踢的,区分协议栈和射频;三是查eDRX/PSM唤醒周期,看是不是跟凌晨时段重叠,唤醒时射频峰值电流把LDO拖垮。先看波形再下结论,别盲目换料。
凌晨规律掉网,先别怀疑基站,八成是PSM唤醒窗口和运营商TAU周期撞了。排查点:1)抓模组侧URC日志,看掉网前是不是先报+CEREG: 0,2还是直接没响应,前者是协议栈被TAU打断,后者是电源被拉垮;2)重点查凌晨低温+电池内阻升高,PSM深睡后唤醒瞬间电流冲击把电压拉到2.1V以下,模组直接复位,看门狗复位是结果不是原因;3)把eDRX周期和TAU设成非整数倍关系,避开整点对齐。功耗卡30uA就加个47uF钽电容在模组VBAT脚,成本几分钱,先顶住。直接看BC35-G硬件设计手册电源章节最快。