25. RF Master

RF master is an implementation of Bluetooth SIG standardized receiver and transmitter HCI commands and additional custom test HCI commands.

User can access RF Master by selecting RF Master under the Layout tab of the ribbon menu, which loads RF Master with Log. Alternatively, user can select RF Master tool under Tools tab of the ribbon. Fig. 107 presents the Rf Master UI that is common for most of the device families. Some families support extra RF Master commands, which will be presented in a different subsection.

../_images/rfMaster.png

Fig. 107 RF Master tests

When RF Master is opened, an extra tab is added to the ribbon, containing RF Master related buttons only. Currently Rf Master tab contains Reset and the Release UART buttons. When the ‘Release UART’ button is clicked the allocated UART port used for communication is freed and can be used from other tools such as Terminal Scripting

../_images/RF_Master_Ribbon.png

Fig. 108 Extra RF Master’s Ribbon

RF Master tests are distributed in a tree like structure, where user can expand only the test(s) being currently used and collapse the rest. User can expand or collapse all tests at once using the expand_collapse button found at the top of the tab. In order to run RF Master tests, user should first download the suitable RF Master firmware, depending on the selected chip. User can download the firmware over UART or over JTAG. When more than one devices are connected and user has previously selected a different communication interface in the settings file section dialog, user will be asked to select the COM port or JTAG serial number to be used for the firmware download. RF Master tests run over uart, so user will be asked to select a COM port that will be used for the tests, if JTAG has been selected in both settings file selection window and for RF Master firmware download.

25.1. Common RF Master Tests

The following RF Master tests are common for most of the device families:

  1. LE Tx/Rx

  2. Unmodulated Tx/Rx

  3. Continuous Tx

  4. XTAL

  5. Sleep

Note

Appendix A shows how to produce binary firmware for each chip family.

25.1.1. LE Tx/Rx

LE Receiver Transmitter tool sends Bluetooth LE test commands. Two instances are needed for the test, one operating as a transmitter and the other as a receiver.

25.1.1.1. Transmitter

../_images/leTx.png

Fig. 109 Le Transmitter

User first selects the frequency, the payload type of the packets and their length in bytes. Then on the mode of the test, user has the following options:

1. Continuous Tx: When this mode is selected the Bluetooth SIG standardized HCI_LE_Transmitter_Test command is send. At this test the DUT sends test reference packets at a fixed interval, until the Bluetooth SIG standardized HCI_LE_Test_End command is executed. The user has to first stop the continuous packet transmission, before being able to run a new LE Tx test command.

Note

# packets Tx option is not supported for DA1469x family devices.

2. # packets Tx: This mode is also based on the Bluetooth SIG standardized HCI_LE_Transmitter_Test command, with the difference that the user can specify the number of packets to be send at the test. Maximum number of packets that can be send in one test, is 65535 (two bytes). When Start button is pressed, the DUT generates a specified number of test reference packets at a fixed interval.

Start Button: Starts the selected LE transmitter test. Note that start is disabled until either the test finishes (specified number of packets has been sent) or the user presses the stop button, because it is not possible to start a second LE Transmitter Test, while another LE Transmitter Test is already running.

Stop Button: Sends the Bluetooth SIG standardized HCI_LE_Test_End command. Can be used to stop the continuous transmission or the transmission with specified number of packets, before the transmission completes. Note that if a transmission with specified number of packets completes, Stop button is disabled again automatically.

Sample Log output:

../_images/leTxPktLog.png

Fig. 110 Sample log output for LE Tx Command

The messages in blue color, marked with ====> [date] Tx <=== describe the commands that host sends to target. The messages in green, marked with ====> [date] Rx <=== describe the target’s response. At Fig. 110 we can see that the command with opcode 0xFC90 (DA1468x family) is send and the firmware responds with an event, that contains the opcode 0xFC90 in its parameters. When the packet transmission is completed, an info message notifies the user about the completion and the firmware sends an event with event code 0x0E, which contains the opcode 0xFC90 in its parameters too. Not receiving an event from the target after sending a LE Tx command, indicates a problem. User is advised to press the Reset button from the horizontal toolbar and, if the problem persists, to download the firmware again to the target.

