Trident IoT Zigbee SDK
Loading...
Searching...
No Matches
Zigbee RF Performance Test

Introduction

The Zigbee RF Test CLI application provides command-line interface commands for testing RF performance of Zigbee devices according to the Zigbee Alliance RF Performance (TRP/TIS) Test Plan & Specification. This application implements the standardized test commands required for Total Radiated Power (TRP) and Total Isotropic Sensitivity (TIS) testing.

Using the CLI Test Tool

  1. Build and flash the Zigbee RF Test application using elcap.
  2. Connect to the chip with a terminal program using UART configuration 115200,N,8,1
  3. Type help for a list of commands
  4. All RF test commands are prefixed with "custom"

Command Overview

The CLI implements the Zigbee Alliance RF Performance test specification commands for both local device control and remote device under test (DUT) communication. Commands are categorized as:

  • Local commands (l-prefix): Control the local test device
  • Remote commands (r-prefix): Send commands to the remote device under test
  • General commands: Coordinate testing between local and remote devices

CLI Command Reference

All below commands are in the "custom" command table.

CommandParametersDescription
testNoneStarts or stops a 1-second repeating test print event
rpingNoneSend a ping command to a remote device and wait for acknowledgment
lpingtimeout2 byte timeout - [Timeout MSB] [Timeout LSB]Configure how long to wait for ping responses from the remote device
setchannel4 byte channel mask - [mask3] [mask2] [mask1] [mask0]Set the channel on both local and remote devices
lsetchannel4 byte channel mask - [mask3] [mask2] [mask1] [mask0]Set the channel on on the local device only
rsetchannel4 byte channel mask - [mask3] [mask2] [mask1] [mask0]Set the channel on on the remote device only
lgetchannelNonePrint the local channel configuration
lchanZigbee channel number (11-26)Set local device channel using channel number
lsetpower2 byte mode and 1 byte power in dBm - [mode MSB] [mode LSB] [dBm]Set the transmit power on the local device
rsetpower2 byte mode and 1 byte power in dBm - [mode MSB] [mode LSB] [dBm]Set the transmit power on a remote device
lgetpowerNonePrint local device transmit power
rgetpowerNoneRequest and print remote device transmit power
rawpower1 byte power index value for specific chipSet raw power index directly
rstream2 byte timeout - [Timeout MSB] [Timeout LSB]Command remote device to transmit modulated RF stream for specified timeout
lstream1 byte enable - 1 to start, 0 to stopStart or stop modulated transmission stream on local device
rtone2 byte timeout - [Timeout MSB] [Timeout LSB]Command remote device to transmit unmodulated carrier tone for specified timeout
ltone1 byte enable - 1 to start, 0 to stopStart or stop unmodulated carrier tone on local device
txNumber of packets to transmitTransmit specified number of test packets to remote device
rstartNoneStart receive test mode on remote device
rendNoneEnd receive test mode and request statistics from remote device
findNoneLocate remote device across all Zigbee channels and establish communication
lrebootNonePerform software reset of local device
rrebootNoneSend reboot command to remote device
rhardwareversionNoneRequest hardware version information from remote device
rsoftwareversionNoneRequest software/firmware version information from remote device

Test Procedure Examples

TRP (Total Radiated Power) Test Procedure

  1. Initialize Communication:
    > custom find
    > custom rping
  2. Set Test Channel:
    > custom setchannel 0x00 0x00 0x08 0x00 // Channel 11 (2405 MHz)
  3. Configure Power:
    > custom rsetpower 0x00 0x00 10 // Set to 10 dBm
  4. Start Transmission Stream:
    > custom rstream 0x27 0x10 // 10 second stream (10000ms)
  5. Measure with Spectrum Analyzer (external equipment)
  6. Repeat for Other Channels as required by test specification

TIS (Total Isotropic Sensitivity) Test Procedure

  1. Initialize Communication:
    > custom find
    > custom rping
  2. Set Test Channel:
    > custom setchannel 0x00 0x00 0x08 0x00 // Channel 11
  3. Start Receive Test:
    > custom rstart
  4. Generate Test Signal (using external signal generator)
  5. End Test and Get Results:
    > custom rend

Technical Implementation Notes

Channel Mapping

Channel numbers are converted to IEEE 802.15.4 channel masks:

ChannelFrequency (MHz)Bitmask
1124050x00000800
1224100x00001000
1324150x00002000
1424200x00004000
1524250x00008000
1624300x00010000
1724350x00020000
1824400x00040000
1924450x00080000
2024500x00100000
2124550x00200000
2224600x00400000
2324650x00800000
2424700x01000000
2524750x02000000
2624800x04000000