This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52 not booting properly without reset

Hi

I did a bunch of boards for a product, and in the latest version I used a BQ25121 PMIC which also has a reset output which I tied to the nRF52 input. On the previous boards the reset signal was tied directly to a button and it worked. But now when the nRF52 is powered, BLE does not work for some reason, and some other bits of code don't work either. But when I reset it manually it all works fine. The reset reason(RESETREAS) after powerup on the new board is 0, while on the old boards or after it was reset via switch its 1. When its 1 it all works fine, but not when its 0. I tried detecting the reset reason being 0 and then issue a reset via firmware, but that does not help. All the BQ25121 has is a open drain output, so it should behave much like a physical switch, but something is affecting the nRF52 and making it not boot properly.

Parents
  • Try adding a pullup resistor. I believe open drain requires external pullup

  • I added decoupling as recomanded, and followed the layout design guides, and placed the PMIC close to the MCU. I've tried soldering, resoldering most of the components, but the issue persists over multiple boards. VDD level is 3.3V, but when using the PMIC switching regulator its 2.5 which I can then adjust via I2C. But that does not seem to have any effect on the issue. After BLE is initialized, there is a 50mV spike occurring at a 45ms interval. And as I was typing this, I went to chase that 50mV spike down, and I found the culprit. I have a VCNL4040 proximity sensor, and when it is initialized, the IR led somehow creates enough interference to glitch the BLE radio. Funny thing is on the old version I had it as well. Now I have to test the other boards too which I did not butcher while experimenting.

Reply
  • I added decoupling as recomanded, and followed the layout design guides, and placed the PMIC close to the MCU. I've tried soldering, resoldering most of the components, but the issue persists over multiple boards. VDD level is 3.3V, but when using the PMIC switching regulator its 2.5 which I can then adjust via I2C. But that does not seem to have any effect on the issue. After BLE is initialized, there is a 50mV spike occurring at a 45ms interval. And as I was typing this, I went to chase that 50mV spike down, and I found the culprit. I have a VCNL4040 proximity sensor, and when it is initialized, the IR led somehow creates enough interference to glitch the BLE radio. Funny thing is on the old version I had it as well. Now I have to test the other boards too which I did not butcher while experimenting.

Children
No Data
Related