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.

FDC2212: FDC2212 Not ACKing I2C Address

Part Number: FDC2212
Other Parts Discussed in Thread: TMP100

Hi,

I have the FDC2212 on an I2C bus running at 70Khz.  I have two other devices (TMP100 and VL6180) who are responding to the I2C bus at their addresses.  When I initiate a write to the FDC2212 using address 0x2A (I have ADDR, SD, and CLKIN strapped to ground and VCC = 3.0V), the bits go out as expected with the R/W bit being 0 but the FDC2212 does not ACK back.  I have been through all the timing and I meet all timing with significant margin.  I also wrote a test program that initiates a cycle from addresses 1 to all ones, skipping the addresses of the TMP and VL6180 thinking that maybe the datasheet is wrong but no devices ACK when I send out 0x2A.  I also wrote a function to continuously write out 0x2A every 200ms (which is how I can measure timing) and the FDC2212 never responds.  I have scope shots of this if interested.  

I have also tried 2 other prototype boards and they all behave the same.

The datasheet indicates that when the device powers up it is in sleep mode and you should initialize it then but if the part doesn't ACK then how can you initialize it.

I saw some other similar posts but there were no results on if the problem was solved and if so, how.

Thanks,

John

  • Hello John,

    Scope shots would be helpful for this if you can easily provide them. You are using the correct address for the device. What MCU are you using on your prototype board? I have seen some MCUs that cannot communicate to certain I2C addresses so it might be worth switching the ADDR pin to HIGH and trying the other I2C address.

    Best Regards,

  • Hi Justin,
     
    I have solved the problem and it is strange!  I don’t have scope shots as I broke down my setup and took the wires off the board.  But this is what was happening.  The upper “scope shot” was when your device wasn’t ACK’ing.   All timing was being met in terms of the Start Setup/Hold and I was clocking in the correct address (0x2A).  The only thing that I think is fine to do was having SDA go high and low after the start and before the first clock bit.  I don’t think this violates any I2C spec but when I removed it (lower “scope shot”), everything began to work.  So unless I’m violating an I2C spec, the state machine in the FDC2212 doesn’t like that little bump.
     
     
    I now have my system fully operational but I appreciate the fast response!!
     
    Have a happy holiday!
     
    Thanks,
     
    John
     
     
    ​​​​​
    John DeCesare
    Celerity Embedded Design Services, LLC
    1 Jonathan Bourne Drive, Suite 8
    Pocasset, MA 02559
    O:508-403-0304 Ext. 2#
    C:508-648-3645