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.

  • Resolved

MSP430F5510 GPIO type

Intellectual 510 points

Replies: 5

Views: 1509

Is the MSP430F5510 GPIO output support open drain type?

Thank you

  • What exactly are you trying to drive / sink with the GPIO? You can set the GPIO to output low (sink the pin to ground), then set it as an input (with or without a pull-up or pull-down resistor) to float the pin, thus acting like an open drain type circuit.

    However, you can't input a voltage much higher than Vdd because there are clamping diodes on the I/O lines inside the chip.

  • Most GPIO pins when selected to be outputs are push/pull.  They either pull up to Vdd or pull down to Vss.  When outputting a digital 1, the pin is pulled up to Vdd as if an internal switch were connecting the pin to Vdd within the microcontroller.  When outputting a digital 0, the pin is pulled down to Vss (0 V) as if an internal switch were connecting the pin to Vss within the micro.

    An open collector output normally implements only the pull-down part of the switch.  When set to output a digital 1, the pin just floats.  Some MIcrochip PIC devices had a pin that was open drain and it used to catch people out as when they tried to drive the pin high (e.g. to light an LED of which one side was grounded), it never would source current into the LED.

    As this is fundamental information for correct use of the pin, the data sheet should make it very clear if it is open collector output.  Otherwise it probably won't be.  And the advice given by the previous respondent about not exceeding the voltage of Vdd is good - even if a pin is designed as open collector output, it will most likely have the same voltage limits as the rest of the chip and also have protection diodes internally to the chip supply.

    If you really need open collector, you could add an external transistor and then drive this with the microcontroller pin.

  • In reply to Tony Payn:

    Thanks, I am designing an application that using the MSP430 to drive a Wi-Fi module. The Wi-Fi module supplier said we need an open-drain type output pin to drive the module directly, so I would like to clarify the type of pin first, as I cannot find it in the datasheet (may be I cannot understand the datasheet well). I will further clarify it with the module supplier why I need an open drain pin.

    Thanks for your help :)

  • Gary Poon
    Is the MSP430F5510 GPIO output support open drain type?

    The MSP pins support OC-type, but it isn’t obvious.

    Normally, you set the pin to output (PxDIR register), and change the direction it drives by changing the output value (PxOUT register).
    But you can implement an OC operation by setting the PxOUT to 0 (low output) and change the direction between output and input. This way, the pin toggles form low output to high-impedance, which is what OC does too.

    So for standard push-pull mode, set PxDIR to 1 and control the output with PxOUT. For OC mode, set PxOUT to 0 and control the output with PxDIR.

    _____________________________________

    Time to say goodbye - I don't have the time anymore to read and answer forum posts. See my bio for details.

    Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.
    I'm sorry that  I can no longer provide help  in the forum or by private conversation.

  • In reply to Jens-Michael Gross:

    Thank you very much for your detail and clear explanation, Jens.

    I understood how it works now :) 

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.