Acceptable packet loss specs nRF528XX

Hello, 

We were middle way during the development when we found out that we had a higher packet loss than what is acceptable.

So we start to analyze this issue.

Scenario:

  • We've 1x BL653 running an application
    • This application has ESB enabled and is set as PRX;
    • Once it gets an ESB packet, it parses the payload (which contains a unique sequential number)
    • Switch its role to PTX and reply a packet (broadcast on pipe 0) containing this sequential number as a size of 128 bytes (without auto ack);
    • TX power is 4dBm, DPL (dynamic packet length)
  • 1x BL654 running a test application
    • This application listens to the UART port for commands via the HOST (PC)
    • ESB is set as PTX
    • Once it gets a command, it parses the message (which should contain a unique sequential number)
    • Then builds an ESB Packet of 8 bytes and sends it (broadcast on pipe 0) containing this unique number (without auto ack)
    • Gives enough time to broadcast this message (~1000us) and switch role to PRX
    • Wait for ~18000us for all devices to respond
    • Report statistics to HOST PC
  • This BL654 is connected to a PC which runs a test application
    • This test application runs every 30ms and writes a sequential and unique number via UART
    • Collect statistics from BL654 via UART

Therefore, a packet loss could be a packet that couldn't be delivered to BL653 or either the reply packet that couldn't be delivered to BL654.

Assumptions:

We've verified the UART channel and we're getting 0% of packet loss here.

Questions:

  1. We would like to know what is the "acceptable" packet loss according to Laird/Nordic measurements?
    1. Is 1% (according to the scenario detailed below) acceptable?
    2. Does Nordic provides some table of scenarios and expected packet loss ?
  2. According to the BL653 specs (datasheet), we could get up to 8dBm for Tx Power, but the Nordic's SDK allows us up to 4dBm.
    1. If I "hack" the enum esb_tx_power and add the 8dBm option, will it work? (add there: ESB_TX_POWER_8DBM = RADIO_TXPOWER_TXPOWER_Pos8dBm)
    2. Cause I did it, but I've no evidence that it actually worked…
  3. Is there a way to make the "serial" line work in parallel with the "RF" line?
    1. Example: If the BL654 starts writing via UART some payload and at the same time another device (BL653) starts sending data via ESB, will the BL654 be able to collect this ESB packet or we'll get a packet loss?
    2. Is there a way to guarantee that this communication will happen in parallel?
    3. We heard about UART DMA,  by your experience, will it solve this issue?
  4. External oscillator could improve the RF performance (reduce packet loss)?



Parents
  • Hi,

    The packet error rate typically increase rapidly around the sensitivity limit, but as long as the received signal strength is higher you should not expect much packet loss (close to 0%). That said though, there can be several reasons for packet loss due to interference or poor link budget:

    - the design is not properly tuned for optimal performance, both output power and antenna may need tuning to ensure good link budget, adding output power only one one side of the link may not improve the link budget if the other side of the link is still using less output power. Make sure to follow the pcb guidelines and get someone to review and tune the design.

    - serial activity can have an impact on the received signal, we have for the different variants of the nRF52 series identified some pins that can in specific affect the perfomance, for instance for the nRF52833 you can find the recommended usage column for each variant listed here:
    https://infocenter.nordicsemi.com/topic/ps_nrf52833/pin.html 

    - interference can cause packet loss, this can be either interference from wifi, bt or other 2.4GHz operation, but it can also be conducted interference through USB, in specific USB3 is very noise in the 2.4GHz band, ref:
    https://www.usb.org/sites/default/files/327216.pdf 

    Best regars,
    Kenneth

Reply
  • Hi,

    The packet error rate typically increase rapidly around the sensitivity limit, but as long as the received signal strength is higher you should not expect much packet loss (close to 0%). That said though, there can be several reasons for packet loss due to interference or poor link budget:

    - the design is not properly tuned for optimal performance, both output power and antenna may need tuning to ensure good link budget, adding output power only one one side of the link may not improve the link budget if the other side of the link is still using less output power. Make sure to follow the pcb guidelines and get someone to review and tune the design.

    - serial activity can have an impact on the received signal, we have for the different variants of the nRF52 series identified some pins that can in specific affect the perfomance, for instance for the nRF52833 you can find the recommended usage column for each variant listed here:
    https://infocenter.nordicsemi.com/topic/ps_nrf52833/pin.html 

    - interference can cause packet loss, this can be either interference from wifi, bt or other 2.4GHz operation, but it can also be conducted interference through USB, in specific USB3 is very noise in the 2.4GHz band, ref:
    https://www.usb.org/sites/default/files/327216.pdf 

    Best regars,
    Kenneth

Children
No Data
Related