Скачиваний:
32
Добавлен:
02.05.2014
Размер:
3.51 Mб
Скачать

Chapter 8

 

Wire Adapter

Wireless Universal Serial Bus Specification, Revision 1.0

8.5.5 HWA Isochronous Transfers

To start an isochronous transfer to a Wireless USB device connected downstream of a Host Wire Adapter, host software uses the same basic transfer request mechanism described for bulk, control and interrupt requests. The only additional information sent is the isochronous packet Information. Isochronous transfer requests to an HWA use the Isochronous Transfer Request as shown in Table 8-57. This request type allows large transfers to be segmented into multiple smaller transfers to avoid RPipe buffer overflow on the Host Wire Adapter. The host will send the number of service intervals that this transfer request describes in dwNumOfPackets field. The host will send the amount of data to be transferred in each service interval in a Packet Length array immediately after the Transfer Request. The format of this Isochronous Packet Information is shown in Table 8-58.

Further, in the case of OUT transfers, the request, packet information and the data are sent as consecutive transactions. This allows the Host Wire Adapter to receive and interpret the request first and prepare for data allocation.

Table 8-57. Isochronous Transfer Request

Offset

Field

Size

Value

 

Description

 

 

 

 

 

0

bLength

1

14H

Length of this request

 

 

 

 

 

1

bRequestType

1

82H

REQUEST_TYPE_ISOCHRONOUS – indicates a

 

 

 

 

Isochronous transfer

 

 

 

 

 

2

wRPipe

2

Number

RPipe this transfer is targeted to

 

 

 

 

 

4

dwTransferID

4

Number

Host-assigned ID for this transfer

 

 

 

 

 

8

dwTransferLength

4

Number

Amount of data following for an OUT transfer or the

 

 

 

 

maximum amount of returned data for an IN transfer

 

 

 

 

 

 

12

bTransferSegment

1

Bitmap

Bit

Description

 

 

 

 

6:0

Segment Number

 

 

 

 

7

Last Segment

 

 

 

 

 

 

13

bReserved

1

Number

Reserved

 

 

 

 

 

 

14

wPresentationTime

2

Number

For OUT transfers, this is the wPresentationTime of

 

 

 

 

the first Wireless USB packet sent by the HWA. See

 

 

 

 

Table 5-2

 

 

 

 

 

For IN transfers, this is the Wireless USB Channel

 

 

 

 

time by which the transfer must be completed.

 

 

 

 

 

16

dwNumOfPackets

4

Number

Number of Packet Lengths following

 

 

 

 

 

 

Table 8-58. Isochronous Packet Information

Offset

Field

Size

Value

Description

 

 

 

 

 

0

wLength

2

Number

Length of this block of data

 

 

 

 

 

1

bPacketType

1

A0H

ISO_PACKET_INFORMATION_TYPE

 

 

 

 

 

2

bReserved

1

Zero

Reserved for future use, must be zero.

 

 

 

 

 

4

PacketLength[n]

Variable

Array

The length of data to be sent/received in each

 

 

 

 

service interval. Each array element is a word in size.

 

 

 

 

 

A Host Wire Adapter uses the isochronous data header format as described in Section 5.1 in the protocol chapter to communicate with Wireless USB isochronous endpoints.

Note: A DWA uses native isochronous wireless endpoints to support downstream wired isochronous endpoints. Therefore, the HWA performs no special handling for a DWA that supports an isochronous endpoint.

252

Chapter 8

 

Wire Adapter

Wireless Universal Serial Bus Specification, Revision 1.0

8.5.5.1 HWA Isochronous OUT Responsibilities

An HWA must aggregate HWA Isochronous Packet data into the largest packets that can be sent to the Wireless USB isochronous endpoint. It must not split data from a single HWA Isochronous Packet across multiple over- the-air packets.

Presentation times for over-the-air isochronous packets are calculated based on the wPresentationTime value in the transfer request and the bInterval value in the RPipe descriptor. The bOverTheAirInterval specified in the RPipe descriptor determines the rate at which the Wireless USB Isochronous endpoint must be serviced.

Figure 8-10 illustrates a Wireless USB Isochronous OUT data stream through an HWA. The illustration is organized with time flowing from left to right and data flow from top to bottom, where the top illustrates a Isochronous transfer request to the HWA Data Transfer Write endpoint, down through the HWA RPipe buffer and finally over the Wireless USB channel to the recipient endpoint.

The host sends an Isochronous Transfer Request (containing the Wireless USB presentation time), the Packet Information and the data destined for the Wireless USB endpoint. Once it has all the data for this transfer request, the HWA will start sending the data to the downstream endpoint. The format of the Wireless USB packet is the standard Wireless USB isochronous data format. In this example, the rate at which the Wireless USB endpoint is serviced is set to 4.096 ms and the interval between the segments in that packet is set to 1ms. The Wireless USB endpoint has a wMaxPacketSize of 1000 bytes (corresponds to the Packet length in the Packet Information) with wOverTheAirPacketSize set to 2048 (wMaxPacketSize in the RPipe Descriptor). The Isochronous Transfer Request describes a buffer with 32ms worth of data.

In this example, the HWA starts sending the data to the Wireless USB packets before the presentation for that data. It sends at least 2 Wireless USB packets every 4.096ms. Each packet contains 2 segments of a 1000 each as per the packetization information present in the Isochronous Transfer Request. The HWA uses the wPresentationTime in the Isochronous Transfer Request as the wPresentationTime in the first Wireless USB Packet. The HWA uses the bInterval field in the RPipe descriptor to calculate the wPresentationTime in subsequent Wireless USB Packets sent to the endpoint. Once the HWA has sent all the data to the Wireless USB endpoint it sends a Transfer Result along with Packet Status information back to the host on the Data Transfer Read endpoint.

 

 

Packet

 

 

 

 

 

 

 

 

 

 

 

Transfer

 

Packet

Transfer Request

 

 

 

Data - 1

 

 

 

Data - 2

 

 

Data - 3

 

Information

 

 

 

 

 

 

 

 

Result

 

Status

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WUSB Isoch Data Packet (n)

 

 

WUSB Isoch Data Packet (n+1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W-HDR

 

2

 

1280

 

1000

 

Data - 1

 

 

1000

 

Data - 2

 

 

 

W-HDR

 

2

 

1296

 

1000

Data - 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1216

1224

1232

1240

1248

Figure 8-10. Wireless USB Isochronous OUT Data Stream through an HWA

The HWA is responsible for discarding packets as described in Section 4.11.9 if the current Wireless USB Channel time has exceeded the presentation time of a packet that the HWA has been unable to transmit. The HWA must not attempt to transmit a packet whose presentation time has expired.

The HWA must set the HWA Isochronous Packet Status for each HWA Isochronous Packet.

253

Соседние файлы в папке Wireless USB Specification Revision 1.0 May 12, 2005