Hi-Speed Universal Serial Bus peripheral controller
Rev. 03 — 25 August 2004Preliminary data
1.General description
The ISP1582 is a cost-optimized and feature-optimized Hi-Speed Universal Serial
Bus (USB) peripheral controller. It fully complies with
Specification Rev. 2.0
full-speed (12 Mbit/s).
The ISP1582 provides high-speed USB communication capacity to systems based
on microcontrollers or microprocessors. It communicates with a microcontroller or
microprocessor of a system through a high-speed general-purpose parallel interface.
The ISP1582 supports automatic detection of Hi-Speed USB system operation.
Original USB fall-back mode allows thedevice to remain operational under full-speed
conditions. It is designed as a generic USB peripheral controller so that it can fit into
all existing device classes, such as imaging class, mass storage devices,
communication devices, printing devices and human interface devices.
Universal Serial Bus
, supporting data transfer at high-speed (480 Mbit/s) and
The internal generic Direct Memory Access (DMA) block allows easy integration into
data streaming applications.
The modular approach to implementing a USB peripheral controller allows the
designer to select the optimum system microcontroller from the wide variety available.
The ability to reuse existing architecture and firmware investments shortens the
development time, eliminates risk and reduces cost. The result is fast and efficient
development of the most cost-effective USB peripheral solution.
The ISP1582 is ideally suited for many types of peripherals, such as: printers,
scanners, digital still cameras, USB-to-Ethernet links, cable and DSL modems. The
low power consumption during suspend mode allows easy design of equipment that
is compliant to the ACPI™, OnNow™ and USB power management requirements.
The ISP1582 also incorporates features such as SoftConnect™, a reduced
frequency crystal oscillator,andintegrated termination resistors. These features allow
significant cost savings in system design and easy implementation of advanced USB
functionality into PC peripherals.
Philips Semiconductors
2.Features
■ Complies fully with:
■ Supports data transfer at high-speed (480 Mbit/s) and full-speed (12 Mbit/s)
■ High performance USB peripheral controller with integrated Serial Interface
■ Automatic Hi-Speed USB mode detection and Original USB fall-back mode
■ Supports sharing mode
■ Supports V
■ High-speed DMA interface
■ Fully autonomous and multiconfiguration DMA operation
■ 7 IN endpoints, 7 OUT endpoints and a fixed control IN/OUT endpoint
■ Integrated physical 8 kbytes of multiconfiguration FIFO memory
■ Endpoints with double buffering to increase throughput and ease real-time data
■ Bus-independent interface with most microcontrollers and microprocessors
■ 12 MHz crystal oscillator with integrated PLL for low EMI
■ Software-controlled connection to the USB bus (SoftConnect™)
■ Low-power consumption in operation and power-down modes; suitable for use in
■ Supports Session Request Protocol (SRP) that complies with
■ Internal power-on and low-voltage reset circuits; also supports software reset
■ Operation over the extended USB bus voltage range (DP, DM and V
■ 5 V tolerant I/O pads at 3.3 V
■ Operating temperature range from −40 °C to +85 °C
■ Available in HVQFN56 halogen-free and lead-free package.
ISP1582
Hi-Speed USB peripheral controller
◆
Universal Serial Bus Specification Rev. 2.0
◆ Most Device Class specifications
◆ ACPI™, OnNow™ and USB power management requirements.
Engine (SIE), Parallel Interface Engine (PIE), FIFO memory and data transceiver
sensing
BUS
transfer
bus-powered USB devices
On-The-Go
Supplement to the USB Specification Rev. 1.0a
)
BUS
3.Applications
■ Personal digital assistant
■ Digital video camera
■ Digital still camera
■ 3G mobile phone
■ MP3 player
■ Communication device, for example: router and modem
AGND1-analog ground
RPU2Aconnect to the external pull-up resistor for pin DP; must be
DP3AUSB D+ line connection (analog)
DM4AUSB D− line connection (analog)
AGND5-analog ground
RREF6Aconnect to the external bias resistor; must be connected to
RESET_N 7Ireset input (500 µs); a LOW levelproducesanasynchronous
EOT8IEnd-of-transfer input (programmable polarity); used in DMA
DREQ9ODMA request (programmable polarity) output; when not in
DACK10IDMA acknowledge input (programmable polarity); when not
DIOR11IDMA read strobe input (programmable polarity); when not in
DIOW12IDMA write strobe input (programmable polarity); when not in
DGND13-digital ground
INT14Ointerrupt output; programmable polarity (active HIGH or
CS_N15Ichip select input
RD_N16Iread strobe input
WR_N17Iwrite strobe input
[1]
PinType
ISP1582
Hi-Speed USB peripheral controller
[2]
Description
connected to 3.3 V via a 1.5 kΩ resistor
ground via a 12.0 kΩ±1 % resistor
reset; connect to V
circuit)
TTL; 5 V tolerant
slavemodeonly; when not in use, connect this pin to V
through a 10 kΩ resistor
input pad; TTL; 5 V tolerant
use, connect this pin to ground through a 10 kΩ resistor; see
Table 54 and Table 55
TTL; 4 ns slew-rate control
in use, connect this pin to V
see Table 54 and Table 55
TTL; 5 V tolerant
use, connect this pin to V
Table 54 and Table 55
TTL; 5 V tolerant
use, connect this pin to V
Table 54 and Table 55
TTL; 5 V tolerant
LOW) and signaling (edge or level triggered)
CMOS output; 8 mA drive
WAKEUP55Iwake-up input; when this pin is at the HIGH level, the chip is
prevented from getting into the suspend state and the chip
wakes up from the suspend state; when not in use, connect
this pin to ground through a 10 kΩ resistor
input pad; TTL; 5 V tolerant
SUSPEND 56Osuspend state indicator output; used as a power switch
control output for powered-off application or as a resume
signal to the CPU for powered-on application
CMOS output; 8 mA drive
GNDexposed
die pad
[1] Symbol names ending with underscore N (for example, NAME_N) represent active LOW signals.
[2] All outputs and I/O pins can source 4 mA.
[3] Add a decoupling capacitor (0.1 µF) to all the supply pins. For better EMI results, add a 0.01 µF
capacitor in parallel to the 0.1 µF.
-ground supply; down bonded to the exposed die pad
(heatsink); to be connected to DGND during PCB layout
The ISP1582 is a high-speed USB peripheral controller. It implements the Hi-Speed
USB or the Original USB physical layer and the packet protocol layer. It maintains up
to 16 USB endpoints concurrently (control IN and control OUT, 7 IN and 7 OUT
configurable) along with endpoint EP0 setup, which accesses the setup buffer. The
USB Chapter 9 protocol handling is executed by means of external firmware.
For high-bandwidth data transfer, the integrated DMA handler can be invoked to
transfer data to or from external memory or devices. The DMA interface can be
configured by writing to the proper DMA registers (see Section 9.4).
The ISP1582 supports Hi-Speed USB and Original USB signaling. The USB
signaling speed is automatically detected.
The ISP1582 has 8 kbytes of internal FIFO memory, which is shared among the
enabled USB endpoints.
There are 7 IN endpoints, 7 OUT endpoints and 2 control endpoints that are a fixed
64 bytes long. Any of the 7 IN and 7 OUT endpoints can be separately enabled or
disabled. The endpoint type (interrupt, isochronous or bulk) and packet size of these
endpoints can be individually configured depending on the requirements of the
application. Optional double buffering increases the data throughput of these data
endpoints.
ISP1582
Hi-Speed USB peripheral controller
The ISP1582 requires 3.3 V power supply. It has 5 V tolerant I/O pads when
operating at V
transceiver.
The ISP1582 operates on a 12 MHz crystal oscillator. An integrated 40× PLL clock
multiplier generates the internal sampling clock of 480 MHz.
= 3.3 V and an internal 1.8 V regulator for powering the analog
CC(I/O)
8.1 DMA interface, DMA handler and DMA registers
The DMA block can be subdivided into two blocks: the DMA handler and the DMA
interface.
The firmware writes to the DMA command register to start a DMA transfer (see
Table 47). The command opcode determines whether a generic DMA or PIO transfer
will start. The handler interfaces to the same FIFO (internal RAM) as used by the
USB core. On receiving the DMA command, the DMA handler directs the data from
the endpoint FIFO to the external DMA device or from the external DMA device to the
endpoint FIFO.
The DMA interface configures the timing and the DMA handshake. Data can be
transferred using either the DIOR and DIOW strobes or by the DACK and DREQ
handshakes. The DMA configurations are set up by writing to the DMA Configuration
register (see Table 52 and Table 53).
For a generic DMA interface, Generic DMA (GDMA) slave mode can be used.
Remark: The DMA endpoint buffer length must be a multiple of 4 bytes.
For details on DMA registers, see Section 9.4.
The analog transceiver directly interfaces to the USB cable through integrated
termination resistors. The high-speed transceiver requires an external resistor
(12.0 kΩ±1 %) between pin RREF and ground to ensure an accurate current mirror
that generates the Hi-Speed USB current drive. A full-speed transceiver is integrated
as well. This makes the ISP1582 compliant to Hi-Speed USB and Original USB,
supporting both the high-speed and full-speed physical layers. After automatic speed
detection, the Philips Serial Interface Engine (SIE) sets the transceiver to use either
high-speed or full-speed signaling.
8.3 MMU and integrated RAM
The Memory Management Unit (MMU) and the integrated RAM provide the
conversion between the USB speed (full-speed: 12 Mbit/s, high-speed: 480 Mbit/s)
and the microcontroller handler or the DMA handler. The data from the USB bus is
stored in the integrated RAM, which is cleared only when the microcontroller has read
or written all data from or to the corresponding endpoint buffer or when the DMA
handler has read or written all data from or to the endpoint buffer. The OUT endpoint
buffer can also be cleared forcibly by setting bit CLBUF in the Control Function
register. A total of 8 kbytes RAM is available for buffering.
ISP1582
Hi-Speed USB peripheral controller
8.4 Microcontroller interface and microcontroller handler
The microcontroller handler allows the external microcontroller or microprocessor to
access the register set in the Philips SIE as well as the DMA handler. The
initialization of the DMA configuration is done through the microcontroller handler.
8.5 OTG SRP module
The OTG supplement defines a Session Request Protocol (SRP), which allows a
B-device to request the A-device to turn on V
allows the A-device, which may be battery-powered, to conserve power by turning off
V
when there is no bus activity while still providing a means for the B-device to
BUS
initiate bus activity.
Any A-device, including a PC or laptop, can respond to SRP. Any B-device, including
a standard USB peripheral, can initiate SRP.
The ISP1582 is a device that can initiate SRP.
and start a session. This protocol
BUS
8.6 Philips high-speed transceiver
8.6.1 Philips Parallel Interface Engine (PIE)
In the high-speed (HS) transceiver, the Philips PIE interface uses a 16-bit parallel
bidirectional data interface. The functions of the HS module also include bit-stuffing or
destuffing and Non-Return-to-Zero Inverted (NRZI) encoding or decoding logic.
8.6.2 Peripheral circuit
To maintain a constant current driver for HS transmit circuits and to bias other analog
circuits, an internal band gap reference circuit and an RREF resistor form the
reference current. This circuit requires an external precision resistor (12.0 kΩ±1%)
connected to the analog ground.
The ISP1582 handles more than one electrical state—full-speed (FS) or high-speed
(HS)—under the USB specification. When the USB cable is connected from the
peripheral to the host controller, the ISP1582 defaults to the FS state until it sees a
bus reset from the host controller.
During the bus reset, the peripheral initiates an HS chirp to detect whether the host
controller supports Hi-Speed USB or Original USB. Chirping must be done with the
pull-up resistor connected and the internal termination resistors disabled. If the HS
handshake shows that there is an HS host connected, then the ISP1582 switches to
the HS state.
In the HS state, the ISP1582 should observe the bus for periodic activity. If the bus
remains inactive for 3 ms, the peripheral switches to the FS state to check for a
Single-Ended Zero (SE0) condition on the USB bus. If an SE0 condition is detected
for the designated time (100 µs to 875 µs; refer to section 7.1.7.6 of the USB
specification Rev. 2.0), the ISP1582 switches to the HS chirp state to perform an HS
detection handshake. Otherwise, the ISP1582 remains in the FS state adhering to the
bus-suspend specification.
ISP1582
Hi-Speed USB peripheral controller
8.7 Philips Serial Interface Engine (SIE)
The Philips SIE implements the full USB protocol layer. It is completely hardwired for
speed and needs no firmware intervention. The functions of this block include:
synchronization pattern recognition, parallel or serial conversion, bit (de)stuffing,
CRC checking or generation, Packet IDentifier (PID) verification or generation,
address recognition, handshake evaluation or generation.
8.8 SoftConnect
The connection to the USB is established by pulling pin DP (for full-speed devices)
HIGH through a 1.5 kΩ pull-up resistor. In the ISP1582, an external 1.5 kΩ pull-up
resistor must be connected between pin RPU and 3.3 V. Pin RPU connects the
pull-up resistor to pin DP, when bit SOFTCT in the Mode register is set (see Table 20
and Table 21). After a hardware reset, the pull-up resistor is disconnected by default
(bit SOFTCT = 0). The USB bus reset does not change the value of bit SOFTCT.
When the V
the back-drive voltage.
is not present, the SOFTCT bit must be set to logic 0 to comply with
BUS
8.9 System controller
The system controller implements the USB power-down capabilities of the ISP1582.
Registers are protected against data corruption during wake-up following a resume
(from the suspend state) by locking the write access until an unlock code has been
written in the Unlock Device register (see Table 73 and Table 74).
8.10 Output pins status
Table 3 illustrates the behavior of output pins when V
[1] X: Don’t care.
[2] Dead: The USB cable is plugged-out and V
[3] Plug-out: The USB cable is not present but V
[4] Plug-in: The USB cable is being plugged-in and V
The Interrupt Configuration register of the ISP1582 controls the behavior of the INT
output pin. The polarity and signaling mode of pin INT can be programmed by setting
bits INTPOL and INTLVL of the Interrupt Configuration register (R/W: 10h); see
Table 24. Bit GLINTENA of the Mode register (R/W: OCh) is used to enable pin INT.
Default settings after reset are active LOW and level mode. When pulse mode is
selected, a pulse of 60 ns is generated when the OR-ed combination of all interrupt
bits changes from logic 0 to logic 1.
RESET_NINT_NSUSPENDDREQDATA[15:0]
XXXXX
XLOWHIGHhigh-Zinput
XLOWHIGHhigh-Zhigh-Z
is not available.
is available.
is available.
CC(I/O)
Figure 4 shows the relationship between the interrupt events and pin INT.
Each of the indicated USB and DMA events is logged in a status bit of the Interrupt
register and the DMA Interrupt Reason register, respectively. Corresponding bits in
the Interrupt Enable register and the DMA Interrupt Enable register determine
whether or not an event will generate an interrupt.
Interrupts can be masked globally by means of bit GLINTENA of the Mode register;
see Table 21.
Field CDBGMOD[1:0] of the Interrupt Configuration register controls the generation
of the INT signals for the control pipe. Field DDBGMODIN[1:0] of the Interrupt
Configuration register controls the generation of the INT signals for the IN pipe. Field
DDBGMODOUT[1:0] of the Interrupt Configuration register controls the generation of
the INT signals for the OUT pipe; see Table 25.
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx
xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
Bit GLINTENA in the Mode register is a global enable/disable bit. The behavior of this
bit is given in Figure 5.
Event A: When an interrupt event occurs (for example, SOF interrupt) with
bit GLINTENA set to logic 0, an interrupt will not be generated at pin INT. It will,
however, be registered in the corresponding Interrupt register bit.
Event B: When bit GLINTENA is set to logic 1, pin INT is asserted because bit SOF in
the Interrupt register is already set.
Event C: If the firmware sets bit GLINTENA to logic 0, pin INT will still be asserted.
The bold dashed line shows the desired behavior of pin INT.
Deassertion of pin INT can be achieved either by clearing all the Interrupt register or
the DMA Interrupt Reason register, depending on the event.
Remark: When clearing an interrupt event, perform write to all the bytes of the
register.
For more information on interrupt control, see Section 9.2.2, Section 9.2.5 and
Section 9.5.1.
ISP1582
Hi-Speed USB peripheral controller
8.12 V
Pin V
with bit CLKAON set to logic 0 (clock off option).
To detect whether the host is connected or not, that is V
and a 1 µF electrolytic capacitor must be added to damp the overshoot upon plug-in.
A
INT pin
GLINTENA = 0
(during this time,
an interrupt event
occurs. For example,
SOF asserted.)
Pin INT: HIGH = deassert; LOW = assert (individual interrupts are enabled).
GLINTENA = 1
B
SOF asserted
Fig 5. Behavior of bit GLINTENA.
sensing
BUS
is one of the ways to wake up the clock when the ISP1582 is suspended
BUS
BUS
49
ISP1582
1 MΩ
+
1 µF
C
GLINTENA = 0
SOF asserted
004aaa394
sensing, a 1 MΩ resistor
USB
Connector
004aaa440
Fig 6. Resistor and electrolytic capacitor needed for V
Table 4 shows power modes in which the ISP1582 can be operated.
Table 4:Power modes
V
CC
V
BUS
self-poweredself-poweredself-powered
V
BUS
[1] Power supply to the IC (VCC) is 3.3 V. Therefore, if the application is bus-powered, a 3.3 V regulator
[2] V
8.14.1 Power-sharing mode
[1]
[1]
needs to be used.
CC(I/O)=VCC
. If the application is bus-powered, a voltage regulator needs to be used.
V
CC(I/O)
[2]
V
BUS
self-poweredpower-sharing (hybrid)
To GPIO of processor
for sensing V
BUS
1.5 kΩ
5 V-to-3.3 V
VOLTAGE
REGULATOR
ISP1582
Hi-Speed USB peripheral controller
Power mode
bus-powered
RPU
V
CC
V
CC(I/O)
+
−
ISP1582
V
BUS
004aaa457
1 µF
+
−
V
BUS
USB
1 MΩ
Fig 12. Power-sharing mode.
As can be seen in Figure 12, in power-sharing mode, VCCis supplied by the output of
the 5 V-to-3.3 V voltage regulator. The input to the regulator is from V
BUS
. V
CC(I/O)
is
supplied through the power source of the system. When the USB cable is plugged in,
the ISP1582 goes through the power-on reset cycle. In this mode, OTG is disabled.
The processor will experience continuous interrupt because the default status of the
interrupt pin when operating in sharing mode with the V
overcomethis,implement external V
sensing circuitry.The output from the voltage
BUS
not present is LOW. To
BUS
regulator can be connected to pin GPIO of the processor to qualify the interrupt from
the ISP1582.
Remark: When the core power is removed, the ISP1582 must be reset using the
RESET_N pin. The reset pulse width must be 2 ms.