Skip to main content

Bluetooth Core Specification

Part F. Direct Test Mode

vAtlanta r00

This Part describes the Direct Test Mode for RFPHY testing of Bluetooth Low Energy devices.

1. Introduction

Direct Test Mode is used to control the Device Under Test (DUT) and provides a report back to the Tester.

Direct Test Mode shall be set up using one of two alternate methods:

  1. over HCI (as defined in Section 2) or

  2. through a 2-wire UART interface (as defined in Section 3)

Each DUT shall implement one of the two Direct Test Mode methods in order to test the Low Energy PHY layer. Figure 1.1 illustrates the alternatives for Direct Test Mode setup.

Setup alternatives for LE Direct Test Mode: Designs with accessible HCI (left) and designs without accessible HCI (right)
Figure 1.1: Setup alternatives for LE Direct Test Mode: Designs with accessible HCI (left) and designs without accessible HCI (right)


Figure 1.2 illustrates the Bluetooth LE Direct Test Mode setup principle using a 2-wire UART interface.

RFPHY test setup for Direct Test Mode (UART control)
Figure 1.2: RFPHY test setup for Direct Test Mode (UART control)


2. Low Energy test scenarios

2.1. Test sequences

These sequences are used as routines and used to control an LE DUT with an accessible HCI or a 2-wire UART interface for RF testing.

The following mapping shall be performed from the RF testing commands to HCI commands and events or 2-wire UART commands and events:

RF Test command / event

HCI command / event

2-wire UART command / event

LE_Transmitter_Test command

HCI_LE_Transmitter_Test command

LE_Transmitter_Test command

LE_Receiver_Test command

HCI_LE_Receiver_Test command

LE_Receiver_Test command

LE_Test_End command

HCI_LE_Test_End command

LE_Test_End command

LE_Status event

HCI_Command_Complete event

LE_Test_Status event

LE_Packet_Report event

HCI_Command_Complete event

LE_Packet_Report event

Table 2.1: Mapping table of HCI / 2-wire UART commands and events


The HCI commands and events used in Direct Test Mode are defined in [Vol 4] Part E, Section 7.8.

2.2. Message sequence charts

Transmitter Test

Transmitter Test MSC
Figure 2.1: Transmitter Test MSC


Receiver Test

Receiver Test MSC
Figure 2.2: Receiver Test MSC


3. UART Test Interface

3.1. UART Interface characteristics

The UART interface characteristics shall be set to use the following parameters:

  • Baud rate: One of the following shall be supported by the DUT:

    1200, 2400, 9600, 14400, 19200, 38400, 57600, 115200

  • Number of data bits: 8

  • No parity

  • 1 stop bit

  • No flow control (RTS or CTS)

3.2. UART functional description

The Upper Tester shall always initiate any a test scenario using the UART interface. The DUT shall respond to the commands from the Upper Tester.

The Upper Tester sends test commands to the DUT. The DUT shall respond with a test status event or packet report event.

The Upper Tester shall not transmit further commands before it receives a response from the DUT. If the Upper Tester does not receive a response from the DUT within the time tTIMEOUT, the Upper Tester shall transmit a reset command (i.e., a test setup command with the control argument set to 0x00) to the DUT and display an appropriate error message. For the reset command, tRESPONSE and tTIMEOUT do not apply.

On reception of a reset command, the DUT shall reset all parameters to their default state.

Definitions

  • All commands and events consist of 16 bits (2 bytes).

  • The most significant bit is bit number 15.

  • The least significant bit is bit number 0.

  • The most significant byte is from bit 15 to 8.

  • The least significant byte is from bit 7 to 0.

  • Commands and events are sent most significant byte (MSB) first, followed by the least significant byte (LSB).

3.3. Commands and events
3.3.1. Command and event behavior

Table 3.1 outlines the set of commands which can be received by the DUT and the corresponding response events that can be transmitted by the DUT.

Command (DUT RXD)

Event (DUT TXD)

LE_Test_Setup

LE_Test_Status SUCCESS

LE_Test_Status FAIL

LE_Receiver_Test

LE_Test_Status SUCCESS

LE_Test_Status FAIL

LE_Transmitter_Test

LE_Test_Status SUCCESS

LE_Test_Status FAIL

LE_Test_End

