Hello,
I have an application that uses 4 TMP006 sensors connected to an MSP430 Micro-controller.
The application works when I do slow "blind reads" of the temperature data. By that I mean if I have a slow loop in my micro-controller code and manually force reads of temp data everything works correctly. However, when I try to set the TMP006 to different conversion rates and then code the micro to read the data as fast as possible the TMP006 never changes values.
Specifically, the micro code is entering a "while loop" reading the DRDY bit in the configuration register waiting for it to change state signalling that a conversion is complete. The DRDY bit never goes low and the loop continues forever. The hardware pin for DRDY is left floating, and all 4 TMP006 devices have their DRDY pins shorted together, but this signal is not used at this time.
In developing this application I have seen similar behavior before, where continuous activity on the I2C bus seems to lock up the device. Is this a known issue?
Again, if I run my application slowly and not try to maximize through put the system works correctly.
Thanks