CHAPTER 12 USB FUNCTION CONTROLLER (USBF)
Preliminary User’s Manual U19014EJ1V0UD
328
(5) UF0 bulk out 1 register (UF0BO1)
The UF0BO1 register is a 64-byte
×
2 FIFO that stores data for Endpoint2. This register consists of two banks
of 64-byte FIFOs each of which performs a toggle operation and repeatedly connects the buses on the SIE and
CPU sides. The toggle operation takes place when data is in the FIFO on the SIE side and when no data is in
the FIFO on the CPU side (counter value = 0).
This register is read-only, in 8-bit units. A write access to this register is ignored.
When the hardware receives data for Endpoint2 from the host, it automatically transfers the data to the
UF0BO1 register. When the register correctly receives the data, a FIFO toggle operation occurs. As a result,
the BKO1DT bit of the UF0IS3 register is set to 1, the quantity of the received data is held by the UF0BO1L
register, and an interrupt request is issued to the CPU.
Read the data held by the UF0BO1 register by FW, up to the value of the amount of data read by the
UF0BO1L register. When the correct received data is held by the FIFO connected to the SIE side and the
value of the UF0BO1L register reaches 0, the toggle operation of the FIFO occurs, and the BKO1NK bit of the
UF0EN register is automatically cleared to 0. If data greater than the value of the UF0BO1L register is read
and if the FIFO toggle condition is satisfied, the toggle operation of the FIFO occurs. As a result, the next
packet may be read by mistake. Note that, if the toggle condition is not satisfied, the first data is repeatedly
read.
If overrun data is received while data is held by the FIFO connected to the CPU side, Endpoint2 stalls, and the
FIFO on the CPU side is cleared.
When the UF0BO1 register is read while no data is in it, an undefined value is read.
Caution Be sure to read all the data stored in this register.
BKO17
UF0BO1
BKO16
5
BKO15
BKO14
3
BKO13
2
BKO12
1
BKO11
BKO10
Address
FF0DH
After reset
Undefined
0
4
6
7
Bit position
Bit name
Function
7 to 0
BKO17 to
BKO10
These bits store data for Endpoint2.
The operation of the UF0BO1 register is illustrated below.
electronic components distributor