CHAPTER 12 USB FUNCTION CONTROLLER (USBF)
Preliminary User’s Manual U19014EJ1V0UD
280
(g) SET_CONFIGURATION() request
If any of wValue, wIndex, or wLength is other than the values shown in Table 12-3, a STALL response is
made in the status stage.
•
Default state:
The CONF bit of the UF0 mode status register (UF0MODS) and the UF0 configuration
register (UF0CNF) are set to 1 if the specified configuration value is 1 when the
SET_CONFIGURATION() request has been received. If the specified configuration
value is 0, the CONF bit of the UF0MODS register and UF0CNF register are cleared
to 0. In other words, the device skips the Addressed state and moves to the
Configured state in which it responds to the Default address.
•
Addressed state: The CONF bit of the UF0MODS register and UF0CNF register are set to 1 and the
device enters the Configured state if the specified configuration value is 1 when the
SET_CONFIGURATION() request has been received. If the specified configuration
value is 0, the device remains in the Addressed state.
•
Configured state: The CONF bit of the UF0MODS register and UF0CNF register are set to 1 and the
device returns to the Addressed state if the specified configuration value is 0 when the
SET_CONFIGURATION() request has been received. If the specified configuration
value is 1, the device remains in the Configured state.
If the SET_CONFIGURATION() request has been correctly processed, the target bit of the UF0 SET
request register (UF0SET) is set to 1, and an interrupt is issued. All Halt Features are cleared after the
SET_CONFIGURATION() request has been completed even if the specified configuration value is the
same as the current configuration value. If the SET_CONFIGURATION() request has been correctly
processed, the data toggle of all endpoints is always initialized to DATA0 again (it is defined that the default
status, Alternative Setting 0, is set from when the SET_CONFIGURATION request is received to when the
SET_INTERFACE request is received).
(h) SET_FEATURE() request
A STALL response is made in the status stage if the SET_FEATURE() request is for a Feature that cannot
be set or does not exist, or if the target is an interface or an endpoint that does not exist. A STALL
response is also made if the wLength value is other than 0.
•
Default state:
The correct response is made when the SET_FEATURE() request has been received,
only if the request is for a device or Endpoint0; otherwise a STALL response is made
in the status stage.
•
Addressed state: The correct response is made when the SET_FEATURE() request has been received,
only if the request is for a device or Endpoint0; otherwise a STALL response is made
in the status stage.
•
Configured state: The correct response is made when the SET_FEATURE() request has been received,
only if the request is for a device or an endpoint that exists; otherwise a STALL
response is made in the status stage.
When the SET_FEATURE() request has been correctly processed, the target bit of the UF0 SET request
register (UF0SET) and the EnHALT bit of the UF0 EPn status register L (UF0EnSL) are set to 1, and an
interrupt is issued (n = 0 to 2).
electronic components distributor