Intel® IXP400 Software

Access-Layer Components: USB Access (ixUSB) API

Endpoint 0, by default, is used only to communicate control transactions to configure the UDC after it is reset or hooked up (physically connected to an active USB host or hub). Endpoint 0’s responsibilities include:

Connection

Endpoint configuration

Disconnect

Address assignment

Bus enumeration

 

The USB protocol uses differential signaling between the two pins for half-duplex data transmission. A 1.5-KΩ pull-up resistor is required to be connected to the USB cable’s D+ signal to pull the UDC+ pin high when polarity for data transmission is needed.

Using differential signaling allows multiple states to be transmitted on the serial bus. These states are combined to transmit data, as well as various bus conditions, including: idle, resume, start of packet, end of packet, disconnect, connect, and reset.

USB transmissions are scheduled in 1-ms frames. A frame starts with a SOF (Start-Of-Frame) packet and contains USB packets. All USB transmissions are regarded from the host’s point of view: IN means towards the host and OUT means towards the device.

22.3.1Packet Formats

USB supports four packet types:

Token

Handshake

Data

Special

A token packet is placed at the beginning of a frame, and is used to identify OUT, IN, SOF, and SETUP transactions. OUT and IN frames are used to transfer data., SOF packets are used to time isochronous transactions, and SETUP packets are used for control transfers to configure endpoints. An IN, OUT and SETUP token packet consists of a sync, a PID, an address, an endpoint, and a CRC5 field.

For OUT and SETUP transactions, the address and endpoint fields are used to select which UDC endpoint is to receive the data, and for an IN transaction, which endpoint must transmit data. A PRE (Preamble) PID precedes a low-speed (1.5 Mbps) USB transmission. The UDC supports full- speed (12 Mbps) USB transfers only. PRE packets signifying low-speed devices are ignored as well as the low-speed data transfer that follows.

Table 50. IN, OUT, and SETUP Token Packet Format

8 Bits

8 Bits

7 Bits

4 Bits

5 Bits

 

 

 

 

 

Sync

PID

Address

Endpoint

CRC5

 

 

 

 

 

A Start Of Frame (SOF) is a special type of token packet that is issued by the host at a nominal interval of once every 1 ms +/- 0.0005 ms. SOF packets consist of a sync, a PID, a frame number (which is incremented after each frame is transmitted), and a CRC5 field, as shown in Table 51. The presence of SOF packets every 1ms prevents the UDC from going into suspend mode.

Table 51. SOF Token Packet Format

8 Bits

8 Bits

11 Bits

5 Bits

 

 

 

 

Sync

PID

Frame Number

CRC5

 

 

 

 

April 2005

IXP400 Software Version 2.0

Programmer’s Guide

298

Document Number: 252539, Revision: 007

 

Page 298
Image 298
Intel IXP400 manual Packet Formats, Access-Layer Components USB Access ixUSB API, IN, OUT, and Setup Token Packet Format