LE_Packet_Report

LE_Test_Status FAIL

Table 3.1: 2-Wire command and event behavior


3.3.2. Commands

Command packet formats are shown in Figure 3.1 and Figure 3.2.

Command message format for LE_Transmitter_Test and LE_Receiver_Test commands
Figure 3.1: Command message format for LE_Transmitter_Test and LE_Receiver_Test commands


Command message format for LE_Test_Setup and LE_Test_End commands
Figure 3.2: Command message format for LE_Test_Setup and LE_Test_End commands


Note

Note: Some cases of the Test Setup and Test End commands have four parameter values, differing only in the bottom 2 bits, specified for the same action. In these cases the specific value chosen does not affect the behavior of the command.

CMD (command):

Size: 2 bits

Value b1b0

Parameter Description

00

LE_Test_Setup command

01

LE_Receiver_Test command

10

LE_Transmitter_Test command

11

LE_Test_End command

Test Setup command:

Size: 14 bits

Control (6 bits)

Parameter (8 bits)

Description

0x00

0x00 to 0x03

RESET; the upper 2 bits of the data length for any LE_Transmitter_Test or LE_Receiver_Test commands following are set to 00, the PHY is set to LE 1M, the receiver assumes the transmitter has a standard modulation index, and no Constant Tone Extension is present.

Any other value

Reserved for future use

0x01

0x00 to 0x0F

Set the upper 2 bits of the data length for any LE_Transmitter_Test or LE_Receiver_Test commands following to bits 2 and 3 of the parameter (to enable a length greater than 0x3F to be used)

Any other value

Reserved for future use

0x02

0x04 to 0x07

PHY set to LE 1M

0x08 to 0x0B

PHY set to LE 2M

0x0C to 0x0F

PHY set to LE Coded; transmitter is to use S=8 data coding

0x10 to 0x13

PHY set to LE Coded; transmitter is to use S=2 data coding

Any other value

Reserved for future use

0x03

0x00 to 0x03

Receiver assumes transmitter has a standard modulation index

0x04 to 0x07

Receiver assumes transmitter has a stable modulation index

Any other value

Reserved for future use

0x04

0x00 to 0x03

Read the test case supported features.

The LE_Test_Status event will return the state of the test case supported features as detailed in the LE_Test_Status event ( Section 3.4.1).

Any other value

Reserved for future use

0x05

0x00 to 0x03

Read supportedMaxTxOctets (see [Vol 6] Part B, Section 4.5.10)

0x04 to 0x07

Read supportedMaxTxTime (see [Vol 6] Part B, Section 4.5.10)

0x08 to 0x0B

Read supportedMaxRxOctets (see [Vol 6] Part B, Section 4.5.10)

0x0C to 0x0F

Read supportedMaxRxTime (see [Vol 6] Part B, Section 4.5.10)

0x10

Read maximum length of Constant Tone Extension supported

Any other value

Reserved for future use

0x06

0x00

No Constant Tone Extension

Any other value

CTEInfo (see [Vol 6] Part B, Section 2.5.2)

0x07

0x01

Sample Constant Tone Extension with 1 µs slots

0x02

Sample Constant Tone Extension with 2 µs slots

Any other value

Reserved for future use

0x08

Bits 0 to 6:

0x01 to 0x4B

Number of antennae in the antenna array

Any other value

Reserved for future use

Bit 7:

0

Antenna switching pattern A: 1, 2, 3, ..., n, 1, 2, 3, ..., n, ... (where n is the number of antennae in the antenna array)

1

Antenna switching pattern B: 1, 2, 3, ..., n, n-1, n-2, ..., 1, ... (where n is the number of antennae in the antenna array)

0x09

-127 to +20

Set transmitter to the specified or the nearest transmit power level

Units: dBm

0x7E

Set transmitter to minimum transmit power level

0x7F

Set transmitter to maximum transmit power level

All other values

Reserved for future use

If an AoD Constant Tone Extension is selected when transmitting, Control 0x08 shall be used before starting the test. If an AoA Constant Tone Extension is selected when receiving, Controls 0x07 and 0x08 shall be used before starting the test.

Control 0x07 does not affect receiving AoD Constant Tone Extensions or any transmissions. Control 0x08 does not affect transmitting AoA Constant Tone Extensions or receiving AoD Constant Tone Extensions.

