Renesas M16C Series User Manual page 214

16-bit single-chip microcomputer
Hide thumbs Also See for M16C Series:
Table of Contents

Advertisement

M30245 Group
Rate Feedback Interrupt Transfer:
In real application, rate feedback interrupt transfer always has data to be transmitted to the host.
Therefore, the device does not repond with NAK to the IN token from the host in this transfer. On
receiving IN token from the host CPU, the IN FIFO data are always transmitted in the current data
sequence bit regardless of the IN_BUF_STS0 and IN_BUF_STS1 values. Except this point, the
transmit operation is the same as the normal interrupt transfer.
When IN token is received from the host CPU while SEND_STALL bit being set to "1", STALL
response is automatically returned. On receiving IN token from the host CPU, the IN FIFO data are
transmitted in the current data sequence bit . On completing one data transmit (on receiving ACK
www.DataSheet4U.com
from the host CPU), the IN FIFO status is updated, data toggle sequence bit is toggled (DATA0
→DATA1 or DATA1→DATA0), and the endpoint x IN interrupt request occurs. At this time, unlike
the normal interrupt transfer, the IN FIFO data are not deleted, which is retained until the next
packet data are updated. When one data transmit has not been unsuccessfully completed (an ACK
not received from the host CPU), the data are re-transmitted in the next IN token (the same data
are transmitted in the same toggle).
(5) Precautions for Transmit
Writing to IN FIFO
Be sure to confirm that there is a space in the IN FIFO before writing data to the IN FIFO in prepara-
tion for packet data to the IN FIFO.
The IN FIFO state is indicated by the IN_BUF_STS1 and the IN_BUF_STS0 flags. Based on these
flags states, determine the count of data packets set in the IN FIFO.
The IN FIFO status (IN_BUF_STS1 and IN_BUF_STS0 flags) is updated when transmit data are
prepared in the IN FIFO (SET_IN_BUF_RDY bit is set to "1"), when transmitting of one data to the
host CPU is completed, or when data inside the IN FIFO have been flushed (AUTO_FLUSH bit or
FLUSH bit has functioned.)
Table 2.8.4. Status on Endpoint 1 to 4 IN FIFOs
IN_BUF_STS1
0
0
1
1
*1: Bits 6 to 9 of EPxIFC.
PID Initialization
When TOGGLE_INIT bit is set to "1", the read/write counter inside the FIFO is initialized. To initialize
the PID, set TOGGLE_INIT bit to "1" in the IN FIFO is empty state (the IN_BUF_STS0 and
IN_BUF_STS1 flags are "00
Rev.2.00 Oct 16, 2006
REJ09B0340-0200
IN_BUF_STS0
[Specify IN FIFO size by the
BUF_SIZ
0
No data
Space equal to one buffer
1
Invalid
0
Invalid
1
One data set in the IN FIFO
No space in the IN FIFO
").
2
page 205 of 354
Single buffer
(The number of bytes specified
by the BUF_SIZ
*1
]
No data
Space equal to two buffer
Invalid
One data set in the IN FIFO
Space equal to one buffer
Two data set in the IN FIFO
No space in the IN FIFO
2. USB function
Double buffer [IN FIFO size =
*1
)
2]

Advertisement

Table of Contents
loading

Table of Contents