NO:
W90P710 Programming Guide
VERSION:
2.1
PAGE:
94
The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed,
distributed or reproduced without permission from Winbond.
Table No.: 1200-0003-07-A
7 USB Device Controller
7.1 Overview
The USBD controller interfaces the AHB bus and the USB bus. The USB controller contains both
the AHB master interface and AHB slave interface. CPU programs the USB controller through the AHB
slave interface. For IN or OUT transfer, the USBD controller needs to write data to memory or read data
from memory through the AHB master interface. The USBD controller also contains the USB
transceiver to interface the USB.
It consists of four endpoints, designated EP0, EPA, EPB and EPC. Each is intended for a particular
use as described below:
z
EP0: the default endpoint uses control transfer (In/Out) to handle configuration and control
functions required by the USB specification. Maximum packed size is 16 bytes.
z
EPA: designed as a general endpoint. This endpoint could be programmed to be an Interrupt
IN endpoint or an Isochronous IN endpoint or a Bulk In endpoint or Bulk OUT endpoint.
z
EPB: designed as a general endpoint. This endpoint could be programmed to be an Interrupt
IN endpoint or an Isochronous IN endpoint or a Bulk In endpoint or Bulk OUT endpoint.
z
EPC: designed as a general endpoint. This endpoint could be programmed to be an Interrupt
IN endpoint or an Isochronous IN endpoint or a Bulk In endpoint or Bulk OUT endpoint.
The USB controller has built-in hard-wired state machine to automatically respond to USB standard
device request. It also supports to detect the class and vendor requests. For GetDescriptor request and
Class or Vendor command, the firmware will control these procedures.