Timesync and BLE mesh functionalities not working together on nRF52840-DK board

Hello,

Our application is to create BLE mesh network with multiple nodes, each node is having sensor. Each node will send sensor value and timestamp over the mesh network and there is a mobile application connected with one destination node which is collecting all information for further analysis. For timestamp, it is required to synchronized the time value in milliseconds in all the mesh nodes. So all nodes are having same timer value.

nRF Connect SDK version: v2.2.0

Hardware: nRF52840-DK Evaluation board

For BLE mesh, we are taking reference of ble_peripheral_lbs_coex example (available in samples\bluetooth\mesh\). It is working fine with multiple nodes in standalone.

To synchronize the time, we are using Timesync example same as mentioned in one of the post ( Wireless timer synchronization among nRF5 devices ). It is working fine with multiple nodes in standalone. 

Now, as per our requirement we need both as single application so we integrate time sync code into BLE mesh example code and compiled successfully. After integration, we are observing MPSL_TIMESLOT_SIGNAL_BLOCKED message continuously on serial terminal and time synchronization is not working. During this, mesh packet is able to transmit and receive on the mesh nodes.

We increased BLE mesh scan interval from 30 ms to 2000 ms. After this, Timesync is started working but BLE mesh stopped working.

Is there any way to work both functionalities(BLE mesh and Timesync) simultaneously? or is there any other way to synchronize the time(in milliseconds) on all the nodes over mesh?

It would be highly appreciated if we could get some response.

Thanks !!!

Parents
  • Hi,

    We've picked up your case and are looking into the issue, however I don't have anything constructive for you as of now (waiting for some input about the topic from the Mesh team). I will get back to you early next week if we have any existing ways or samples that integrates BLE Mesh and Timesync simultaneously

    Apologies for the inconvenience

    Kind regards,
    Andreas 

  • Hello Andreas,

    Thanks for your response and efforts. Looking forward for your response.

    Thanks !!!

  • Hello Andreas,

    Thanks for your detailed response. We are working on it.

    Thanks & Regards !!!

  • Happy to help! 

    Let me know if it works out for you

    Kind regards,
    Andreas

  • Hello Andreas,

    We have integrated all 3 functionalities, Time Synchronization + node communication over BLE Mesh + BLE peripheral, and tested with 5 nrf52840 DK boards on the field. We have tuned the BLE scan and advertisement interval for all 3 functionalities and it started working. Now, we observed some of the limitations during so much testing on the field, mentioned below. We tested with 5 DK boards; the distance between each node is 10 meters.

    1. Time synchronization takes random time to get synchronized with all 5 nodes. As per our testing, we observed a minimum time of approx. 1 minute and a maximum time of approx. 5 minutes. Maximum time can be beyond 5 minutes. This is not acceptable in our case.

    2. Sometimes mesh packet takes more time to travel from 1st node to 5th node.

    To overcome these limitations, we are thinking of 2 different solutions and we need your suggestions.

    1. Run BLE and Zigbee concurrently on the nRF52840 chipset. Time synchronization and BLE peripheral will be run on BLE and node communication will be run on Zigbee. We know that Radio is going to share between 2 protocols but we feel that Zigbee will be active only during node communication, not like BLE mesh.

    2. Run the BLE stack on the nRF52840 chipset and run the Zigbee stack separately on another nRF52840 chipset. In this case, 2 chipsets are required on a single system.

    We prefer to go with solution number 1. Please share your thoughts.

    Looking forward to your response.

    Thanks & Regards !!!

  • Hi,

    Glad to hear that you managed to implement the features you wanted even though the results weren't satisfying

    iotracking said:
    1. Run BLE and Zigbee concurrently on the nRF52840 chipset. Time synchronization and BLE peripheral will be run on BLE and node communication will be run on Zigbee. We know that Radio is going to share between 2 protocols but we feel that Zigbee will be active only during node communication, not like BLE mesh.

    I recommend you to have a look at the multiprotocol support page at https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/multiprotocol/index.html as well as the Zigbee light switch sample section regarding BLE multiprotocol support https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/zigbee/light_switch/README.html#multiprotocol-bluetooth-le-extension-assignments 

    The Multiprotocol page should tell you about some items to consider while the lastly mentioned sample should showcase how this is done in a ZigBee application in practice. Depending on the criteria your application needs, you may find this option to be suited to your application.

    iotracking said:
    2. Run the BLE stack on the nRF52840 chipset and run the Zigbee stack separately on another nRF52840 chipset. In this case, 2 chipsets are required on a single system.

    I'm not too familiar with this configuration so you might have some more luck by raising the question in a new ticket but my thoughts are that you will need to use some coexistence such as https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/mpsl/doc/cx.html to avoid interference. Note that the link I posted is for multiple radios but only with one application/SoC

    Let me know if this answers your initial questions and please 

    Kind regards,
    Andreas

  • Hello Andreas,

    Thanks for your detailed response.

    I have some queries regarding Zigbee mentioned below.

    1. Does nRF connect SDK support Star or Mesh network topology for Zigbee protocol? I didn't find any information about star topology.

    1a. If NCS supports Zigbee mesh then it will be a similar case that we have implemented with BLE and BLE mesh concurrently. Am I understood correctly? If not, then how Zigbee mesh is different than BLE mesh?

    2. Do we need a Zigbee coordinator to manage the ZigBee network? Will Zigbee coordinator implementation be handled by nRF52840 chipset i.e., Flash and RAM memory?

    We will try the example that you mentioned and will let you know if we have more queries.

    Thanks & Regards !!!

