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: UART Communication with a host controller: common ground?

Part Number: MSP430G2553
Other Parts Discussed in Thread: ENERGIA

As per my last thread here: [Resolved] MSP430G2553: Parasitic Current Consumption When Serial Host Disconnected? - MSP low-power microcontroller forum - MSP low-power microcontrollers - TI E2E support forums I am having an issue with parasitic current from the host controller.

My current fix (no pun intended) is to add a 1 MΩ resistor in series with the ground connection between the two controllers. This limits the parasitic current to around 3 µA. In the future I plan on implementing either an optocoupler or a CMOS switch, but for the time being I am wondering if it might be better to just remove the ground connection completely? On the bench, this works fine (although I know it is not a best practice by any means). Another solution would be to temporarily disable the MSP430 UART pins, but that controller must remain active and I think a major program overhaul would be necessary to fix this via software.

The host controller operates at 3V3 and the MSP430 at 3 V.  When I remove the ground connection, the serial communication works and the parasitic current disappears. This solution is not ideal because each MCU does not know the ground potential of the other. However, isn't this an issue I am also creating with the added series resistor on the common ground?

How is the resistor solution any better than the "no common ground" solution? Both systems are electrically isolated, so they both have a floating ground potential. Since that is the case, is having the 1 MΩ resistor in series slightly better because at least then the ground potentials of each controller will be "relatively" close?

Update: the 1 MΩ resistor WAS NOT a fix. I had a hidden ground connection in my test setup that was making everything seem like it was working.

  • If the serial communications still work with the ground connection removed then you have another return path. Not obvious perhaps but it must be there.

  • That is a good point, but I am unable to find any common ground with my continuity tester. There is a chance that something might be coupling well enough to make a ground connection, maybe? I know that there has to be a return path somewhere, and yet the parasitic current disappears while the UART communication works. Is it possible that the return path is just enough for the coms to work but not enough for the 4 - 5 mA consumed by the host controller?

    I am more concerned about my question with the series resistor. Is having the 1 MΩ resistor in series slightly better because at least then the ground potentials of each controller will be "relatively" close?

  • I have no idea what your circuit looks like so don't know where to start looking for a sneak path. It doesn't have to be ground as electrons just aren't that picky.

  • Alright, turns out I did have a return path through my powered-off bench supply. It powers the main system, which so far has had nothing to do with any of this, hence why I over looked it. 

    Unplugging the host controller disconnected this path because my laptop charger (and monitor power cable) was on the same circuit as the bench supply. Definitely a non-obvious path!

    And the 1 MΩ resistor solution no longer works. Disappointing, but honestly this is what I was actually expecting before. Back to square one.

  • Is there an easy way to temporarily disable the UART pins for short periods of time? 

  • Use PxSEL to turn them back into GPIO and make sure PxOUT is zero in the bits you care about.

  • I will try this. The current code was developed with Energia, but I can still manually change the port options. I know that I tried something similar to this last week and was unsuccessful, but I will try again.

  • Do you have the ground of the power supply connected to AC ground? There is often a jumper on the front binding posts. In general, this is *not* a good idea.

  • Yeah, that is how the supply came. Honestly this ground path seems more obvious. The main system was not causing the issue so I hadn't considered it before.

    Besides disabling the UART pins, I honestly think the only way to fix this with hardware would be to implement a CMOS switch or a optocoupler between the two controllers. Does that seem correct?

  • Midi uses optical isolation. I don't see how a CMOS switch will help, you will still need a ground path. The other method is to use differential signalling like RS422, but you would still need a ground connection.

  • Alright, I implemented a software* fix and I configure the UART pins as outputs and force them LOW (* the fix relies on a hardware HIGH signal on another pin to signal when to reconfigure the UART pins).

    This has yielded an interesting result: the standby current is greatly reduced, but still present. I am now measuring a parasitic current of around 0.49 mA. Unfortunately this is still much too high for my application. When the parasitic current is absent (i.e. the host controller is powered on) I am measuring about 7 to 8 µA. 

    Could I decouple anything further with a strategically placed resistor?

    I am quickly learning that the only way to truly fix this problem is with proper UART isolation circuitry...

    Final Update: actually, the additional current draw was from another part of my test circuitry (which is slightly different than the production circuitry). I am getting consistent readings now. So in summary, disabling the UART pin configuration is an okay temporary fix but UART isolation circuitry would be better.

  • Keith Barkley said:

    Midi uses optical isolation. I don't see how a CMOS switch will help, you will still need a ground path. The other method is to use differential signalling like RS422, but you would still need a ground connection.

    I originally go that idea from here: Proper ways to disconnect ICs during low power states to avoid parasitic/backfeed supply - Electrical Engineering Stack Exchange 

    I think the idea is to completely disconnect the TX/RX lines when not in use. The common ground connection would still be there. If there were a common voltage rail between the systems, you are correct in that the CMOS switch would not really do anything. But that is not the case, I only have the common ground and the UART is working fine between the 3 V and 3V3 controllers.

    I think that an optocoupler would be the more obvious choice though, I just wonder if the standby power consumption on the low-power side would be too great.

**Attention** This is a public forum