The PDIUSBD12 is a cost and feature optimized USB device. It is normally used in
microcontroller based systems and communicates with the system microcontroller
over the high-speed general purpose parallel interface. It also supports local DMA
transfer.
This modular approach to implementing a USB interface allows the designer to
choose the optimum system microcontroller from the available wide variety. This
flexibility cuts down the development time, risks, and costs by allowing the use of the
existing architecture and minimize firmware investments. This results in the fastest
way to develop the most cost effective USB peripheral solution.
2.Features
The PDIUSBD12 fully conforms to the
to be compliant with most device class specifications: Imaging Class, Mass Storage
Devices, Communication Devices, Printing Devices, and Human Interface Devices.
As such, the PDIUSBD12 is ideally suited for many peripherals like Printer, Scanner,
External Mass Storage (Zip Drive), Digital Still Camera, etc. It offers an immediate
cost reduction for applications that currently use SCSI implementations.
The PDIUSBD12 low suspend power consumption along with the LazyClock output
allows for easy implementation of equipment that is compliant to the ACPI™,
OnNOW™, and USB power management requirements. The low operating power
allows the implementation of bus powered peripherals.
In addition, it also incorporates features like SoftConnect™, GoodLink™,
programmable clock output, low frequency crystal oscillator, and integration of
termination resistors. All of these features contribute to significant cost savings in the
system implementation and at the same time ease the implementation of advanced
USB functionality into the peripherals.
■ Complies with the
■ High performance USB interface device with integrated SIE, FIFO memory,
transceiver and voltage regulator
■ Compliant with most Device Class specifications
■ High-speed (2 Mbytes/s) parallel interface to any external microcontroller or
microprocessor
■ Fully autonomous DMA operation
■ Integrated 320 bytes of multi-configuration FIFO memory
■ Double buffering scheme for main endpoint increases throughput and eases
real-time data transfer
Universal Serial Bus specification Rev. 1.1
USB specification Rev. 1.1
. It is also designed
Page 2
Philips Semiconductors
■ Data transfer rates: 1 Mbytes/s achievable in Bulk mode, 1 Mbits/s achievable in
■ Bus-powered capability with very good EMI performance
■ Controllable LazyClock output during suspend
■ Software controllable connection to the USB bus (SoftConnect™)
■ Good USB connection indicator that blinks with traffic (GoodLink™)
■ Programmable clock frequency output
■ Complies with the ACPI, OnNOW and USB power management requirements
■ Internal Power-on reset and low-voltage reset circuit
■ Available in SO28 and TSSOP28 pin packages
■ Full industrial grade operation from −40 to +85 °C
■ Higher than 8 kV in-circuit ESD protection lowers cost of extra components
■ Full-scan design with high fault coverage (>99%) ensures high quality
■ Operation with dual voltages:
■ Multiple interrupt modes to facilitate both bulk and isochronous transfers.
PDIUSBD12
USB interface device with parallel bus
Isochronous mode
3.3 ±0.3 V or extended 5 V supply range of 4.0 to 5.5 V
DATA <0>1IO2Bit 0 of bidirectional data. Slew-rate controlled.
DATA <1>2IO2Bit 1 of bidirectional data. Slew-rate controlled.
DATA <2>3IO2Bit 2 of bidirectional data. Slew-rate controlled.
DATA <3>4IO2Bit 3 of bidirectional data. Slew-rate controlled.
GND5PGround.
DATA <4>6IO2Bit 4 of bidirectional data. Slew-rate controlled.
DATA <5>7IO2Bit 5 of bidirectional data. Slew-rate controlled.
DATA <6>8IO2Bit 6 of bidirectional data. Slew-rate controlled.
DATA <7>9IO2Bit 7 of bidirectional data. Slew-rate controlled.
ALE10IAddress Latch Enable. The falling edge is used to close the
CS_N11IChip Select (Active LOW).
SUSPEND 12I,OD4Device is in Suspend state.
CLKOUT13O2Programmable Output Clock (slew-rate controlled).
INT_N14OD4Interrupt (Active LOW).
RD_N15IRead Strobe (Active LOW).
WR_N16IWrite Strobe (Active LOW).
DMREQ17O4DMA Request.
DMACK_N 18IDMA Acknowledge (Active LOW).
EOT_N19IEnd ofDMA Transfer(Active LOW). Double up as V
RESET_N 20IReset (Active LOW and asynchronous). Built-in Power-onreset
GL_N21OD8GoodLink LED indicator (Active LOW)
XTAL122ICrystal Connection 1 (6 MHz).
XTAL223OCrystal Connection 2 (6 MHz). If external clock signal, instead
V
CC
D−25AUSB D− data line.
D+26AUSB D+ data line.
USB interface device with parallel bus
[1]
Description
latch of the address information in a multiplexed address/ data
bus. Permanently tied LOW for separate address/ data bus
configuration.
EOT_N is only valid when asserted together with DMACK_N
and either RD_N or WR_N.
circuit present on chip, so pin can be tied HIGH to V
of crystal, is connected to XTAL1, then XTAL2 should be
floated.
24PVoltage supply (4.0 − 5.5 V).
To operate the IC at 3.3 V, supply 3.3 V to both V
pins.
The integrated transceiver interfaces directly to the USB cables through termination
resistors.
6.2 Voltage regulator
A 3.3 V regulator is integrated on-chip to supply the analog transceiver. This voltage
is also provided as an output to connect to the external 1.5 kΩ pull-up resistor.
Alternatively, the PDIUSBD12 provides SoftConnect technology with an integrated
1.5 kΩ pull-up resistor.
6.3 PLL
A 6 MHz to 48 MHz clock multiplier PLL (Phase-Locked Loop) is integrated on-chip.
This allows for the use of a low-cost 6 MHz crystal. EMI is also minimized due to the
lower frequency crystal. No external components are needed for the operation of the
PLL.
PDIUSBD12
USB interface device with parallel bus
6.4 Bit clock recovery
The bit clock recovery circuit recovers the clock from the incoming USB data stream
using 4× oversampling principle. It is able to track jitter and frequency drift specified
by the USB specification.
6.5 Philips Serial Interface Engine (PSIE)
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/serial conversion, bit stuffing/de-stuffing,
CRC checking/generation, PID verification/generation, address recognition, and
handshake evaluation/generation.
6.6 SoftConnect
The connection to the USB is accomplished by bringing D+ (for high-speed USB
device)HIGH through a 1.5 kΩ pull-up resistor. In the PDIUSBD12, the 1.5 kΩ pull-up
resistor is integrated on-chip and is not connected to VCC by default. The connection
is established through a command sent by the external/system microcontroller. This
allows the system microcontroller to complete its initialization sequence before
deciding to establish connection to the USB. Re-initialization of the USB bus
connection can also be performed without requiring to pull out the cable.
The PDIUSBD12 will check for USB V
established. V
description” for details. Sharing of V
accomplished by using V
open-drain output of the DMA controller pin.
sensing is provided through pin EOT_N. See Section 3.2 “Pin
It should be noted that the tolerance of the internal resistors is higher (25%) than that
specified by the USB specification (5%). However, the overall VSE voltage
specification for the connection can still be met with good margin. The decision to
make sure of this feature lies with the users.
6.7 GoodLink
Good USB connection indication is provided through GoodLink technology. During
enumeration, the LED indicator will blink ON momentarily corresponding to the
enumeration traffic. When the PDIUSBD12 is successfully enumerated and
configured, the LED indicator will be permanently ON. Subsequent successful (with
acknowledgement) transfer to and from the PDIUSBD12 will blink OFF the LED.
During suspend, the LED will be OFF.
This feature provides a user-friendly indicator on the status of the USB device, the
connected hub and the USB traffic. It is a useful field diagnostics tool to isolate faulty
equipment. This feature helps lower field support and hotline costs.
6.8 Memory Management Unit (MMU) and Integrated RAM
PDIUSBD12
USB interface device with parallel bus
The MMU and the integrated RAM buffer the difference in speed between USB,
running in bursts of 12 Mbits/s and the parallel interface to the microcontroller. This
allows the microcontroller to read and write USB packets at its own speed.
6.9 Parallel and DMA Interface
A generic parallel interface is defined for ease-of-use, speed, and allows direct
interfacing to major microcontrollers. To a microcontroller, the PDIUSBD12 appears
as a memory device with 8-bit data bus and 1 address bit (occupying 2 locations).
The PDIUSBD12 supports both multiplexed and non-multiplexed address and data
bus. The PDIUSBD12 also supports DMA (Direct Memory Access) transfer which
allows the main endpoint (endpoint 2) to directly transfer to and from the local shared
memory. Both single-cycle and burst mode DMA transfers are supported.
6.10 Example of parallel interface to an 80C51 microcontroller
In the example shown in Figure 3, the ALE pin is permanently tied LOW to signify a
separate address and data bus configuration. The A0 pin of the PDIUSBD12
connects to any of the 80C51 I/O ports. This port controls the command or data
phase to the PDIUSBD12. The multiplexed address and data bus of the 80C51 can
now be connected directly to the data bus of the PDIUSBD12. The address phase will
be ignored by the PDIUSBD12. The clock input signal of the 80C51 (pin XTAL1) can
be provided by output CLKOUT of the PDIUSBD12.
Fig 3. Example of a parallel interface to an 80C51 microcontroller.
]
WR_N
RD_N
CLKOUT
CS_N
ALE
INTO/P3.2
ANY I/O PORT (e.g. P3.3)
P [0.7:0.0]/AD [7:0
WR/P3.6
RD/P3.7
XTAL1
80C51
]
SV00870
Direct Memory Address (DMA) allows an efficient transfer of a block of data between
the host and local shared memory.Using a DMA controller, data transfer between the
PDIUSBD12’s main endpoint (endpoint 2) and local shared memory can happen
autonomously without local CPU intervention.
Preceding any DMA transfer, the local CPU receives from the host the necessary
setup information and programs the DMA controller accordingly. Typically, the DMA
controller is set up for demand transfer mode and the byte count register and the
address counter are programmed with the right values. In this mode, transfers occur
only when the PDIUSBD12 requests them and are terminated when the byte count
register reaches zero. After the DMA controller has been programmed, the DMA
enable bit of the PDIUSBD12 is set by the local CPU to initiate the transfer.
The PDIUSBD12 can be programmed for single-cycle DMA or burst mode DMA. In
single-cycle DMA, the DMREQ pin is deactivated for every single acknowledgement
by the DMACK_N before being re-asserted. In burst mode DMA, the DMREQ pin is
kept active for the number of bursts programmed in the device before going inactive.
This process continues until the PDIUSBD12 receives a DMA termination notice
through pin EOT_N. This will generate an interrupt to notify the local CPU that DMA
operation is completed.
For DMA read operation, the DMREQ pin will only be activated whenever the buffer is
full, signalling that the host has successfully transferred a packet to the PDIUSBD12.
With the double buffering scheme, the host can start filling up the second buffer while
the first buffer is being read out. This parallel processing increases the effective
throughput. When the host does not fill up the buffer completely (less than 64 bytes or
128 bytes for single direction ISO configuration), the DMREQ pin will be deactivated
at the last byte of the buffer regardless of the current DMA burst count. It will be
re-asserted on the next packet with a refreshed DMA burst count.
Similarly, for DMA write operations, the DMREQ pin remains active whenever the
buffer is not full. When the buffer is filled up, the packet is sent over to the host on the
next IN token and DMREQ will be reactivated if the transfer was successful. Also, the
double buffering scheme here will improve throughput. For non-isochronous transfer
(bulk and interrupt), the buffer needs to be completely filled up by the DMA write
operation before the data is sent to the host. The only exception is at the end of DMA
transfer, when the reception of pin EOT_N will stop DMA write operation and the
buffer content will be sent to the host on the next IN token.
For isochronous transfers, the local CPU and DMA controller have to guarantee that
they are able to sink or source the maximum packet size in one USB frame (1 ms).
The assertion of pin DMACK_N automatically selects the main endpoint (endpoint 2),
regardless of the current selected endpoint. The DMA operation of the PDIUSBD12
can be interleaved with normal I/O access to other endpoints.
DMA operation can be terminated by resetting the DMA enable register bit or the
assertion of EOT_N together with DMACK_N and either RD_N or WR_N.
The PDIUSBD12 supports DMA transfer in single address mode and it can also work
in dual address mode of the DMA controller. In the single address mode, DMA
transfer is done via the DREQ, DMACK_N, EOT_N, WR_N and RD_N control lines.
In the dual address mode, pins DMREQ, DMACK_N and EOT_N are not used;
instead CS_N, WR_N and RD_N control signals are used. The I/O mode Transfer
Protocol of PDIUSBD12 needs to be followed. The source of the DMAC is accessed
during the read cycle and the destination during the write cycle. Transfer needs to be
done in two separate bus cycles, storing the data temporarily in the DMAC.
PDIUSBD12
USB interface device with parallel bus
8.Endpoint description
The PDIUSBD12 endpoints are sufficiently generic to be used by various device
classes ranging from Imaging, Printer, Mass Storage and Communication device
classes. The PDIUSBD12 endpoints can be configured for 4 operating modes
depending on the Set mode command. The 4 modes are:
Mode 0Non-isochronous transfer (Non-ISO mode)
Mode 1Isochronous output only transfer (ISO-OUT mode)
Mode 2Isochronous input only transfer (ISO-IN mode)
Mode 3Isochronous input and output transfer (ISO-I/O mode).
[1] IN: input for the USB host; OUT: output from the USB host.
[2] Generic endpoints can be used either as Bulk or Interrupt endpoint.
[3] The main endpoint (endpoint number 2) is double-bufferedto ease synchronization with the real-time
applications and to increase throughput. This endpoint supports DMA access.
[4] Denotes double buffering. The size shown is for a single buffer.
The main endpoint (endpoint number 2) is the primary endpoint for sinking or
sourcing relatively large amounts of data. It implements the following features to ease
this task:
• Double buffering. This allows parallel operation between USB access and local
CPU access thus increasing throughput. Buffer switching is handled automatically.
This results in transparent buffer operation.
• DMA (Direct Memory Access) operation. This can be interleaved with normal I/O
operation to other endpoints.
• Automatic pointer handling during DMA operation. No local CPU intervention is
necessary when ‘crossing’ the buffer boundary.
• Configurableendpoint for either isochronous transfer or non-isochronous (bulk and
interrupt) transfer.
10. Command summary
PDIUSBD12
USB interface device with parallel bus
Table 4:Command summary
NameDestinationCode (Hex) Transaction
Initialization commands
Set Address/EnableDeviceD0Write 1 byte
Set Endpoint EnableDeviceD8Write 1 byte
Set modeDeviceF3Write 2 bytes
Set DMADeviceFBWrite/Read 1 byte
Send ResumeF6None
Read Current Frame NumberF5Read 1 or 2 bytes
11. Command description
11.1 Command procedure
There are three basic types of commands: Initialization, Data Flow and General
commands. Respectively, these are used to initialize the function; for data flow
between the function and the host; and some general commands.
…continued
Control IN41Write 1 byte
Endpoint 1 OUT42Write 1 byte
Endpoint 1 IN43Write 1 byte
Endpoint 2 OUT44Write 1 byte
Endpoint 2 IN45Write 1 byte
11.2 Initialization commands
Initialization commands are used during the enumeration process of the USB
network. These commands are used to enable the function endpoints. They are also
used to set the USB assigned address.
11.2.1 Set Address/Enable
Code (Hex) — D0
Transaction — write 1 byte
This command is used to set the USB assigned address and enable the function.
7654320100
ADDRESS: The value written becomes the address.
ENABLE: A ‘1’ enables this function.
Fig 4. Set Address/Enable command: bit allocation.
Table 5:Set mode command, Configuration byte: bit allocation
BitSymbolDescription
7 to 6ENDPOINT
4SoftConnectA ‘1’ indicates that the upstream pull-up resistor will be connected
3INTERRUPT
2CLOCK
1NO
CONFIGURAT
ION
MODE
RUNNING
LAZYCLOCK
PDIUSBD12
USB interface device with parallel bus
These two bits set the endpoint configurations as follows:
mode 0 (Non-ISO mode)
mode 1 (ISO-OUT mode)
mode 2 (ISO-IN mode)
mode 3 (ISO-I/O mode)
See Section 8 “Endpoint description” for more details.
is available. A ‘0’ means that the upstream resistor will not
if V
BUS
be connected. The programmed value will not be changed by a
bus reset.
A ‘1’ indicates that all errors and “NAKing” are reported and will
generate an interrupt. A ‘0’ indicates that only OK is reported. The
programmed value will not be changed by a bus reset.
A ‘1’ indicates that the internal clocks and PLL are always running
even during Suspend state. A ‘0’ indicates that the internal clock,
crystal oscillator and PLL are stopped whenever not needed. To
meet the strict Suspend current requirement, this bit needs to be
set to ‘0’. The programmed value will not be changed by a bus
reset.
A ‘1’ indicates that CLKOUT will not switch to LazyClock. A ‘0’
indicates that the CLKOUT switches to LazyClock 1ms after the
Suspend pin goes HIGH. LazyClock frequency is 30 kHz ± 40%.
The programmed value will not be changed by a bus reset.
76 54 3 21110
See Table 6 for bit allocation.
10XX00
POWER ON VALUE
CLOCK DIVISION FACTOR
RESERVED
SET_TO_ONE
SOF-ONLY INTERRUPT MODE
SV00862
Fig 7. Set mode command, Clock division factor byte.
Table 6:Clock division factor byte: bit allocation
BitSymbolDescription
7SOF-ONLY
6SET_TO_ONEThis bit needs to be set to 1 prior to any DMA read or DMA write
3 to 0 CLOCK DIVISION
11.2.4 Set DMA
INTERRUPT MODE
FACTOR
PDIUSBD12
USB interface device with parallel bus
Setting this bit to 1 will cause the interrupt line to be activated
due to the Start Of Frame clock (SOF) only, regardless of the
setting of Pin-Interrupt mode, bit 5 of set DMA.
operation. This bit should always be set to 1 after power. It is
zero after Power-on reset.
The value indicates the clock division factor for CLKOUT. The
output frequency is 48 MHz/(N+1) where N is the Clock Division
Factor. The reset value is 11. This will produce the output
frequency of 4 MHz which can then be programmed up or down
by the user. The minimum value is 1 giving the range of
frequency from 4 to 24 MHz. The minimum value of N is 0,
giving a maximum frequency of 48 MHz. The maximum value of
N is 11 giving a minimum frequency of 4 MHz. The PDIUSBD12
design ensures no glitching during frequency change. The
programmed value will not be changed by a bus reset.
Code (Hex) — FB
Transaction — read/write 1 byte
The set DMA command is followed by one data write/read to/from the DMA
configuration register.
DMA Configuration register: During DMA operation, the two-byte buffer header
(status and byte length information) is not transferred to/from the local CPU. This
allows DMA data to be continuous and not interleaved by chunks of these headers.
For DMA read operations, the header will be skipped by the PDIUSBD12. See
Section 11.3.5 “Read buffer” command. For DMA write operations, the header will be
automatically added by the PDIUSBD12. This provides for a clean and simple DMA
data transfer.
4AUTO RELOADWhen this bit is set to ‘1’, the DMA operation will
3DMA DIRECTIONThis bit determines the direction of data flow during a
2DMA ENABLEWriting a ‘1’ to this bit will start DMA operation through
1 to 0DMA BURSTSelects the burst length for DMA operation:
INTERRUPT ENABLE
INTERRUPT ENABLE
MODE
PDIUSBD12
USB interface device with parallel bus
A ‘1’ allows for an interrupt to be generated whenever
the endpoint buffer is validated (see Section 11.3.8
“Validate buffer” command). Normally turned off for
DMA operation to reduce unnecessary CPU servicing.
A ‘1’ allows for an interrupt to be generated whenever
the endpoint buffer contains a valid packet. Normally
turned off for DMA operation to reduce unnecessary
CPU servicing.
A ‘0’ signifies a normal interrupt pin mode where an
interrupt is generated as a logical OR of all the bits in
the interrupt registers. A ‘1’ signifies that the interrupt
will occur when Start of Frame clock (SOF) is seen on
the upstream USB bus. The other normal interrupts are
still active.
automatically restart.
DMA transfer. A ‘1’ means external shared memory to
PDIUSBD12 (DMA Write); a ‘0’ means PDIUSBD12 to
the external shared memory (DMA Read).
the assertion of pin DMREQ. The main endpoint buffer
needs to be full (for DMA Read) or empty (for DMA
Write) before DMREQ will be asserted. In a single
cycle DMA mode, the DMREQ is deactivated upon
receiving DMACK_N. In burst mode DMA, the DMREQ
is deactivated after the number of burst is exhausted.
It is then asserted again forthe next burst. This process
continues until EOT_N is asserted together with
DMACK_N and either RD_N or WR_N, which will reset
this bit to ‘0’ and terminate the DMA operation. The
DMA operation can also be terminated by writing a
‘0’ to this bit.
Data flow commands are used to manage the data transmission between the USB
endpoints and the external microcontroller. Much of the data flow is initiated via an
interrupt to the microcontroller. The microcontroller utilizes these commands to
access and determine whether the endpoint FIFOs have valid data.
This command indicates the origin of an interrupt. The endpoint interrupt bits
(bits 0 to 5) are cleared by reading the endpoint last transaction status register
through Read Last Transaction Status command. The other bits are cleared after
reading the interrupt registers.
Fig 9. Interrupt Register, byte 1.
PDIUSBD12
USB interface device with parallel bus
See Table 8 for bit allocation.
DMA EOT: This bit signifies that DMA operation is completed.
Fig 10. Interrupt Register, byte 2: bit allocation.
Table 8:Read interrupt register, byte 1: bit allocation
Bit SymbolDescription
7SUSPEND CHANGE When the PDIUSBD12 did not receive 3 SOFs, it will go into
suspend state and the Suspend Change bit will be HIGH. Any
change to the suspend or awake state will set this bit HIGH and
generate an interrupt.
6BUS RESETAfter a bus reset an interrupt will be generated this bit will be ‘1’.
A bus reset is identical to a hardware reset through the RESET_N
pin with the exception that a bus reset generates an interrupt
notification and the device is enabled at default address 0.
The Select Endpoint command initializes an internal pointer to the start of the
selected buffer. Optionally, this command can be followed by a data read, which
returns this byte.
Fig 11. Select Endpoint command: bit allocation.
PDIUSBD12
USB interface device with parallel bus
FULL/EMPTY: A ‘1’ indicates the buffer is full, ‘0’ indicates an empty buffer.
STALL: A ‘1’ indicates the selected endpoint is in the stall state.
11.3.3 Read Endpoint status
Code (Hex) — 80 to 85
Transaction — read 1 byte
765432x1x0
Fig 12. Read Endpoint status: bit allocation.
x00x00
11.3.4 Read last transaction status register
Code (Hex) — 40 to 45
Transaction — read 1 byte
RESERVED
SETUP PACKET
RESERVED
BUFFER 0 FULL
BUFFER 1 FULL
ENDPOINT STALLED
004aaa056
The Read Last Transaction Status command is followed by one data read that returns
the status of the last transaction of the endpoint. This command also resets the
corresponding interrupt flag in the interrupt register, and clears the status, indicating
that it was read.
This command is useful for debugging purposes. Since it keeps track of every
transaction, the status information is overwritten for each new transaction.
Fig 13. Read last transaction status register.
Table 9:Read last transaction status register: bit allocation
BitSymbolDescription
7PREVIOUS STATUS
6DATA 0/1 PACKETA ‘1’ indicates the last successful received or sent packet
5SETUP PACKETA ‘1’ indicates the last successful received packet had a
4 to 1ERROR CODESee Table 10 “Error codes”.
0DATA
See Table 9 for bit allocation.
NOT READ
RECEIVE/TRANSMIT
SUCCESS
PDIUSBD12
USB interface device with parallel bus
A ‘1’ indicates a second event occurred before the
previous status was read.
had a DATA1 PID.
SETUP token (this will always read ‘0’ for IN buffers).
A ‘1’ indicates data has been received or transmitted
successfully.
Table 10: Error codes
Error
code (Binary)
0000No Error
0001PID encoding Error; bits 7 to 4 are not the inversion of bits 3 to 0
0010PID unknown; encoding is valid, but PID does not exist
0011Unexpected packet; packet is not of the type expected (= token, data or
0100Token CRC Error
0101Data CRC Error
0110Time Out Error
0111Never happens
1000Unexpected End-Of-Packet
1001Sent or received NAK
1010Sent Stall, a token was received, but the endpoint was stalled
9397 750 08969
Product dataRev. 07 — 27 November 200118 of 36
Description
acknowledge), or SETUP token to a non-control endpoint
The Read Buffer command is followed by a number of data reads, which returns the
contents of the selected endpoint data buffer. After each read, the internal buffer
pointer is incremented by 1.
The buffer pointer is not reset to the top of the buffer by the Read Buffer command.
This means that reading or writing a buffer can be interrupted by any other command
(except for Select Endpoint).
The data in the buffer are organized as follows:
• byte 0: reserved; can have any value
• byte 1: number/length of data bytes
• byte 2: data byte 1
• byte 3: data byte 2
• etc.
…continued
Description
space
The first two bytes will be skipped in the DMA read operation. Thus, the first read will
get Data byte 1, the second read will get Data byte 2, etc. The PDIUSBD12 can
determine the last byte of this packetthrough the EOP termination of the USB packet.
The Write Buffer command is followed by a number of data writes, which load the
endpoints buffer. The data must be organized in the same way as described in the
Read Buffer command. The first byte (reserved) should always be ‘0’.
During DMA write operation, the first two bytes will be bypassed. Thus, the first write
will write into Data byte 1, the second write will write into Data byte 2, etc. For
non-isochronous transfer (bulk or interrupt), the buffer should be completely filled
before the data is sent to the host and a switch to the next buffer occurs. The
exception is at the end of DMA transfer indicated by activation of EOT_N, when the
current buffer content (completely full or not) will be sent to the host.
Remark: There is no protection against writing or reading over a buffer’s boundary or
against writing into an OUT buffer or reading from an IN buffer. Any of these actions
could cause an incorrect operation. Data in an OUT bufferare only meaningful after a
successful transaction. The exception is during DMA operation on the main endpoint
(endpoint 2), in which case the pointer is automatically pointed to the second buffer
after reaching the boundary (double buffering scheme).
11.3.7 Clear buffer
Code (Hex) — F2
Transaction — none
When a packet is received completely, an internal endpoint buffer full flag is set. All
subsequent packets will be refused by returning a NAK. When the microcontroller has
read the data, it should free the buffer by the Clear Buffer command. When the buffer
is cleared, new packets will be accepted.
11.3.8 Validate buffer
Code (Hex) — FA
Transaction — none
When the microprocessor has written data into an IN buffer, it should set the buffer
full flag by the Validate Buffer command. This indicates that the data in the buffer are
valid and can be sent to the host when the next IN token is received.
PDIUSBD12
USB interface device with parallel bus
11.3.9 Set endpoint status
Code (Hex) — 40 to 45
Transaction — write 1 byte
A stalled control endpoint is automatically unstalled when it receives a SETUP token,
regardless of the content of the packet. If the endpoint should stay in its stalled state,
the microcontroller can re-stall it.
When a stalled endpoint is unstalled (either by the Set Endpoint Status command or
by receiving a SETUP token), it is also re-initialized. This flushes the buffer and if it is
an OUT buffer it waits for a DATA 0 PID, if it is an IN buffer it writes a DATA 0 PID.
Even when unstalled, writing Set Endpoint Status to ‘0’ initializes the endpoint.
The arrival of a SETUP packet flushes the IN buffer and disables the Validate Buffer
and Clear Buffer commands for both IN and OUT endpoints.
The microcontroller needs to re-enable these commands by the Acknowledge Setup
command. This ensures that the last SETUP packet stays in the buffer and no packet
can be sent back to the host until the microcontroller has acknowledged explicitly that
it has seen the SETUP packet.
The microcontroller must send the Acknowledge Setup command to both the IN and
OUT endpoints.
11.4 General commands
11.4.1 Send resume
Code (Hex) — F6
Transaction — none
Sends an upstream resume signal for 10 ms. This command is normally issued when
the device is in suspend. The RESUME command is not followed by a data read or
write.
PDIUSBD12
USB interface device with parallel bus
11.4.2 Read current frame number
Code (Hex) — F5
Transaction — read 1 or 2 bytes
This command is followed by one or two data reads and returns the frame number of
the last successfully received SOF. The frame number is returned Least Significant
byte first.
[1] Bit 7 of Clock division factor byte of Set mode command (see Table 6).
[2] Bit 5 of Set DMA command (see Table 7).
[3] Normal interrupts from Interrupt Register.
13. Limiting values
Table 12: Limiting values
In accordance with the Absolute Maximum Rating System (IEC 60134).
SymbolParameterConditionsMinMaxUnit
V
CC
V
I
I
latchup
V
esd
T
stg
P
tot
[1] Equivalent to discharging a 100 pF capacitor via a 1.5 kΩ resistor.
[2] Values are given for device only; in-circuit V
PDIUSBD12
USB interface device with parallel bus
[1]
INTERRUPT PIN MODE
supply voltage−0.5+6.0V
input voltage−0.5VCC + 0.5 V
latchup currentVI< 0 or VI>V
electrostatic discharge
ILI<1µA
CC
voltage
storage temperature−60+150°C
total power dissipationVCC= 5.5 V−95mW
= ±8000 V.
esd(max)
[2]
Interrupt types
−100mA
[1][2]
−±2000V
[3]
[3]
Table 13: Recommended operating conditions
SymbolParameterConditionsMinMaxUnit
V
CC1
DC supply voltage
(Main mode)
V
CC2
DC supply voltage
(Alternate mode)
apply V
pin only
apply V
and V
V
CC
CC1
CC2
to V
to both
out3.3
CC
4.05.5V
3.03.6V
pins
V
I
V
I/O
V
AI/O
DC input voltage05.5V
DC input voltage for I/O05.5V
DC input voltage for
Table 16: AC characteristics (AI/O pins; FULL speed)
[1]
CL= 50 pF; RPU= 1.5 kΩ on D+ to VCC; unless otherwise specified.
Symbol ParameterConditionsMinMaxUnit
Driver characteristics
t
R
t
F
t
RFM
V
CRS
rise time10% to 90%420ns
fall time10% to 90%420ns
rise/fall time matching (tR/tF)90110%
output signal crossover voltage1.32.0V
Driver timings
t
EOPT
t
DEOP
source EOP widthsee Figure 16160175ns
differential data to EOP transition skewsee Figure 16−2+5ns
Receiver timings:
t
JR1
t
JR2
t
EOPR1
receiver data jitter tolerance to next transition−18.5 +18.5 ns
receiver data jitter tolerance for paired transitions−9+9ns
EOP width at receivermust reject as EOP;
[2]
40-ns
see Figure 16
t
EOPR2
EOP width at receivermust accept as EOP;
[2]
82−ns
see Figure 16
[1] Test circuit, see Figure 22.
[2] Characterized but not implemented as production test. Guaranteed by design.
t
PERIOD
DIFFERENTIAL
DATA LINES
CROSSOVER POINT
DIFFERENTIAL DATA TO
SEO/EOP SKEW
N * t
PERIOD
+ t
DEOP
CROSSOVER POINT
EXTENDED
SOURCE EOP WIDTH: t
RECEIVER EOP WIDTH: t
EOPT
EOPR1
, t
EOPR2
SV00837
Fig 16. Differential data-to-EOP transition skew and EOP width.
ALE HIGH pulse width20−ns
address valid to ALE LOW time10−ns
ALE LOW to Address transition time−10ns
CS_N (DMACK_N) LOW to WR_N LOW time0
[1]
−ns
WR_N HIGH to CS_N (DMACK_N) HIGH time5−ns
A0 Valid to WR_N LOW time0
[1]
130
−ns
[2]
-ns
WR_N HIGH to A0 transition time5−ns
WR_N LOW pulse width20−ns
write data setup time30−ns
write data hold time10−ns
write cycle time500
[3]
−ns
write command to write data600-ns
CS_N (DMACK_N) LOW to RD_N LOW time0
[1]
130
−ns
[2]
-ns
RD_N HIGH to CS_N (DMACK_N) HIGH time5−ns
A0 Valid to RD_N LOW time0
[1]
−ns
RD_N LOW pulse width20−ns
RD_N LOW to Data Driven time−20ns
RD_N HIGH to Data Hi-Z time−20ns
read cycle time500
[3]
−ns
write command to read data600-ns
[1] Can be negative.
[2] For DMA access only on the module 64th byte and the second last (EOT-1)byte.
[3] The tWC and tRC timings are valid for back-to-back data access only.
DMACK_N HIGH to DMREQ HIGH time−330ns
RD_N/WR_N HIGH to DMACK_N HIGH time130−ns
DMREQ HIGH to RD_N/WR HIGH time120−ns
EOT_N LOW pulse widthsimultaneous DMACK_N,
10-ns
RD_N/WR_N and EOT_N
LOW time
Burst DMA timings
t
SLRL
t
RHNDV
RD_N/WR_N LOW to DMREQ LOW time-40ns
RD_N (only) HIGH to next data valid−420ns
18.1 Introduction to soldering surface mount packages
This text gives a very brief insight to a complex technology. A more in-depth account
of soldering ICs can be found in our
Packages
There is no soldering method that is ideal for all surface mount IC packages. Wave
soldering can still be used for certain surface mount ICs, but it is not suitable for fine
pitch SMDs. In these situations reflow soldering is recommended.
18.2 Reflow soldering
Reflow soldering requires solder paste (a suspension of fine solder particles, flux and
binding agent) to be applied to the printed-circuit board by screen printing, stencilling
or pressure-syringe dispensing before package placement.
Several methods exist for reflowing; for example, convection or convection/infrared
heating in a conveyor type oven. Throughput times (preheating, soldering and
cooling) vary between 100 and 200 seconds depending on heating method.
PDIUSBD12
USB interface device with parallel bus
Data Handbook IC26; Integrated Circuit
(document order number 9398 652 90011).
Typical reflow peak temperatures range from 215 to 250 °C. The top-surface
temperature of the packages should preferable be kept below 220 °C for thick/large
packages, and below 235 °C small/thin packages.
18.3 Wave soldering
Conventional single wave soldering is not recommended for surface mount devices
(SMDs) or printed-circuit boards with a high component density, as solder bridging
and non-wetting can present major problems.
To overcome these problems the double-wave soldering method was specifically
developed.
If wave soldering is used the following conditions must be observed for optimal
results:
• Use a double-wave soldering method comprising a turbulent wave with high
upward pressure followed by a smooth laminar wave.
• For packages with leads on two sides and a pitch (e):
– larger than or equal to 1.27 mm, the footprint longitudinal axis is preferred to be
parallel to the transport direction of the printed-circuit board;
– smaller than 1.27 mm, the footprint longitudinal axis must be parallel to the
transport direction of the printed-circuit board.
The footprint must incorporate solder thieves at the downstream end.
• For packages with leads on four sides, the footprint must be placed at a 45° angle
to the transport direction of the printed-circuit board. The footprint must
incorporate solder thieves downstream and at the side corners.
During placement and before soldering, the package must be fixed with a droplet of
adhesive. The adhesive can be applied by screen printing, pin transfer or syringe
dispensing. The package can be soldered after the adhesive is cured.
Typical dwell time is 4 seconds at 250 °C. A mildly-activated flux will eliminate the
need for removal of corrosive residues in most applications.
18.4 Manual soldering
Fix the component by first soldering two diagonally-opposite end leads. Use a low
voltage (24 V or less) soldering iron applied to the flat part of the lead. Contact time
must be limited to 10 seconds at up to 300 °C.
When using a dedicated tool, all other leads can be soldered in one operation within
2 to 5 seconds between 270 and 320 °C.
18.5 Package related soldering information
Table 19: Suitability of surface mount IC packages for wave and reflow soldering
[1] All surface mount (SMD) packages are moisture sensitive. Depending upon the moisture content, the
maximum temperature (with respect to time) and body size of the package, there is a risk that internal
or external package cracks may occur due to vaporization of the moisture in them (the so called
popcorn effect). For details, refer to the Drypack information in the
Circuit Packages; Section: Packing Methods
[2] These packages are not suitable for wave soldering. On versions with the heatsink on the bottom
side, the solder cannot penetrate between the printed-circuit board and the heatsink. On versions with
the heatsink on the top side, the solder might be deposited on the heatsink surface.
[3] If wave soldering is considered, then the package must be placed at a 45° angle to the solder wave
direction. The package footprint must incorporate solder thieves downstream and at the side corners.
[4] Wave soldering is only suitable for LQFP, QFP and TQFP packages with a pitch (e) equal to or larger
than 0.8 mm; it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.65 mm.
[5] Wave soldering is only suitable forSSOP and TSSOP packages with a pitch (e) equal to or larger than
0.65 mm; it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.5 mm.
• Made the following changes in Table 18 “AC characteristics (DMA)”:
– Parameter ‘DMACK_N HIGH to DMREQ HIGH time’ changed the Max value from 550 to
330.
– Removed the timings tWA and t
– Added the timing t
– Changed the Min value of t
– Removed the timing t
– Section ‘Burst DMA timings’ changed Parameters and their values.
– Added the timing t
06 20010423Product specification; version 6. Supersedes PDUIUSBD12_5 of 19990108
Objective dataDevelopmentThis data sheet contains data from the objectivespecification for product development.Philips Semiconductors
Preliminary dataQualificationThis data sheet contains data from the preliminary specification. Supplementary data will be published at a
Product dataProductionThis data sheet contains data from the product specification. Philips Semiconductors reserves the right to
[1] Please consult the most recently issued data sheet before initiating or completing a design.
[2] The product status of the device(s) described in this data sheet may have changed since this data sheet was published. The latest information is available on the Internet at
URL http://www.semiconductors.philips.com.
[1]
Product status
21. Definitions
Short-form specification — The data in a short-form specification is
extracted from a full data sheet with the same type number and title. For
detailed information see the relevant data sheet or data handbook.
Limiting values definition — Limiting values given are in accordance with
the Absolute Maximum Rating System (IEC 60134). Stress above one or
more of the limiting values may cause permanent damage to the device.
These are stress ratings only and operation of the device at these or at any
other conditions above those given in the Characteristics sections of the
specification is not implied. Exposure to limiting values for extended periods
may affect device reliability.
Application information — Applications that are described herein for any
of these products are for illustrative purposes only. Philips Semiconductors
make no representation or warranty that such applications will be suitable for
the specified use without further testing or modification.
22. Disclaimers
Life support — These products are not designed for use in life support
appliances, devices, or systems where malfunction of these products can
reasonably be expected to result in personal injury. Philips Semiconductors
[2]
Definition
reserves the right to change the specification in any manner without notice.
later date. Philips Semiconductors reserves the right to change the specification without notice, in order to
improve the design and supply the best possible product.
make changes at any time in order to improve the design, manufacturing and supply. Changes will be
communicated according to the Customer Product/Process Change Notification (CPCN) procedure
SNW-SQ-650A.
customers using or selling these products for use in such applications do so
at their own risk and agree to fully indemnify Philips Semiconductors for any
damages resulting from such application.
Right to make changes — Philips Semiconductors reserves the right to
make changes, without notice, in the products, including circuits, standard
cells, and/or software, described or contained herein in order to improve
design and/or performance. Philips Semiconductors assumes no
responsibility or liability for the use of any of these products, conveys no
licence or title under any patent, copyright, or mask work right to these
products, andmakes no representations or warrantiesthat these products are
free from patent, copyright,or mask work right infringement, unless otherwise
specified.
23. Trademarks
ACPI — is an open industry specification for PC power management,
co-developed by Intel Corp., Microsoft Corp. and Toshiba
GoodLink — is a trademark of Koninklijke Philips Electronics N.V.
OnNow — is a trademark of Microsoft Corp.
SoftConnect — is a trademark of Koninklijke Philips Electronics N.V.
Contact information
For additional information, please visit http://www.semiconductors.philips.com.
For sales office addresses, send e-mail to: sales.addresses@www.semiconductors.philips.com.Fax: +31 40 27 24825
All rights are reserved. Reproduction in whole or in part is prohibited without the prior
written consent of the copyright owner.
The information presented in this document does not form part of any quotation or
contract, is believed to be accurate and reliable and may be changed without notice. No
liability will be accepted by the publisher for any consequence of its use. Publication
thereof does not convey nor imply any license under patent- or other industrial or
intellectual property rights.
Date of release: 27 November 2001Document order number: 9397 750 08969
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.