802.15.4 Non-Signaling Test

[中文]

802.15.4 Non-Signaling Test directly controls the device to transmit specific signals without requiring a network connection. It evaluates key performance metrics such as transmit power, spectrum characteristics, and error rate, ensuring reliable communication quality in IoT applications.

Set Up Test Environment

The RF non-signaling test firmware environment mainly includes a PC, tester, a USB-to-UART board, a device under test (DUT), and a shield box.

../../_images/rf_non_signaling_setup.png

Test Environment Setup

  • PC is connected to the USB-to-UART board via USB and to the tester via an Ethernet cable. The PC needs to have the EspRFTestTool toolkit, tester control software, and the driver for the USB-to-UART board installed.

  • Tester is used to test the RF performance of the DUT in different modes. Typically, it is the WT-328/IQXel tester.

  • USB-to-UART board is used to communicate between the PC and the DUT.

  • Device under test (DUT) refers to a product designed based on the ESP32-C6 chip or module. It is connected to the USB-to-UART board via UART and to the tester via an RF connection cable. The DUT is usually placed inside a shield box.

  • Shield Box is used to isolate external RF interference and ensure the stability of the test environment.

Note

  • The CHIP_EN pin of the DUT is pulled up by default. If it is not pulled up in the product design, you need to manually connect the CHIP_EN to the 3V3 pin.

  • Some serial communication boards have already swapped RXD and TXD internally, so there is no need to reverse the connection. Adjust the wiring according to the actual situation.

  • ESP32-C6 has a power-on self-calibration feature. The RF connection cable must be connected to the tester before the DUT is powered on for testing.

Conduction Test

  • For modules without an onboard PCB antenna, the RF connection cable can be directly soldered to the antenna feed point of the module (as shown in the schematic diagram above).

  • For modules with an onboard PCB antenna, cut the trace that connects to the PCB antenna feed point and solder the RF connection cable. The RF cable’s shielding metal layer must be thoroughly soldered before connecting to the module’s GND. The GND soldering point can be either the shield cover or the exposed GND layer on the PCB (after removing the green solder mask). Besides, it should be as close to the feed point as possible.

../../_images/pcb_antenna_conducted_test.png

Soldering RF Connection Cable to Module with Onboard PCB Antenna

Flash Firmware

  1. Open EspRFTestTool.

  2. Set ChipType, COM, BaudRate, and click Open to open the COM port.

Note

Set BaudRate to 115200

  1. Flash ESP32-C6 RF Non-Signaling Test Firmware to Flash via UART.

../../_images/nonsignaling_firmware_flash.png

ESPRFTestTool Configuration

  1. After the firmware flashing is completed, pull the boot pin high or leave it floating. The chip will enter the working mode after power-off restart.

Start Testing

Zigbee TX Performance Test

  • Test Mode:

    • ZB TX packet: Used for TX performance tests;

    • ZB TX continue: High packet duty cycle used for certification testing.

  • Power Level: Set the Zigbee TX power level, supporting 0~15 levels for testing.

  • Channel: Set the Zigbee test channel.

  • Payload Length: Set the payload length. Manual input is supported. Range: 3~127. Default: 127.

After clicking start, the Zigbee TX parameter description is displayed in the log window, similar to the following:

ZB TX start: len=127, chan=11, pwr=15, tx_num=0, contin_en=0

This indicates that Zigbee is sending packets normally, and the TX performance can be detected using the tester.

../../_images/esp32h2_zigbee_tx_on.png

Zigbee TX Performance Test

Zigbee RX Performance Test

  • Test Mode: Set to ZB RX for Zigbee RX performance test.

  • Channel: Set the Zigbee test channel.

After clicking start, use the tester to send packets on the test channel. Click stop after completion. The packet RX information is displayed in the log window, similar to the following:

RX 1000 1 1 0 0 0 -60058 0 -21398 38679

Among them:

  • The first parameter Res[0] returns the string “RX”.

  • The second parameter Res[1] (decimal) indicates the number of packets received at the corresponding rate in this test. In this test, Res[1] is 1000.

  • The fourth last parameter, Res[7] (in decimal), represents the total RSSI of the packets received at the corresponding rate in this test. In this test, Res[7] is -60058.

Based on the above parameters, you can calculate:

  • Packet loss rate PER = [1-(Res[1]/Sent_Packet_Numbers)]*100%<=1%

  • RSSI per packet = Res[7]/(Res[1])

    ../../_images/esp32h2_zigbee_rx_on.png

    Zigbee RX Performance Test

Appendix

This appendix is mainly used to explain the output target power of ESP32-C6 802.15.4, which is used for RF debugging or test reference.

ESP32-C6 802.15.4 TX Power Level

Power Level

802.15.4 Power (dBm)

0

-24

1

-21

2

-18

3

-15

4

-12

5

-9

6

-6

7

-3

8

0

9

3

10

6

11

9

12

12

13

15

14

18

15

20