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.

MSP430G2553 HighZ on GPIO

Other Parts Discussed in Thread: SN74CB3Q16244, TS5A63157, TS5A3159

Hi All

I am having an issue keeping a pin in high impedance mode.

Currently I have a circuit that looks like this:

A varying voltage alternating between 3.5V to 0V is tied to pins P1.4 (ADC) and P2.4 (Digital IO)

I am trying to keep P2.4 in High Z mode as to not affect my voltage source as my ADC (P1.4) should be monitoring the signal.

Currently, I have P2.4 set as an output with a value of 0, but this seems to keep my signal always low, leading me to believe P2.4 is not in HighZ mode.

Any ideas would be appreciated,

Regards

  • Andrei Danaila said:
    I have P2.4 set as an output with a value of 0, but this seems to keep my signal always low, leading me to believe P2.4 is not in HighZ

    For HighZ you need to set P2.4 as input.

  • Andrei Danaila said:
    I am trying to keep P2.4 in High Z mode as to not affect my voltage source as my ADC (P1.4) should be monitoring the signal. Currently, I have P2.4 set as an output with a value of 0,


    Setting a port pin to output definitely counteracts the purpose of being high-Z or being a monitor. High-Z means NOT outputting anything. Not even having internal pullups or pulldowns enabled. And definitely not enabling an output driver to drive the output low or high.

    BTW: High-Z is the default state of almost all MSP GPIO pins. In this state, there is only a small leakage current of up to 50nA. And no need to reconfigure them at all.
    However, input pins in high-Z state will have significant internal cross-currents in the input logic if the input voltage is oscillating or near the high/low trigger voltage. It doe snot affect the external signal, but increases internal power consumption. So unused port pins should be set to low outputs if not connected to external circuitry, to minimize current consumption and not catching radio waves.

  • Jens-Michael Gross said:

    BTW: High-Z is the default state of almost all MSP GPIO pins. In this state, there is only a small leakage current of up to 50nA. And no need to reconfigure them at all.

    However, input pins in high-Z state will have significant internal cross-currents in the input logic if the input voltage is oscillating or near the high/low trigger voltage. It doe snot affect the external signal, but increases internal power consumption. So unused port pins should be set to low outputs if not connected to external circuitry, to minimize current consumption and not catching radio waves.

    Hi,
    Can you tell how to make the pin to have the High-Z state on MSP430? I'm using the uBlox LeonG100 for which the documentation says:

    1.6.4 Note: Tri-stated external signal
    Any external signal connected to the UART interface, I2S interfaces and GPIOs must be tri-stated when the
    module is in power-down mode, when the external reset is forced low, and during the module power-on
    sequence (at least for 3 s after the start-up event), to avoid latch-up of circuits and allow a proper boot of the
    module. If the external signals connected to the wireless module cannot be tri-stated, insert a multi channel
    digital switch (e.g. Texas Instruments SN74CB3Q16244, TS5A3159, or TS5A63157) between the two-circuit
    connections and set to high impedance during module power down mode, when external reset is forced low
    and during power-on sequence.

    Now in case MSP430's GPIOs are High-Z by default on start, then how do I force them to have High-Z once they were set to 0 or 1? If I turn the pin into input mode then I have to mask potential interrupts, besides there are internal cross-currents you mentioned. Is there any way to set up the pin to be non-input High-Z?

    Best Regards,
    tml

  • Depends on MSP device. Maybe you can use P2SEL to disable logic . Please tell us which MSP you want to use.

  • It is F5529. The documentation does not mention high impedance non-input mode.

  • The maximum High-State you can get here is;

    P2DIR &= ~BIT4

    P2REN & = ~BIT4

  • tml said:
    Is there any way to set up the pin to be non-input High-Z?

    No. Because the input is always active (even if you set the pin to output).

    Because there are three states: output low, output high, and no output. No output is high-Z. An no output is selected by not setting the pin to output (PxDIR.y = 0). ("DIR" is a bit misleading here, it should rather read 'OEN' -output enable-, but most people don't want to read an input value when they set a pin to output, so calling this register 'direction'-register is simpler.

**Attention** This is a public forum