
36
MAX3421E Programming Guide
HRSL Register
HRSLT[3:0]
SNDTOGRD, RCVTOGRD
Meaning:
These bits indicate the results of a host transfer:
HRSLT[3:0]
indicate the result code.
SNDTOGRD
and
RCVTOGRD
indicate the resulting data toggle values for
OUT and IN transfers, respectively.
Mode:
Host only
The SIE sets and clears these bits.
Programming Notes
The SIE updates these bits at completion of a host transfer. The CPU reads the HRSL register
after receiving the HXFRDNIRQ or after polling the HRSL register and reading an HRSLT
value other than hrBUSY. The HRSLT bits indicate the result of the host transfer, as shown in
Table 6. HRSLT[3:0] Codes
HSRLT Label
Meaning
0x00
hrSUCCESS
Successful Transfer
0x01
hrBUSY
SIE is busy, transfer pending
0x02
hrBADREQ
Bad value in HXFR reg
0x03
hrUNDEF
(reserved)
0x04
hrNAK
Peripheral returned NAK
0x05
hrSTALL
Perpheral returned STALL
0x06
hrTOGERR
Toggle error/ISO over-underrun
0x07
hrWRONGPID Received the wrong PID
0x08
hrBADBC
Bad byte count
0x09
hrPIDERR
Receive PID is corrupted
0x0A
hrPKTERR
Packet error (stuff, EOP)
0x0B
hrCRCERR
CRC error
0x0C
hrKERR
K-state instead of response
0x0D
hrJERR
J-state instead of response
0x0E
hrTIMEOUT
Device did not respond in time
0x0F
hrBABBLE
Device talked too long
The SNDTOGRD (for an OUT transfer) and RCVTOGRD (for an IN transfer) indicate the data
toggle values resulting from the transfer. The CPU should read and store these values whenever
it finishes a consecutive sequence of transfers to the same endpoint. Doing this allows the CPU
to restore the toggle value the next time the CPU transfers data to the same endpoint. The CPU
initializes the endpoint toggle value using the SNDTOG0/1 and RCVTOG0/1 bits in the HCTL
register (page