CY8CMBR3108 I2C errors on first attempt

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ejb068
Level 1
Level 1
First question asked Welcome!

Hi,

We are working on a design with the CapSense CY8CMBR3108. We are experiencing issues communicating with this device from our iMX application processor. We have found the following:

If we try and read from the device a single time, it usually fails. Occasionally (~25%) it will return the correct value.

If we quickly send a read command with less than 200ms delay, the second read always (100%) works and returns as expected.

If we increase the delay between reads to 4sec, we go back to failures most of the time. 

We've tried changing the speed of teh I2C bus from the host, but this make no difference.

I suspect there may be a timing issue? Maybe the device is going to a lower power state and repsonds slower? However, the STATE_TIMEOUT = 10. We tried setting it to 0 with no change.

Any ideas why we get intermittent read results on our fist attempt but always works on the second try?

Thanks,

James

0 Likes
1 Solution
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello @ejb068 

 

This behavior is expected as the MBR3 NACKs the I2C communication whenever it is in low power mode. Please see point 2 under I2C communication guidelines from the datasheet

Hari_0-1617976664929.png

 

MBR3 goes into low power mode whenever there is no active scan so that power is saved. So, the host needs to be programmed such that it tries a second time whenever a NACK is received. 

 

Best regards, 

Hari

View solution in original post

0 Likes
1 Reply
Hari
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello @ejb068 

 

This behavior is expected as the MBR3 NACKs the I2C communication whenever it is in low power mode. Please see point 2 under I2C communication guidelines from the datasheet

Hari_0-1617976664929.png

 

MBR3 goes into low power mode whenever there is no active scan so that power is saved. So, the host needs to be programmed such that it tries a second time whenever a NACK is received. 

 

Best regards, 

Hari

0 Likes