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

NRF52832 TWI at 50 KHz (SMBus Compatibility)

I am running the NRF52832 (BMD-300 module) and I'm trying to talk to battery over SMBus. SMBus is compatible with devices up to 100 KHz.

I was wondering if there was a way to talk to an I2C device on the NRF52832 with a lower clock rate than the 100 KHz rate given in the TWI library.

I see here that the frequency is not configurable beyond 3 predefined clock rates, 100K, 250K, and 400K. infocenter.nordicsemi.com/index.jsp

What I'm experiencing is inconsistent readings between my battery and board. I have about a 60% success rate when reading. The battery manufacturer stressed that I need to be SMBus compliant, not just I2C. They suggested that I use a slower clock rate than 100 KHz.

I was wondering if anyone out there knew if it was possible to use a slower clock rate for I2C communication using the NRF52832?

Thanks,

Greg

Parents Reply
  • To make myself more clear:

    I am using nRF Connect SDK 1.8.0 and I changed the register (TWIM_FREQUENCY_FREQUENCY_K100) value in nrf52_bitfields.h and it worked for me.

    But this change is outside my application i.e. if I migrate to latest SDK later on then I'll need to do change in that SDK as well. So, I was just wondering if there is a way to change this register from my application itself?

    Thanks.

Children
Related