25.1.1.2. Receiver

../_images/leRx.png

Fig. 111 Le Receiver

User selects the frequency and if extra RF statistics info are required for the test. At this test the Bluetooth SIG standardized HCI_LE_Receiver_Test test is executed. During the test the DUT receives test reference packets at a fixed interval, until the Stop button is pressed. The test results are received when the Stop button is pressed. The user can see on the log the number of packets that have been successfully received. If extra statistics have been requested, the user can also see on the log the number of packets that have been received with SYNC error and the number of packets that have been received with CRC error.

Start Button: Starts the selected LE receiver test. If on the transmitter side a test with specific number of packets has been selected, the user should start the receiver test first in order to receive the packets.

Stop Button: Sends the Bluetooth SIG standardized HCI_LE_Test_End command. The results of the test are displayed on the log.

Sample Log output:

../_images/leRxStatsLog.png

Fig. 112 Sample log output for LE Rx Command

At Fig. 112, the first pair of Tx and Rx messages are generated when the Start button is pressed and the second one when the Stop button is pressed. When the host sends the command with opcode 0xFC81 (DA1468x family) in order to start the reception with extra RF stats info, the firmware responds with an event, containing also 0xFC81 in its parameters. When the command with opcode 0xFC82 (DA1468x family) is send in order to stop the reception, the firmware responds with an event packet, which contains info about the number of packets that have been received correctly, the number of packets that have been received with SYNC error and the number of packets that have been received with CRC error. We observe that 14247 packets have been received by the LE Receiver and that 96 packets have been received with CRC error. Not receiving an event from the target after sending a LE Rx command, indicates a problem. User is advised to press the Reset button from the horizontal toolbar and, if the problem persists, to download the firmware again to the target.

25.1.2. Unmodulated Tx/Rx

This tool is used to perform Unmodulated Tx/Rx tests. Mode can be Tx or Rx. When Tx mode is selected and Start button is pressed, an unmodulated Tx test starts. When Rx mode is selected and Start button is pressed, an unmodulated Rx test starts. When Stop button is pressed, unmodulated Rx or Tx test stops. In order to see the results of this test, a spectrum analyzer has to be connected to the target.

../_images/unmodulated.png

Fig. 113 Unmodulated Tx/Rx

Sample log output:

../_images/unmodulatedTxStart.png

Fig. 114 Sample log output for unmodulated Tx Start command

When the unmodulated transmission starts, host sends a command with opcode 0xFC83 (DA1468x family) and mode 0x54 and target responds with an event (Fig. 114).

../_images/unmodulatedRxStart.png

Fig. 115 Sample log output for unmodulated Rx Start command

When the unmodulated reception starts, host sends a command with opcode 0xFC83 and mode 0x52 and target responds with an event (Fig. 115).

../_images/unmodulatedTxStop.png

Fig. 116 Sample log output for unmodulated Stop command

When the unmodulated transmission or reception stops, host sends a command with opcode 0xFC83 and mode 0x4f and target responds with an event (Fig. 116).

Not receiving an event from the target after sending an unmodulated Tx, Rx or stop command, indicates a problem. User is advised to press the Reset button from the horizontal toolbar and, if the problem persists, to download the firmware again to the target.

25.1.3. Continuous Tx

This tool is used to enable a modulated carrier with specified payload data in a continuous stream. When Start button is pressed, a modulated signal is continuously transmitted, until the Stop button is pressed. In order to see the results of this test, a spectrum analyzer has to be connected to the target.

../_images/continuousTx.png

Fig. 117 Continuous Tx

Sample log output:

../_images/continuousTxStart.png

Fig. 118 Sample log output for Continuous Tx Start command

When the continuous modulated transmission starts, host sends a command with opcode 0xFC84 (DA1468x family) and target responds with an event (Fig. 118).

../_images/continuousTxStop.png

Fig. 119 Sample log output for Continuous Tx Stop command

When the continuous modulated transmission stops, host sends a command with opcode 0xFC85 (DA1468x family) and target responds with an event (Fig. 119).

