Toshiba H1 Series Network Card User Manual


 
TMP92CZ26A
92CZ26A-424
(a-2) Receiving bulk mode
Below is transaction format receiving bulk transfer type. It has to follow below.
Token: OUT
Data: DATA0/DATA1
Handshake: ACK, NAK, STALL
Control flow
Below is control-flow when UDC receive IN token.
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 conform, 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 confirmed, 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 this
point it doesn’t return ACK.
After retry, when next data is received normally, 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 regarded retry of last loading and data cancel. Set STATUS 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 normally, ACK handshake 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.