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

receiving performance of nrf51822

hello,

I'm using nrf51822 as proprietary model, I found it can not received 500 pkts complete from 500 nrf24lE1 labels during 2 seconds(every nrf24le1 send one pkt per second), I belived that nrf51822 can reveive 500 pkts easily per second if all 500 pkts are all from one nrf24LE1 board. So, if I can think this have mutual interference between 500 labels(nrf24le1) ? if is true , which DOC I can find the description about the interference between multiple devices

BR

Parents
  • Hi

    This is a purely mathematical issue. When you have multiple devices sending packets asynchronously then you should expect packet collisions, and the higher the duty cycle of the radio and the number of transmitting devices the more collisions will occur.

    When a collision does occur the best case scenario is that you still receive one of the packets, but just as often you will lose both packets.

    As an example; if you have 500 devices sending a packet that is 500us long every second then the worst case channel occupancy is (500us/1s) * 500 = 25%, leading to a worst case packet loss of about 25%. This might not seem too bad, but if all the devices are sending at the same 1 second interval then it is very likely that two devices will collide multiple times over. It is for this reason that the BLE advertising interval is not exact, and there is a 10ms random factor added for each packet.

    TL;DR version: Try to add some random factor to the packet interval, and be aware that if you have as much as 500 devices within RF range sending at a rate of 1 second you will probably have to wait for a while before you can pick up all the beacons.

    Best regards
    Torbjørn

Reply
  • Hi

    This is a purely mathematical issue. When you have multiple devices sending packets asynchronously then you should expect packet collisions, and the higher the duty cycle of the radio and the number of transmitting devices the more collisions will occur.

    When a collision does occur the best case scenario is that you still receive one of the packets, but just as often you will lose both packets.

    As an example; if you have 500 devices sending a packet that is 500us long every second then the worst case channel occupancy is (500us/1s) * 500 = 25%, leading to a worst case packet loss of about 25%. This might not seem too bad, but if all the devices are sending at the same 1 second interval then it is very likely that two devices will collide multiple times over. It is for this reason that the BLE advertising interval is not exact, and there is a 10ms random factor added for each packet.

    TL;DR version: Try to add some random factor to the packet interval, and be aware that if you have as much as 500 devices within RF range sending at a rate of 1 second you will probably have to wait for a while before you can pick up all the beacons.

    Best regards
    Torbjørn

Children
Related