Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
USB System Architecture (USB 2.0).pdf
Скачиваний:
201
Добавлен:
03.05.2015
Размер:
7 Мб
Скачать
☆

Chapter 12: HS Transfers, Transactions, & Scheduling

Figure 12-4: Minimum and Maximum Packet Sizes for High-Bandwidth Transactions

1 transaction, 1-1024 bytes:

Data

 

 

2 transactions, 513 - 1024 bytes ea.: Data ,9,

Transfer size = 1026 to 2048 Bytes (based on full packets)

3 transactions, 683 - 1024 bytes ea.: Da Data Data

Transfer size = 2049 to 3072 Bytes (based on full packets)

Isochronous High-Bandwidth Scheduling and Protocol

During normal isochronous transactions the endpoint always uses the DATA0 packet for each frame. However, high bandwidth isochronous transactions use two or three transactions during a single microframe. Specific data packet sequences permit detection of a dropped or damaged packet during the frame. The data packet sequence is created by using two new data packet types defined by USB 2.0 and is discussed later in this chapter.

The host controller issues the number of transactions per microframe that is specified in the MaxPacketSize field of the endpoint descriptor. However, processing errors within the host may result in less than the maximum number of transactions being issued in a given microframe. The general requirements of the host and endpoint are described below:

•Each transaction during the microframe must have a maximum-sized data payload (specified by the endpoint descriptor) if enough data is available.

•When the amount of data available is less than the maximum packet size for the endpoint, this short packet will be the last packet of the current microframe.

•The host may issue consecutive transactions to a high-bandwidth endpoint with or without other transactions scheduled in between.

251

USB System Architecture

High-Bandwidth Isochronous IN Transactions. The data packet

sequence returned by the endpoint during a high-bandwidth isochronous IN transaction is illustrated in Figure 12-5. The first data packet specifies the number of data packets that will be returned during the sequence, with DATA0 always being the last data packet sent during each frame. The same sequence continues during each successive frame until the transfer ends.

The host also treats short packets (less than maximum packet size) as the end of the current high-bandwidth isochronous transfer and consequently the end of the IN transaction sequence. The last transaction of a multiple frame transfer may result in a single Data0 packet being issued during the final frame of the transfer. This can occur when the amount of data to be transferred is not aligned on the high-bandwidth data size.

Figure 12-5: Data Packet Sequence Used During High-Bandwidth

Isochronous IN Transactions

,VRFKURQRXV ,

WUDQVDFWLRQ

,9,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WUDQVDFWLRQ

,9,

 

,9,V

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WUDQVDFWLRQ

,9,

 

,9,V

 

 

,9,

 

 

 

 

 

 

 

High-Bandwidth Isochronous OUT Transactions. The data packet

sequence required during isochronous OUT transactions is illustrated in Figure 12-6 on page 253. This sequence begins with the MDATA packet when another data packet will follow. The last data packet in the sequence reports the number of packets that have been sent previously.

The host controller must issue the number of transactions required to transfer the data provided. Each transaction must use the maximum packet size specified by the endpoint descriptor, if enough data is available.

252

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]