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

Chapter 8

 

Wire Adapter

Wireless Universal Serial Bus Specification, Revision 1.0

8.4.5.2 Port Status Change

A Device Wire adapter must send a Port Status Change notification when the status of a downstream port on the Device Wire Adapter changes. The format of this notification is shown in Table 8-38.

Table 8-38. Port Status Change Notification

Offset

Field

Size

Value

Description

 

 

 

 

 

0

bLength

1

3

Length of this block of data

 

 

 

 

 

1

bNotifyType

1

92H

NOTIFY_TYPE_PORTSTATUS

2

bPortIndex

1

Number

The Index of the Port on which a Port change

 

 

 

 

occurred.

 

 

 

 

 

8.4.6 DWA Isochronous Transfers

When host software wants to get data or send data to an isochronous endpoint connected downstream of a DWA, it will map a wireless USB isochronous endpoint on the DWA isochronous streaming interface to the wired USB endpoint. This mapping is accomplished via the bmAttribute field in the RPipe descriptor. The DWA uses the bInterval field in the RPipe descriptor to determine the frequency with which to service the downstream wired endpoint. The host will service the upstream wireless Isochronous endpoint on the DWA as specified in the bOverTheAirInterval field in the RPipe descriptor. The DWA will accept Wireless USB isochronous data packets on its isochronous endpoints. The DWA interacts with the downstream wired isochronous endpoints such that the upstream wireless isochronous endpoints they are associated with behave like native Wireless USB isochronous endpoints. Note that there is no transfer result or packet status for an isochronous transfer. Data that was read from a downstream connected Isochronous IN endpoint is sent back via its associated Wireless Isochronous endpoint on the DWA.

8.4.6.1 DWA Isochronous OUT Responsibilities

The DWA parses packets received on one of its Wireless USB isochronous OUT endpoints using the Wireless USB isochronous packet header format. The DWA sends the data to the downstream wired isochronous endpoint at the specified (micro)frame based on the information in the packet header and the bInterval value specified in the RPipe descriptor.

Figure 8-8 illustrates a High-speed Isochronous OUT data stream through a DWA. The illustration is organized with time flowing from left to right and data flow from top to bottom, where the top illustrates a packet payload of a Wireless USB transaction to a DWA isochronous endpoint, down through a DWA RPipe buffer and finally over the USB 2.0 bus to the recipient endpoint.

Starting from the top, the host sends an isochronous packet to the isochronous function endpoint on the DWA associated with the particular isochronous stream. The format of the packet is the standard isochronous data format (see Table 5-1and Table 5-2 for the definition details). In this example, it contains 32 isochronous data segments (Data – 1 through Data – 32), each of which translates to a micro-frame data payload over the wire.

The DWA divides the associated RPipe buffer into interval segments, as illustrated in this example into 4ms segments. All of the data received during an interval is placed into the RPipe buffer, organized into data groups of eight isochronous segments. Each group is also annotated with the appropriate presentation time, which is the USB 2.0 frame value during which the DWA must transmit the data group over the wire. It is the responsibility of the host to ensure the isochronous data is sent over the Wireless USB channel in a timely fashion (i.e. before the presentation times of the data become invalid).

233

Chapter 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Wire Adapter

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Wireless Universal Serial Bus Specification, Revision 1.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W-HDR

 

32

 

5216

 

100

 

 

Data - 1

 

 

 

98

 

 

 

Data

 

 

100

 

 

 

Data - 3

 

 

 

 

 

 

 

 

100

 

Data - 32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8 segments each

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WUSB Isoch Data Packet (n)

 

 

 

 

 

 

 

WUSB Isoch Data Packet (n+1)

 

 

 

 

 

 

 

WUSB Isoch Data Packet (n+2)

 

(1 USB 2.0 Frame)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Includes raw data for endpoint

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

plus segmentation info

641

 

642

 

643

 

 

 

 

645

 

646

 

 

647

 

649

 

650

 

 

651

 

 

 

 

 

653

654

655

656

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

652.1

652.2

652.3

652.4

652.5

652.6

652.7

Figure 8-8. High-speed Isochronous OUT Data Stream through a DWA

