LM75 glitch on the I2C bus

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LM75 glitch on the I2C bus

Jump to solution
2,282 Views
jbisson
Contributor I

Hi,

I have the following configuration: microcontroller(master) ---- PCA9515A (repeater) ------ LM75A & other slaves.

Every time the master ask the temperature to the LM75A, there is a glitch caused by the bus being released. Is there any particular reason for that behavior? It happens after the 8th clock pulse, so right before the ACK. It seems like the bus is released and the LM75 reacted too slowly to pull the line down.

jbisson_0-1610658861962.png

 

jbisson_1-1610658862062.png

Everything on that bus is good with the I2C specs . I know that the spikes occur where there is no sampling, it’s just to understand a little bit more

0 Kudos
1 Solution
2,273 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Jean-Luc,

 

I think what you see is quite normal. If the last data bit in a byte is low, the master must drive SDA throughout the high-low cycle of SCL which follows that bit. During the following high-low cycle of SCL, the master needs to release SDA and the slave needs to drive it, but between the two high-low cycles the master and slave are allowed to arbitrarily drive or release SDA in whatever fashion they see fit. If the slave does not quickly start driving SDA, it must keep SCK low until it has done so.

Your MCU bus-master circuitry appears to release SDA immediately upon the falling edge of SCK, before the LM75A has started to assert it, but that is not a problem since the LM75A starts asserting SDA well before the next rising edge of SCL.

 

Best regards,

Tomas

 

View solution in original post

1 Reply
2,274 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Jean-Luc,

 

I think what you see is quite normal. If the last data bit in a byte is low, the master must drive SDA throughout the high-low cycle of SCL which follows that bit. During the following high-low cycle of SCL, the master needs to release SDA and the slave needs to drive it, but between the two high-low cycles the master and slave are allowed to arbitrarily drive or release SDA in whatever fashion they see fit. If the slave does not quickly start driving SDA, it must keep SCK low until it has done so.

Your MCU bus-master circuitry appears to release SDA immediately upon the falling edge of SCK, before the LM75A has started to assert it, but that is not a problem since the LM75A starts asserting SDA well before the next rising edge of SCL.

 

Best regards,

Tomas