Dear TI-er,
i´m using a TM4c123GH6PM Microcontroller as Master and two MLX90614 temperature sensors on the I2C bus (SMbus),
To give each sensor its own unique adress, I have to power each sensor one by one on and off again. (to give a new adress there can only be one sensor on the bus).
This is because they have a standard adress at first and there would be two i2c devices with the same adress on the bus.
So this is how i tried to solve this issue:
1. Initialise two GPIO Pins as outputs to power the MLX90614s (VDD)
2. Turn off one of the two MLX90614
3. Give the other one which is powered up a new adress.
4. Same procedure turned around.
5. Power on all MLX90614 with their new adresses for example 0x5B and 0x5C
My problem is that communication fails as soon as one of the slaves is powered off on the bus because commands like (while !SomethingI2C); are I believe endlessly looping.
I need information on how to disconnect and connect I2C slaves on a bus without causing to much problems.
I have looked through the datasheet of the MLX90614 and found the following statement: (p.39)
"The MLX90614 has diode clamps SDA / SCL to Vdd so it is necessary to provide MLX90614 with power in order not to load the SMBus lines."
Giving a new adress was succesful with only one sensor before, so i don´t think my code is the problem.
Thanks in advance.
Best Regards,
Raj