When the presentation time equals the downstream frame value, the DWA will transmit the isochronous data segments over the wire. As illustrated, the first presentation time was 5216 (Wireless USB Channel time), so the DWA transmits an isochronous OUT transaction during 652.0 (micro-frame 0) and sends Data -1. In the next microframe (652.1) it transmits Data – 2, and so-on through Data – 8 in microframe 652.7. In the next frame, the DWA begins transmitting the queued data from the next group. This streaming model continues until the host ceases feeding the stream or errors cause the host to discard and skip late data. Those scenarios are described in detail in Section 4.11.9.

8.4.6.2 DWA Isochronous IN Responsibilities

A DWA performs isochronous IN requests to the downstream wired endpoint every bInterval (as specified in the RPipe descriptor) (micro)frames. The first downstream IN is performed when the first Wireless USB Isochronous IN request for the associated upstream Wireless USB isochronous IN endpoint is received.

A DWA must aggregate wired isochronous packet data into the largest packets that can be sent over the air by the associated Wireless USB Isochronous endpoint. It must not split data from a single (micro)frame across multiple over-the-air packets.

Presentation times for over-the-air isochronous packets are determined by the (micro)frame for which the first data segment in the Wireless USB isochronous packet was sampled on the wired downstream bus. The DWA responds with the oldest data in its RPipe buffer for each Wireless USB Isochronous IN request. It only discards data if the buffer associated with the RPipe for that endpoint overflows.

Figure 8-9 illustrates a Full-speed Isochronous IN data stream through a DWA. The top of the figure is a timeline illustrating the SOFs transmitted downstream to the USB 2.0 device connected below the DWA. The SOF values transmitted downstream of the DWA must match the Wireless USB channel times on the bus between the DWA and its host.

The illustration is organized with time flowing from left to right and data flowing top to bottom. The DWA will not begin generating IN Tokens to the downstream device until the host begins polling for data on the associated DWA isochronous data stream function endpoint. The left-hand most WDTCTA represents the first time the host begins polling the DWA isochronous function endpoint. The DWA does not have any data to respond to this transaction token, so will respond with a NAK handshake. This directs the host to discontinue polling the endpoint until the next service interval (designated by the vertical dotted lines).

234

Chapter 8

 

Wire Adapter

Wireless Universal Serial Bus Specification, Revision 1.0

In response to this first poll attempt by the host (which occurs before frame 642), the DWA begins transactions to the downstream USB 2.0 function endpoint in the next frame (i.e. 643). In each frame after 642, the DWA conducts isochronous IN transactions to the USB 2.0 function endpoint. The DWA continually stores all of the data received during the interval into the RPipe buffer and records the frame time of the first data received from the USB 2.0 device during the interval (i.e. the interval N).

Figure 8-9. Full-speed Isochronous IN Data Stream through a DWA

In the next interval (N+1), the host polls the DWA’s isochronous function endpoint and the DWA returns the data it has ready to transmit. At the time the WDTCTA during interval N+1 is transmitted by the host, the DWA has not completely received any data from the USB 2.0 function endpoint during the interval, so the DWA only transmits the complete data it does have (i.e. two isochronous data segments, beginning at 643). The format of the resultant data packet is illustrated. Since 2 packets were received from the USB 2.0 function endpoint in interval N, in response to the second WDTCTA poll, the DWA transmits a packet that includes the two samples received and the presentation time (5144 – the Wireless USB Channel time corresponding to the DWA SOF value of 643) of when data was first received. The host will attempt to pull data from the DWA’s endpoint until the DWA function endpoint NAKs (not shown in interval N+1).

In the next interval (N+2), the host polls the DWA’s isochronous function endpoint and receives the next set of isochronous segments ready (Data 3, 4 and 5), with the frame number where the first packet (i.e. Data-3 at 645) was received from the USB 2.0 function endpoint. Each interval, the host will pull data from the endpoint until either the DWA function endpoint NAKs or the host uses up all of the allowed number of transaction attempts allowed for the service interval. This streaming model continues until the host ceases feeding the transaction stream or errors cause the DWA to discard and skip late data. Those scenarios are described in detail in Section 4.11.9 of the Data Flow chapter.

Note, this is a rather simple example to illustrate the general flow. There is no intent to imply that a DWA implements a 2-deep interval pipeline. Depending on wireless channel condition, it may be several intervals behind the USB 2.0 channel.

235

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