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

Chapter 17: 2.0 Hubs During LS/FS Transactions

Figure 17-6: Split Token Packet Definition

 

 

Type Field

 

 

Check Field

Hub Address

SC Port Address S E

ET

CRC

 

lsb

 

 

msb

lsb

 

 

msb

lsb

msb

 

lsb

msb

 

msb

lsb

Sync

0

0

0

1

1

1

1

0

Addr0

Addr6

 

Addr0

Addr6 0 0

1 0

4

0

Idle

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EOP

 

 

 

 

 

 

 

 

 

 

 

 

 

< <

 

 

 

 

 

SPLIT Token PID

 

SSplit = 0

FS = 0

SSplit Mid = 00

 

Control = 00

 

 

 

 

 

 

 

 

CSplit = 1

LS = 1

SSplit End = 01

Isochronous = 01

 

 

 

 

 

 

 

 

 

 

 

 

SSplit Begin = 10

 

 

Bulk = 10

 

 

 

 

 

 

 

 

 

 

 

 

SSplit All = 11

 

Interrupt = 11

 

 

 

 

 

 

 

 

 

 

 

1RWH (QFRGLQJ DERYH GHILQHG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IRU )6 ,VRFK 287 66SOLWV

 

 

The Transaction Translator

The transaction translator is operational when the hub attaches to a high-speed port and any of the hub’s downstream facing ports have a lowor full-speed device attached. The routing logic establishes the packet flow from the transaction translator to the lowand full-speed ports.

During operation, the transaction translator decodes all high-speed packets from the host to detect the SPLIT token packets. The transaction translator then checks the hub address field of each SPLIT token packet to determine if it is being targeted by this split transaction. The resulting low-speed or full-speed transaction is then performed with the target device.

The transaction translator contains all of the split transactions currently in process for ports associated with this hub. Each split transaction is tracked by the transaction translator, and when complete, buffer entries are released for use by the next split transaction.

The Major Elements of the Transaction Translator

Figure 17-7 on page 298 illustrates the major elements of the transaction translator. The sections describe each element within the transaction translator and discuss their primary jobs.

297

USB System Architecture

High-Speed Handler

The high-speed handler interfaces the transaction translator to the upstreamfacing port when it is operating at high-speed. The high-speed handler is responsible for:

•performing packet error checks (including CRC) on the high-speed split transactions received from the host.

•generating CRC for certain packets being sent to the host.

•storing the start-split transactions into either the Start-Split Buffer (for isochronous and interrupt) or the Bulk/Control Buffer.

•fetching data or status information from the Complete-Split Buffer or the Control/Bulk Buffer in response to a complete-split transaction issued by the host.

Figure 17-7: Major Elements Within Transaction Translator

 

 

 

 

 

 

 

8SVWUHDP 3 R U W

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+LJK 6SHHG +DQGOHU

 

 

 

 

 

 

287

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,1

 

 

287

,1

 

 

 

 

 

,VRFK ,QWHUUXSW

 

,VRFK ,QWHUUXSW

 

 

%XON &RQW

 

%XON &RQW

6WDUW VSOLW

 

6SOLW FRPSOHWLRQ

 

 

 

 

%XIIHU

 

 

 

%XIIHU

%XIIHU

 

%XIIHU

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3HULRGLF

 

7UDQVIHUV

 

 

 

 

1RQ SHULRGLF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/RZ 6SHHG )XOO 6SHHG +DQGOHU

'RZQVWUHDP 3RUW

298

Chapter 17: 2.0 Hubs During LS/FS Transactions

Periodic Transfer Start-Split Buffer

This buffer holds the contents of isochronous or interrupt start-split transactions. The buffer is filled by the high-speed handler and read by the low-/full- speed handler. Multiple transactions may be stored in this buffer.

Periodic Complete-Split Buffer

This buffer holds the results of the lowor full-speed transactions: either data or status (except for isochronous). This buffer is filled by the low-/full-speed handler and emptied by the high-speed handler in response to a complete-split transaction. This buffer may also handle multiple entries.

Bulk/Control Buffers

The specification requires a minimum of two of these buffers in each transaction translator. Each Bulk/Control Buffer is used for a single transaction; thus the example in Figure 17-7 would provide the ability to perform only two bulk/ control transactions concurrently. Each buffer stores the start-split and com- plete-split information. The high-speed handler fills the buffer with start splits and the low-/full-speed handler fills the buffer with data or status information. The host fetches the results of the transaction when it issues the complete-split transaction.

Low-Speed/Full-Speed Handler

This handler interfaces the transaction translator to lowand full-speed ports via the router. This handler is responsible for:

•fetching pending start-split transactions from the Start-Split or Bulk/Control Buffer depending on transaction type.

•initiating lowor full-speed transactions as specified by the start-split entries from the buffers.

•fetching the data packet from the Start-Split or Bulk/Control Buffer and sending it to the target device during OUT transactions.

•making entries in the Complete-Split Buffer or the Bulk/Control Buffer when it receives data or status information.

•checking CRC on the packets received from the device.

•generating the CRC for packets that traverse more than one microframe.

•maintaining the correct order when processing requests from the buffers. For example, the LS/FS handler fetches all start-split transactions from the periodic buffers before fetching the start splits from the non-periodic buffers.

299

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