
Page 2
Epson Research and Development
Vancouver Design Center
Errata No. X00Z-P-001-01
X00Z-P-001-01
Issue Date: 2002/08/22
Corrective Action:
There are two software solutions for this occurrence.
Disable USB Receiver before setting the EP4 FIFO Valid bit
The first solution involves disabling the USB receiver to avoid responding to an EP4 IN
packet. During the time the USB receiver is disabled the EP4 FIFO Valid bit is set.
When the local CPU is ready to send data on endpoint 4 the steps to follow are:
1. Disable the USB differential input receiver (REG[4040h] bit 6 = 0)
2. Wait a minimum of 1
s. If needed, delays may be added
3. Enable the EP4 FIFO Valid bit (REG[402Ch] bit 5 = 1)
4. Clear the EP4 Interrupt status bit (REG[4004h] bit 4 = 1)
5. Enable the USB differential input receiver (REG[4040h] bit 6 = 1)
Note
Steps 1 through 5 are time critical and must be performed in less than 6
s.
Note
To comply with “EP4 NAK Status not set correctly in USB Status register”, steps 3 and
4 must be completed within 5
s of each other. For further information on “EP4 NAK
Status not set correctly in USB Status register”, see the S1D13A0x Programming Notes
and Examples, document numbers X36A-G-003-xx, X37A-G-003-xx, and
X40A-G-003-xx.
EP4 FIFO Valid bit set after NAK and before the next IN token.
The second solution is to wait until immediately after the USB has responded to an IN
request with a NAK packet before setting the transmit FIFO valid bit. This solution is
recommended only for fast processors.
When the local CPU is ready to send data on endpoint 4, it must first detect that a NAK
packet has been sent. This is done by reading the EP4 Interrupt Status bit (REG[4004h] bit
4). If the EP4 FIFO Valid bit was not set, the EP4 Interrupt Status bit is set only if a NAK
packet has been sent. When the local CPU detects the NAK it must immediately set the EP4
FIFO Valid bit (before responding to the next IN token).
After filling the EP4 FIFO the steps to follow before setting the EP4 FIFO Valid bit are:
1. Clear the EP4 Interrupt Status bit (REG[4004h] bit 4)
2. Read the EP4 Interrupt Status bit (REG[4004h] bit 4) until it is set
3. Set the EP4 FIFO Valid bit (REG[402Ch] bit 5 = 1)
Note
The setting of the EP4 FIFO Valid bit is time critical. The EP4 FIFO Valid bit must be
set within 3
s after the EP4 Interrupt Status has been set internally by the S1D13A0x.