Hi Team,
Our customer is facing I2C hung-up for the external EEPROM via I2C
Their sequence is as bellows. They confirmed the data is written correctly but read is failed sometimes and I2C is hung-up.
Based on the description of BB bit on I2C Status Register (I2CSTR), and MST/nIRS bit on I2C Mode Register (I2CMDR) in TRM, They would like to confirm the following questions.
Q1. Do we need to check MST bit when reset I2C at ③ & ④? They currently checks BB bit only.
Q2. Is there possibility to hung-up I2C if they doesn’t check MST bit?
[ The sequence of Write and Read for EEPROM ]
①Write data into external EEPROM.
②Confirm ACK from EEP-ROM.
③Check I2CSTR BB(bit12)=0 if read back is possible.
④Write 0 into I2CMDR if I2CSTR BB(bit12)=0. -------- it means nIRS=0 then I2C is reset.
⑤Re-configure MDR.
⑥Read the data
Thanks and Best regards,
Kuerbis