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.

HDC3022: HDC3022 Configuration Issue

Part Number: HDC3022
Other Parts Discussed in Thread: HDC3020

Hello Team,

I want to check with you about 2 HDC3022 configuration issue from my customer. Thanks.

1. When they use 0x61bb command configure 0x03b013, we see that the device isn't working. Using 0xE001 and 0xE002 command read data, data is abnormal and the CRC is also incorrect.

The customer requirement is to set the HDC3022 to go to auto-measurement mode after power on or reset, measure 1 time in 2 seconds(0x30b0). And the Alert Pin should be triggered by the customer configured threshold. Can you share the register sequence to meet the customer requirement?

2. During verification, they are using trigger measurement mode, we see that the 1st time measure after power on is always incorrect, read data is all 0 except for CRC. And the 2nd time measured data is the 1st time measure data. In this status, we didn't see NACK. In the D/S, we say that when measurement not correctly, there should be NACK bit. Is this behavior normal?

Thanks!

Regards,

Qiang

  • Hi Qiang,

    For the 0x61BB command, in case this wasn't clear from the datasheet, this command is to change the default power on state to being continuous conversion mode, instead of in shutdown mode. So when sending the 0x61BB command, the user must first place the part into shutdown mode. Then they send the 0x61BB command along with the desired configuration bytes and associated CRC. Then the user must wait at least 77ms, to allow the internal EEPROM to be programmed. If the user does not wait this time and issues another communication of any kind, EEPROM corruption and bad reads can occur. Please confirm that the customer following this sequence for the 0x61BB command. 

    If the customer is fine to set the part into continuous conversion mode repeatedly after hard and soft resets, then they can just the commands in the command table to set continuous conversion instead of using the EEPROM programming command which can cause issues like what the customer is seeing.

    For their issue with the trigger on demand not reading right, could you please have the customer provide scope shots, ideally with I2C decoding so I can see what they are sending exactly and what they are receiving back? Are they sending a NACK at their end of their read command to terminate the read communication properly? 

    Thanks

    -Alex Thompson

  • Alex,

    Thanks for your support. 

    When using 0x2400 command to read back the data after power on, all data is 0. During this measurement, let's say the environment temperature and humidity status is A.

    After the read back in the above step, change the environment temperature and humidity status to B..Then we use 0x2400 command to read back the data again, we see that we can read back the temperature and humidity, read back data shows that the environment temperature and humidity status is A, which means that the device returns the 1st time status.

    0x2400 command format:

    Is it possible that in the 1st time data read, we haven't wait for enough time for the device to finish the data conversion and we start the 2nd time data read? If that is possible root cause, how much time do we need to wait for the device to finish the data conversion?

    Thanks!

    Regards,

    Qiang

  • Alex,

    And about the 0x61BB command, we will verify according to your suggestions.

    Regards,

    Qiang

  • Qiang,

    Thanks for the detailed response. Have these devices had the 0x61BB command applied to them? Normally an HDC3020 boots up in shutdown mode, so there should be no need to wait to send the 0x2400 command since the device isn't doing any conversions. However it appears from your logic traces that there is not enough wait time between when the 0x2400 command is sent and repeated start triggering the read happens. According to the HDC3020 datasheet, you must wait at least 14.1ms (so lets say 15ms) for the conversion to complete. This is likely the root cause.

    Thanks

    -Alex Thompson