I am working with an AW60 (standard mode operation) microcontroller to receive data from a TSL2591 (https://cdn-shop.adafruit.com/datasheets/TSL25911_Datasheet_EN_v1.pdf) light sensor (fast mode operation) through I2C bus.
I am using the combined format in polling I2C mode and the problem happens when the Repeated Start signal is supposedly generated (by the AW60 as master) to change the data direction; the sensor, apparently, does not detect the low level signal and hence does not send an ACK response after sending the slave address (with direction bit to read).
To contextualize you,
- I used the AN4481 (http://www.nxp.com/files/sensors/doc/app_note/AN4481.pdf) as base to manage the I2C protocol,
- The logic levels are properly guaranteed by pullup 4,7k resistors
- When microcontroller is sending data, the transfer starts, eventually completes and the ACK signal is received by AW60.
- I do not know if I am wrong but by reading the I2C manual UM10204 (http://www.nxp.com/documents/user_manual/UM10204.pdf) I understood that devices operating on fast mode (until 400 kbps) can hold the data to reduce the data transfer speed at standard mode operation (100 kbps).
To finish I should to say that working I2C with interruptions is not an option, thus I need some help and I will be very grateful for your comments.