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

Chapter 5

 

Protocol Layer

Wireless Universal Serial Bus Specification, Revision 1.0

(size) of transaction groups over time depending on the demands of the Endpoint data streams. Therefore, the number of transactions per-transaction group can be dynamic.

HDR

HDR

Figure 5-2. General Model of a Wireless USB Transaction Group

MMCs are used by a host to maintain and control the Wireless USB Channel. The MMC is an Applicationdefined Control packet (see MAC Layer specification) and is comprised mostly of specific information elements (IEs). The MMC layout and many of the MMC information elements are defined in the Framework Chapter, see Section 7.5. The Channel Time Slot Allocation IEs are not in the Framework chapter, but are included here as they are a fundamental component in describing the Wireless USB data streaming Protocol.

5.2.1 Wireless USB Channel Time Allocation Information Elements

The general form of a Wireless USB information element that describes time slot allocations is formatted as illustrated in Figure 5-3. A host may include at most one WCTA_IE in an MMC.

(lsb)

 

 

 

 

(msb)

1

1

variable

variable

 

Variable

 

 

 

 

 

 

bLength

IE Identifier =

WXCTA[0]

WXCTA[1]

WXCTA[n]

 

WCTA_IE

 

 

 

 

Figure 5-3. General Form of a Wireless USB Channel Time Allocation IE

The bLength field value includes the total length of the Wireless USB Channel Time Allocation information element, including the bLength field. A Wireless USB Channel Time Allocation IE is comprised of one or more WXCTA blocks (Wireless USB Channel Time Allocation blocks). WXCTA blocks describe a time slot allocation relative to the MMC. The general structure of a WXCTA and the relationship between its information and the described time slot is illustrated in Figure 5-4.

MMC

 

MMC

Endpoint Info

Flags

Slot Type

Figure 5-4. Structure of a WXCTA and Relationship to a Time Slot

Start times for adjacent protocol time slots must be separated by enough channel time to accommodate sending the information packets at the specified signaling rate, plus packet overheads (preambles, inter-packet gaps for streaming-mode data phase) plus an inter-slot idle time (see Section 5.3 for full timing constraints).

There are several types of Wireless USB Channel Time Allocation blocks (WXCTA) that can be used in a Wireless USB Channel Time Allocation IE, including device receive, device transmit and device notification (a

93

Chapter 5

 

Protocol Layer

Wireless Universal Serial Bus Specification, Revision 1.0

management form of device transmit). All WXCTA blocks have a common header portion, which includes an attribute field and the time slot information (see Table 5-5).

The types of WXCTA blocks are:

WDRCTA (Device Receive). The targeted Function Endpoint must listen for packet transmissions during the described time slot.

WDTCTA (Device Transmit). The targeted Function Endpoint must transmit information during the described time slot.

WDNTSCTA (Device Notification Time Slot). This is a management time slot reserved for use by Wireless USB devices to send only device notifications to the host.

Table 5-5. Wireless USB WXCTA Block Common Header

Offset

Field

Size

Value

 

 

Description

 

 

 

 

 

 

 

 

 

0

bmAttributes

1

Bitmap

This bitmap has the following encoding:

 

 

 

 

Bit

Value

Description

 

 

 

 

5:0

Variable

Depends on value of

 

 

 

 

 

 

WXCTA Block Type code

 

 

 

 

 

 

field

 

 

 

 

 

7:6

Enum

WXCTA Block Type

 

 

 

 

 

 

code. Encodings are:

 

 

 

 

 

 

Value

Tag

 

 

 

 

 

 

00B

WDRCTA

 

 

 

 

 

 

01B

WDTCTA

 

 

 

 

 

 

10B

WDNTSCTA

 

 

 

 

 

 

11B

Reserved

1

wStart

2

Number

The units of this field are in micro-seconds. The

 

 

 

 

value is measured from the beginning of the

 

 

 

 

preamble of the MMC packet where this WXCTA

 

 

 

 

Block is transmitted.

 

Bits [7:6] of the bmAttributes field are the WXCTA Block Type Code. The value in this field indicates the format of the entire WXCTA Block. The rules for how the WXCTA Block Type code affects the interpretation of the WXCTA are provided below:

WXCTA Block Type Code

Interpretation of Bits [5:0]

WDRCTA or WDTCTA

Time slot allocation is for a Wireless USB transaction data packet.

 

Bits [3:0] are the USB device Endpoint number.

 

Bit [4] is dependent on WXCTA type, see below.

 

Bit [5] is a flag indicating that the time slot is associated with a

 

SETUP stage of a control transfer. When this bit is a one, then the 8

 

bytes immediately following the WXCTA are the SETUP Data bytes.

WDNTSCTA

This time slot allocation is for a DNTS (Device Notification Time Slot).

 

Bits [5:0] will be set to zero by the host controller and must be

 

ignored by devices.

