This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C1230C3PM: I2C communication

Part Number: TM4C1230C3PM

Hello, 

my customer is using TIVA processor. This processor is communicating with external IC using i2c. 

During EMI exposure, there are some single failures in the i2c communication. That is not a big problem.

If 3 failures happen in 3 successive requests, the i2c should be reset and initialized. This work in most of the cases, but sometimes the reset does not work and the only way to reset the i2c controller in the TIVA is by removing the voltage, and this is of course not good. 

My customer is already working in the filtering in the HW, but still they need to solve why sometimes the reset does not work (System reset is not possible, only i2c controller reset). This is the code of reset: 

// disable the peripheral

    ROM_SysCtlPeripheralDisable(ui32Peripheral);

    // reset the peripheral

    ROM_SysCtlPeripheralReset(ui32Peripheral);

    // enable the peripheral

    ROM_SysCtlPeripheralEnable(ui32Peripheral);

    // wait until it is ready

    while (!ROM_SysCtlPeripheralReady(ui32Peripheral))

    {

    }

Do you think they are missing something? 

Regards,

Jon