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

Chapter 17: 2.0 Hubs During LS/FS Transactions

Interrupt IN Start Split Sequence

Figure 17-25 on page 323 illustrates the packet sequence and possible results of a interrupt IN start-split transaction. If errors are not incurred during the delivery of the transaction, an entry for this transaction is made in the Start Split Buffer and the transaction is performed across the low-/full-speed bus. An error detected in the start-split packet causes the transaction translator to discard the packet without making any entry in the Start Split Buffer. The error will be detected during the complete split sequence.

Figure 17-25: Interrupt IN Start Split Sequence

Start Split

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SSplit Token Packet

 

 

 

 

7UDQVDFWLRQ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HUURU

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IN Token Packet

1R HUURUV

77 DFFHSWV 66

Proceed to

(UURU

77 LJQRUHV

66 WUDQVDFWLRQ

Complete Split

 

 

 

Interrupt IN Complete Split Sequence

The host delivers the complete split transaction to fetch data that has been read from the target devices. This transaction may result in many different responses from the transaction translator depending on completion status of the transaction on the target bus, and on various error conditions. Figure 17-26 illustrates the packet sequence and the possible responses.

323

USB System Architecture

Figure 17-26: Complete Split Transaction Sequence During an Interrupt IN transaction

&RPSOHWH 6SOLW

&6SOLW 7RNHQ 3DFNHW

,1 7RNHQ 3DFNHW

'$7$ 0'$7$ 1<(71$.67$//(55 HUURU

Go to

,VVXH

5HWU\

Retry

(3

LS/FS

next

1H[W &6

&6

SS

6WDOO

Error

&0'

 

 

 

 

 

Complete Split Packet Error. If packet errors are detected within the complete-split transaction, the transaction translator is not invoked and no response is made. Failing to detect a response, the host times out and increments the error count, resulting in two possibilities:

1.if the error count is <3, then the host immediately retries the complete split transaction.

2.if the error count is 3, the host software halts the endpoint.

Complete Split with MDATA. This data packet is returned to indicate that more data is pending transmission to the host from the interrupt endpoint. If the packet is received without errors, the data is accepted and the host issues the next complete-split transaction during the next microframe. If packet errors are detected, the host increments the error count and immediately retries the transaction or halts the endpoint depending on the “three strikes and you’re out” error handling policy.

324

Chapter 17: 2.0 Hubs During LS/FS Transactions

This data packet will never have less than three bytes of data, because two or fewer bytes in the Complete-Split Buffer require the transaction translator to issue the NYET packet. Normally, a split interrupt IN transaction can complete within a single microframe, but it may cross a microframe boundary if the transaction is started by the transaction translator near the end of a microframe. In this case, either NYET or MDATA will be issued to the host.

Complete Split with DATA0/1. The transaction translator returns this packet to tell the host that this is the last data from the endpoint. The possible results and actions of this data transmission include:

1.The transaction is retired and the host advances to the next command when no errors are detected and the data toggle matches.

2.The entire interrupt IN transaction is issued again (start-split is re-sent) in the event that a toggle error is detected by the host. Note that the error count is not incremented.

3.Conditionally, the complete split transaction is immediately retried when the host times out or detects a data packet error. This retry occurs if, after incrementing the error count, the count is <3.

4.The endpoint is halted when the host detects a time-out or data packet error and the error count is 3 after being incremented due to the error.

Complete Split with NYET. This packet is returned to the host when no entry is found within the Complete Split Buffer, or the entry has too little data to transfer. This can occur on the first complete split transaction if the transaction is being performed on the target bus but too little or no data has been accumulated yet. If fewer than three bytes of the low-/full-speed data packet have been received at the end of a microframe, the transaction translator must respond with a NYET to the corresponding high-speed complete split.

Two possible actions are taken by the host when it receives NYET:

1.The host issues the complete split transaction in the next microframe if data transfers are still pending.

2.If the NYET handshake occurs during the final microframe of the 1 ms frame, then the error count is incremented. If the error count is <3, the start-

split transaction is attempted again at the next polling interval. If the error count is 3, the endpoint is halted, and device software is notified.

Complete Split with NAK. This packet is returned to the host by the transaction translator if the low-/full-speed transaction ended with a NAK handshake. This indicates that the endpoint could not return the requested data. The transaction is retired by the transaction translator and the host will

325

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