cancel
Showing results for 
Search instead for 
Did you mean: 

MCU Voltage Level vs USB FS

auzgec
Associate II
Posted on April 23, 2013 at 07:36

Hi,

My F4 MCU is running at 2.8V, but I need to use USB OTG FS peripheral.

MCU is device mode (peripheral mode) and not bus powered, I only use vbus, for detect dm-dp signals entity.

Data is bidirectional

VBus, DM,DP

But, there is a threshold V

IHZ

2.7V for D+ AND D- signals. (In USB 2.0 Spec, 7.1.4, Fg: 7.26)

So if any of D+, D- drops under 2.7V, result: ''Device disconnected''

As far as I understand I need to translate voltage levels for D+ and D-. (vbus not neccessary)

Note: Solution must be low price.

1. How can I do it properly? Which IC do I need to use for given specs?

2. Can I connect Vbus directly to MCU?

2 REPLIES 2
tsuneo
Senior
Posted on April 23, 2013 at 11:39

In the STM32F405xx/407xx data sheet, this description is seen on the OTG_FS.

http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00037pdf USB OTG FS characteristics (p119) 2. The STM32F405xx and STM32F407xx USB OTG FS functionality is ensured down to 2.7 V but not the full USB OTG FS electrical characteristics which are degraded in the 2.7-to-3.0 V VDD voltage range. a) Bus-powered device The first option is, bus-powered device while your device is connected to a host. A 3V3 regulator, supplied through the USB connector, elevates VDD level while the device is plugged into host. While unplugged, the VDD is sourced by the local power supply. Diodes across each power source and VDD automatically switches VDD power source. USB connector STM32F4 VBUS -----+------------------------------- PA9 (VBUS) | diode +-- 3V3 regulator --- >|----+ +--- VDD on-board power source --- >|----+ diode b) An extra pull-up on D+ line, powered by USB connector Though the data sheet isn't clearly describe how ''degraded'' electrical characteristics is, but it is considered as VIHZ (idle-state high-level D+ input voltage: 2.7V min), as you pointed out. The second option is an extra pull-up on D+ line, powered by the USB line over a regulator.

USB connector STM32F4

VBUS -----+-------------------------------- PA9 (VBUS) | D* ----------------------------------+ | +--- PA12 (DP) +-- 3V3 regulator --- 1k5 ---+ enable | +----------------------- An extra port The regulator is enabled by an extra port pin, which is enabled at connection to USB. In STM32_USB-Host-Device_Lib_V2.1.0 examples, above regulator is enabled/disabled in these callbacks.

usb_conf.h
#define VBUS_SENSING_ENABLED
usbd_user.c
void USBD_USR_DeviceConnected (void)
{
// enable the regulator over an extra port
}
void USBD_USR_DeviceDisconnected (void)
{
// disable the regulator over an extra port
}

Tsuneo
auzgec
Associate II
Posted on April 23, 2013 at 12:52

Thank you for your reply,

First solution (Vbus powered) is not suitable for me, because I have to keep MCU at 2.8V

But second one seems like good,

I found this level translator,

http://www.onsemi.com/pub_link/Collateral/NLSX3012-D.PDF

What do you think, which one is better solution for signal integrity and for other stuff?