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

TWI Always Fails outdoors and Never Fails Indoors on a BLE enabled nRF52

This is a strange problem. 10% of our production boards fail outdoors within tens of seconds and will not fail after tens of minutes if indoors. The rest of our production boards don't care whether they're outdoors or indoors... they just work. TWI appears to be the affected subsystem. We have many subsystems in play including: PWM, SPI, GPIO.

  • The problem is not temperature, I literally walk through any door of my house to solve (enter the house) or create the problem (exit the house) within seconds
  • board on the seat of my car never fails while driving around a couple of towns
  • board on the roof of my car never fails while driving around (2" above metal roof)
  • board carried away from the roof of my car or away from the inside of my car will fail by the time I get 2 meters from the car, in multiple locations in a couple of towns.
  • board placed inside an unplugged microwave oven outside my house will not fail until it is removed from that Faraday cage, then fails within seconds
  • At night, the problem appears to be significantly lowered but not fully solved, this has only been verified at my house (not around two towns)

I am suspecting a TWI timeout is involved and that the BLE has something to do with it. ¡¡¡ If I connect a 10pF impedance I2C analyzer to my I2C bus the problem disappears !!! However, we have boards in customers' hands already that need a SW solution so soldering caps from ground to SCL SDA isn't a sufficient solution, even if we were to prove that works in production.

For diagnostic purposes I would like to disable BLE in my software but leave everything else up. I do not see an easy way to just turn off BLE and creating a version of my code without BLE would be difficult...

Is there a BLE on/off switch function call? One that would disable all explicit advertising in my code and also any discoverable related tx from my nrf52.

SDK 14.2.0   SD 5.0

Thanks,

Jeff

Parents
  • This seems like some electrical or possible timing related issues. Not seens something like this before.

    Disabling BLE should be fairly simple by not starting to advertise or not starting to scan.

    Does reducing the TWI clockspeed have any influence on the problem? Are you using internal or external pull-up resistors on the TWI pins? Let me know if you have further discoveries.

    Kenneth

Reply
  • This seems like some electrical or possible timing related issues. Not seens something like this before.

    Disabling BLE should be fairly simple by not starting to advertise or not starting to scan.

    Does reducing the TWI clockspeed have any influence on the problem? Are you using internal or external pull-up resistors on the TWI pins? Let me know if you have further discoveries.

    Kenneth

Children
No Data
Related