R01UH0823EJ0100 Rev.1.00
Page 923 of 1823
Jul 31, 2019
RX23W Group
32. USB 2.0 Host/Function Module (USBc)
(b) For the pipe in the receiving direction:
When packet reception is completed successfully thus enabling the FIFO buffer to be read while read-access from
the CPU to the FIFO buffer for the pertinent pipe is disabled (when the BSTS flag is read as 0).
No request trigger is generated for the transaction in which data PID mismatch has occurred.
When one FIFO buffer is read-enabled on completion of reading data from the other FIFO buffer in double buffer
mode.
No request trigger is generated until completion of reading data from the currently-read FIFO buffer even if
reception by the other FIFO buffer is completed.
When the function controller is selected, the BRDY interrupt is not generated in the status stage of control transfers.
The BRDY interrupt status of the pertinent pipe can be set to 0 by writing 0 to the corresponding PIPEnBRDY flag
through software. In this case, 1s should be written to the PIPEnBRDY flags for the other pipes.
Clear the BRDY status before accessing the FIFO buffer.
(2) When the SOFCFG.BRDYM Bit = 0 and the PIPECFG.BFRE Bit = 1
With these settings, the USB generates a BRDY interrupt on completion of reading all data for a single transfer using the
pipe in the receiving direction, and sets 1 to the bit in the BRDYSTS register corresponding to the pertinent pipe.
On any of the following conditions, the USB determines that the last data for a single transfer has been received.
When a short packet including a zero-length packet is received.
When the PIPEn transaction counter register (PIPEnTRN) is used and the number of packets specified by the
PIPEnTRN register are completely received.
When the pertinent data is completely read after any of the above conditions has been satisfied, the USB determines that
all data for a single transfer has been completely read.
When a zero-length packet is received while the FIFO buffer is empty, the USB module determines that all data for a
single transfer has been completely read when the FRDY flag in the FIFO port control register is 1 and the DTLN[8:0]
flags are 0. In this case, to start the next transfer, write 1 to the BCLR bit in the corresponding port control register
through software.
With these settings, the USB does not detect a BRDY interrupt for the pipe in the transmitting direction.
The BRDY interrupt status of the pertinent pipe can be set to 0 by writing 0 to the corresponding
BRDYSTS.PIPEnBRDY flag through software. In this case, 1s should be written to the PIPEnBRDY flags for the other
pipes.
In this mode, the PIPECFG.BFRE bit setting should not be modified until all data for a single transfer has been
processed. When it is necessary to modify the PIPECFG.BFRE bit before completion of processing, all FIFO buffers for
the pertinent pipe should be cleared using the PIPEnCTR.ACLRM bit.