Migrating from MSP430 USB Devices to its Non-USB Variants

From Texas Instruments Wiki
Jump to: navigation, search

This wiki document discusses about the configuration of the MSP430 USB devices (MSP430F55xx devices) when the USB module is not used in the application and can be used as a migration document for the corresponding MSP430 non-USB variant devices (MSP430F532x/F531x/F530x devices).

 

Configuration of the Un-Used USB Pins

When the USB module is not being used in an application, the un-used USB pins should be configured or terminated properly, depending on how the un-used USB pins are being used in the application. Here is a list of the USB pins present only on the MSP430 USB devices:

VBUS         – USB bus power supplied by the USB host/hub
VUSB         – Integrated 3.3-V LDO output
V18            – Integrated 1.8-V LDO regulator output
VSSU         – USB PHY ground supply
PU.0/DP     – General-purpose digital I/O PU.0 (controlled by USB control register)/USB data terminal DP
PU.1/DM     – General-purpose digital I/O PU.1 (controlled by USB control register)/USB data terminal DM

Note: For more details reg. the USB module or the USB pins refer to the USB chapter in MSP430 F5xx/F6xx User’s Guide

Even though the USB module is not used in an application to do serial USB communication, there are different extents to which the USB controls (Port U control) and USB sub-modules (USB power system) can be used in user applications. Find below the different application cases and the recommended USB pin configurations:


Case 1: USB Port U pins used as General-purpose digital I/O

When the USB module is not used, the USB data pins PU.0/DP and PU.1/DM can used as general purpose, high-current I/O. USB Control register USBPHYCTL is used to configure Port U and this port is powered from the VUSB rail. Recommended pin connections in this case:

V18                                 – No  Connect
VBUS, VSSU, PUR          – GND
VUSB                              – Supply voltage to be provided externally †
PU.0/PU.1                       – GPIO pins [Refer to the Ports PU.0 and PU.1 section of device specific datasheet for VOH/VOL, VIH/VIL threshold specifications]

† Refer to device specific datasheet for the VUSB input range


NOTE: Since the 3.3V and the 1.8V internal regulators are not being used, its recommended to reset the VUSBEN, SLDOEN and SLDOAON bits in the USBPWRCTL register. 


Case 2: Integrated 3.3V USB LDO used as a standalone regulator

The USB power system incorporates dual LDO regulators (3.3 V and 1.8 V) that allow the entire MSP430 device to be powered from 5-V VBUS when it is made available from the USB host. And in case the user application does not require using serial USB communication, then the integrated 3.3V LDO can be used as a standalone regulator and this could help eliminate an external 3.3V regulator in the system. [For regulator input/output voltage and current specs, refer to device specific datasheet]. Recommended pin connections in this case:
V18                                 – No Connect
VBUS (3.3V LDO Input)    – See the device-specific datasheet for VBUS input voltage range
VUSB (3.3V LDO Output)  – See the device-specific datasheet for VUSB output voltage specification
VSSU, PUR                     – GND
PU.0/PU.1                       – No Connect OR General purpose, high current I/O pins (as VUSB 3.3V regulator output is available)

When sufficient voltage on VBUS is present, both the 3.3V VUSB LDO and 1.8V USB LDO are enabled by default (as the SLDOAON auto-on enable bit that enables the 1.8V LDO with a VBUS coming on transition is set by default). It is required to turn off the 1.8V LDO (reset SLDOAON and SLDOEN bits in USBPWRCTL register) in this case to conserve current.

NOTE:

  1. Include appropriate caps at the VBUS and VUSB pins; refer to device specific d/s for the recommended capacitances (CVBUS and CVUSB respectively)
  2. It is not recommended to use the integrated 1.8V LDO as a standalone regulator in the system as the LDO is not designed/tested for external DC loading


Case 3: USB Communication/Port U/Integrated 3.3V LDO – Not used

In application cases that don’t require using USB module for serial communication or Port U as general purpose I/O or integrated 3.3V LDO as a standalone regulator, here is the recommended pin configuration for the un-used USB pins:
VBUS, PUR, VSSU            – GND
V18, VUSB, PU.1/DM, PU.0/DP – No Connect

