
USB DEVICE CONTROLLER
M66290AGP/FP
MITSUBISHI <DIGITAL ASSP>
20
(3) Control transfer / Enumeration
In control transfer, there are setup stage, data stage,
and status stage.
M66290A manages stage and inform CPU the stage
shift by interrupt. CPU do stage transact of control
transfer according to the interrupt factor.
Setup stage
In setup stage, 8Bytes request (setup data) of setup
transaction data packet which transferred from host
is stored into four registers automatically (Request,
Value, Index, and Length register).
Except for device state shift request (Set Address and
Set Configuration) which can cope with by the automatic
response control function, analysis (decode) and
execution of contents of request must be done by CPU.
By executing the request, it proceeds to data stage or
to status stage.
Data stage
Data stage executes IN transaction or OUT transaction
according to the contents of request. If it is control
write transfer, data stage is OUT transaction and CPU
prepares for data receive at the timing of interrupt in
setup stage and reads the received data from endpoint
FIFO when data receive ended.
USB bus connect
Full speed
device recognition
Clock ON
Initializing
Tr ON
Vbus interrupt
USB reset
USB reset receive
DVST interrupt
USB request
(Control transfer)
Get xx command
CTRT interrupt
Set response data
USB request
Set Address
CTRT/DVST interrupt
(Automatic response available)
USB request
Get xx command
CTRT interrupt
Set Configuration
CTRT/DVST interrupt
(Automatic response available)
USB request
USB request
Set xx command
CTRT interrupt
Set response data
Read received data
Default
state
Address
state
Configured
state
Idle
(Powered)
If it is control read transfer, data stage is IN transaction
and CPU prepares for data transmit (write into endpoint
FIFO) at the timing of interrupt in setup stage.
M66290A is equipped with control transfer continuous
transmit and receive function. After ended data stage,
it proceeds to status stage.
M66290A
Device firmware
Device state
Figure 3. Abstract of enumeration operations
Status stage
Status stage executes receive/transmit of Null data
(data length 0), in both control write and control read
transfer. Receive/transmit of Null data is possible to
set control transfer complete enable bit (CCPL) after
ended setup stage.
Control transfer complete enable bit is reset when
received setup packet.
Control transfer executes data transfer using EP0.
To both control read and control write, buffer size of
EP0 can be set by a unit of 64Bytes by "Control
Transfer Control Register".
Access to EP0_FIFO data register must be done by
CPU access. DMA transfer can not be set.
Figure 3. shows the abstract of enumeration
operations.