USB device not recognized

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

USB device not recognized

1,749 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by burt on Thu Jun 02 17:39:48 MST 2011
I got some USB device code from the rdb1768 USBstack and got it to run on my code red rdb1768 board.  I ported it over to my lpc1754 board with an mcu change to lpc1754 and I get USB device not recognized.  Other aspects of my code appear to work, just the USB does not.

In stepping through both codes, the rdb1768 reads the EP_SLOW bit from the USBDevIntSt reg when it connects to the USB bus but my lpc1754 board has the EP_SLOW bit '0' with the same operation.  This difference appears to cause a problem in the USB interrupt handler routine.  All the prior USB operations appear to manipulate the identical data.

Any insight as to what's causing this is appreciated.

Thanks,

Burt.
0 Kudos
Reply
7 Replies

1,697 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by burt on Thu Jun 09 06:55:45 MST 2011
I want to thank Zero and CodeRedSupport for responding to my original thread.  Through their pointed questions and insights, I was able to determine the cause of my USB problem.  My board has a USB switch between the USB connector and the lpc1754.  The hookup to the switch was not correct and that caused some problems, resulting in no USB connection.  I've fixed that and USB seems to be working fine.


Burt.
0 Kudos
Reply

1,697 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by burt on Fri Jun 03 07:33:02 MST 2011
Yes, the 1.5K pullup resistor is connected to USB_D+, which is p0[29] on pin 22 of the lpc1754 lqfp80.


Burt.
0 Kudos
Reply

1,697 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Ex-Zero on Fri Jun 03 07:15:34 MST 2011
And is it switching D+? If you switch D- you are running "Low Speed"  :eek:
0 Kudos
Reply

1,697 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by burt on Fri Jun 03 07:07:57 MST 2011
Yes, the USB_CONNECT appears to be working correctly.  With the vbus signal internally set to '1', setting the USB_CONNECT bit causes the USB_CONNECT pin to go low, turning on my transistor that enables the 1.5K pullup.

I have verified all the above with a scope.  I also see the USB host trying to communicate with my USB device but it is not responding to the query.

The existing debugger messages from the original sources work the same between the rdb1768 and my lpc1754 until the USB device response.


Burt.
0 Kudos
Reply

1,697 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Ex-Zero on Fri Jun 03 06:58:18 MST 2011
Is your USB_CONNECT switching successfully 3.3V via 1.5k to D+?
0 Kudos
Reply

1,697 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by burt on Fri Jun 03 05:59:06 MST 2011
Yes, USB_D+, USB_D-, and USB_CONNECT pins and functionality are identical between my lpc1754 board and the rdb1768.

I am using the vbus pin as a GPIO input so this should force the internal vbus signal to a '1'.  I assume it does or else I wouldn't get the good USB_CONNECT signal (good = '0' on the pin), which I do.

I use the USB_UP_LED pin as a GPIO output and not for an LED.

I believe the USB device functionality does not use any other pins.

Burt.
0 Kudos
Reply

1,697 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by CodeRedSupport on Fri Jun 03 05:31:20 MST 2011
Does your hardware have the USB signals on the same pins as the RDB1768 board does? Check USBHwInit() in RDB1768cmsis_usbstack\src\usbhw_lpc.c

Regards,
CodeRedSupport.
0 Kudos
Reply