PRELIMINARY
TECHNICAL
DATA
PRELIMINARY
TECHNICAL
DATA
For current information contact Analog Devices at (781) 461-3881
ADSP-2192 October 2000
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.
26 REV. PrA
Since there are three possible interfaces supported, each
interface has its own DSP download addr ess and uses its
own BULK pipe to download code. The driver for each
interface must set the download address before beginning
to use the BULK pipe to download DSP code. The down-
load address will auto-increment as each byte of data is sent
on the BULK pipe to the DSP.
DSP instructions are three bytes long, and USB BULK
pipes have even-number packet sizes. The instructions to be
downloaded must be formatted into four-byte groups with
the least significant byte always zero. The USB interface
strips off the least significant byte and formats the DSP
instruction properly before writing it into the program
memory. For example, to write the three-byte opcode
0x400000 to DSP program memory, the driver sends
0x40000000 down the BULK pipe.
The following example illustrates the proper order of com-
mands and synchronizing that the driver must follow.
1. Device enumerates with two interfaces. Each interface
has the capability to download DSP code and can ini-
tiate at any time.
2. The driver for interface 1 begins code download by
sending the USB REGIO (Write) command with the
starting download address.
The driver must wait for this command to finish before
starting code download.
3. The driver for interface 2 begins code download by
sending the USB REGIO (Write) command with the
starting download address.
The driver must wait for this command to finish before
starting code download.
4. Each driver now streams the code t o be downloaded to
the DSP: driver 1 onto BULK EP1 for interface 1, and
driver 2 onto BULK EP2 for interface 2. The code is
written to the DSP in 3-byte instructions starting at the
location specified by the USB REGIO (Write) com-
mand. The driver must wait for each command to
finish before sending a new code downloa d address.
5. If there is more code to be downloaded at a different
starting address, the driver begins the entire sequence
again, using steps 1-4.
General Comments:
DSP code download is only available after the
ADSP-2192 has re-enumerated using the MCU soft
firmware. The DSP code download command will not
be available in the MCU boot ROM for the default
CONFIG device.
After setting the download addresses using the USB
REGIO (Write) command, code download can be ini-
tiated for any length using normal BULK traffic.
Example Initialization Process
After attachment to the USB bus, the ADSP-2192 identifies
itself as a CONFIG device with one endpoint(s), which
refers to its one control, EP0. This will cause a generic
user-defined CONFIG driver to load.
The CONFIG driver downloads appropriate MCU code to
setup the MCU, which includes the specific device descrip-
tors, interfaces, a nd endpoints.
The ext ern al Se ria l EEPR OM is r ead b y the DSP an d tra ns-
ferred to the MCU. The CONFIG driver through the
control EP0 pipe generates a register read to determine the
configuration value. Based on thi s configuration code, the
host downloads the proper USB configurations to the
MCU.
Finally the driver writes the USB Control Register, causing
the device to disconnect and then reconnect so the new
downloaded configuration is enumerated by the system.
Upon enumeration, each interface loads the appropriate
device driver.
An example of this procedure is configuring the
ADSP-2192 to be an ADSL modem and a FAX modem.
1. ADSP-2192 device is attached to USB bus. System
enumerates the CONFIG device in the ADSP-2192
first. A user-defined driver is loaded.
2. The user-defined driver reads the device descriptor,
which identifies the card as an ADSL/FAX modem.
3. The user-defined driver downloads USB configuration
and MCU code to the MCU for interface1, which is
the ADSL modem.
3 wValue (H) 1 XXX Address <8:15>
4 wIndex (L) 1 0x00
5 wIndex (H) 1 0x00
6 wLength (L) 1 0x02 Length = 02 bytes
7 wLength (H) 1 0x00
Table 20. USB REGIO (Register Read) (Continued)
Offset Field Size Value Description