The wStart field value is always expressed in micro-seconds. Note that the wStart value is expressed as an offset from the beginning of the MMC as a synchronization point. The host calculates the value for wStart based on the sum of: standard PHY packet overheads, data payload size, data payload bit signaling rate and appropriate inter-slot idle time. Section 5.3 details the rules for calculating minimum inter-slot idle times.

Sections 5.2.1.1 through 5.2.1.3 describe the details of these different Wireless USB Channel Time Allocation IEs.

94

Chapter 5

 

Protocol Layer

Wireless Universal Serial Bus Specification, Revision 1.0

Wireless USB Channel Time Allocation IEs may contain a mix of WXCTA block types. The Wireless USB host must construct the IE so that they are ordered in time (i.e. increasing start order). In addition, the IEs must be

constructed with any WDRCTAs followed by a WDNTSCTA (if present) and then by any WDTCTAs (i.e. OUTs followed by INs). This allows better channel utilization because it minimizes the additional overhead of

transmitter/receiver switches (bus turns). See Section 7.5 for rules for ordering IEs in MMC packets.

The following sections detail the different types of channel time allocation blocks. The shading in each of the block format tables indicates the common header portion.

5.2.1.1Wireless USB Device Receive WDRCTA Block

WDRCTAs (Device Receive) channel allocation blocks describe a time slot in which a device is required to listen for data packets to the addressed OUT endpoint number.

Table 5-6. WDRCTA Block Format

Offset

Field

Size

Value

 

 

Description

 

 

 

 

 

 

 

0

bmAttributes

1

Bitmap

This bitmap has the following encoding

 

 

 

 

Bit

Value

Description

 

 

 

 

3:0

Variable

USB Endpoint Number

 

 

 

 

4

Zero

Reserved

 

 

 

 

5

Boolean

Setup Flag

 

 

 

 

7:6

WDRCTA

WDRCTA block type

1

wStart

2

Number

See Table 5-5

 

3

bDeviceID

1

Number

Device Address of the Wireless USB device.

 

 

 

 

 

 

 

95

Chapter 5

 

Protocol Layer

Wireless Universal Serial Bus Specification, Revision 1.0

5.2.1.2Wireless USB Device Transmit WDTCTA Block

WDTCTA (Device Transmit) channel allocation blocks describe a time slot in which a device is required to transmit data. These time slots are used for two purposes, one is to transmit data or handshake from the addressed IN endpoint number and the other is to transmit a handshake from the addressed OUT endpoint number. The host must correctly annotate the WDTCTA block to disambiguate about which endpoint should respond during the time slot.

Table 5-7. WDTCTA Block Format

Offset

Field

Size

Value

 

 

Description

 

 

 

 

 

 

 

0

bmAttributes

1

Bitmap

This bitmap has the following encoding:

 

 

 

 

Bit

Value

Description

 

 

 

 

3:0

Variable

USB Endpoint

 

 

 

 

 

 

Number

 

 

 

 

4

Variable

Direction. This field is

 

 

 

 

 

 

used to indicate which

 

 

 

 

 

 

device endpoint

 

 

 

 

 

 

number should

 

 

 

 

 

 

transmit during the

 

 

 

 

 

 

time slot. Encodings

 

 

 

 

 

 

are:

 

 

 

 

 

 

 

0

OUT Endpoint

 

 

 

 

 

 

 

Number should

 

 

 

 

 

 

 

respond with

 

 

 

 

 

 

 

handshake packet

 

 

 

 

 

 

1

IN Endpoint

 

 

 

 

 

 

 

Number should

 

 

 

 

 

 

 

respond with data

 

 

 

 

 

 

 

or handshake

 

 

 

 

 

 

 

packet

 

 

 

 

5

Boolean

Setup Flag

 

 

 

 

7:6

WDTCTA

WDTCTA block type

1

wStart

2

Number

See Table 5-5

 

 

3

bDeviceID

1

Number

Device Address of the Wireless USB device.

96

Chapter 5

 

Protocol Layer

Wireless Universal Serial Bus Specification, Revision 1.0

Table 5-7. WDTCTA Block Format (cont.)

Offset

Field

Size

Value

 

Description

 

 

 

 

 

4

bmTXAttributes

4

Bitmap

These sub-fields indicate the use parameters of

 

 

 

 

the data phase time slot:

 

 

 

 

Bit

Description

 

 

 

 

14:0

Active TX Packet Size. This field

 

 

 

 

 

contains the maximum size of the

 

 

 

 

 

data payloads a device must use for

 

 

 

 

 

packet transmissions during the data

 

 

 

 

 

phase.

 

 

 

 

 

15

ControlStatusStageFlag. When this

 

 

 

 

 

field has a 1B value, the associated

 

 

 

 

 

protocol time slot is for a Status

 

 

 

 

 

Stage handshake.

 

 

 

 

20:16

PHY_TXRate. Refer to Section 5.6.

 

 

 

 

23:21

Transmit Power. The value of this

 

 

 

 

 

field selects the transmit power level

 

 

 

 

 

the device must use to transmit data

 

 

 

 

 

packets during the data phase

 

 

 

 

 

