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

Zigbee maximum device number

Hi, I'm using nRF5_SDK_for_Thread_and_Zigbee_v3.1.0_c7c4730 to develop a Zigbee Network.
I'm using the ble_zigbee_template example as starting point of my works.
I seen that the Zigbee stack is able to store permanently the network data of each device connected (to delete it user must connect pin 1.09 to GND during startup).
My questions:
- how many Zigbee node can store? I need to have until 250 node stored.
- what's the address of FLASH storage for these data?
Many thanks for help
Kind Regards

Abele

Parents
  • Hello Abele,

    I had to forward this question to our Zigbee team. I should have noticed you, but I haven't received any response yet.

    Just some background:

    I believe (waiting for confirmation) that this is stored similarly to FDS, so it will not be a specific flash address containing the addresses and routing tables for each node. It is most likely a dynamic handling of this data.

    I see that on the nRF52840 there are some data stored in two locations:

    One chunk on 0x000F7000 and one chunk on 0x000FB000. Do you need more information regarding the address than this? If so, what?

    I am waiting for an answer regarding the number of nodes that can be stored.

  • Hello Edvin
    Thanks for answer, for further requests I will wait the info about the maximum # nodes can stored.

  • Ok, for my customer 200 device are good.
    Now, I see that flash space reserved for zBoss stack is configured on sdk_config.h file (see code below)

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    // <i> Expressed in number of 4-byte words.
    // <i> By default, a virtual page is the same size as a physical page.
    // <i> The size of a virtual page must be a multiple of the size of a physical page.
    // <1024=> 1024
    // <2048=> 2048
    #ifndef FDS_VIRTUAL_PAGE_SIZE
    #define FDS_VIRTUAL_PAGE_SIZE 1024
    #endif
    // <s> FDS_VIRTUAL_PAGES_RESERVED - The number of virtual flash pages that are used by other modules.
    // <i> FDS module stores its data in the last pages of the flash memory.
    // <i> By setting this value, you can move flash end address used by the FDS.
    // <i> As a result the reserved space can be used by other modules.
    #ifndef FDS_VIRTUAL_PAGES_RESERVED
    #define FDS_VIRTUAL_PAGES_RESERVED ((ZIGBEE_NVRAM_PAGE_SIZE * (ZIGBEE_NVRAM_PAGE_COUNT + ZIGBEE_NVRAM_CONFIG_PAGE_COUNT))/(FDS_VIRTUAL_PAGE_SIZE * 4))
    #endif
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Fullscreen
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    My futher question:
    These settings are enough for 200 device?
    (I will remember you that I'm developing a Coordinator)
    Please, if possible to answer me asap.
    Thanks. Abele

  • I want to say yes. Unless you have any error messages during the initialization, there shouldn't be any issues, I believe. The stack will set aside as much memory as it needs. Let me double check with the team. In the meantime, can you check that it doesn't throw any errors during initialization?

    BR,

    Edvin

  • What you means with

    errors during initialization?

    In any case, I have no errors during boot phase, also when it is a "first start" after all flash area erase before programming the device.

  • Hello Edvin
    have you any confirm if the flash storage amount as shown in my precedent post is enough for 200 devices?

  • I am trying to get it confirmed with our Zigbee team. I am sorry, but I don't have 200 devices to test with, so I need confirmation from them. I pinged them yesteday, but I'll do it again.

Reply
  • I am trying to get it confirmed with our Zigbee team. I am sorry, but I don't have 200 devices to test with, so I need confirmation from them. I pinged them yesteday, but I'll do it again.

Children
  • Hello,

    In order to store 200 devices, you need to increase the ZIGBEE_NVRAM_PAGE_SIZE to 68kb. It requires 67.2kB, but needs to be rounded up to a multiple of a physical page size (4).

    Please check out the attached spreadsheet for the calculations, which I received from our Zigbee Team.

    memory_config.xlsx

    Best regards,

    Edvin