AnsweredAssumed Answered

Invalid pointer value in LM75AD sensor ?

Question asked by Saurabh Saxena on Nov 28, 2017
Latest reply on Dec 19, 2017 by Saurabh Saxena

Hello,

 

         I have been implementing I2C using the bit banging, during the implementation phase where I was implementing the collision detection on the bus I came across an issue, the sensor generates a ACK for the pointer byte 0xFF which a invalid pointer.

 

My scenario :

 

To test my code I inserted the additional SCLK pulse after passing the whole address to the sensor(before R/W and ACK), this additional SCLK pulse cause the sensor to sample A0 two times, one time as address and other time as the R/W , the Slaves runs ahead of the master now. As A0 is zero in my case this causes the Sensor to assume a Write operation.

 

Using the Bus detection, I sense the inconsistency at the part of Read operation on the Bus but the Slave pulls the SDA line low as its a step ahead and generates a ACK.

 

As I have sensed the inconsistency I try to recover the bus by sending nine clock pulse (SDA open), but as the Sensor though my operation in write state is took this as a pointer byte  which was sent 0xFF and generates a ACK.

 

 

My question the LM75AD datasheet doesn't enlist 0xFF as a valid pointer location than how come the sensor is generating a ACK. please help if I got it right.

Outcomes