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.

5529 BSL invokes when connected to USB cigarette lighter adapter

I'm using a 430F5529 and I'm having an issue where the unit enters the boot loader when it is powered through a USB cigarette lighter adapter.

When I plug the unit into a PC it starts normally. When I plug the cigarette lighter adapter into the vehicle first, and then connect the unit to the USB port, it also starts normally.

However, then I first plug the USB connector into the cigarette lighter adapter and then the adapter into the vehicle, the unit enters the BSL.

The hardware is pretty standard. 1.4K from D+ to PUR. 1M from D+ to GND. Pushbutton switch in series with 100 ohm between VUSB and PUR.

I'm guessing it has something to do with PUR being high while the power supply comes up?

Anybody seen this before, and any suggestions on how to prevent it?

Thanks in advance,

Paul.

  • Paul B said:
    The hardware is pretty standard. 1.4K from D+ to PUR. 1M from D+ to GND. Pushbutton switch in series with 100 ohm between VUSB and PUR.

    Apparently, in the offending constellation, PUR is sourced by D+ through the 1.4k while VUSB is low, so PUR is 'detected' to be high (in relation to VUSB). This seems to simulate the pushbutton press on power-up.

  • Thank you for your response.

    I'm thinking the USB cigarette lighter adapter has a pull up resistor on the D+ line which immediately pulls PUR high through the 1.4K resistor. Meanwhile the 5V->3.3V regulator on my board is a little slower so when the processor comes out of reset the PUR line is high -> bootloader.

    Is it normal for a charger to pull the USB D+ line high? If so, wouldn't all MSP430 USB designs have the same issue?

    What hardware or (BSL) software change could fix this issue?

    Thanks, Paul.

  • Paul B said:
    Is it normal for a charger to pull the USB D+ line high?

    Hi Paul,

    Resistors on the data lines are commonly used as a way to signal to the charging device that it is plugged into a mains charger rather than a USB data port. For more info on this, see: http://learn.adafruit.com/minty-boost/icharging and http://en.wikipedia.org/wiki/USB#Power.

    Rob

  • Robert Cowsill said:
    Resistors on the data lines are commonly used as a way to signal to the charging device that it is plugged into a mains charger rather than a USB data port.

    Actually, this was an 'invention' of Apple. It was used to signal the iPod and iPhone that it is connected to an 'official' Apple charging connector that is capable of providing a sufficient charging current. The devices were built to refuse to charge from a normal USB port or charger (even though they of course could do it, with a larger charging time). Now many chargers have adopted this 'trick', even though they are often not capable of serving the required charging current (resulting in damage and even fire due to charger overload)

  • I've seen it with several high current USB chargers.  It can be fixed by replacing the BSL with code that implements a timeout if no BSL commands are sent.  This appears to be a consequence of the MSP430 using the PUR for double purpose:  input and output.  As an output, it is used to indicate that the device operates in full speed mode.  As an input, it is used to determine whether to go into BSL mode.  

  • Did you ever find a solution for this? I am having the same issue when my device is plugged into an Apple USB charger. I was able to get it it to work by replacing the 1M resistor with a 10K resistor, but I'm not sure if that is a good solution.

**Attention** This is a public forum