English
Language : 

SAM4L Datasheet, PDF (358/1185 Pages) ATMEL Corporation – ATSAM ARM-based Flash MCU
42023C–SAM–02/2013
ATSAM4L4/L2
• The control and status fields for the pipe and bank (Pn_CTR_STA_BK0/1):
Table 17-6. Pn_CTR_STA_BK0/1 structure
31:19
-
18
17
Status
UNDERF OVERF
16
CRCERR
15:0
Control
-
– UNDERF: Underflow status for isochronous/Interrupt IN transfers. This status bit is
set by hardware at the current bank (where the IN packet should have been stored).
When a new successful transaction occurs this bit is overwritten to zero if
UPSTAX.ERRORFI has previously been cleared by software. See ”Data flow error”
on page 362.
– OVERF: Overflow status for isochronous/interrupt OUT transfers. This status bit is
set by hardware at the current bank (where the OUT packet should have been
loaded). When a new successful transaction occurs this bit is overwritten to zero if
UPSTAX.ERRORFI has previously been cleared by software. See ”Data flow error”
on page 362.
– CRCERR: CRC error status for isochronous IN transfers. See ”CRC error” on page
362.
• The control and status 1 of endpoint n (Pn_CTR_STA1):
Table 17-7. Pn_CTR_STA1 structure
31:24
-
23:16
Status
PERSTA
15:12
PERMAX
11:8
7
Control
PEPNUM
-
6:0
PDADDR
– PERSTA: Pipe Error Status. See “PERSTA structure” table.
– PERMAX: Should be set by the user. If the Pipe Error Counter (see Figure 17-8 on
page 358) is larger than PERMAX, the UPSTAX.PERRI bit is set.
– PEPNUM: Should be set by the user. Endpoint number for this pipe.
– PDADDR: Should be set by the user. Device address for this pipe.
Table 17-8. PERSTA structure
23:21
ERCNT
20
19
CRC16ER TOUTER
18
PIDER
17
DAPIDER
16
DTGLER
This field can be cleared by software. To avoid read-modify-write issues, the user should: freeze
the pipe, wait until the UPSTAX.PFREEZE is one, clear the PERSTA field in memory, and then
unfreeze the pipe.
– ERCNT: Pipe Error Counter.
– CRC16ER: Is set if a CRC16 error occurs during an isochronous IN transaction.
– TOUTER: Is set if a Time-out error occurs during a USB transaction.
– PIDER: Is set if a PID error occurs during a USB transaction.
– DAPIDER: Is set if a Data PID error occurs during a USB transaction.
358