User Guide
Bluetooth Low Energy 5.3
Loading...
Searching...
No Matches
DTM Direct Test Mode

Overview

Direct Test Mode is used to control the DUT and provides a report back to the Tester. Direct Test Mode shall be set up by:

  • over HCI UART

Each DUT shall implement one of the two Direct Test Mode methods in order to test the Low Energy PHY layer. DUT implements the second method, means through HCI UART interface. The test framework of through HCI UART interface is shown as follow:

Test Framework through HCI UART Interface

DUT runs DTM application, and test equipment of CMW500 sends DTM commands to DUT. DTM application analyzes those commands and invokes related API to send packets to CMW500 (transmitter test) or receive packets from CMW500 (receiver test). Afterwards DTM application collects test result and sends to CMW500 by DTM events. CMW500 judges and displays results according to the DTM events.

Source Code

Source code can be seen in projects/ble_app_hci. The important communication UART parametter is shown as follow:

#define PAD_UART1_TXD 5
#define PAD_UART1_RXD 6
static const usart_config_t hci_usart_cfg = {
.baudrate = 115200,
.flow_control = USART_FLOW_CONTROL_NONE,
.data_bit = USART_DATA_BIT_8,
.stop_bit = USART_STOP_BIT_1,
.parity = USART_PARITY_NONE,
};
@ USART_PARITY_NONE
No parity.
Definition: drv_usart.h:110
@ USART_DATA_BIT_8
8-bit long USART frame
Definition: drv_usart.h:104
@ USART_STOP_BIT_1
USART frame with 1 stop bit.
Definition: drv_usart.h:88
@ USART_FLOW_CONTROL_NONE
No hardware control.
Definition: drv_usart.h:80
USART config.
Definition: drv_usart.h:128
uint32_t baudrate
Configures USART communication baud rate.
Definition: drv_usart.h:130

Message Sequence Charts

Lower tester and upper tester are on behalf of CMW500. Test message sequences are shown as follow:

Transmitter Test MSC

Upper tester sends command to DUT to order it to transmit test packets to lower tester. DUT reports event to upper tester after transmit procedure is terminated.

Receiver Test MSC

Upper tester sends command to DUT to order DUT prepare to receive test packets from lower tester. Lower tester sends test packets to DUT, and DUT reports event to upper tester after receive procedure is terminated.

Test Procedure

Transmitter test

  1. Output power

    ‍The CMW500 transmits a test control message over the RS232, USB, or HCI UART interface instructing the DUT to transmit reference test packets. The CMW500 measures the average power of the received packets over at least 20% to 80% of the duration of the burst.

  2. Carrier & Drift Test

    ‍The carrier drift test performs a frequency drift measurement over the length of the packet received. The carrier frequency offset is measured in the same manner as basic rate initial carrier test, but on the eight preamble bits in the low energy reference packet.

  3. Modulation Index Test

    ‍This test measures the modulation characteristics on the DUT output for each of the selected frequency ranges (LOW, MEDIUM and HIGH).

Receiver test

  1. Sensitivity Test

    ‍After sending a test control message to the DUT, the CMW500 sends BLE reference packets to the DUT. The number of packets DUT received is counted and this data is then read by the CMW500 over the HCI UART connection.

  2. PER Integrity

    ‍The CMW500 sends a random even number of BLE reference packets to the DUT at -30 dBm with a PRBS9 payload. The CRC value for the packets is alternated between a valid and invalid value. The DUT counts the number of received packets, and this value is read by the CMW500 over the HCI UART interface for frame error rate (FER) calculation. The test is repeated three times at the frequency selected.

  3. Maximum Input Power Test

    ‍After sending a test control message, the CMW500 sends BLE reference packets to the DUT. The number of packets received at the DUT is counted, and this value is then read by the CMW500 over the HCI UART connection[1].