701
32072H–AVR32–10/2012
AT32UC3A3
CURRBK: Current Bank
This bit is set for non-control endpoints, to indicate the current bank:
This field may be updated one clock cycle after the RWALL bit changes, so the user should not poll this field as an interrupt bit.
NBUSYBK: Number of Busy Banks
This field is set to indicate the number of busy banks:
For IN endpoints, it indicates the number of banks filled by the user and ready for IN transfer. When all banks are free, this
triggers an EPnINT interrupt if NBUSYBKE is one.
For OUT endpoints, it indicates the number of banks filled by OUT transactions from the host. When all banks are busy, this
triggers an EPnINT interrupt if NBUSYBKE is one.
When the FIFOCON bit is cleared (by writing a one to the FIFOCONC bit) to validate a new bank, this field is updated two or
three clock cycles later to calculate the address of the next bank.
An EPnINT interrupt is triggered if:
- for IN endpoint, NBUSYBKE is one and all the banks are free.
- for OUT endpoint, NBUSYBKE is one and all the banks are busy.
ERRORTRANS: High-bandwidth isochronous OUT endpoint transaction error Interrupt
This bit is set when a transaction error occurs during the current micro-frame (the data toggle sequencing does not respect the
usb 2.0 standard). This triggers an EPnINT interrupt if ERRORTRANSE is one.
This bit is set as long as the current bank (CURRBK) belongs to the bad n-transactions (n=1,2 or 3) transferred during the
micro-frame. Shall be cleared by software by clearing (at least once) the FIFOCON bit to switch to the bank that belongs to the
next n-transactions (next micro-frame).
Look at the UFEATURES register to know if the high-bandwidth isochronous feature is supported by the device.
DTSEQ: Data Toggle Sequence
This field is set to indicate the PID of the current bank:
For IN transfers, it indicates the data toggle sequence that will be used for the next packet to be sent. This is not relative to the
current bank.
CURRBK
Current Bank
00
Bank0
01
Bank1
1
0
Bank2 if supported
11
Reserved
NBUSYBK
Number of Busy Banks
0
0 (all banks free)
01
1
10
2
1
3 if supported
DTSEQ
Data Toggle Sequence
00
Data0
01
Data1
1
0
Data2 (for high-bandwidth isochronous endpoint)
1
MData (for high-bandwidth isochronous endpoint)