This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Radio test in 802.15.4 -mode

I'm running the SDK 17 radio test example on two nRF52840 DKs. My goal is to do a PER measurement in 802.15.4 -mode.

I configure the boards to use ieee802154_250Kbit mode, the same channel and same payload pattern for both boards.

I can get the reception to work for a little while. If I tell the sender to send 100 packets, I usually get 100 received packets. But for anything longer the reception seems to stop at some point.

For instance if I set the transmitter to send 10000 packets (start_tx_modulated_carrier 10000) and monitor the reception by issuing "print_rx"-commands on the receiver, the packet count initially increments but stops at some point. Usually at a few hundred packets. Now if I issue a new "start_rx"-command the packet count again starts to increment from zero (as expected), but again stops at some lowish value.

I also tried a lower packet rate by setting the transmitter to duty cycle modulation. If I do "start_duty_cycle_modulated_tx 10", ie 10% duty cycle, it is even easier to monitor the received packet count as it increments slower. But again the count stops incrementing fairly soon. And restarting the rx makes the reception work again for a while.

If I redo all of the above using ble_1Mbit -mode it all works. I can send 10000 packets and receive 10000 packets. So it seems to be related to the 802.15.4-mode.

All testing so far has been done at my desk, with the DKs a few centimeters apart.

Any ideas on how to make this work would be appreciated.

Parents Reply Children
  • I got new DKs now. PCA10056 v2.0.1

    Now I get no reception whatsoever in ieee802154_250Kbit mode. Doing as described in the first post, the packet counter stays at zero all the time. Changing mode (data_rate) to ble_1Mbit makes the reception successful.

    To clarify, I'm using the radio test example from SDK 17.0.2 as is, not modified in any way. And two new nRF52840 DKs.

  • Hi Markku

    Which RF channel are you using?

    As mentioned in the example documentation the start and end channel must be in the 11 to 26 range when using the IEEE 802.15.4 mode. 

    Best regards
    Torbjørn

  • I tried 11 and 26. The radio test even prints a message if you try to use an invalid channel, so I don't think this was an issue.

  • I feel like I must have a simple mistake somewhere, as this is just not working at all. So here is again what I'm doing:

    Two nRF52840DKs, both new, both version 2.0.1

    I program both with the radio test example from SDK 17.0.2. I use Keil for compiling and programming in case that matters.

    Open two terminals to send commands. I used putty.

    Issue the following commands for both DKs:

    • data_rate ieee802154_250Kbit
    • transmit_pattern pattern_11001100
    • start_channel 16
    • end_channel 16

    All commands were successful, and the DKs responded accordingly.

    Now on one DK start reception: (start_rx)

    And on the other start transmitting 500 packets: (start_tx_modulated_carrier 500)

    Once the transmitter prints that it is finished, print the receive status on the receiver: (print_rx)

    The result I'm seeing is that nothing was received.

    Now I change the mode to BLE (data_rate ble_1Mbit) on both units. Restart rx, resend the 500 packets.

    Printing results shows that all 500 packets were received.

  • Some further things I tried:

    Tried the other payload pattern (11110000)

    Explicitly set the tx power, even though the default was fine for my tests

    Verified that the code catches the mistake if I try to set a channel not between 11-26

    To rule out the Keil tools I flashed the precompiled radio_test_pca10056.hex to the DKs using nRF Connect Programmer

    None of this changed a thing.

Related