XMC4xxx I2C error handling unclear in datasheet

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User19543
Level 1
Level 1
First like given Welcome! First question asked
Hello,
I am unclear what the following section out of the XMC4400 Reference Manual means:

15.5.4.2 Valid Master Transmit Data Formats
[...]
In case of a wrong TDF code, the frame will be aborted
immediately with a STOP condition if the USIC IIC master still owns the SDA line. But if
the accessed slave owns the SDA line (read transfer), the master must perform a dummy
read with a non-acknowledge so that the slave releases the SDA line before a STOP
condition can be sent. The received data byte of the dummy read will be stored in
RBUF0/1, but RDV0/1 will not be set. Therefore the dummy read will not generate a
receive interrupt and the data byte will not be stored into the receive FIFO.
[...]

What my question is about, what is the behaviour in the second mentioned case?
"...master must perform a dummy read with a non-acknowledge..." does this mean, like the other case, that these tasks are automatically performed by the USIC or do I have to implement that on my own?

Thanks in advance for the help!

Best regards
Michele Blank
0 Likes
2 Replies
User19543
Level 1
Level 1
First like given Welcome! First question asked
Any hint by @Infineon would be greatly appreciated! 🙂
0 Likes
Aashita_R
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 250 replies posted
Hi @MicheleB,

As per my understanding, In case of I2C slave owning the SDA line and the running frame has wrong TDF code, I2C master starts performing a dummy read so that the slave can release access of SDA line and a STOP condition can be sent. Since the transmitter part of USIC I2C module takes care of the data handling of the communication, this should be automatically performed by USIC. However, you can check out the XMC peripheral library for the IIC APIs available. You can do by opening DAVE-> Help ->Help Contents ->XMC Lib documentation -> XMC 4. Please let us know if this helps or in case of any further query.

Best Regards,
Aashita
0 Likes