MBR3 has low power modes and hence goes to sleep periodically. That might be the reason you are not getting an ACK.
You just need to resend the transaction with in 340ms. First transaction will wake up the device and it will go to sleep, again after 340ms.
I am working on CY8CMBR3116 IC. I am trying to establish communication between microcontroller and CY8CMBR3116. The slave address I am trying is 0x37. But its not giving Ack to controller. I have also tried sending slave address repeatedly with the time difference of about 3mS. But still no success. I have also replaced the CY8CMBR3116 with new CY8CMBR3116 with doubt if the IC is not alive. But new IC is behaving same way.
So, can anyone tell what to be done?
Please find below image.
Please update on the following to debug further.
1. Could you try using Bridge Control Panel as master and check if the slave address of 0x37 is being ACKed by the MBR3116 device
2. Explain regarding the host micro controller used in your system
3. Share the schematic design
4. Reduce the I2C clock frequency to 100 kHz and check if the MBR3 slave still NACKs
5. Please clarify on "I can get the ACK from CY8C4014 by the same code changing the chip I2C address"
Thank you for your quick reply.
Host tries to resend the transaction many times within 340 ms,but I have got no ACK from the CY8CMBR3116 chip.
I can get the ACK from CY8C4014 by the same code changing the chip I2C address.