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

Chapter 17: 2.0 Hubs During LS/FS Transactions

Periodic Split Transaction Pipeline

Figure 17-18 illustrates the split-transaction pipeline associated with periodic transfers. This pipeline is designed to handle multiple periodic transactions, limited of course by the amount of buffer space provided. The major elements of the pipeline include: the high-speed handler, the start-split transaction buffer, the low-speed handler, and the complete-split buffer. The following discussion describes the flow of a typical full-speed interrupt split transaction through the pipeline elements.

Figure 17-18: Periodic Split Transaction Pipeline

6WDUW

&RPSOHWH

+DQGOHU

+DQGOHU

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

66 ),)2

 

&6 ),)2

 

 

 

 

 

 

 

 

/6 )6 +DQGOHU

/6 )6 'HYLFH

High Speed Handler Receives Start Split

The transaction translator detects a start-split transaction and checks for packet errors. If a packet error is detected, the packet is discarded. The transaction translator verifies whether this start-split transaction is intended for this hub by checking the hub address and port number. If this hub is being targeted by the start split, then the transaction is accepted.

311

USB System Architecture

Start-Split Buffer

The Start-Split Buffer holds information from the start-split transaction that is necessary for the transaction translator to perform the requested transaction. This information includes the:

destination port number.

speed of the transaction.

transfer type (isochronous or interrupt).

token packet.

data (for OUT transactions).

The Start-Split Buffer may also hold multiple start-split transactions, but the transaction translator must perform transactions in the order in which they were received from the host. The transaction translator also fetches and performs all start-split transactions from the Start-Split Buffer prior to fetching transactions from the Bulk/Control Buffer.

Low-Speed/Full-Speed Handler

The low-speed/full-speed Handler fetches start-split transactions from the Start-Split Buffer and initiates the periodic transaction on the specified port. Note that the low-speed handler deals only with interrupt transactions, because isochronous transactions are full-speed only. The handler may also generate CRC16 as the data payload is being transferred to the port during an interrupt or isochronous OUT transaction.

The handler also accepts data or handshake packets that are returned by the target endpoint and transfers them into the Complete-Split Buffer. During IN transactions the, handler performs CRC checks on the data packet.

Complete-Split Buffer

This buffer stores completion status for OUTs and data for INs. It is filled by the low-/full-speed handler and emptied by the high-speed handler. Like the StartSplit Buffer, this buffer may also have multiple entries.

312

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