USB Host
Send a SETUP
token packet
Send an OUT data
packet (8 bytes)
Receive an ACK
handshake packet
Notes: 1. Set the EP0OTC bit of USECSR0 to 1, initialize FVSR0S, FVSR0I, and FVSR0O, clear the EP0ITS and EP0OTS bits of TSFR0 to 0,
clear the EP0ITF and EP0OTF bits of TFFR0 to 0, and clear the EP0STL bit of EPSTLR0 to 0.
2. Since a USBIA interrupt is only assigned to a SETUP interrupt, interrupt source determination process is not required.
Figure 18.5 Operation on Receiving a SETUP Token (When Decode by the Slave CPU Is
Section 18 Universal Serial Bus Interface (USB)
USB Function Core
Receive a SETUP
token packet
Receive an OUT data
packet (8 bytes)
Command data decode
Check if decode by
the slave CPU is required
or not
Send ACK to
the host
Send ACK to
the slave CPU
Required and When SETICNT = 1)
Core Interface
Automatically set
each flag *
1
Write data to EP0S FIFO
Modify FVSR0S
Request an USBIA
interrupt (SETUPF)
Rev. 3.00 Jan 25, 2006 page 609 of 872
Slave CPU
Initiate the USBIA
interrupt processing
Read USBIFR0 *
2
Read FVSR0S and check
if the EP0S FIFO
contains 8-byte data
Read EPDR0S
Check the instruction
by data decode
Set the EP0OTC bit of
USBCSR0 to 1
(write 1 to EP0OTC after
EP0OTC = 1 was read)
Clear the SETUPF bit of
USBIFR0 to 0
Complete the USBIA
interrupt processing
REJ09B0286-0300