Reply
  • Hello Andreas,

    Thanks for your detailed response.

    I have some queries regarding Zigbee mentioned below.

    1. Does nRF connect SDK support Star or Mesh network topology for Zigbee protocol? I didn't find any information about star topology.

    1a. If NCS supports Zigbee mesh then it will be a similar case that we have implemented with BLE and BLE mesh concurrently. Am I understood correctly? If not, then how Zigbee mesh is different than BLE mesh?

    2. Do we need a Zigbee coordinator to manage the ZigBee network? Will Zigbee coordinator implementation be handled by nRF52840 chipset i.e., Flash and RAM memory?

    We will try the example that you mentioned and will let you know if we have more queries.

    Thanks & Regards !!!

Children
  • Hi

    iotracking said:
    1. Does nRF connect SDK support Star or Mesh network topology for Zigbee protocol? I didn't find any information about star topology.

    Both of these configurations are supported, which is mentioned in the topologi section of the Zigbee documentation. it only depends on how you commission the devices into the ZigBee network, i.e what parent a device should have and/or if the devices are a part of a group (for instance a light bulb group for the kitchen in a house).

    iotracking said:
    1a. If NCS supports Zigbee mesh then it will be a similar case that we have implemented with BLE and BLE mesh concurrently. Am I understood correctly? If not, then how Zigbee mesh is different than BLE mesh?

    Somewhat yes, but not quite. I won't be able to explain it completely in detail, as that would require me to dive extremely deep into the specification to find the difference, so I will only briefly explain it here and recommend you to investigate the specs and the documentation and samples for Zigbee and Mesh  in more detail.

    You can draw parallels between the two protocols due to similarities but there are differences, the most notable of this being that Bluetooth Mesh is using what is called "Managed flooding", (mentioned in section 2.2 in the Mesh profile specification) while Zigbee uses "Full routing" when transmitting data. There is also a difference in the number of supported devices in the networks (~32k for Mesh and ~64k for Zigbee), range, power consumption and area where it is "recommended" to apply the two different protocols.

    iotracking said:
    2. Do we need a Zigbee coordinator to manage the ZigBee network?

    Yes, you will need a coordinator. Every Zigbee network has a trust center, which is typically centralized meaning that the trust center is in the coordinator. The coordinator manages the commissioning of new devices into the network as well as existing devices in the network. There is an option (that is not typically recommended) which is a decentralized trust center. You can read more about this in the Zigbee specification.

    iotracking said:
    Will Zigbee coordinator implementation be handled by nRF52840 chipset i.e., Flash and RAM memory?

    Yes, you can see the Zigbee samples on developer.nordicsemi.com where you will find the Network Coordinator sample. The nRF52833 is also a supported device for this sample, but do note that this sample does not take DFU in consideration.

    Kind regards,
    Andreas

  • Hello Andreas,

    Thanks for all your support. We are still looking for reliable solutions.

    I read about nRF5340 chipsets with dual processors, one processor can handle only the application part and the other softdevice part(radio).

    Is it feasible to achieve 10 ms time accuracy among all the nodes i.e. 10 nodes, using the time synchronization method and BLE mesh to communicate with all the nodes simultaneously?

    Thanks & Regards !!!

  • Hi,

    I see you've created a new case for theese questions in  Need support on Wireless Node Application. I will continue the discussion in that case. Do however note that its Christmas holidays in Norway so we will not be looking deeply into the case before January.

    I will mark this case as closed and come back to you in your latest case

    Kind regards,
    Andreas

Related