CHAPTER 12 USB FUNCTION CONTROLLER (USBF)
Preliminary User’s Manual U19014EJ1V0UD
332
(7) UF0 bulk in 1 register (UF0BI1)
The UF0BI1 register is a 64-byte
×
2 FIFO that stores data for Endpoint1. 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 no data is in the FIFO on the SIE side (counter value = 0)
and when the FIFO on the CPU side is correctly written (FIFO full or BKI1DED bit = 1).
This register is write-only, in 8-bit units. When this register is read, 00H is read.
The hardware transmits data to the USB bus in synchronization with the IN token for Endpoint1 only when the
BKI1NK bit of the UF0EN register is set to 1 (when NAK is not transmitted). The address at which data is to be
written or read is managed by the hardware. Therefore, FW can transmit data to the host only by writing the
data to the UF0BI1 register sequentially. A short packet is transmitted when data is written to the UF0BI1
register and the BKI1DED bit of the UF0DEND register is set to 1 (BKIN1 bit of UF0EPS0 register = 1 (data
exists)). A Null packet is transmitted when the UF0BI1 register is cleared and the BKI1DED bit of the
UF0DEND register is set to 1 (BKIN1 bit of the UF0EPS0 register = 1 (data exists)). When the register
correctly transmits the data, a FIFO toggle operation occurs. As a result, the BKI1DT bit of the UF0IS2 register
is set to 1, and an interrupt request is issued to the CPU.
BKI17
UF0BI1
BKI16
5
BKI15
BKI14
3
BKI13
2
BKI12
1
BKI11
BKI10
Address
FF0EH
After reset
Undefined
0
4
6
7
Bit position
Bit name
Function
7 to 0
BKI17 to
BKI10
These bits store data for Endpoint1.
The operation of the UF0BI1 register is illustrated below.
electronic components distributor