Hi Rex,
[quote user="Rex says"] I believe after the connect the next step is to reset the peripheral by pulling down the D+,D- lines. Is this correct and how do I do it? [/quote]
yes, correct the next step is to reset signal on the USB bus.
These code snippet is part of USB starterware ( non OS ) package of OMAPL138
[quote]
.....
#define USB0_BASE SOC_USB_0_BASE
.....
#define USB_O_POWER 0x00000001 // USB Power
..
#define USB_POWER_RESET 0x00000008 // RESET Signaling
[/quote]
[quote]
void USBHCDReset(unsignedint ulIndex)
{
// Start the reset signaling.
USBHostReset(USB0_BASE, 1);
// Wait 20ms
delay(20);
// End reset signaling on the bus.
USBHostReset(USB0_BASE, 0);
// Need to wait at least 10ms to let the device recover from
// the reset. This is the delay specified in the USB 2.0 spec.
// We will hold the reset for 20ms.
//
delay(20);
}
[/quote]
[quote]
void USBHostReset(unsigned int ulBase, tBoolean bStart)
{ /* Check the arguments. */
ASSERT(ulBase == USB0_BASE);
/* Send a reset signal to the bus. */
if(bStart)
{
HWREGB(ulBase + USB_O_POWER) |= USB_POWER_RESET;
}
else
{ HWREGB(ulBase + USB_O_POWER) &= ~USB_POWER_RESET;
}
}
[/quote]
Regards,
Shankari
-------------------------------------------------------------------------------------------------------
Please click the Verify Answer button on this post if it answers your question.
--------------------------------------------------------------------------------------------------------