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.

Strange problem with I2C Pins.

Other Parts Discussed in Thread: PCM9211, MSP430F5325

Hello all,

working over a project which needs I2C protocols, m not using default I2C registers,

very first i used P3.0, P3.1 for SDA and SCL, with resisters of 4.7k pull-up to 3.3v, don't know how these pins got damage.
so i changed it SDA and SCL to P3.2, P3.3 respectively with 2.7K pull-ups, its working fine but today after few days again my SDA pin got damage, controller is working fine other pins but these damage pins are useless even cant be used as GPIO now.

m very much confuse code is working fine but why this PINs SCL n SDA getting damage.
Doing I2C in Between MSP430F5325 and PCM9211. 

Kindly Revert if u catches my problem, why these pins getting damage....?

thanks and Regards

Sonu Verma

 

  • Pins can get damaged when subject to voltage out side of its min max limits. Over current damage them too. Over heating, Mechanical stress, radiation, act of God,  ...  The possibilities are endless. But they probably have nothing to do with I2C, SDA, SCL, or phase of the moon.

  • Sonu Verma said:
    m not using default I2C registers,

    Why?!

    On proper i2c peripheral SDA/SCL output circuits are in "open collector" configuration. Most probably you blow your generic I/O pins because you don't emulate open collector properly.

  • Hi! llmrs,

    i tried working with default registers of I2C using a example code given with CCS 5.2 but that doesn't working properly, and i tried using GPIO its works at once, dats why.... :-)
    how to emulate open collector properly....??

    or if i have to try again with defaults I2C registers could you suggest me I2C Code example through which i can set register values of slave IC.

    Thanks n regards:

    Sonu Verma

  • Sonu Verma said:
    how to emulate open collector properly....??

    It's kinda tricky - you send "0" by setting pin=output_direction, logic value=0. You send "1" by setting pin=input_direction (!) so pull-up resistor can do it's job. Well if you asked then I am not sure that this is right decision for you to use bit-banged I2C because there's lot of caveats you can fall into. Better use I2C peripheral which handle I/O pins itself.

    Sonu Verma said:
    could you suggest me I2C Code example through which i can set register values of slave IC.

    I don't think I want to search them for you. Look for 5-series source code examples on Ti site (on your chip product page) by yourself :)

**Attention** This is a public forum