Hi,
I have an application where I need a latency below 100µs between transmission and reception over the air of a 32 bits payload.
We are currently evaluating the ESB protocol, but I thing I'm reaching the limit...
I'm using:
- ISP1507-AL (embedding NRF52810) as a transceiver
- nrf52832 (on nRF52-DK) as a receiver
- The ESB example projects from nFR5 SDK V17.1.0 on Segger Embedded Studio V6.40
I have the following protocol configuration: (ESB_DPL, 2MBPS, no_ack, 8bits CRC)
nrf_esb_config_t nrf_esb_config = NRF_ESB_DEFAULT_CONFIG;
nrf_esb_config.payload_length = 4; // 4 bytes
nrf_esb_config.protocol = NRF_ESB_PROTOCOL_ESB_DPL;
nrf_esb_config.bitrate = NRF_ESB_BITRATE_2MBPS;
nrf_esb_config.crc = NRF_ESB_CRC_8BIT; // NRF_ESB_CRC_OFF
nrf_esb_config.retransmit_delay = 200;
nrf_esb_config.retransmit_count = 2;
nrf_esb_config.event_handler = nrf_esb_event_handler;
nrf_esb_config.mode = NRF_ESB_MODE_PTX;
nrf_esb_config.selective_auto_ack = true; // Must be set to true to handle packets witout ACK
I measure:
- 192.48 µs between NRF_RADIO register setup and RADIO_IRQHandler() call for end of transmission on the transmitter side
- 216,54 µs letency between NRF_RADIO register setup on TX side and NRF_ESB_EVENT_RX_RECEIVED on RX side.
If I take the old nRF24L01P specifications where ESB timings are available, I have the following: 
Toa = (8 *(1+5+4+1) + 9 ) / 2Mbps = 48.5 µs
Tirq ~=10 µs
Tstdby = 130 µs
As I have no ack and no SPI
Tesb = Toa + Tstdby + Tirq = 188.5 µs which is close to the observed timings.
According to the thread below, the 130µs delay is needed for lecacy reasons on nRF51 and nRF24L series)
Minimize ESB latency on nRF52832
My questions are the followings:
1. Do my assumptions look correct to someone who has experience with ESB ?
2. As I will forever working with nRF52 devices, is there a way to get rid on this 130µs start-up delay ? I found nothing in the driver, but something might be hardware ready hidden somewhere ?
3. If it is not possible, can Nordik recommend any wireless protocol, that would allow me to achieve under 100µs latency for 32bits payload transmission overt the air ?
(even if it implies a full hardware redesign)
Thank you in advance for your inputs

