
IX PERIPHERAL MODULES 7 (USB): USB FUNCTION CONTROLLER (USB)
S1C33E07 TECHNICAL MANUAL
EPSON
IX-1-9
IX
USB
Transaction
This macro hardware executes transactions while its interface provides the firmware with utilities for executing
transactions. The interface to the firmware is implemented through control and status registers as well as
the interrupt signal which is asserted depending on the status. For settings that enable asserting interruption
according to the status, see the section on register description.
The macro issues a status to the firmware for each transaction. However, the firmware does not always have
to control respective transactions. The macro references the FIFO when responding to a transaction and
determines if data transfer is possible based on the number of data or vacancies to automatically handle the
transaction.
For example, for an OUT endpoint, the firmware can smoothly and sequentially process OUT transactions by
reading data from the FIFO region via either the Port interface (EPa, EPb, EPc, EPd) or the CPU interface (EP0,
EPa, EPb, EPc, EPd) to create a space in the FIFO region. On the other hand, for an IN endpoint, the firmware
can smoothly and sequentially process IN transactions by writing data in the FIFO region via either the Port
interface (EPa, EPb, EPc, EPd) or the CPU interface (EP0, EPa, EPb, EPc, EPd) to create valid data.
Table IX.1.4.1.3 lists control items and statuses related to transaction control on the EP0 endpoint.
Table IX.1.4.1.3 Control Items and Statuses for Endpoint EP0
Register/bit
EP0Control.INxOUT
EP0Control.ReplyDescriptor
EP0ControlIN.EnShortPkt
EP0ControlIN.ToggleStat,
EP0ControlOUT.ToggleStat
EP0ControlIN.ToggleSet,
EP0ControlOUT.ToggleSet
EP0ControlIN.ToggleClr,
EP0ControlOUT.ToggleClr
EP0ControlIN.ForceNAK,
EP0ControlOUT.ForceNAK
EP0ControlIN.ForceSTALL,
EP0ControlOUT.ForceSTALL
EP0ControlOUT.AutoForceNAK
MainIntStat.RcvEP0SETUP
EP0IntStat.IN_TranACK,
EP0IntStat.OUT_TranACK,
EP0IntStat.IN_TranNAK,
EP0IntStat.OUT_TranNAK,
EP0IntStat.IN_TranErr,
EP0IntStat.OUT_TranErr
Description
Sets the transfer direction at the data and status
stages.
Activates automatic descriptor return.
Enables transmission of short packets that are under
the maximum packet size. This setting is cleared after
the IN transaction that has transmitted a short packet
is completed.
Indicates the state of the toggle sequence bit.
This setting is automatically initialized by the SETUP
stage.
Sets the toggle sequence bit.
Clears the toggle sequence bit.
Returns a NAK response to IN or OUT transactions
regardless of the number of data or vacancies in the
FIFO region.
Returns a STALL response to IN or OUT transactions.
Sets the EP0Control.ForceNAK bit whenever an OUT
transaction is completed.
Indicates that a SETUP transaction is executed.
Indicates the result of the transaction.
Item
Transaction direction
Enable descriptor return
Enable short packet
transmission
Toggle sequence bit
Set toggle
Clear toggle
Forced NAK response
STALL response
Set automatic ForceNAK
SETUP reception status
Transaction status