AMD Alchemy Au1550 Security Network Processor Data Book
285
USB Device Controller
30283D
9.2.6.2
Interrupt Handler
The steps to handle an interrupt are shown below. This example handler is for a general USB application and may not be
sufficient for a specific application. The handler must be installed before interrupts are enabled.
1)
Obtain the USBD interrupt status.
status = usbd_intstat// obtain usbd_intstat
2)
Execute each interrupt condition.
// check if endpoint transfer complete
{
// if ep0rd completed, execute the process for ep0rd.
// if ep0wr completed, execute the process for ep0wr.
// if ep1wr completed, execute the process for ep1wr.
// if ep2wr completed, execute the process for ep2wr.
// if ep3rd completed, execute the process for ep3rd.
// if ep4rd completed, execute the process for ep4rd.
}
3)
Clear the USBD interrupt status.
usbd_intstat = status;// clear interrupts
9.2.7
Hardware Considerations
Table 9-9 shows the signals associated with the USB device. The USB root hub port pins have USB 1.1 compliant drivers
with the addition of the external circuitry noted in the signal description. The USB device implementation is full speed with
the required termination noted in
Table 9-9. Low speed is not supported.
Table 9-9. USB Device Signals
Signal
Input/
Output
Description
USBDP
IO
Positive signal of differential USB device driver. Requires a 1.5 kohm pull-up resistor to
denote a full speed device. Also requires an external ESD protection diode (transient volt-
age suppressor) to be USB 1.1 compliant.
Termination Note: Requires an external 22 ohm series resistor within 0.5 inches of the
pad.
If the USB device controller is not used, USBDP must be pulled high through a resistor in
the range of 10
22 kohm.
During OTG operation, USBH0P is software muxed with USBDP using
sys_pinfunc[USB].
USBDM
IO
Negative signal of differential USB device driver. Requires an external ESD protection
diode (transient voltage suppressor) to be USB 1.1 compliant.
Termination Note: Requires an external 22 ohm series resistor within 0.5 inches of the
pad.
If the USB device controller is not used, USBDM must be pulled high through a resistor in
the range of 10-22 kohm.
During OTG operation, USBH0M is software muxed with USBDM using
sys_pinfunc[USB].