protocol time slot.

 

 

 

 

28:24

Transaction Burst Size. This field is

 

 

 

 

 

used by the host to modify the

 

 

 

 

 

configured burst size for the current

 

 

 

 

 

transaction. The value in this field is

 

 

 

 

 

the maximum number of data

 

 

 

 

 

packets the device may send during

 

 

 

 

 

the protocol time slot. Valid values

 

 

 

 

 

are in the range [00000B – 10000B].

 

 

 

 

 

All other values are reserved.

 

 

 

 

31:29

Data Burst Preamble Policy. This

 

 

 

 

 

field is an encoded value used to

 

 

 

 

 

specify how the device must use

 

 

 

 

 

standard preambles between data

 

 

 

 

 

packets in the burst data phase. The

 

 

 

 

 

encoded values indicate how

 

 

 

 

 

standard preambles must be used in

 

 

 

 

 

the data burst. The first preamble is

 

 

 

 

 

always a standard preamble.

 

 

 

 

 

Value

Meaning

 

 

 

 

 

000B

Use only standard

 

 

 

 

 

 

preambles

 

 

 

 

 

001B

Every 2nd packet

 

 

 

 

 

010B

Every 4th packet

 

 

 

 

 

011B

Every 8th packet

8

bvDINAck

4

Bit

Data burst acknowledgement bit vector. Refer to

 

 

 

Vector

Section 5.4 for detailed explanation.

The bmTXAttributes.Active TX Packet Size field is used by the host to instruct the device about what packet payload size the device must use for data packets transmitted during the data phase protocol time slot. The maximum value a host can put into this field is the configured wMaxPacketSize for the function endpoint. If the host uses a value larger, the behavior is undefined. The device does not use this field for a handshake packet and the host must set this field to a zero.

When the bmTXAttributes.ControlStatusStageFlag field is a 1B, it signals to the device that the current Control transfer on the endpoint is transitioning to the Status Stage. The device must transmit a handshake packet during

97

Chapter 5

 

Protocol Layer

Wireless Universal Serial Bus Specification, Revision 1.0

the assigned protocol time slot. The bmAttributes.Direction field must be set to a 1B by the host and the device must ignore the bmAttributes.Direction field.

The bmTXAttributes.PHY_TXRate field specifies the bit signaling rate the device must use for the data payload portion of packets sent during the associated time slot. This transmit rate only applies to this time slot. The host may change the value of this field at any time. The host must only use values in this field which the device has explicitly noted that it supports. The host must set this field to 00000B when the WDTCTA is used for a handshake packet.

The bmTXAttributes.Transmit Power field is used to specify the transmit power level the device must use to transmit all of the data packets during the associated data phase protocol time slot. In general, a value of zero

(0) selects the highest power setting and a value of seven (7) selects the lowest. Refer to Section 4.10.3 for details.

The host sets the value of bmTXAttributes.Transaction Burst Size to reflect the number of data packets it is prepared to receive during the allocated protocol time slot. The device must transmit the requested number of data packets in the burst if the associated data is available. The device must not transmit more data packets than the requested burst size during the allocated protocol time slot. If the host uses a value in this field which is larger than the configured Maximum Burst Size for the function endpoint, the resulting behavior is undefined.

The bmTXAttributes.Data Burst Preamble Policy field is used by the host to instruct the device how to use streaming and standard preambles during the next DATA IN phase data burst. The encoded value is a power-of- two step function of how frequently the device must insert standard preambles between the data packets of the burst. Note that the physical layer bursting rules require that a data burst must always begin with a standard preamble. The host must set this field to 000B when this WDTCTA is used for a handshake packet. The host must set this field to a value of 000B when PHY_TXRate is 200 Mb/s or below (see reference [4]). If the host uses this feature on a function endpoint where it is not supported, the results are undefined.

The bvDINAck field is the handshake to a DATA IN burst. It is a bit vector where each bit location corresponds to a data sequence value (bvDINAck[0] corresponds to sequence value 0, bvDINAck[1] to sequence value 1, and so on). Refer to Section 5.4 for a full description of the data burst sequence rules. For a WDTCTA targeted at an OUT endpoint, the device does not use this field and the host must set this field to a zero.

5.2.1.3Wireless USB Device Notification WDNTSCTA Block

DNTS time slots are allocated by the host to allow individual devices to send small, asynchronous notification messages to the host. The host notifies devices in its Wireless USB cluster of a DNTS by including a

WDNTSCTA block in an MMC. The format of a WDNTSCTA block is illustrated in Table 5-8. A host may include at most one WDNTSCTA block in a WCTA_IE.

Device Notification Time Slots are logically structured as a window of uniform sized message slots. Message slots in a DNTS are large enough for a device to transmit a maximum sized device notification plus guard-band to allow for local device clock drift. The WDNTSCTA describing a DNTS instance includes the number of message slots in the instance.

HDR

CTA

HDR

DNTS

 

W

 

Figure 5-5. Generic model for Organization of a DNTS

98

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