esb Fastest packet transfer frequency

Now I want a packet (8 bytes) to be sent out at 8k, but now it is only about 5k, I did not set the ack, is there a way to verify that the ack reaches 8k,The library currently in use is nrf5_sdk_17.1.0

Parents Reply Children
  • Hi,

     

    Glad to hear that this showed improvements for the no-ack scenario.

    shsh said:
    TX transmission failed after ACK was enabled

    Did you run the same code on both sides? This is important.

    Do you mean that it takes longer time, or that the evt "NRF_ESB_EVENT_TX_FAILED" is being raised?

     

    If you use 2 MBit on-air data rate (0.5 us per bit, 4 us per byte), and we assume 1 byte preamble, 5 byte address, 1 byte length/PCF, and 2 byte CRC, the total time on air is:

    tTX = 40us + 8 bit * 0.5 us (1 + 5 + 1 + 2 + 8 byte user payload) = 40 + 68 = 108 us.

    If you then add the tRXACK time, of a minimum of (40 us + 8 byte * 0.5 * 8) = 72 us.

     

    This will exceed your requirement of 8 kHz (125 us) sending rate.

     

    Kind regards,

    Håkon

  • Thank you very much, but how can I communicate with TX without ack? RX sends 1 or 2 packets of data to TX from time to time.

  • Hello, can I find a way to remove the activated 40us?

  • Hi,

     

    40 us is the ramp-up time of the radio. This will be required when the radio changes mode (ie. TX->RX or RX->TX).

    NCS has the configuration of always keeping the radio in TX mode, via config CONFIG_ESB_NEVER_DISABLE_TX. This is not a feature that is available in nRF5 SDK "nrf_esb".

     

    shsh said:
    Thank you very much, but how can I communicate with TX without ack? RX sends 1 or 2 packets of data to TX from time to time.

    You could buffer up samples (ie. 2 x 8 bytes), and send them with auto-acking enabled for instance. This should allow you to use 2*125 us for specific frames, which should allow you to use ACK-payload with a small payload from the PRX device.

    Or you can manually go into RX on the PTX side to receive from the PRX.

     

    Kind regards,

    Håkon

  • I found a very interesting phenomenon that if RX enables automatic ACK, regardless of whether TX requests ACK or not, RX receives 220us. This period is the same as TX requests ACK, and RX will return to normal only when RX's automatic ACK is turned off

Related