In the receiver test, the CTEInfo field specified using Control 0x06 indicates the expected type and length of the Constant Tone Extension. If either the length or type of the Constant Tone Extension in a received LE Test packet does not match the expected value, then the DUT shall discard that packet.

LE_Test_End command:

Size: 14 bits

Control

(6 bits)

Parameter

(8 bits)

Description

0x00

0x00 to 0x03

LE_Test_End command

0x00

Any other value

Reserved for future use

0x01 to 0x3F

Any value

Reserved for future use

LE_Transmitter_Test and LE_Receiver_Test commands:

Frequency:

Size: 6 bits

Value

Parameter Description

0x00 to 0x27

The frequency to be used; a value of N represents a frequency of (2N+2402) MHz (the available range is therefore even values from 2402 MHz to 2480 MHz)

0x28 to 0x3F

Reserved for future use

Length:

Size: 6 bits

Value

Parameter Description

0x00 to 0x3F

The lower 6 bits of the packet length in bytes of payload data in each packet (the top two bits are set by the LE_Test_Setup command)

PKT (Packet Type):

Size: 2 bits

Value b1b0

Parameter Description

00

PRBS9 Packet Payload

01

11110000 Packet Payload

10

10101010 Packet Payload

11

On the LE Uncoded PHYs: Vendor Specific

On the LE Coded PHY: 11111111

3.4. Events

There are two types of events sent by the DUT:

  1. LE_Test_Status event

  2. LE_Packet_Report event

The event packet format is shown in Figure 3.3. This packet format is used for both LE_Test_Status events and LE_Packet_Report events.

Event packet format
Figure 3.3: Event packet format


EV (event):

Size: 1 bit

Value

Parameter Description

0

LE_Test_Status event

1

LE_Packet_Report event

3.4.1. LE_Test_Status event

The LE_Test_Status event packet format is as shown in Figure 3.4.

LE_Test_Status event
Figure 3.4: LE_Test_Status event


ST (status):

Size: 1 bit

Value

Parameter Description

0

Success

1

Error

Response: [1]

Size: 14 bits

[1] If the event has a status of "Error" or was generated in response to a command other than LE_Test_Setup, then this field is Reserved for future use.

LE_Test_­Setup command control parameter

Value bits 1 to 14[2]

Description

0x04

Bit 1

LE Data Packet Length Extension feature supported

Bit 2

LE 2M PHY supported

Bit 3

Transmitter has a Stable Modulation Index

Bit 4

LE Coded PHY supported

Bit 5

Constant Tone Extension supported

Bit 6

Antenna switching supported

Bit 7

1 µs switching supported for AoD transmission

Bit 8

1 µs sampling supported for AoD reception

Bit 9

1 µs switching and sampling supported for AoA reception

Bits 10 to 14

Reserved for future use

0x05

Bits 1 to 14

One of the following values (depending on the parameter in the original query):

  • Maximum transmit or receive time, in microseconds, that the local Controller supports for transmission of a single Link Layer Data Physical Channel PDU, divided by 2.

  • Maximum number of payload octets that the local Controller supports for transmission of a single Link Layer Data Physical Channel PDU.

  • Maximum length of the Constant Tone Extension that the local Controller supports for transmission in a Link Layer packet, in 8 µs units.

Range:

  • 0x00A4 to 0x2148 for times or

  • 0x001B to 0x00FF for number of octets.

  • 0x02 to 0x14 for the maximum Constant Tone Extension length

All values outside the range are reserved for future use.

0x09

Bits 1 to 8

Actual transmit power level set by the transmitter

Range: -127 to +20

Units: dBm

Bit 9

Set to 1 if the transmitter is at minimum transmit power level

Bit 10

Set to 1 if the transmitter is at maximum transmit power level

Bits 11 to 14

Reserved for future use

All other values

Reserved for future use

[2] This field is described as having bits 1 to 14 rather than 0 to 13 to avoid confusion.

3.4.2. LE_Packet_Report event

The LE_Packet_Report event packet format is shown in Figure 3.5. The Packet Count parameter indicates the number of received LE Test packets. The Packet Count in the LE_Packet_Report event ending a transmitter test shall be 0.

