
EZ-USB FX2 Technical Reference Manual
Page 8-8 EZ-USB FX2 Technical Reference Manual v2.1
8.6.1.4 EP01STAT
The BUSY bits in EP0CS, EP1OUTCS, and EP1INCS (described later in this chapter) are repli-
cated in this SFR; they are provided here in order to allow faster access (via the MOV instruction
rather than MOVX) to those bits.
Three status bits are provided in the EP01STAT register; the status bits are the following:
• EP1INBSY: 1 = EP1IN is busy
• EP1OUTBSY: 1 = EP1OUT is busy
• EP0BSY: 1 = EP0 is busy
8.6.1.5 EP1OUTCS
This register is used to coordinate BULK or INTERRUPT transfers over EP1OUT. The
EP1OUTCS register contains two bits, BUSY and STALL.
BUSY
This bit indicates when the firmware can read data from the Endpoint 1 OUT buffer. BUSY=1
means that the SIE “owns” the buffer, so firmware should not read (or write) the buffer. BUSY=0
means that the firmware may read from (or write to) the buffer. A 1-to-0 BUSY transition asserts
the EP1OUT interrupt request, signaling that new EP1OUT data is available.
BUSY is automatically cleared to 0 after the FX2 verifies the OUT data for accuracy and ACKs the
transfer. If a transmission error occurs, the FX2 automatically retries the transfer; error recovery is
transparent to the firmware.
Firmware arms the endpoint for OUT transfers by writing any value to the byte count register
EP1OUTBC, which automatically sets BUSY=1.
At power-on (or whenever a 0-to-1 transition occurs on the RESET pin), the BUSY bit is set to 0,
so the FX2 will NAK all EP1OUT transfers until the firmware arms EP1OUT by writing any value to
EP1OUTBC.
EZ-USB / EZ-USB FX Programmers:
The power-on state of all FX2 endpoint BUSY bits is zero, in contrast to EZ-USB and EZ-USB FX,
whose BUSY bits for OUT endpoints default to one. This means that FX2 firmware must arm OUT
endpoints prior to using them (EZ-USB and EZ-USB FX accept one OUT transfer before the OUT
endpoint must be armed).
Comentários a estes Manuais