Not receiving an event from the target after sending a continuous Tx start or stop command, indicates a problem. User is advised to press the Reset button from the horizontal toolbar and, if the problem persists, to download the firmware again to the target.

25.1.4. XTAL

The set of commands included in this tool are used to configure the XTAL trimming register.

../_images/xtal.png

Fig. 120 Xtal

After user press the write button which sends a write command, a read command is immediately invoked to update the value field.

25.1.4.1. XTAL Output

This command is used to enable or disable XTAL16M output on GPIO P0_5. P0_5 should not be used by the UART or the communication with the device will be lost. This command also enables or disables:

  1. XTAL32K output on GPIO P0_6

  2. RC16M output on P0_7

  3. RC32K output on P1_0

After sending enable or disable command, firmware responds with an event message. Not receiving the event message, indicates a problematic state. User is advised to press the Reset button from the horizontal toolbar and, if the problem persists, to download the firmware again to the target.

25.1.4.2. XTAL Trimming

With the set of commands included in XTAL Trimming section, user can read and write the value of XTAL16M register. This is a decimal value and it is written to the device register and not stored in Flash. When the Write button is pressed, first the write command is called and then the read command, in order to read again the trim value and verify its change.

Sample log output:

../_images/xtalRead.png

Fig. 121 Sample log output for XTAL read command

User is sending an XTAL read command and firmware responds with an event, containing the trim value (Fig. 121). Firmware responds with an event to both read and write commands. Not receiving an event after sending the command, indicates a problematic state.

25.1.5. Sleep

Note

Sleep test is not supported for DA1468x family devices.

This tool contains a set of commands that put the target to sleep for specified number of minutes and seconds.

../_images/sleep.png

Fig. 122 Sleep

There are 3 different sleep modes supported:

  1. None: Active mode

  2. Extended Sleep Mode

  3. Deep Sleep Mode

Minutes and seconds are integer numbers between 0 and 255. If both minutes and seconds are set to zero then the device sleeps forever.

Sample log output:

../_images/sleepLog.png

Fig. 123 Sample log output for Sleep command

Known limitations:

  1. UART communication is lost when the device wakes up from extended sleep mode.

  2. The device will not wake up from deep sleep mode.

25.2. DA1469x family RF Master Tests

This section presents extra tests that are supported only for DA1469x family devices and some tests that are common for all families but their support is different for DA1469x family. The DA1469x family specific tests are organized as follows:

  1. Enhanced LE Tx/Rx

  2. Continuous Tx/Rx

  3. XTAL

  4. OTP

  5. Registers

  6. Miscellaneous

  7. Tx Power Configuration

  8. RF Calibration

25.2.1. Enhanced LE Tx/Rx

This panel adds support for the Bluetooth SIG HCI_LE_Enhanced_Transmitter_Test & HCI_LE_Enhanced_Receiver_Test commands, described in Bluetooth Core Specification v5.0/Vol.2/Part E sections 7.8.50 & 7.8.51. The commands can be used to start continuous transmission and reception at 1 or 2 MBps. Two instances are required for the test, one operating as the transmitter and one as the receiver.

25.2.1.1. Transmitter

../_images/enhancedLeTx.png

Fig. 124 Enhanced LE Tx

The user can select the frequency, payload, packet length and PHY and press the start button in order to start the transmission.

Sample log output:

../_images/enhancedLeTxLog.png

Fig. 125 Sample log output for Enhanced LE Tx command

25.2.1.2. Receiver

../_images/enhancedLeRx.png

Fig. 126 Enhanced LE Rx

The user has to select the same frequency and PHY as the ones selected on the transmitter’s side in order to be able to receive data. The modulation index parameter is currently ignored.

Sample log output:

../_images/enhancedLeRxLog.png

Fig. 127 Sample log output for Enhanced LE Rx command

If With RF Stats is set to Yes, extra RF stats will be presented at the log when the reception is stopped by the user.

Sample log output:

../_images/enhancedLeRxStopRfStats.png

Fig. 128 Sample log output for Enhanced LE Rx test with RF Stats selected

25.2.2. Continuous Tx/Rx

