2
\$\begingroup\$

A MSP430F1232 is connected to a PL2303, i.e. URXD0/UTXD0 are connected to the PL2303 TX and RX. VCC and VSS also come from the PL2303 (over USB). In addition, a switch with a pull-up resistor and a LED with a resistor to ground are connected to P1.0 and P1.1.

The circuit and program are working as expected. However, the circuit is also working when VCC is not connected. The reason is a voltage of about 3.2V on the UART TX. When I also disconnect the TX connection, the MSP430 stops. Nevertheless, when the TX is connected, the MSP430 still works as intended and the serial interface also works.

How would one implement a switch to completely turn off the circuit / MSP430? My idea of using a switch between the PL2303 supply and the VCC pin is not sufficient.

\$\endgroup\$
9
  • 3
    \$\begingroup\$ Schematics are much, much better than words. There is a button on the editor toolbar. \$\endgroup\$
    – Transistor
    Jan 3, 2018 at 22:33
  • 4
    \$\begingroup\$ An MSP430 can run off of a lemon and probably just a potato. Stick an antenna on it and it will run + harvest energy for you. Those darned things will run on ANY available leakage. So you really need to know where your diodes are at. Every single I/O pin on that thing has diodes to ground and to the Vcc rail. If you have anything connected to an I/O pin, which can yield the minimum operating voltage after a diode drop, then that's probably your problem here. (The Vcc rail diode may be forward biased.) Fix the UART connection. \$\endgroup\$
    – jonk
    Jan 3, 2018 at 22:33
  • 1
    \$\begingroup\$ @jonk wise advice: allowing TX-powered operation (when Vcc=0) should not be allowed - very strange operation can result even after Vcc is restored. How can this scenario can occur, if PL2303 is the only power source to MSP430 ? \$\endgroup\$
    – glen_geek
    Jan 3, 2018 at 23:02
  • \$\begingroup\$ @glen_geek Not sure about your question -- not fully apprehending it. My comment was general, not specific, as I didn't want to go look up the elements being applied. I already know the problem. Been there when the MSP430 is running fine without Vcc applied. It's just a matter of finding the source, always through one of the I/O pins in my experience, and then blocking it. \$\endgroup\$
    – jonk
    Jan 3, 2018 at 23:14
  • \$\begingroup\$ The idea is to use the UART of the PL2303 with two devices alternately based on a mechanical switch. Thanks to jonk I realized that turning the MSP430 on and off is not sufficient. Seems like the TX and RX lines should maybe be connected to a demultiplexer or something similar \$\endgroup\$ Jan 3, 2018 at 23:14

2 Answers 2

5
\$\begingroup\$

The problem is that the PL2303 (and most UART configurations) idle with a high output on TX out. This ends up powering your MSP430. Yes, the logic high output of PL2303 TX is powering your MSP430 through one its input pins.

That's because the inputs of most CMOS ICs have protection diodes that are connected to VDD, like in this diagram (from this useful website)

CMOS ESD Protection

So when the PL2303 drives the MSP input high and MSP430 power is disconnected, that voltage ends up going through the protection diode and into the MSP430 power rail. So you are powering your MSP with the PL2303!

So to solve this, you can do a couple of things:

1) Insert a current limiting resistor to limit the current going into the MSP input. This generally a lousy solution because a small amount of current still flows, and your UART speed will be affected.

2) Gate the TX of PL2303 so that the MSP input is low when you want it to power off. Here's a simple example:

schematic

simulate this circuit – Schematic created using CircuitLab

So when MSP430 power goes low, the AND gate input goes low and its output goes low. There are many ways to do the same; just an example.

\$\endgroup\$
5
\$\begingroup\$

I'm not going to guess at and then review a schematic you haven't provided. But I've been here a few times with the MSP430 and have learned a thing or two.


An MSP430 can run off of just a few microamps. This can come through paths that would seem impossible with other MCUs. So if the MSP430 is staying powered, you start looking at your schematic very, very carefully to see if there are any paths by which some external source of power (and voltage) can supply the MSP430 through one of its I/O pins and protection diodes.

