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.

Pull-up required or not in SPI

Other Parts Discussed in Thread: TMS320F28035

Do we need pull-ups on SCK, SDI,SDO on the lines.

  • For the SPI operation no pull-ups are needed.

    Unlike the I2C where pull-ups are needed because the drivers have open collector outputs, no pullups are needed on the SPI signal lines since the drivers have push-pull outputs.

    BR,

    Mo.

  • Hi Aamir,

    Just one addition to the good information Mo gave you.

    It is customary to have a pull-up or pull-down resistor on the SOMI signal.  This signal is "open" when no slave is selected.  As master, the MSP430 has the SOMI input buffer enabled continuously, and you want to avoid "open" inputs.  As slave, the MSP430 reverts SOMI to an input when STE is not asserted, and again you want to avoid "open" inputs.  Hence the need for a pull-up or pull-down resistor on SOMI (aka MISO).

    Jeff

  • Just one addition to the good information Jeff gave you :)

    While on I2C, external pullups are required because any internal pullups of the MSP are not strong enough and in some MSPs not active at all when the pin swithces to output direction, the suggested pullup on the SOMI pin can be the internal pullup (if available on the MSP used). Same for the SIMO pin in slave mode.

  • I am using two mcu, on master & other as slave.

    1. So I have to place pull-up on both SDO & SDI ? Is that so

  • No, just one pull-up or pull-down.  It goes on the MSP430 SOMI pin.  As JMG said, if the master is an MSP430 with built-in pull-up/pull-down resistors (PxREN registers), then you can just use that resistor instead of an external one.

    No resistor necessary on SIMO or SCLK because the master drives them continuously.

    And now that you tell us it is for two MCU, you may not need the resistor at all.  If the slave is an MSP430 using 3-wire slave mode (no STE used), then you won't need the pull-up/pull-down at all.  In this configuration, the MSP430 will drive SOMI all the time.

    Jeff

  • Thanks for the updates. I'm attempting to do something similar with a TMS320F28035. Since the SPI signals are all push-pull, there is really no need for pullup resistors. With one exception: the MISO signal. When multiple SPI nodes are all de-selected on the SPI bus, the slave output are all in high-impedence mode. This can cause noise to enter the MISO input pin. The customary pullup on the MISO signal seems like a good suggestion.

**Attention** This is a public forum