Designing Hardware for QuickUSB
Pipeline I/O Model
This I/O model implements a one-stage read pipeline. It performs transfers
without regard to the readiness of the target hardware. This model is suitable
for hardware that is always ready and that can transfer data as fast as the host
can deliver it. With this I/O model, the data is transferred one clock cycle after
the transfer is made via REN or WEN.
This I/O model is implemented in the QuickUSB firmware file
‘quickusb-pipe1 vX.XX.qusb’ where X.XX is the firmware version number.
The Pipeline I/O model is designed to provide the highest possible data rate
possible with hardware handshaking.
AS A RESULT, THERE ARE CERTAIN INVALID TRANSFER LENGTHS THAT MAY
RESULT IN A FATAL SOFTWARE ERROR WHICH MAY CRASH YOUR COMPUTER.
The simplest valid transfer length calculation is to request data transfer lengths
in multiples of 512 bytes for Hi-Speed mode or 64 bytes for Full-Speed mode.
For applications that cannot use this simplified method, see the Notes section
below.
Command Transfers
IFCLK
IFCLK
Addr0
X
t
XGD
CMD_DATA
CTL0
REN
CTL1
WEN
CTL2
nREN
CTL3
nWEN
CTL4
nOE
CTL5
GPIFADR
GPIFADR
FD
PB, PD
Name
Pin
Z
Data0
Write Cycle
X
Z
nEMPTY
RDY0
nFULL
RDY1
X
X
t
IFCLK
t
XCTL
t
SGA
Signifies QuickUSB Write to
the Data Bus
t
XCTL
t
XCTL
IFCLK
IFCLK
Addr0
X
t
DAH
CMD_DATA
CTL0
REN
CTL1
WEN
CTL2
nREN
CTL3
nWEN
CTL4
nOE
CTL5
GPIFADR
GPIFADR
FD
PB, PD
Name
Pin
Z
Data0
Read Cycle
X
Z
nEMPTY
RDY0
nFULL
RDY1
X
X
t
IFCLK
t
XCTL
t
SGD
t
SGA
Signifies QuickUSB Read
from the Data Bus
t
XCTL
t
XCTL
14
High Speed Parallel Port