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.

FDC2214: Data in all conversion result registers are not updated automatically

Part Number: FDC2214
Other Parts Discussed in Thread: CC2650STK, , CC2650

Dear TI experts,

I am using cc2650stk to read data from 0x00 and 0x01 of a custom FDC2214 board via I2C.

Yesterday, variable data could be continuously read from the conversion result register..

However, there is no 1-bit change in the data read out today.

The variable data in the conversion result register of FDC2214EVM can be read normally by using the same program and connection.

For the customized FDC development board, the I2C read/write function are normal at present, but no matter how I change the capacitance of CH0, the value in the conversion result register does not change.

May I ask why this happens? Is the chip I bought broken?

Best regards,

Will

  • Hello Will, 

    When you are seeing no data change, what is the value of the STATUS and CONFIG registers? Do the values change at all between measurements or are they consistent as well? Are you able to change the settings of the device (like the CONFIG register) or are those stuck at a specific value along with the data registers? 

    Best Regards, 
    Justin Beigel

  • Hello Justin,

    Sorry for the late reply.
    The STATUS and CONFIG registers have values 0x0003 and 0x1601, respectively. They remain consistent throughout the program. I tried changing CONFIG to 0x2801 after setting it to 0x1601, but it failed. Yes, all registers are stuck at a specific value.
    But there is a strange phenomenon. Occasionally, one or two tests can read normal data (the data in the data register is constantly changing), but the value of the data register will be stuck again after the device is restarted.

    Best regards,

    Will

  • Hello Will, 

    When settings the CONFIG register, there are a few reserved registers that should be set to 1. Instead of using 0x2801, you should have 0x3C01 to include these while keeping the same settings: 

    I don't expect this to fix the issue but it is a good change to make. For further debugging of this issue, here is some questions I have: 

    • Can you tell me how the ADDR pin is handled on your board? Tied to VCC/GND or connected through a GPIO?
    • Similarly, how are you handling the SD pin? 
    • When you are not getting data, can you look at the sensor INx channels with an oscilloscope and see the sensor waveform?
      • Checking if the sensor channels are oscillating properly will help determine if the device is actually in active mode since the register reads are stuck. 
    • If you look at the I2C communication with an oscilloscope, does it look correct? 
      • I would expect so since you are still receiving data but it is good to check. 

    Best Regards, 
    Justin Beigel

  • Hi Justin,

    Sorry for the late reply.

    The value in the CONFIG register is now set to 0x1e01.
    ADDR pin is grounded
    The SD pin is connected to the GPIO of the CC2650STK and is set to logic 0 during the initialization phase.
    Sorry, didn't check the channel signal in the oscilloscope.

    Because I found that it seems that the external clock is not properly enabled. This clock needs at least 0.7VCC to enable the oscillator, but for the default setting of CC2650 logic 1 does not reach this voltage. After increasing the current on the IO and confirming that the output is 0.7VCC, FDC can get continuously updated data in the conversion result register.

    But I'm not sure if that's the reason.

    Anyway, FDC is working now, thanks for your help.

    Best regards,

    Will

  • Hello Will, 

    Glad you found the issue. Let us know if you have any other questions. 

    Best Regards, 

    Justin Beigel