Protection diodes are used extensively in the industry. In fact, it's almost impossible to find ICs without them. There are several good reasons why:

  1. Protection diodes are often just intrinsic diodes, formed as a natural part of the physical architecture of the IC processing. It is possible to make pins avoiding an intrinsic diode, but that adds a processing step and takes room and costs money. There must be special reasons to not include it.
  2. MOSFETs on ICs are very sensitive devices and easily punctured by static charges. Leaving pins unprotected is just asking for trouble.

Since it is more reasonable to assume that all end-user engineers of ICs are mostly just a bunch of brutish idiots who run around with thousands of volts of static charge on every fingertip and bit of clothing they wear, ignorantly zapping everything in reach or eyesight, IC manufacturers have grown ever more cautious about sending out ICs with unprotected pins. There are still a few cases where the protection diodes actually will RUIN the intended behavior of the device (electrometer ICs, for example) and they are forced to have a pin or two without them. But these are rare and they hate selling them, because even with big huge red stickers everywhere on the box it still works out that no good deed goes unpunished and they can be pretty sure of a "high return rate" on the devices.

The MSP430 is an absolutely fantastic device. You can run it off of the shelf storage leakage current of a button battery (which means the button battery will operate the MSP430 for the entire claimed shelf-life of an unused battery sitting in a warehouse shelf waiting for sale.) So they are crazy good if you want two years of operating lifetime for something like a watch.

But this also means they are horrible when it comes to accidentally powering them through one of the I/O pins.

The protection diodes of any device, but most especially the MSP430, can be used to power the IC. In most cases, these protection diodes do have limits to their current (a few milliamps, typically.) And the aluminization traces will have their own limits, as well. All together, this roughly means that if you try and supply too much current, something will give (the aluminum trace itself will migrate around until it is gone and no longer provides a connection or else the diode fizzles and creates an open [or closed] connection.) Most devices require more current than that, anyway. And the source probably has way too much series resistance in it to do much powering of the IC.

But in the MSP430 case?? A couple of milliamps is like... full power operation and then some. Even with source impedances that are crazy high. So, let's say you apply a \$10\:\text{k}\Omega\$ resistor in series with the I/O pin "just to be safe." Think that does it? Nope. That's still hundreds of microamps for the MSP430 and it sits there swimming along just fine, like a fish in deep water.


So you perhaps consider something like the following:

schematic

simulate this circuit – Schematic created using CircuitLab

\$R_5\$ is a pull-down, so that when the switch is opened (I don't know what kind of on/off switching you use) then the MSP430 will be isolated.

This assumes that your PL2303 VDD_325 is higher or the same as your MSP430 voltage. If that's not the case, the circuit needs some modifications. Particularly, surrounding \$Q_3\$.

\$\endgroup\$
5
  • \$\begingroup\$ Nice level translators. If PL2303 and MSP430 are both at 3.3V logic then Q1, R1, R2 are not needed. \$\endgroup\$ Jan 4, 2018 at 21:50
  • \$\begingroup\$ @VincePatron I would agree, but at the time preparing that schematic I wasn't sure about the voltage levels (as you can see by my comment in the last paragraph.) \$\endgroup\$
    – jonk
    Jan 4, 2018 at 21:51
  • \$\begingroup\$ @jonk I have a couple of potential concerns: the resistive pullup may be too slow and/or consume too much power. \$\endgroup\$ Jan 7, 2018 at 1:01
  • \$\begingroup\$ Is there any reason that the switch couldn't/shouldn't be placed on the low side? \$\endgroup\$ Jan 7, 2018 at 1:06
  • 1
    \$\begingroup\$ @CalebReister I have tried some alternatives including this one and though it was not mentioned in my question, the symbolrate is 9600 Bd. I haven't encountered any problems so far. Thanks to @jonk! \$\endgroup\$ Jan 7, 2018 at 11:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.