AM2434: LP - Am2434 I2c communication to EEPROM

Part Number: AM2434

Hi 

we are using LP - AM2434,  we are using SDK version ind_comms_sdk_am243x_09_02_00_15.and are using EtherNet I/P example code   

We have few queries regarding AT24CM01-XHD-T 

  • How do you  determine that the AT24CM01 is ready to receive a new I2C Write protocol? Do they wait for 5ms or do they poll for ACK?
  • Hi Yashaswini,

    In which mode are you using the I2C controller? Is it interrupt mode or polling mode?

    Regards,

    Tushar

  • Hi Tushar 

    It is in interrupt mode

    Thanks

  • In the ISR function of I2C, we are reading the I2C_IRQ_STATUS_RAW[1] bit for the acknowledgment and after receiving success, proceeding with the further I2C operations. 

    Regards,

    Tushar

  • Hi Tushar 

    we are facing some issue with EEPROM IC where in 5 boards out of 50 boards are showing this error.

    below is the waveform of SDA and SCL signals of working board 

    below is the waveform of SDA and SCL signals of not working board,you can see the bus is busy and for 5ms and in the firmware is there any fixed wait period? 

    You must allow 5ms from the last Write protocol I2C Stop Condition before sending any new I2C command right?.

    If you only allow 3.5ms before the ISR times out and throws the error, you will be falsely failing perfectly good AT24CM01 devices.

  • Hi Yashaswini,

    In the EEPROM_AT24C_write() API available in the ind_comms_sdk\mcu_plus_sdk\source\board\eeprom\eeprom_at24c.c file, a wait for 4 ms is already provided.

    Please refer below image.

    we are facing some issue with EEPROM IC where in 5 boards out of 50 boards are showing this error.

    Are you facing issue even after calling EEPROM_AT24C_write() API?

    Regards,

    Tushar

  • Hi Tushar 

    We are using  ind_comms_sdk_am243x_09_02_00_24 , and in C:\ti\ind_comms_sdk_am243x_09_02_00_24\examples\industrial_comms\ethernetip_adapter_demo_original\board\am243x-lp\freertos\drivers\eeprom\CUST_eeprom, I dont see any API being called but in appNvEeprom I  see as below , which does not have any wait period.

  • Hi Yashaswini,

    I can not see the above mentioned API in the specified file. Also, you can call the Clock_usleep function with 5ms timeout for EEPROM write to complete.

    Regards,

    Tushar