Is possible to set the usb in low speed on lpc1837?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Is possible to set the usb in low speed on lpc1837?

612 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by goffi on Fri Jul 11 01:41:12 MST 2014
I read the hole pdf, but appear that is not possible to set/disable the internal pull-up resistor on d+ and d-.

Is there someway to set the usb (device) in low speed?

Thanks
Labels (1)
0 Kudos
10 Replies

590 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by compuphase on Wed Nov 18 09:53:08 MST 2015
I know this is an old thread, so this response is likely no longer relevant, but...


Quote:
So it turns out that the LPC18xx does not support low speed device mode for USB, which is probably why you are unable to disable the D+ pull up resistor.



I would like to clarify the above. Any USB device controller that functions in full speed, is also suitable for low-speed. However, you have to change how the connector is wired (and you have to set the USB clock to a lower frequency). Details are at http://www.compuphase.com/electronics/usb_lowspeed.htm.

Regards,
Thiadmer Riemersma
0 Kudos

590 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by goffi on Thu Jul 17 06:41:59 MST 2014
Now i understand what you mean.  Thanks for the clarification.
0 Kudos

590 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nerd herd on Wed Jul 16 12:28:55 MST 2014
Hi,

I believe the reason why there are references to low speed USB within the user's manual is because the LPC18xx can be a host and device. As a host, it will support devices running at low speed but while it is a device, it can not run in low speed (as you are trying). Hope that clarifies things.
0 Kudos

590 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by goffi on Wed Jul 16 04:30:25 MST 2014

Quote: nerd herd
Hi,

So it turns out that the LPC18xx does not support low speed device mode for USB, which is probably why you are unable to disable the D+ pull up resistor.


At page 519 point "22.3 Features" of the previous pdf (UM10430.pdf) , i read "Supports all high-speed, full-speed, and low-speed USB-compliant peripherals". Low speed is also reported in several parts of the document.

I'm really confused :-(

I'm reading:

USBx_DP : USB0 bidirectional D+ line. The D+ line has an internal 1.5 k pull-up. This pull-up is enabled when software sets the RS bit (Bit 0) in the USBCMD register and the USB0 controller sees a valid VBUS voltage level (above ~1.8V) on the VBUS pin. Do not add an external series resistor.

USBx_DM : USBx bidirectional D- line. The D- line has an internal 1.5 k pull-up. This pull-up is enabled when software sets RS bit (BIT_0) in the USBCMD register and the USB0 controller sees a valid VBUS voltage level (above ~1.8V) on the VBUS pin. Do not add an external series resistor.


This means:

USBCMD.RS = 0 -> D+ and D- no pull-up on both
USBCMD.RS = 1 -> D+ and D- with pull-up on both

I don't found any informations about these configurations on the usb standard ( i know only Full Speed pull up on D+ and nothing on D-, Low Speed pull up on D- and nothing on D+).

Who can help me to understand?? Thanks
0 Kudos

590 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nerd herd on Tue Jul 15 09:12:41 MST 2014
Hi,

So it turns out that the LPC18xx does not support low speed device mode for USB, which is probably why you are unable to disable the D+ pull up resistor.
0 Kudos

590 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by goffi on Mon Jul 14 13:57:03 MST 2014
I'm using a beagle usb logger ( http://www.totalphase.com/products/beagle-usb480/ ) and the usb connection remain in full mode.

I'm also using the nxpUSBlib calling the standard functions from it. I tried to add before and after the  "init_usb" a line to set the usbcmd register, also modify the function inside the library to write 0 instead 1..... the result is, usb not working or still in full speed.

Maybe i have some misunderstanding,  when have to write the register?

Thanks
0 Kudos

590 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nerd herd on Mon Jul 14 11:11:48 MST 2014
Hello,

I'm sorry to hear that it is not working. I've double checked with the USB standard and you are right; when idle, D+ must be low (no pull up resistor) while D- is high (due to a pull up resistor). As of right now, can you say with confidence that both pull up resistors are enabled? If so, how are you sure...are you checking the voltage level on the D+ and D- lines or are you checking to see the value of the RS bit? May I see some of your code when you release bit 0 (write a zero to it) from the USBCMD register?
0 Kudos

590 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by goffi on Mon Jul 14 06:00:14 MST 2014
I tried but it doesn't works. The RS bit in USBCMD , just Run or Stop.

How can i set the internal pull-up to have a low speed configuration? According to the usb standard, only one pull-up on D- must be enabled.

If i can do this with the previous register , setting the bit RS,  please explain how i shall use it.

Thanks
0 Kudos

590 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by goffi on Sat Jul 12 07:11:12 MST 2014
Thanks, on monday i'll try this way
0 Kudos

590 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nerd herd on Fri Jul 11 15:40:00 MST 2014
Hello,

On section 22.5 in the user's manual for the LPC18xx, they talk about the data lines on the USB controller. You must satisfy a couple requirements in order to set or disable the internal pull up resistor:

USB0 bidirectional D+ line. The D+ line has an internal 1.5 k pull-up. This pull-up is enabled when software sets the RS bit (Bit 0) in the USBCMD register and the USB0 controller sees a valid VBUS voltage level (above ~1.8V) on the VBUS pin. Do not add an external series resistor.

http://www.nxp.com/documents/user_manual/UM10430.pdf
0 Kudos