LE_Packet_Report event
Figure 3.5: LE_Packet_Report event


PACKET COUNT:

Size: 15 bits

Value

Parameter Description

N

N is the number of packets received

Range = 0 to 32767.

Note

Note: The DUT is not responsible for any overflow conditions of the packet count. That responsibility belongs with the RFPHY Tester or other auxiliary equipment.

3.5. Timing - command and event

The timing requirements are as shown in Table 3.2.

Symbol

Parameter

Min.

Max.

Unit

bERR

Baud rate accuracy

±5

%

tMIN

The time between the first and second byte of the command or event (end of stop bit to start of start bit)

0

5

ms

tRESPONSE

The time from a DUT receiving a command (end of stop bit) until the DUT responds (start of start bit)

0

50

ms

tTURNAROUND

The time from when the tester receives a response (end of stop bit) until the tester sends another command (start of start bit)

5

-

ms

tTIMEOUT

The time from when a tester sends a command (end of stop bit) until the tester times out (not having received end of the stop bit in the response)

51

100

ms

Table 3.2: Parameter requirements table for 2-wire UART interface


Command and event timing on 2-wire UART interface
Figure 3.6: Command and event timing on 2-wire UART interface


The commands and events shall be transmitted with two 8-bit bytes with a maximum time between the 2 transmissions. A timeout is required for no response or an invalid response from the DUT.

Command and event timing on 2-wire UART interface showing timeout
Figure 3.7: Command and event timing on 2-wire UART interface showing timeout


4. LE Test packet definition

4.1. LE Test packets format

The LE Test packet format for the LE Uncoded PHYs shall be as shown in Figure 4.1. The LE Test packet format for the LE Coded PHY shall be as shown in Figure 4.2. LE test packets are required for LE RFPHY conformance testing using Direct Test Mode. Except as modified by this section, the LE Test packet formats shall be identical to the formats specified in [Vol 6] Part B, Section 2.1 and [Vol 6] Part B, Section 2.2.

Depending on the test, the packet payload content may vary

LE Test packet format for the LE Uncoded PHYs
Figure 4.1: LE Test packet format for the LE Uncoded PHYs


LE Test packet format for the LE Coded PHY
Figure 4.2: LE Test packet format for the LE Coded PHY


4.1.1. Whitening

LE test packets shall not use whitening.

4.1.2. Preamble and synchronization word

LE test packets shall have ‘10010100100000100110111010001110’ (in transmission order) as the synchronization word. The preamble for all LE test packets is thus ‘10101010’ (in transmission order) when the device under test is configured for the LE 1M PHY, ‘1010101010101010’ (in transmission order) if the device under test is configured for the LE 2M PHY, and the preamble described in [Vol 6] Part B, Section 2.2.1 if the device under test is configured for the LE Coded PHY.

4.1.3. CRC

The CRC shift register shall be preset with 0x555555 for every LE test packet.

4.1.4. LE Test packet PDU

The LE test packet PDU consists of an 8-bit header, an 8-bit length field, an optional 8-bit CTEInfo field, and a variable size payload. Its structure is as shown in Figure 4.3 and Figure 4.4.

LE Test packet PDU structure
Figure 4.3: LE Test packet PDU structure


LE Test packet header and length field structure
Figure 4.4: LE Test packet header and length field structure


The first four bits of the PDU header field indicate the payload content type as defined in Table 4.1. The CTEInfo Present (CP) field of the PDU header indicates whether the CTEInfo field is present and therefore whether the test packet has a Constant Tone Extension. If the CP field is 0, then no CTEInfo field is present and there is no Constant Tone Extension in the test packet. If the CP field is 1, then the CTEInfo field is present and the test packet includes a Constant Tone Extension. The CTEInfo field is defined in [Vol 6] Part B, Section 2.5.2. The length field expresses the Payload length in bytes.

Note

Note: On the LE Coded PHY, this section defines the PDU contents before coding.

Payload type

b3b2b1b0

Payload description

0b0000

PRBS9 sequence ‘11111111100000111101...’ (in transmission order) as described in Section 4.1.5

0b0001

Repeated ‘11110000’ (in transmission order) sequence as described in Section 4.1.5

0b0010

Repeated ‘10101010’ (in transmission order) sequence as described in Section 4.1.5

0b0011

