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.

CC2642R: I2C interface setting issue

Part Number: CC2642R
Other Parts Discussed in Thread: SYSCONFIG, CC3200AUDBOOST

When I use cc2642r I2C inteface, the I2C interface is open-drain , but the signal voltage is not correct, When the inteface is push-pull and remove pull high resistor (2K) , the I2C signals is correct.

How to set the I2C interface for cc2642r in open-drain....

  

  • Hi,

    Generally speaking, you can modify the pull of a pin in the board file, in the table PIN_Config BoardGpioInitTable[]. The pull can be chosen between PIN_PUSHPULL, PIN_OPENDRAIN, PIN_OPENSOURCE. 

    Note: for SDK 3.30 and latter, you can use SysConfig to select the pin's pull (SysCOnfig training is available in SimpleLink Academy)

    I hope this will help,

    Kind regards,

  • Hi Clement:

          For our application, the I2C interface is master mode with open drain, The following photo is our I2C setting for your reference.

          But I2C interface voltage is not correct.. Can you check our setting for I2C interface....

     

    Best Regards.

    Ting  2019/12/10

  • Hi,

    Have you considered to increase the Output Strength?

    For the rest, can you elaborate about the "incorrect voltage" you are experiencing?

    Thanks and regards,

  • Hi,

    After I remove our slave device in our system, the I2C interface "Low voltage is not 0V ,is about 1V" you can see the photo as before.

    The CC2642R is dedicated GPIOs for I2C or it can be assign by SYSCFG ?

    Best Regards.

    Ting  2019/12/10 

  • Hi,

    On CC26XX devices, the GPIOs are completely remapable.

    Ting Chan1 said:
    After I remove our slave device in our system, the I2C interface "Low voltage is not 0V ,is about 1V" you can see the photo as before

    This was expected as the CC2642R is set in open-drain (i.e. you need to provide an external pull resistor).

    I hope this will help,

    Kind regards,

  • Hi 

       I provide pull-up resistor 2K for I2C interface,but the low voltage is not 0V when the setting is open-drain.

       After I remove pull-up resistor, the low voltage is 0V...it let me confuse for open-drain setting  ..it just like "push-pull" setting....

       Do you have any idea for this issue...

    Best Regards.

    Ting  2019/12/12

  • Hi 

       Following picture is SCL signal in our system, the low voltage is about 0.5V not 0V, Can you check this issue for us? (etc I2C setting issue or bus contention....)

    Best Regards.

    Ting  2019/12/13

  • Hi,

    I have done the test and I have quite the same values as you. FYI, I did the test using a CC26x2R1 launchpad with a CC3200AUDBOOST. The pull-up resistors (soldered on the boosterpack are 3.3kOhms). I verified and the I2C communication worked as expected (I could configure the codec as expected).

    So here are my results:

    In summary:

    - Voltage high is around 3.1V

    - Voltage low is around 0.5V

    Knowing the I2C standard (who defines the low-level threshold with 0.3 Vcc, the high-level threshold with 0.7 Vcc), those values are conform. (Note, knowing Vcc is 3.3V, Voltage High has to be over 2.3V and Voltage Low has to be under 1V).

    I hope this will help,

    Regards,

  • Thanks for your support. 

    Best Regards.

    Ting  2019/12/17