cancel
Showing results for 
Search instead for 
Did you mean: 

USB 2.0 D+ PullUp requiered?

benjaminbrammer9
Associate II
Posted on March 18, 2017 at 17:13

Hi Guys,

I want to implement the STM32F303VET6 for possible DFU or CDC / HID . I am a little bit mixed up with the schematics of the USB ST-LINK for USB interfacing. Is the 1,5k PullUp on D+ mandatory? And if it is, do i need to implement the possibility to activate or deactivate it? the schematics from the ST-LINK use a GPIO for that purpose but where in the middlewre software do I need to implement that PullUp switching?

When I use the STM32CubeMX software and want to activate the USB only both differential lines are set but no aditional GPIO port for the PullUp. On the other hand the datasheet recommends to use the PullUp since it is requested in the USB 2.0 spec. So if the PullUp is a must, why is there no true description on how to implement that PullUp right in software and layout?

best regards

Benjamin

#implementation #1.5k-pull-up #usb #stm32
11 REPLIES 11
S.Ma
Principal
Posted on March 18, 2017 at 18:06

Newer STM32 Usb ips seem to intergrate the pull up to simplify the design. Check schematics and reference manuals.

Rob.Riggs
Senior
Posted on March 19, 2017 at 04:35

It's been a while since I did an STM32F303-based board.  It did require that I supply the 1.5K pull-up on D+.  I solved that issue by using an STF202-22T1G IC which has an integrated pull-up and the 22R termination resistors which you will also need.

I recommend switching the the L4 parts if you can.  They have a much improved USB interface and are more power efficient.

Posted on March 19, 2017 at 06:45

Agreed, USB device without crystal or USB Host from 32768Hz external crystal through MSI are additional upgrades.

Posted on March 19, 2017 at 12:49

Hello, thanks for the advise, but I cannot switch anymore because I am far to deep in the realization of the project

Posted on March 19, 2017 at 13:13

Thanks for your reply. Like I answered

Centauris.Alpha

I can't switch to another product, since I am far to deep in the design process.

I must say that I am pretty disappointed from STM for not making it clear enough in the features list of the STM32F303xx that I need additional components for using the USB-feature properly on the STM32F303xx .

As far as I have overlooked the

STF202-22T1G the Chip doesn't have the possibility to switch the PullUp on or off. But isn't this mandatory in complinace with the USB 2.0 spec (see attached image)?

0690X00000603hqQAA.jpg

If this chip is enough for my purposes (DFU, CDC, HID) then I will go for it. Spares me also the EMI, ESD chip from TI.

best regards

Benjamin

Posted on March 19, 2017 at 13:19

Mhh.. I am also not sure if I need another USB PHY chip, since the block diagram of the STM32F303xx shows an external Analog transceiver:

0690X00000603fgQAA.jpg

What Do you think?

Posted on March 19, 2017 at 16:12

Haven't looked at the ref man for this part. On stm32f437 there are 2 usb ips to be accurate: a full speed with embedded analog transceiver and a high speed external flavour which uses ulpi digital interface witg external chipset. Both can be activated in parallel and there was a dual usb core example. In somer newer part such as stm32f723, the 600+ mbps class phy is embedded. So far as i know.

Posted on March 19, 2017 at 17:41

Mhh..this sounds like I have to supply the USB PHY externally. Damn.

Posted on March 19, 2017 at 19:42

Whether this is all you need really depends on too many factors to list, but include your power domains, the application needs and the expected device behavior.  IIRC, you need to be able to de-assert the pull-up if the device is to remain physically connected but logically disconnected from the bus.

For my needs, this chip is all that was required between the USB connector and the D+/D- pins on the STM32F303CC.