User manual

P
R
E
L
I
M
I
N
A
R
Y
T
E
C
H
N
I
C
A
L
D
A
T
A
P
R
E
L
I
M
I
N
A
R
Y
T
E
C
H
N
I
C
A
L
D
A
T
A
This information applies to a product under development. Its characteristics and specifications are subject to change with-
out notice. Analog Devices assumes no obligation regarding future manufacturing unless otherwise agreed to in writing.
27REV. PrA
For current information contact Analog Devices at (781) 461-3881
ADSP-2192October 2000
4. Configuration specifies which endpoints are used (and
their definitions). A typical configuration for ADSL
appears in Table 21.
5. The user-defined driver downloads USB configuration
for interface 2, which is the FAX modem. Configura-
tion specifies which endpoints are used and their
definitions. A typical configuration for FAX appears in
Table 22.
6. The user-defined driver now writes the USB Config
Register, which causes the device to disconnect and
reconnect. The system enumerates all interfaces and
loads the appropriate drivers.
7. ADSL driver downloads code to DSP for ADSL ser-
vice. DSP also initializes the USB Endpoint
Description Register, DSP Memory Buffer Base Addr
Register, DSP Memory Buffer Size Register, DSP
Memory Buffer RD Pointer Offset, and DSP Memory
Buffer WR Pointer Offset registers for each endpoint.
Endpoints can only be used when these registers have
been written. ADSL service is now available.
8. FAX driver downloads code to DSP for FAX service.
DSP also initializes the USB Endpoint Description
Register, DSP Memory Buffer Base Addr Register,
DSP Memory Buffer Size Register, DSP Memory
Buffer RD Pointer Offset, and DSP Memory Buffer
WR Pointer Offset registers for each endpoint. End-
points can only be used when the above registers have
been written. FAX service is now available.
ADSP-2192 USB Data Pipe Operations
All data transactions involving the generic endpoints (4-11)
stream data into and out of the DSP memory via a dedi-
cated USB hardware block. This hardware block manages
all USB transactions for these endpoints and serves as a
conduit for the data moving to and from the DSP memory
FIFOs. There is no MCU involvement in the management
of these data pipes.
The USB data FIFOs for these generic endpoints exist in
DSP memory space. For each endpoint, there exist the fol-
lowing memory buffer registers:
Base Address (18 bits)
Size (16 bits) - Offset from the Base Address
Read Offset (16 bits) - Offset from the Base Address
Write Offset (16 bits) - Offset from the Base Address
As part of initialization, the DSP code sets up these FIFOs
before USB data transactions for these endpoints can begin.
DSP memory addresses cannot exceed 18 bits (0x000000 -
0x03FFFF). When setting up these USB FIFOs,
Base+Size/Read Off-set/ Write Offset cannot be greater
than 18 bits.
The DSP memory interface on the ADSP-2192 only allows
reads/writes of 16-bit words. It cannot handle byte transac-
tions. Therefore, a 64 byte maxpacketsize means 32 DSP
words. A single byte cannot be transferred to/from the DSP.
Endpoint 0 does not have this limitation. Since these FIFOs
exist in DSP memory, the DSP shares some pointer man-
agement tasks with the USB core. For OUT transactions,
the write pointer is controlled by the USB core, while the
read pointer is governed by the DSP. The opposite is true
for IN transactions.
Both the write and read pointers for each memory buffer
would start off at zero. All USB buffers operate in a circular
fashion. Once a pointer reaches the end of the buffer, it will
need to be set back to zero.
OUT Transactions (Host -> Device)
When an OUT transaction arrives for a particular endpoint,
the USB core calculates the difference between the write
and read pointers to determine the amount of room avail-
able in the FIFOs. If all of the OUT data arrives and the
write pointer never catches up to the read pointer, that data
is Backed and the USB core updates the Memory Buffer
Write Offset register.
If at any time during the transaction the two pointers col-
lide, the USB block responds with a NAK indicating that
the host must re-send the same data packet; in that case, the
write pointer remains unchanged.
Table 21. Typical Configuration for ADSL Modem
End
Point
Ty p e
Max
Packet
Comment
1BULK OUT64DSP CODE
4BULK IN64ADSL RCV
5BULK OUT64ADSL XMT
6INT IN 16STATUS
Table 22. Typical Configuration for FAX Modem
End
Point
Ty p e
Max
Packet
Comment
2BULK OUT64DSP CODE
7BULK IN64FAX RCV
8BULK OUT64FAX XMT
9INT IN 16STATUS