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

Chapter 17: 2.0 Hubs During LS/FS Transactions

Each start split packet is followed by an OUT token packet. The OUT token delivered during the first start split of the transaction sequence is the token packet that the transaction translator will send to the target device. The OUT token that is sent with the second and subsequent start split transactions is used as a tag to match the correct entry in the Start Split Buffer.

The OUT token packet is followed by a DATA0 packet with a data payload of 188 bytes or less. The host generates CRC16 for each packet sent and the HighSpeed Handler checks CRC16.

Start-Split Transaction Received with No Errors. If the start split

transaction sequence is received without errors, the High-Speed Handler enters the transaction into the Start Split Buffer.

Start-Split Transaction with Errors. The High-Speed Handler tracks

incoming start split transaction during isochronous OUT transactions to ensure that data is being delivered on schedule. Once the SSplit begin is successfully received by the transaction translator, and an entry is made in the Start Split Buffer, the transaction is committed. In order for the transaction to continue, data must be delivered by the host during each successive microframe. If a packet in a start-split transaction is missed or if a CRC error has been detected, the handler notifies the Full-Speed Handler of the error and it forces a bit-stuff- ing error into the packet being transmitted to report the error to the isochronous endpoint.

Once the High-Speed handler has detected an error, it must ignore additional SSplit middle and SSplit end transactions to the same endpoint until the next SSplit begin or SSplit all is detected, indicating a new transaction has begun.

Split isochronous OUT transactions do need a complete split transaction because USB provides no verification of data delivery or retries during isochronous transactions.

Handling CRC16 During Split Isochronous OUT Transactions

Isochronous OUT transactions targeting full-speed endpoints may have packets as large as 1023 bytes. These large data packets are delivered to the transaction translator in chunks of 188 bytes during each microframe. The host generates CRC16 for each of these high-speed data packets and the High-Speed Handler within the transaction translator checks the CRC. When the Full-Speed Handler transfers the packet, it must generate CRC16 for the entire packet.

315

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