4 host controller responsibilities, 1 usb states, 2 frame management – Cirrus Logic EP93xx User Manual

Page 448: 3 list processing, 4 host controller responsibilities -8

Advertising
background image

11-8

DS785UM1

Copyright 2007 Cirrus Logic

Universal Serial Bus Host Controller
EP93xx User’s Guide

1

1

1

1

11

11.2.4 Host Controller Responsibilities

This section summarizes the Host Controller (HC) responsibilities.

11.2.4.1 USB States

There are four USB states defined in OpenHCI: UsbOperational, UsbReset, UsbSuspend,
and UsbResume. The Host Controller puts the USB bus in the proper operating mode for
each state.

11.2.4.2 Frame Management

The Host Controller keeps track of the current frame counter and the frame period. At the
beginning of each frame, the Host Controller generates the Start of Frame (SOF) packet on
the USB bus and updates the frame count value in system memory. The Host Controller also
determines if enough time remains in the frame to send the next data packet.

11.2.4.3 List Processing

The Host Controller operates on the Endpoint Descriptors and Transfer Descriptors
enqueued by the Host Controller Driver.

For interrupt and isochronous transfers, the Host Controller begins at the Interrupt Endpoint
Descriptor head pointer for the current frame. The list is traversed sequentially until one
packet transfer from the first Transfer Descriptor of all interrupt and isochronous Endpoint
Descriptors scheduled in the current frame is attempted.

For bulk and control transfers, the Host Controller begins in the respective list where it last left
off. When the Host Controller reaches the end of a list, it loads the value from the head
pointer and continues processing. The Host Controller processes n control transfers to 1 bulk
transfer where the value of n is set by the Host Controller Driver.

When a Transfer Descriptor completes, either successfully or due to an error condition, the
Host Controller moves it to the Done Queue. Enqueuing on the Done Queue occurs by
placing the most recently completed Transfer Descriptor at the head of the queue. The Done
Queue is transferred periodically from the Host Controller to the Host Controller Driver via the
HCCA.

Advertising