TMP92CZ26A

92CZ26A-424

(a-2) Receiving bulk mode
Below is transaction format rece iving bulk transfer type. It ha s to fo llow below.
Token: OUT
Data: DATA0/DATA1
Handshake: ACK, NAK, STALL
Control flow
Below is control-flow when UDC receive IN t ok en.
1. Token packet is received and address endpoint number error is confirmed, and it
checks whether conform applicable endpoint transfer mode with OUT token. If it
doesn’t conf orm, state return to IDLE.
2. Condition of status register is confirmed.
INVALID condition: State return to IDLE.
STALL condition: When dataphase finish, stall handshake is returned
and state return to IDLE, and data is canceled.
FIFO condition is confirm ed, if data number of 1 packet is not prepared, present
transferred data is canceled, NAK handshake is returned after dataphase, and
state return to IDLE.
3. Data packet is received.
Data is transferred from SIE of internal UDC to FIFO. At this point, it confirms
transferred data number. And if there is more than max payload size of each
endpoint, STATUS become to STALL and state return to IDLE. ACK handshake
doesn’t return.
4. After last data was transferred, and compare counted CRC with transferred CRC.
If it doesn’ t conform, it sets STATUS to RX_ERR and state return to IDLE. At t his
point it doesn’ t return ACK.
After retry, when n ext d ata is receiv ed norm ally, STATUS changes to DATIN. If it
doesn’t accord data toggle, it was judged don’t take ACK in last loading. And now
loading is regard ed retry of last loading and d ata cancel. Set ST ATUS as RX_ERR,
return to host and return IDLE. FIFO address pointer returns. And it can be
received next data.
5. If CRC compare with toggle and it finished norm ally, ACK hands hake is returned.
Bellow is process in UDC.
Set transfer data number to DATASIZE register.
Set DATASET register.
Renew toggle bit, and prepare for next.
Set STATUS to READY.
UDC finishes normally.
This flow is Figure 3.16.8.