In addition to the normally defined USB standard device requests, the following vendor-specific device requests are supported with the use of EP0. These requests are issued from the host driver via normal SETUP transactions on the USB.
Table 8-27. USB MCUCODE (Code Download)
Offset |
Field |
Size |
Value |
Description |
0 |
bmRequest |
1 |
0x40 |
Vendor Request, OUT |
1 |
bRequest |
1 |
0xA1 |
USB MCUCODE |
2 |
wValue (L) |
1 |
XXX |
Address <0:7> |
3 |
wValue (H) |
1 |
XXX |
Address <8:15> |
4 |
wIndex (L) |
1 |
0x00 |
|
5 |
wIndex (H) |
1 |
0x00 |
|
6 |
wLength (L) |
1 |
0xXX |
Length = xx bytes |
7 |
wLength (H) |
1 |
0xXX |
! |
Address <15:0> is the first address where code download begins; the address is incremented automatically after each byte is written. USB MCUCODE is a three-stage control transfer with an OUT data stage. Stage 1 is the SETUP stage, stage 2 is the data stage involving the OUT packet, and stage 3 is the status stage. The length of the data stage is determined by the driver and is specified by the total length of the MCU code to be downloaded.
Table 8-28. USB REGIO (Register Write)
Offset |
Field |
Size |
Value |
Description |
0 |
bmRequest |
1 |
0x40 |
Vendor Request, OUT |
1 |
bRequest |
1 |
0xA0 |
USB REGIO |
2 |
wValue (L) |
1 |
XXX |
Address <0:7> |
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 |
! |
Address <15:15> = 1 indicates a write to the MCU register space, and Address <15:15> = 0 indicates a write to the DSP register space. When accessing DSP register space, the MCU must write the data to be written into the USB Register I/O Data register and write the address to be written to the USB Register I/O Address register. Bit 15 of the USB Register I/O Address register starts the transaction, and bit 14 is set to one to indicate a WRITE. The MCU then polls Bit 15 of the USB Register I/O Address Register looking for a value of 0, which indicates that the write cycle has completed.
USB REGIO (register write) is a three stage control transfer with an OUT data stage. Stage 1 is the SETUP stage, stage 2 is the data stage involving the OUT packet, and stage 3 is the status stage.
Table 8-29. USB REGIO (Register Read)
Offset |
Field |
Size |
Value |
Description |
0 |
bmRequest |
1 |
0xC0 |
Vendor Request, IN |
1 |
bRequest |
1 |
0xA0 |
USB REGIO |
2 |
wValue (L) |
1 |
XXX |
Address <0:7> |
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 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.