PRBS15 sequence as described in Section 4.1.5

0b0100

Repeated ‘11111111’ (in transmission order) sequence

0b0101

Repeated ‘00000000’ (in transmission order) sequence

0b0110

Repeated ‘00001111’ (in transmission order) sequence

0b0111

Repeated ‘01010101’ (in transmission order) sequence

Table 4.1: LE Test packet PDU header’s Type field encoding


Example: For LE test packets with 0x0F payload contents (‘11110000’ in transmission order) and with an LE test packet payload length of 37 bytes (296 bits), the LE test packet header and length type field will be ‘1000000010100100’ in transmission order.

4.1.5. LE Test packet payload description

The LE test packet payload content alternatives required for the Bluetooth Low Energy RFPHY conformance tests are:

PRBS9:

A 9-bit pseudorandom binary sequence used for wanted signal payload content. The PRBS9 sequence repeats itself after the (29 -1 = 511) bit. The PRBS9 sequence may be generated in a nine stage shift register whose 5th and 9th stage outputs are XORed (see Figure 4.5) and the result is fed back to the input of the first stage. The sequence begins with the first ONE of 9 consecutive ONEs (i.e. the shift register is initialized with nine ONEs).

Linear feedback shift register for generation of the PRBS9 sequence
Figure 4.5: Linear feedback shift register for generation of the PRBS9 sequence


The same pseudorandom sequence of bits shall be used for each transmission (i.e. the packet is repeated).

PRBS15:

A 15-bit pseudorandom binary sequence that is used for the interfering signal and can optionally be used for wanted signal payload content. The PRBS15 sequence repeats itself after the (215 -1 = 32767) bit. The PRBS15 sequence may be generated in a fifteen stage shift register whose 14th and 15th stage outputs are XORed (see Figure 4.6) and the result is fed back to the input of the first stage. The sequence begins with the first ONE of 15 consecutive ONEs (i.e., the shift register is initialized with fifteen ONEs).

This PRBS15 definition is consistent with ITU T-REC-01 150-199605-I. SERIES O: SPECIFICATIONS OF MEASURING EQUIPMENT - Equipment for the measurement of digital and analogue/digital parameters.

Linear feedback shift register for generation of the PRBS15 sequence
Figure 4.6: Linear feedback shift register for generation of the PRBS15 sequence


The same pseudorandom sequence of bits shall be used for each transmission (i.e. the packet is repeated).

10101010:

Repeated sequence of alternating 1’s and 0’s, starting at the first payload bit and ending at the start of the first bit in the CRC. This pattern is used to verify the frequency deviation and the Gaussian filtering properties of the transmitter modulator.

11110000:

Repeated sequence of alternating 0’s and 1’s in groups of four (i.e. 1111000011110000...), starting at the first payload bit and ending at the start of the first bit in the CRC. This pattern is used to verify the frequency deviation and the Gaussian filtering properties of the transmitter modulator.

4.1.6. LE Test packet interval

While in LE direct TX mode, LE test packets shall be transmitted from the EUT with a packet interval I(L) as defined below; see the top half of Figure 4.7 for reference.

While in LE direct RX mode, the nominal packet interval of the LE test packets transmitted from the tester is I(L), but the tester packet interval may be extended to a maximum of T(L) upon change of the dirty transmitter parameter settings and during verification of the EUT PER reporting functionality. See the bottom half of Figure 4.7 for reference.

LE Test packet interval in LE Direct Test mode
Figure 4.7: LE Test packet interval in LE Direct Test mode


For an LE Test packet length of L µs, I(L) = L+249/625 * 625 µs and T(L) = max (I(L) + 10 ms, 12.5 ms).

4.1.7. Constant Tone Extension

The Constant Tone Extension is an optional field that consists of a constantly modulated series of unwhitened 1s. It is 16 to 160 bits when operating at 1 Msym/s modulation or 32 to 320 bits when operating at 2 Msym/s modulation. The Constant Tone Extension is not included in CRC or MIC calculations. The Constant Tone Extension shall only be present on the LE Uncoded PHYs.

If Direct Test Mode is being used over HCI and a Constant Tone Extension is present in a received packet, the Controller may generate events containing IQ samples of the Constant Tone Extension (see [Vol 4] Part E, Section 7.7.65.21).