Datasheet

Table Of Contents
Section 15 Universal Serial Bus Interface (USB)
Page 568 of 846 REJ09B0140-0900 Rev. 9.00
Sep 16, 2010
H8S/2215 Group
15.5.8 Isochronous–In Transfer (Dual-FIFO) (When EP3i Is Specified as Endpoint)
EP3i has two 128-byte (maximum) FIFOs, however the user can perform data transmission and
transmit data writes without being aware of this dual-FIFO configuration.
In isochronous transfer, as a transmission is performed once a frame (1 ms), the hardware
automatically switches FIFOs when the hardware receives the SOF. Even when SOF cannot be
received by an error, enabling the SOF marker function allows the hardware to automatically
switch the FIFOs every 1 ms. In addition, the USB function checks if the valid data of the
previous frame was transferred from the FIFO to the host after SOF has been received. As a result,
if the valid data in the FIFO is not transferred to the host (if the host does not return an IN token or
if an IN token error has occurred), the USB regards it as EP3i IN token not received and sets the
EP3iTF bit of UIFR1 to 1.
Two FIFOs are switched when the SOF is received, the FIFO used to transfer data to the host
differs from the FIFO to which the firmware writes transmit data. Accordingly, no contention
occurs between one FIFO read and the other FIFO write. The data to be written by the firmware is
transferred to the host in the next frame. As two FIFOs are automatically switched when the SOF
is received, data must be written within a single frame.
The USB function transfers data to the host if the FIFO contains data to be sent to the host after an
IN token has been received. If the FIFO contains no data, the USB function sets the TR flag to 1
and sends 0-byte data to the host.
The firmware first calls the isochronous transfer process routine by the SOF interrupt and checks
the time stamp. The firmware then writes 1-packet data to the FIFO and this 1-packed data is sent
to the host in the next frame.