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.

HDC2010: HDC2010 - I2C data out is 00,FF,FF,FF - not seem to get proper ACK from HDC2010

Part Number: HDC2010

Hi Everyone,

Need help, stuck on below.

Problem -> Not able to get data out of HDC2010 via I2C, I2C not properly interfaced.

Initially HDC sort of gives out 0x00 for register 0x00, but then goes high. does not seem to respond.

Attached is the scope plots of an I2C communication between my micro and HDC2010 - suspecting any ACK issues?

I2C is bit banged on to 2 GPIO by controller.

Any hints why ?

Thanks,

Prasad

  • Hi Prasad,

    Please refer to the following post:

    e2e.ti.com/.../687873

    If you have any questions please let me know.

    Best Regards,
    Matt
  • I am already giving out a trigger I2C write to 0x0F with 0x01, also tried in automated measurement mode.

    Also I cant read ID registers 0xFC to 0xFF as well.

    Address write gets an ack - but rest is ignored by HDC2010 - do we need 10ms delay after i2c start condition , any minimum delay ?

    pls see below -  tstart on datasheet page 6 I2C timing - shutdown entry delay?

  • I have gone ahead and put IO pins around my bit bang code where an ACK/NACK is expected/sent.

    Pink trace: ACK from HDC2010

    Green trace:  and ACK/NACK send from my micro.

    Trace# 3: shows with HDC2010 present

    Trace#4: shows with HDC2010 not present (wrong address)

    There is some interaction from HDC2010 - so is the internal state machine is somehow getting locked up.

    What am I doing wrong with my bit banged I2C ? Any leads ?

    Trace# 3: HDC2010 send initial ACK's for address, but doesn't for register, then send again for subsequent address read. it send 0x00 as output (seems like SM lockup) 

    Trace#4: Here there is no HDC2010 response as send address is different. Shows no ACK's received from any slave. Also processor send out ACKs or NACKs.

  • Hi Prasad,

    One experiment to try is to read the Device/Manufacturer ID Registers of the HDC device. Can you provide the results and display the transactions like you have shown above? This would additionally verify if the I2C communication is being performed correctly.

    Best Regards,
    Matt
  • Hi Matt,

    I could trace the issue to a minor typo error in the HDC2010 datasheet (which I was basing off of to get the bit banged I2C interface working).

    Attaching relevant pictures.

    Datasheet: shows first a (R) instruction with address which wont work - leads to Fig# 1 response.

    Correct response from HDC2010 is as shown in Fig# 2 with a (W) instruction with address first.

    Fig# 1: Shows the issue - .No valid data from HDC2010

    Fig# 2: Shows the desired operation with valid data output from HDC2010 - when a first (W) instruction is given 

    Sharing the above for anyone who may experience same issue and for correction on datasheet.

    Regards,

    Prasad

  • Hi Prasad,

    Great catch!  This has actually just been updated, I'm glad you were able to get up and running.

    Best Regards,

    Matt

  • Thanks Matt,

    Moving on, I am seeing some issues with measurement.

    So I am posting as a separate question as well.

    So we are measuring humidity in normal room environment - HDC2010 is just held out soldered on a PCB and kept uncovered.

    Simultaneously 5 sensors are measured within ~200ms time frame

    And we are seeing readings are off and does not converge in the expected error window..

    You can see below data out roughly every 2 seconds

    S0 - 25.15 & 61.10

    S1 - 24.65 & 43.01

    S2 - 24.85 & 50.08

    S3 - 24.71 & 32.67

    S5 - 25.08 & 42.56

    S0, S1, S2, S3 and S5, measurements are read by our MCU and printed out.

    00004, 00:04, S0,25.12,60.37, S1,24.68,41.90, S2,24.88,49.66, S3,24.72,32.61, S5,25.02,42.53
    00006, 00:06, S0,25.04,59.74, S1,24.68,41.40, S2,24.89,49.37, S3,24.71,32.50, S5,24.92,42.58
    00008, 00:08, S0,24.95,59.47, S1,24.65,42.03, S2,24.87,49.36, S3,24.68,32.54, S5,24.85,44.85
    00010, 00:10, S0,25.26,60.26, S1,25.03,45.87, S2,25.33,50.12, S3,25.51,32.59, S5,25.46,47.20
    00012, 00:12, S0,26.16,67.35, S1,25.81,61.00, S2,26.08,54.21, S3,25.98,33.26, S5,26.03,54.18
    00014, 00:14, S0,26.62,72.58, S1,26.16,58.80, S2,26.34,55.79, S3,26.18,33.60, S5,26.32,51.66
    00016, 00:16, S0,27.02,76.49, S1,26.55,62.38, S2,26.70,57.39, S3,26.57,33.93, S5,26.78,52.52
    00018, 00:18, S0,27.46,79.57, S1,26.93,63.58, S2,27.01,58.19, S3,26.86,34.08, S5,27.18,52.80
    00020, 00:20, S0,27.08,78.01, S1,26.65,52.57, S2,26.74,57.21, S3,26.52,34.07, S5,26.82,48.33
    00022, 00:22, S0,26.90,71.91, S1,26.51,43.41, S2,26.63,54.37, S3,26.43,33.69, S5,26.86,45.75

    Please let me know your comments. 

    Best Regards,

    Prasad

  • Hi Prasad,

    Thanks for the update. Humidity Sensors in general have to go through a strict fabrication flow to reduce any possibility of contamination that may occur during this process. The guidelines are provided in the following link, and are typically found in the product tool folder:

    www.ti.com/.../snia025

    If these guidelines are not followed, contaminates or VOCs that are common in the assembly process may impact device accuracy, as the polymer dielectric is fully exposed to the environment.

    Best Regards,
    Matt