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.

  • Resolved

HDC1080: question on design approach

Intellectual 490 points

Replies: 3

Views: 56

Part Number: HDC1080

I have the following code running in Verilog:

  • Write configuration - writing a value of 0x1000 to config register 0x02 for "temperature then humidity mode" AND 14-bit resolution (datasheet figure 10)
  • Trigger both measurements - pointing to temperature register 0x00 (datasheet figure 12)
  • Reading temperature then humidity - 4-byte read transaction (datasheet figure 14)

I repeat this at some frequency, let's say 1 Hz.

Questions:

  1. Would re-writing the configuration on every pass cause any undesirable effects? (Is this safe to do?)
  2. Should I, instead, read the configuration, compare with the correct configuration, then write the configuration once? If I'm getting ACKs when writing the configuration, isn't that enough evidence of success?
  3. Is the approach for reading temperature then humidity in one transaction the preferred method? Or is it preferred to trigger temperature then read temperature then trigger humidity then read humidity? I don't see an advantage of one over the other. Except that I have less logic (fewer FSM states) for the one transaction method.

Thanks,

Craig Meyers

  • Craig - 

    I don't think writing the config every time is necessary or efficient. For example, you can set the part for automatic mode (set register 0x07 to 0x80 and register 0x0E to 0x56, which will allow you to get measurements every 1 second and use the DRDY line (with a rising edge) to trigger read of register 0x04 register for a 0x80 status, then go read registers 0x00 through 0x03. Or you can set for falling edge and do same. 

        

    BR-

    Josh

  • In reply to Josh Wyatt:

    Hi Josh,

    The HDC1080 does not have these registers. You may be thinking of HDC2010. Interestingly enough, we are considering an upgrade to one of: HDC2010, HDC2080, HDC2021, or HDC2022. We are waiting for our system engineers to determine environmental requirements.

    I will definitely consider the method you describe whenever we decide on the new part.

  • In reply to Craig Meyers:

    oh - sorry about that - you are right - i was thinking of the HDC2010 or HDC2080 (they are same for this)

    with the HDC1080, you would just write config register (0x02) with 0x80 00, then write config register (0x02) with 0x10 00, then write 0x00 to the part, wait 12.5 to 13 mSec, then read temp register bytes, then write 0x01 to part, wait appropriate time and read out humidity register bytes.  

    BR-

    Josh

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.