NOTE: Since the 3.3V and the 1.8V internal regulators are not being used, its recommended to reset the VUSBEN, SLDOEN and SLDOAON bits in the USBPWRCTL register.


Customizing BSL Firmware

All the MSP430 devices with integrated USB module ship with the standard TI supplied USB BSL. In application cases where the MSP430 USB devices are being used, but serial USB communication is not used and BSL over a custom interface (like UART, TimerA UART, SPI, I2C) is required, then BSL with custom peripheral interface firmware needs to be generated and programmed onto the BSL memory space of the devices. There are two ways of generating this custom peripheral interface depending on if any of the TI supplied F5xx/F6xx BSL is available with the particular communication interface. The TI provided standard BSLs use the following interfaces (implemented on different F5xx/F6xx devices): TimerA (Software) UART, Hardware UART, USB. Here are a few “device vs. BSL Peripheral Interface” mappings we have today (Refer to the "Differences between Devices and Bootstrap Loader Versions" chapter in SLAU319):

MSP430F5438A   – TimerA UART
CC430F613x        – Hardware UART
MSP430 F552x    – USB

In case one of the above mentioned interfaces (i.e. either TimerA UART or Hardware UART) requires being used in the application as the BSL communication interface for MSP430 USB devices, then custom peripheral interface can be easily generated by porting the exiting standard TI supplied BSL firmware to the F5xx/F6xx USB devices. [Note: The source code for TI supplied BSLs are made available online (SLAA450 zip file)]

On the other hand, if custom interface required for BSL has not been implemented on the standard TI supplied F5xx/F6xx BSLs, (like I2C or SPI) then refer to the Application Note “Creating a Custom Flash-Based BSL” SLAA450, that describes the basics of the BSL memory and the TI standard BSL software, and shows how existing TI BSL software can be easily modified to accommodate a different communication interfaces. There is an application report that implements I2C Host Interface for the F5xx/F6xx BSL based on the Application Note SLAA450. The document/source code for the I2C BSL Implementation is embedded in the SLAA450 zip file.


FAQs

1. Do PortU pins require a different supply rail when used as GPIO?
Port U is powered from VUSB rail. And in order to use PortU as GPIO, VUSB should be powered externally (unless the 3.3V LDO is used as a standalone regulator).
2. Can VUSB be powered externally from the same supply powering DVCC/AVCC? OR Can I/O levels on Port U be the same as rest of the digital ports on the device?
As long as the supply powering DVCC/AVCC is within the VUSB input tolerance (refer to device-specific datasheet), then the same supply can be used to power VUSB as well. And in this case, I/O voltage levels on Port U will be the same as other digital ports.

3. Can VUSB be powered externally with 2.2V supply?
Refer to the device specific d/s for the VUSB input range. For MSP430 USB devices (MSP430F55xx devices), since the VUSB input voltage range is 3.3V +/-10%, it is not recommended to supply 2.2V supply to the VUSB pin.

4. Are DVCC and VUSB completely separate power domains internally? That is, can VUSB be supplied 3.3V and the rest of ports with e.g. 2.2V levels (i.e. VUSB=3.3V, DVCC=2.2V)?
Power Management of DVCC and VUSB are separate internally and user can use two different power rails at DVCC/AVCC and VUSB in the device. Make sure the supply voltages provided to the DVCC and VUSB pins are within the DVCC and VUSB input voltage ranges specified in the d/s respectively.

5. Should the 1.8V USB LDO be enabled when PU.x pins are used as GPIO (USB module not used for serial communication)?
No.

6. Can the integrated 1.8V USB regulator be used a standalone regulator?
It is not recommended to use the integrated 1.8V USB LDO as a standalone regulator in the system, as this integrated LDO is not designed/tested for external DC loading.

7. What happens if the PUR pin is left floating when the serial USB communication is not being used?
On device resets, the MSP430 USB Devices with USB BSL check if the PUR pin is being held high externally to determine if the USB BSL is invoked. And if the PUR pin is left floating (esp. with VUSB powered externally or integrated 3.3V LDO being used as a standalone regulator), it is possible that the USB BSL may get invoked inadvertently on device resets. So, it’s recommended to tie the PUR to GND.