Can we check if the radio is receiving packets before stating to transmit (on the same band)?

We are working on an idea for a protocol with very low latency events for multiple devices.

For this we would like to be able to transmit a packet only when no other transmitter (seems) to have started transmitting a packet at the same band (2.4GHz area). Is this possible?
Can we use some high priority timer interrupt to check if the receiver is receiving some packet, and if not, start to transmit one ourselves within only 20 uS to 30 uS or so?

We want to use the ESB protocol and built our own protocol with time-slots on top of that. We want to use the Bluetooth or BLE mode.

Parents
  • Hi,

     

    The radio does have a "listen before talk" mode, so the closest feature is to check the RSSI (ie. the energy measured in the current listening channel) when in RX mode:

    https://docs.nordicsemi.com/bundle/ps_nrf52840/page/radio.html#ariaid-title9

    And the RSSI has these timing parameters:

    https://docs.nordicsemi.com/bundle/ps_nrf52840/page/radio.html#ariaid-title122

     

    Can we use some high priority timer interrupt to check if the receiver is receiving some packet, and if not, start to transmit one ourselves within only 20 uS to 30 uS or so?

    The min. turnaround time from RX->TX is 40 us:

    https://docs.nordicsemi.com/bundle/ps_nrf52840/page/radio.html#ariaid-title121

     

    We want to use the ESB protocol and built our own protocol with time-slots on top of that. We want to use the Bluetooth or BLE mode.

    I assume you want to use ESB with the bluetooth data rate modulation scheme? If I understand correctly then: yes, that is supported.

     

    Kind regards,

    Håkon

  • I read in the linked documentation that the receiver needs to be enabled for the RSSI to operate.
    Can this read mode be aborted once we decide to transmit a packet? Or should I just specify an address that will not match any packet to prefent the receiver to start receiving a packet that can not be aborted? (so that I can use the RSSI until we want to send a packet)

    And I read in that documentation: "IEEE 802.15.4 implements a listen-before-talk". Does the BL_1Mb and BLE_2Mb modes not have this feature?

  • Hi,

     

    simmania said:
    I read in the linked documentation that the receiver needs to be enabled for the RSSI to operate.
    Can this read mode be aborted once we decide to transmit a packet?

    You need to switch from RX -> TX in that case. This will cause a minimum of 40 us ramp-up time for the radio to turn around.

    simmania said:
    Or should I just specify an address that will not match any packet to prefent the receiver to start receiving a packet that can not be aborted? (so that I can use the RSSI until we want to send a packet)

    RSSI only measures energy within the listening channel. It can be triggered when the radio receives a address match for instance, but if you just go into RX and start the RSSI, it will measure whatever is within that channel at the time of checking.

     

    simmania said:
    And I read in that documentation: "IEEE 802.15.4 implements a listen-before-talk". Does the BL_1Mb and BLE_2Mb modes not have this feature?

    BLE does not have a LBT feature.

     

    Kind regards,

    Håkon

Reply
  • Hi,

     

    simmania said:
    I read in the linked documentation that the receiver needs to be enabled for the RSSI to operate.
    Can this read mode be aborted once we decide to transmit a packet?

    You need to switch from RX -> TX in that case. This will cause a minimum of 40 us ramp-up time for the radio to turn around.

    simmania said:
    Or should I just specify an address that will not match any packet to prefent the receiver to start receiving a packet that can not be aborted? (so that I can use the RSSI until we want to send a packet)

    RSSI only measures energy within the listening channel. It can be triggered when the radio receives a address match for instance, but if you just go into RX and start the RSSI, it will measure whatever is within that channel at the time of checking.

     

    simmania said:
    And I read in that documentation: "IEEE 802.15.4 implements a listen-before-talk". Does the BL_1Mb and BLE_2Mb modes not have this feature?

    BLE does not have a LBT feature.

     

    Kind regards,

    Håkon

Children
No Data
Related