智能电表批量上线后蓝牙配对失败率超15%,产线快停了
各位同行大佬,求助一个量产翻车现场。我们做的一款智能电表(带蓝牙5.0模块,主控是STM32L4+,蓝牙用nRF52832),最近一批2000台在产线老化测试时发现,手机APP和电表配对失败率超过15%,集中在老化后30分钟以上那批复测的机器上。现象是:手机能搜到广播,点连接后要么超时,要么连上3秒内断,重试几次又能连上,特别邪门。
已经做过的排查:换过手机(iOS和安卓都试了),换过测试工位,怀疑过2.4G干扰,把产线旁边WiFi和蓝牙音箱都清走了,没改善。电源用稳压源直供3.3V也不行。拆了几台看,蓝牙模块周围有轻微发热,老化箱里温度45℃。我怀疑两点:一是nRF52832的32.768kHz晶振负载电容匹配有问题,温漂导致协议栈时钟不准;二是我们天线是PCB板载的,靠近电表金属外壳,老化后装配应力让天线的匹配网络偏移。
产线等着出货,停一天损失不小。有没有遇到过类似批量配对不稳的朋友?晶振这块该怎么量才能确认?或者有没有可能是固件里连接参数(比如connection interval)设得太激进?先谢过了。
回答(1)
先说结论:重点查32.768kHz晶振和BSP配置。老化后发热、45℃环境下批量出问题,很像晶振频偏或起振余量不足。nRF52832的LFCLK用外部晶振时,负载电容和晶振ESR不匹配,温度一升高起振时间变长,协议栈建链就超时或几秒断连,正好对上你说的"重试又能连上"。
排查点:1)抓LFCLK启动时间和频偏,老化前后对比,看是否漂到±50ppm以上;2)核对BSP里LFCLK源配置和晶振负载电容,量产批次晶振换成低ESR的;3)确认蓝牙模块供电和地回流,发热处可能是LDO或射频功放区,别让热耦合到晶振。
bug多半出在边界——晶振余量在常温够用,45℃就踩线了。