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.

I2C without ACK

Other Parts Discussed in Thread: TMS320F28335

Hi,

Is it possible to use I2C network on TMS320f28335 without wait for the slave ACK bit?

Thanks,

 

Regards,

  • The monitoring, interpreting and reacting to the ACK/NACK bit is a fundamental aspect of the I2C protocol.

    I'm not sure I quite understand what you are trying to accomplish by not dealing with the ACK/NACK bit.

  • Hi Brandon,

     

    Thank you for your reply.

    I understand the importance of the ACK bit, but I´m dealing with an application unidirectional TMS -> DAC.

    Unfortunately, the circuit was built in a one only way. Before send it to trash, I´d like to try solve in software.

    As DAC is the only device connected to I2C wires, ignoring ACK wouldn´t be a problem, since the TMS accept it.

     

    Best,

    Jonas.

  • I have the same question, we have an hardware issue and the ACK from the slave is not received by the MCU.

    So the question is, can I fix this hardware issue with a software patch ?

    Now the first packet is sent, I receive the No Acknowledge interrupt and the MCU doesn't send other data on the bus. I search for a software patch in order to tell the Piccolo to continue to send the data on my DAC.

     

     

  • Christophe Ducommun said:

    I have the same question, we have an hardware issue and the ACK from the slave is not received by the MCU.

    So the question is, can I fix this hardware issue with a software patch ?

    It is impossible to give you a yes/no response to this question as there isn't enough information about the issue you are observing.

    What devices are you utilizing in your circuit?
    How are they connected?
    What are you actually observing on a scope or logic analyzer?

    What experiments have you attempted to gain insight into what is really going on?

  • We have found a software patch for this hardware issue.

     

    The trick is the following :

    1) Set the MCU I2C address at the same address as the DAC

    2) Enable loopback

    The MCU receive it's own I2C message and make the acknowledge, so the I2C continue to send data on the bus, and our DAC is correctly updated. When the Stop Condition is generated, you need to read the data back because  loopback mode is enabled in order to clear the receive buffer.

     

    So I use this trick only for one DAC on the I2C bus, and for the other component, I use I2C without this trick and now all works fine. So we have a software solution for this hardware issue. I use the F28035 Piccolo.