背景:记录一个奇怪的现象。自己焊接的nrf52832核心板,keil开发环境,Jlink调试器,烧写examples/ble_peripheral/ble_app_buttonless_dfu/pca10040/s132/ 项目。用nRF connect APK扫描和连接。
现象:通过keil中的debug按钮,在线调试,运行是正常的,既能广播Nordic_Buttonless,也能connect连接。但当直接加电运行时,广播是正常的,但是点击connect就始终连不上。
排查过程:1. 先排除软件问题,过程如下:刚开始是怀疑软件有问题,因为为适配内部32k RC修改过代码。 于是把代码烧写进网上购买的开发板,在人家板子上运行时正常的。故排除了软件问题
2. 重点看板子电源。先看3.3V电源,正常。肉眼看板子,排除短路问题。后面就看退耦电容了。方法如下,万用表切到蜂鸣器档,一端接地,另一端依次点每个退耦电容的地端。 结果发现,点到4.7uF电容的接地端没有蜂鸣。原来是这个电容接地没焊接好,虚焊了。破案!
故障结论:nRF 52832第48pin VDD上 4.7uF电容的接地没焊接好,虚焊了。
解释:退耦电容没焊接好,在广播时电流较小,还能正常工作。连接蓝牙时,电流增大,就不够用了,导致连接失败。至于为什么keil debug时能连接,还没想明白。
解决方案:重新焊接4.7uF电容,正常能连接蓝牙了,故障排除。