This panel is used to start continuous Transmission and Reception at 1 or 2 Mbps and can send a burst of N packets. The tests at this panel are an extension of Enhanced Le Tx/Rx tests. Tests have been extended to support more parameters and different Tx test types. Two Toolbox instances can be used, one acting as the transmitter and the other acting as the receiver.

25.2.2.1. Transmitter

4 types of tests are supported:

  1. Modulated infinite packetized test. Can be useful for debugging the TX or a peer RX at a higher communication level.

  2. Modulated infinite non-packetized test. Can be used for type approval testing (ETSI, FCC, …).

  3. Modulated finite packetized test. Can be useful for more accurate board-to-board PER measurements.

  4. Unmodulated infinite non-packetized test. Simple test at the RF level (e.g. debug soldering issues). In order to see the results of this test, a spectrum analyzer has to be connected to the target.

Each test type uses different set of the input parameters. Also the previous test should be stopped first in order to start another test. Some of the rules that apply per test are the following:

  • Modulated infinite packetized test: IFS should be grater than 150 us. Number of packets parameter is ignored in this test.

  • Modulated infinite non-packetized test: Packet length, IFS and number of packets parameters are ignored in this type of test.

  • Modulated finite packetized test: Number of packets should be greater than 1.

  • Unmodulated infinite non-packetized test: Only frequency is used in this type of test.

../_images/da1469xCntTx.png

Fig. 129 Continuous Tx

Sample log output:

../_images/da1469xCntTxLog.png

Fig. 130 Sample log output for Continuous Tx command

25.2.2.2. Receiver

The receiver can be used to receive packets transmitted from a modulated infinite packetized test, a modulated infinite non-packetized test or a modulated finite packetized test.

../_images/da1469xCntRx.png

Fig. 131 Continuous Rx

Selected frequency, packet length, PHY and IFS on the receiver’s side should match the ones selected on the transmitter’s side. The following hold for the Receiver’s parameters:

  • IFS can be either 0 (not used on the Tx side) or grater than 150 us.

  • First window size accepts values in the range 1-65535.

  • Window size (or normal window size) accepts values in the range 1-8171

  • Packet Length accepts values in the range 0-251

  • The (normal) window size is in usec or slots and is 14-bits wide.

  • The actual Rx window will open for 2*Normal Window Size + SYNC_WORD_duration (16382 usec maximum).

  • The First window size is in 625 usec slots and is 14-bits wide.

  • The actual Rx window in this case opens for First window size duration.

  • In case of a SYNC error, the Rx window will not be increased.

Sample log output:

../_images/da1469xCntRxLog.png

Fig. 132 Sample log output for Continuous Rx command

25.2.3. XTAL

The set of XTAL commands is used to configure the XTAL32M trimming register. The user can enable/disable the XTAL32M output on GPIO P1_2, change the trim value or run calibration tests.

../_images/da1469xXtal.png

Fig. 133 Xtal

Sample log output:

../_images/da1469xXtalAutoCalibLog.png

Fig. 134 Sample log output for Xtal auto calibration command on P1_05

25.2.4. OTP

The OTP panel allows the user to write/read the OTP memory. The user can enter the word offset and the number of words to read from the OTP and press the Read button to read from OTP memory. The user can set the OTP word contents by double clicking on the Value (Hex) column and burn them to OTP memory by pressing the Write button.

../_images/da1469xOtp.png

Fig. 135 Reading 10 words from OTP

Note that if the OTP word is already written and the user tries to write a different value, the resulting word value is unpredicted, since only 0 bits can turn to 1 in OTP. The maximum number of words that can been read or written at once is 60. The maximum word offset can be 1023, with which the user can read 1 word from OTP address 0x10080FFC, which is the last OTP memory word address. In case the combination of word offset and number of words to read exceeds the OTP memory size, the command will return the following error: Error: Unsupported feature or parameter value (0x11).

Sample log output:

../_images/da1469xOtpLog.png

Fig. 136 Sample log output for OTP read

25.2.5. Registers

The Registers panel can be used to read and write registers.

../_images/da1469xRegs.png

Fig. 137 Reading SYS_STAT_REG

