I am using the LM95071 in a simple application to measure ambient temperature of our product. The normal temperature range is approx 15degC through to 50degC. In general the part is working well, however intermittently I will read a value of -22degC. The spurious values occur around once every 100-200k reads.
Typically a valid read should be 0x0eab, however I am occasionally getting spurious values of 0x0f4b3, 0x0f4a7, 0x0f4a3 or 0x0f4b7
I am reading the LM95071 every 4ms, which is much faster than its conversion time, however the datasheet implies that this should not be a problem as the read doesn't inhibit the conversion process and the temperature register is updated when /CS is high after the conversion is complete. Is it possible that the asynchronous nature of the SPI transactions is causing a problem with the chip or is there another explanation for these spurious and incorrect readings?
I have attached a scope trace of the offending read. My observation of the trace is that the SPI timing and transaction look fine, expect the data coming out of the LM95071 is incorrect given the actual temperature. Note: /CS is Yellow, MISO is blue, CLK is green and our trigger output is pink.
Can you help with information or suggestions as to what the problem may be?
Regards,
Graeme