Manual

113
AT89C5131
4136AUSB03/03
USB Controller
Introduction The AT89C5131 implements a USB device controller supporting full speed data trans-
fer. In addition to the default control endpoint 0, it provides 6 other endpoints, which can
be configured in control, bulk, interrupt or isochronous modes:
Endpoint 0:32-byte FIFO, default control endpoint
Endpoint 1, 2, 3: 32-byte FIFO
Endpoint 4, 5: 2 x 64-byte Ping-pong FIFO
Endpoint 6: 2 x 512-byte Ping-pong FIFO
This allows the firmware to be developed conforming to most USB device classes, for
example:
USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport, Revision 1.0 -
December 14, 1998
USB Mass Storage Class Bulk-only Transport, Revision 1.0 - September 31, 1999
USB Human Interface Device Class, Version 1.1 - April 7, 1999
USB Device Firmware Upgrade Class, Revision 1.0 - May 13, 1999
USB Mass Storage Classes
USB Mass Storage Class CBI
Transport
Within the CBI framework, the control endpoint is used to transport command blocks as
well as to transport standard USB requests. One Bulk-out endpoint is used to transport
data from the host to the device. One Bulk-in endpoint is used to transport data from the
device to the host. And one interrupt endpoint may also be used to signal command
completion (protocol 0) but it is optional and may not be used (protocol 1).
The following configuration adheres to these requirements:
Endpoint 0: 8 bytes, Control In-Out
Endpoint 4: 64 bytes, Bulk-out
Endpoint 5: 64 bytes, Bulk-in
Endpoint 3: 8 bytes, Interrupt In
USB Mass Storage Class Bulk-
only Transport
Within the Bulk-only framework, the Control endpoint is only used to transport class-
specific and standard USB requests for device set-up and configuration. One Bulk-out
endpoint is used to transport commands and data from the host to the device. One Bulk-
in endpoint is used to transport status and data from the device to the host. No interrupt
endpoint is needed.
The following configuration adheres to these requirements:
Endpoint 0: 8 bytes, Control In-Out
Endpoint 4: 64 bytes, Bulk-out
Endpoint 5: 64 bytes, Bulk-in
Endpoint 3: not used