M66291GP/HP
Rev 1.01 2004.11.01 page 58 of 122
When set to IN buffer (EPi_DIR bit = “1”)
When this bit is set to “0”, the CPU side buffer is ready to write the transmit data.
This bit is cleared to “0” due to one of the reasons as follows:
When set to single buffer mode (EPi_DBLB bit = “0”)
Completes transmitting of SIE side buffer.
Writes “1” to the SCLR bit.
Writes “1” to the ACLR bit.
When set to double buffer mode (EPi_DBLB bit = “1”)
Completes transmitting of SIE side buffer and writing of CPU side buffer.
Writes “1” to the SCLR bit.
Writes “1” to the ACLR bit.
Writes “1” to the BCLR bit.
The transmit completion is changed by the EPi_RWMD bit.
This bit is set to “1” due to one of the reasons as follows:
Completes writing the transmit data to CPU side buffer.
Writes “1” to this bit.
When “1” is written to this bit, the write operation is forcibly completed. When some written
data exists in the buffer, that data is solely transmitted as the short packet. Here, if the
buffer is empty or cleared, the zero-length packet is transmitted. The buffer can be cleared
using the BCLR bit. Further, the zero-length packet can be transmitted by writing “1”
simultaneously to this bit and to the BCLR bit. In this case the buffer is cleared by setting “1”
to BCLR bit, and this bit is cleared to “0” after the zero-length packet is transmitted.
The write completion also is changed by the EPi_RWMD bit.
(3) BCLR (Buffer Clear) Bit (b12)
This bit clears the data written to the CPU side buffer.
When set to OUT buffer (EPi_DIR bit = “0”)
When the IVAL bit is set to “1”, the following operations are executed by writing “1” to this bit:
Clears CPU side buffer.
Clears the IVAL bit of this register.
Clears the CPU_DTLN bits of this register.
When set to IN buffer (EPi_DIR bit = “1”)
When the IVAL bit is set to “0”, the following operations are executed by writing “1” to this bit:
Clears CPU side buffer.
Further, the zero-length packet can be transmitted by writing “1” simultaneously to this bit and to the
IVAL bit. For details, refer to “IVAL bit”.
This bit automatically returns to “0” after the buffer is cleared.
Note:
Refer to “3.2 FIFO Buffer” for CPU/SIE side.
(4) Creq (CPU_FIFO Ready) Bit (b11)
When this bit is equal to “1”, this bit indicates the states as follows:
CPU_FIFO Data Register can not be accessed.
The IVAL bit value of this register is invalid.
The CPU_DTLN bit values of this register are invalid.
Make sure that this bit is equal to “0” before accessing the aforesaid registers/bits.