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.

MSP430F67751 I2C internal pull up resistor

Other Parts Discussed in Thread: MSP430F67751

We are using MSP430F67751 for battery charger application in that using  UART and I2C communication for data process and logging purpose. we have a question  can we use internal pull up resistor for I2C communication? Does it support to work  I2C communication? 

  • It is recommended to use external pull- up for proper operation.
  • The size of the pull-up resistors depends on: board trace/cable length and his capacitance, communication speed, input capacitance and resistance of connected I2C-devices and also the amount of them.

    The internal MSP430 pull-up resistors is ~35KOhm, this can work when only two MSP430 devices within a few centimeters of board trace and at a communication speed of maximal 100KHz, in all other cases you need smaller –external- pull-up’s.
  • On most devices of 5x/6x family, the internal resistors are disabled when the port pin is in output direction. So even if the 35k were sufficient, they aren't available.
  • Jens-Michael Gross said:
    On most devices of 5x/6x family, the internal resistors are disabled when the port pin is in output direction

    This applies only to the Clock-source or Transmitter side, the opposite Receiver side will keep resistors enabled.

    Otherwise I would talk about 17.5K (two 35K), but this isn’t the case.

    On both sides resistors can be enabled, the modules output direction switches the resistors on and off.

     

    The only exception enabling internal pull-up’s is that on some devices (x22xx) REN disables the output direction.

  • On I2C, both sides are always receiver and transmitter. On older MSPs, the schematic was listing the output driver with an 'OC mode' control. It is unknown whether the 5x family devices do the OC-operation with switching between input and output direction or by disabling the high-side transistor of the output driver. In any case, my own experience was that it didn't work without external pull-ups.

**Attention** This is a public forum