AT85C51SND3Bx
•
•
•
•
First, Pipe/Endpoint 0 to Pipe/Endpoint 5 are configured, in the growing order. The
memory of each is reserved in the DPRAM.
Then, the Pipe/Endpoint 3 is disabled (EPEN=0), but its memory reservation is
internally kept by the controller.
Its ALLOC bit is cleared: the Pipe/Endpoint 4 “slides” down, but the Pipe/Endpoint 5
does not “slide”.
Finally, if the firmware chooses to reconfigure the Pipe/Endpoint 3, with a bigger
size. The controller reserved the memory after the endpoint 2 memory and
automatically “slide” the Pipe/Endpoint 4. The Pipe/Endpoint 5 does not move and a
memory conflict appear, in that both Pipe/Endpoint 4 and 5 use a common area.
The data of those endpoints are potentially lost.
Notes: 1. the data of Pipe/Endpoint 0 are never lost whatever the activation or deactivation of
the higher Pipe/Endpoint. Its data is lost if it is deactivated.
2. Deactivate and reactivate the same Pipe/Endpoint with the same parameters does
not lead to a “slide” of the higher endpoints. For those endpoints, the data are
preserved.
3. CFGOK is set by hardware even in the case that there is a “conflict” in the memory
allocation.
PAD suspend
Figure 55 and Figure 56 illustrate the pad behaviour:
•
•
In the “idle” mode, the pad is put in low power consumption mode.
In the “active” mode, the pad is working.
Figure 55. Pad Behaviour State Machine
USBE=1
& DETACH=0
& suspend
Idle mode
USBE=0
| DETACH=1
| suspend
Active mode
The SUSPI flag indicates that a suspend state has been detected on the USB bus. This
flag automatically puts the USB pad in Idle state. The detection of a non-idle event sets
the WAKEUPI flag and wakes-up the USB pad.
Figure 56. Pad Behavior Waveforms
Suspend detected
pad => Idle state
Clear Suspend by software
SUSPI
Resume detected
pad => Active state
Clear Resume by software
WAKEUPI
Pad Status
Active
Idle
Active
Moreover, the pad can also be put in the “idle” mode if the DETACH bit is set. It come
back in the active mode when the DETACH bit is cleared.
91
7632A–MP3–03/06