This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LM95234 Common Status Register reads

Other Parts Discussed in Thread: LM95234

We are using the LM95234 and are seeing errors on reads of the Common Status Register over I2C. As a test case, we set up the Command Byte to be 0x02 and repeatedly read the Command Status Register. For successful reads, we get 0x01 returned from the Common Status Register. About once every 100k reads, we get 0XFF returned from the read from the Command Status Register, but we have not seen this problem with any other Registers in the chip.

A couple of questions:

1. Are there any known issues/errata with reading the Command Status Register reliably?

2. What does the Busy bit exactly mean in the Command Status Register? Is the Busy bit just used for polling to know when a conversion is completed or does it indicate anything else?

  • Hi Kenneth,

    What do you mean by "Command Byte"? Are you writing to the Main Configuration Register at address 0x03 the value 0x02?

     Please let me know the value of the other registers:

    • Conversion Rate at 0x04
    • Channel Conversion Enable at 0x05
    • Filter Setting at 0x06
    • 1-shot at 0x0F
    • All of the TCRIT registers at 0x0C through 0x5A

    What values do you get back from Status Registers 1-4 at addresses 0x07 through 0x0A?

     To answer your questions:

    1. None that I know of for Common Status Register at 0x02 (I don't know what you mean by Command Status Register).

    2. The busy bit in the Common Status Register reports when the device is converting. It can be used along with the one shot mode to see when the conversion has completed. You can pole it continuously, I am surprised you don't get other values from this register. If you are reading 0x01 that means that you have an error flag set in STATUS register 1 (Diode Fault Register). Are all the diode inputs connected?

    Note: reading 0xFFh usually means that the communication was not successful and that you are just read a the bus default state of all '1's. Are you validating that the device has ACK'd the slave address? Perhaps that's where the problem lies.

    Take care,

    Emmy
    Precision Systems Applications
    Texas Instruments SVA

  • Emmy,

    The following settings are used in other registers:

    Conversion Rate (0x04) is set to 0x01 = 0.364 seconds

    Conversion Enable (0x05) is set to 0x03

    Diode Model Select (0x30) is set to 0x0E

    Filter Settings are never Changed from defaults

    Register 0x40 WB_TEMP_LOCAL_TCRIT_LIM_REG is set to 0x85
    Register 0x41 WB_TEMP_REM1_TCRIT1_LIM_REG is set to 0x65
    Register 0x49 WB_TEMP_REM1_TCRIT2_3_LIM_REG is set to 0x85
    Register/ 0x0C WB_TEMP_TCRIT1_MASK_REG is set to 0x1D
    Register 0x0D WB_TEMP_TCRIT2_MASK_REG is set to 0x1D
    Register 0x0E WB_TEMP_TCRIT3_MASK_REG is set to 0x1E
    Register 0x5A WB_TEMP_TCRIT_HYST_REG is set to 0x05

    We are seeing an Ack from a Slave device when the read request is sent. See the attached Scope trace.

    Thanks,

    Ken

    The LSB of the temperatures are never read

  • Hi Kenneth,

    What do you mean by "Command Byte"? Are you writing to the Main Configuration Register at address 0x03 the value 0x02?

    Take care,

    Emmy
    Precision Systems Applications
    Texas Instruments SVA

  • Hi Kenneth,

    Can you also please let us know how many 0xFF in a row you get?

    In addition can you set the conversion rate register to continuous and tell us what happens?

    Thanks!

    Take care,

    Emmy
    Precision Systems Applications
    Texas Instruments SVA

  • Yes, we were writing the the Main Configuration Register at address 0x03 the value of 0x02.

  • Emmy,

    We are only seeing isolated instances of the 0xFF and  on succeeding reads it returns to reading 0x01 as it should.

    I will work with the team to set the conversion rate register to continuous on Monday. Right now, we are away from the hardware.

    Are there evaluation boards of the LM95234 available where the chip could be tested in isolation? We have the chip down on two different boards in our system and a fairly extensive I2C network and it is the only chip where we are seeing problems with I2C reads.

  • Hi Kenneth,

    I will try to see if I can get an eval board to you. Do you have a local FAE that you usually work with. I can contact him for you to get one out to you.

    BTW if you haven't made it to the lab yet,  is there any way you can zoom in on a clock period as it looks  like your clock rise times are really slow. Even though we have shcmidtt trigger inupts there are limitations on the rise and fall time they can handle. It's hard to tell from the scope photo you sent but you should allso check to see if any of the falling edges are marginal. That is see if the data changes state when the clock is high, as the chip would recognize this as a false start in the middle of a communication and restart searching for the device address then get off the bus with a NACK, thus you would read 0xFF. It could take 100ns overalp in the wrong direction for the chip to recognize a false start or stop.

    Take care

    Emmy
    Precision Systems Applications
    Texas Instruments SVA

     

  • Hi Kenneth,

    I have conversed with one of your colleagues about this issue off line and it is now solved.

    Take care,