Data Structures; Figure 11-3. Typical List Structure - Cirrus Logic EP93 Series User Manual

Arm 9 embedded processor family
Table of Contents

Advertisement

Universal Serial Bus Host Controller
EP93xx User's Guide

11.2.2.2 Data Structures

The basic building blocks for communication across the interface are the Endpoint Descriptor
(ED) and Transfer Descriptor (TD).
The Host Controller Driver assigns an Endpoint Descriptor to each endpoint in the system.
The Endpoint Descriptor contains the information necessary for the Host Controller to
communicate with the endpoint. The fields include the maximum packet size, the endpoint
address, the speed of the endpoint, and the direction of data flow. Endpoint Descriptors are
11
linked in a list.
A queue of Transfer Descriptors is linked to the Endpoint Descriptor for the specific endpoint.
The Transfer Descriptor contains the information necessary to describe the data packets to
be transferred. The fields include data toggle information, shared memory buffer location, and
completion status codes. Each Transfer Descriptor contains information that describes one or
more data packets. The data buffer for each Transfer Descriptor ranges in size from 0 to 8192
bytes with a maximum of one physical page crossing. Transfer Descriptors are linked in a
queue: the first one queued is the first one processed.
Each data transfer type has its own linked list of Endpoint Descriptors to be processed.
Figure
The head pointers to the bulk and control Endpoint Descriptor lists are maintained within the
operational registers in the HC. The Host Controller Driver initializes these pointers prior to
the Host Controller gaining access to them. Should these pointers need to be updated, the
Host Controller Driver may need to halt the Host Controller from processing the specific list,
update the pointer, then re-enable the HC.
The head pointers to the interrupt Endpoint Descriptor lists are maintained within the HCCA.
There is no separate head pointer for isochronous transfers. The first isochronous Endpoint
Descriptor simply links to the last interrupt Endpoint Descriptor. There are 32 interrupt head
pointers. The head pointer used for a particular frame is determined by using the last 5 bits of
the Frame Counter as an offset into the interrupt array within the HCCA.
The interrupt Endpoint Descriptors are organized into a tree structure with the head pointers
being the leaf nodes. The desired polling rate of an Interrupt Endpoint is achieved by
11-4
11-3, Typical List Structure, is a representation of the data structure relationships.
Head Ptr
ED
TD
TD
TD

Figure 11-3. Typical List Structure

ED
TD
Copyright 2007 Cirrus Logic
ED
ED
TD
TD
TD
DS785UM1

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the EP93 Series and is the answer not in the manual?

Subscribe to Our Youtube Channel

This manual is also suitable for:

Ep9315Ep9301Ep9302Ep9307Ep9312

Table of Contents