The user can select a register by pressing the select button and using the Register Selection popup. This popup lists the peripherals and the registers of each peripheral in a tree-like structure. The user can filter the tree by entering part or exact name of the peripheral or register and part or full address of a register. When a register is selected the Read and Write buttons are enabled. When the Read button is pressed, the register’s value is read and is analyzed into the values of the register’s bit fields. After reading a register’s value the Dump button is enabled, which can be used to dump the register information to the log. In order to burn a value to the register, the user has to fill the Value textfield first and then press the Burn button. Value is entered in hex and can be up to 0xFFFF for 16 bit registers and up to 0xFFFFFFFF for 32 bit registers. Note that some register addresses are read only, so if the user tries to write such an address the register value will not change.

../_images/registerSelection.png

Fig. 138 Selecting a register. On the left the full contents of the tree. On the right filtering registers containing “SYS_CTRL” on their name.

Sample log output:

../_images/da1469xRegsLog.png

Fig. 139 Dumping info of SYS_STAT_REG to the log

25.2.6. Miscellaneous

This panel contains various RF Master commands that cannot be grouped under any of the other DA1469x family specific RF Master panels. The following actions / tests can be performed via Miscellaneous panel:

  1. Firmware Version: Get the Bluetooth controller version and the PLT FW version.

  2. Read ADC: Read value from analog input (battery voltage).

  3. Custom Action: Echo back the custom action.

  4. Uart Loop: Echo back the received message.

  5. Set Baudrate: Sets the baudrate to one of the following values: 9600, 19200, 57600, 115200, 1000000.

  6. External Clock test: Checks that external 32Khz clock is connected by performing clock calibration.

  7. Read Temperature: Reads the die temperature which is measured.

  8. GPIO Configuration: Read / write GPIO pin state

  9. Sensor Action: Perform sensor test

../_images/da1469xMisc.png

Fig. 140 Miscellaneous panel

Sample log outputs:

../_images/da1469xMiscFwVersionLog.png

Fig. 141 Sample log output for FW get version command

../_images/da1469xMiscReadAdcLog.png

Fig. 142 Sample log output for read ADC command

../_images/da1469xMiscCustomAction.png

Fig. 143 Sample log output for custom action command with input value 0xBB

../_images/da1469xMiscUartLoopLog.png

Fig. 144 Sample log output for uart loop command with input value 0x123456789ABCDEF

../_images/da1469xMiscReadGpioLog.png

Fig. 145 Sample log output for read gpio command for GPIO P0_04

../_images/da1469xMiscSensorActionReadLog.png

Fig. 146 Sample log output for sensor action read command

25.2.7. Tx Power Configuration

This panel contains a set of commands to set the Transmission (Tx) Power. Two modes are available: configuration of the Tx Power in test mode and configuration of the Tx Power in normal mode.

Tx Power configuration in test mode

../_images/da1469xTxPowerSetTM.png

Fig. 147 Tx Power configuration in test mode

  • Power index: the power index to set, accepts values in the range 0 - 15

  • Coarse attenuation: Accepts values in the range 0 - 255 (1 byte size). When the selected power index is equal to 1, coarse attenuation can be only 0, 1 or 2.

  • FEM fine attenuation: Accepts values in the range 0 - 6

Sample log output:

../_images/da1469xTxPowerSetTMLog.png

Fig. 148 Sample log output for Tx Power configuration in test mode (power index: 4, coarse attenuation: 40, FEM fine attenuation: 2)

Tx Power configuration in normal mode

../_images/da1469xTxPowerSetNM.png

Fig. 149 Tx Power configuration in normal mode

The user can set the power for each one of the following air operation types: Advertising, Scanning, Initiation and RF Test. Power index accepts values in the range 0-17.

Sample log output:

../_images/da1469xTxPowerSetNMLog.png

Fig. 150 Sample log output for Tx Power configuration in normal mode (power index: 17, air operation: Advertising)

25.2.8. RF Calibration

This panel is used to calibrate the RF. The user can select one of the calibration types and press the Calibrate button to start the RF calibration. The button Get Results returns the calibration results in the log.

../_images/da1469xRfCalib.png

Fig. 151 RF Calibration

Sample log output:

../_images/da1469xRfCalibLog.png

Fig. 152 Sample log output with RF Calibration results