This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2530

Other Parts Discussed in Thread: Z-STACK, CC2530

Hi,

I need information on large scale deployment of Zigbee mesh / star networks 

      Who many units maximum per installation?

      Best regards,

      Shlomi

  • Shlomi,

     

    Maximum unit per deployment depends on your network topology and your application. Usually, 500 nodes appear to be a maximum for a single PAN. Beyond this point, protocol overhead becomes an issue.

     

    Regards,

  • Hi Sly,

    We are so glad to see this reply. Currently we are using 500nodes in CC2530 for our wireless voting system. We are using Z-stack 2-4-0. Zigbee-Pro, Mesh. But we are not able to get more than 40 nodes in the network. And with these 40 nodes, some of them are not able to send back data after we asking ED and router to send data back to Coordinator. 

    Could you please help us on the network parameter setting? Currently we are using SimpleApp as our development platform. 

    Thanks. 

     

    Best regards,

    chianho

  • Here are settings you can use for a large network. They may not be suitable for your application, but you can get an idea of what parameters to play with.

     

    ROUTER PRO

     

    MAX_NEIGHBOR_ENTRIES=48 

    ZIGBEEPRO

    ZTOOL_P1

    MT_TASK

    MT_SYS_FUNC

    MT_ZDO_FUNC

    LCD_SUPPORTED=DEBUG

    TVSA_SRC_RTG=1

    SRC_RTG_EXPIRY_TIME=2

    BCAST_DELIVERY_TIME=100

    LINK_DOWN_TRIGGER=12

    TVSA_DATA_CNF=1

    ROUTE_DISCOVERY_TIME=13

    DEFAULT_ROUTE_REQUEST_RADIUS=8

    DEF_NWK_RADIUS=15

    PERF_TEST

    PACKET_FILTER_STATS

     

    COORDINATOR PRO

     

    ZIGBEEPRO

    LCD_SUPPORTED=DEBUG

    TVSA_DONGLE=1

    HAL_UART=1

    HAL_UART_DMA=1

    TVSA_SRC_RTG=1

    CONCENTRATOR_ENABLE=1

    CONCENTRATOR_DISCOVERY_TIME=60

    SRC_RTG_EXPIRY_TIME=2

    MAX_RTG_SRC_ENTRIES=100

    LINK_DOWN_TRIGGER=12

    xCONCENTRATOR_ROUTE_CACHE=1

    ROUTE_DISCOVERY_TIME=13

    BCAST_DELIVERY_TIME=100

    DEFAULT_ROUTE_REQUEST_RADIUS=8

    DEF_NWK_RADIUS=15

    PERF_TEST

     

     

    F8wConfig.cfg

     

    /*

     *                        f8wConfig.cfg

     *

     *  Compiler command-line options used to define a TI Z-Stack

     *  ZigBee device. To move an option from here to the project

     *  file, comment out or delete the option from this file and

     *  enter it into the "Define Symbols" box under the Preprocessor

     *  tab of the C/C++ Compiler Project Options. New user defined

     *  options may be added to this file, as necessary.

     *

     *  Each macro is prefixed with '-D'. The entries are to be constructed

     *  as if they are to be on the compiler command line invocation (which

     *  they are).

     *

     *  NOTE: The RHS must be quoted if there are embedded blanks. See

     *        DEFAULT_KEY for an example.

     */

     

    /* Set to 0 for no security, otherwise non-0 */

    -DSECURE=0

    -DZG_SECURE_DYNAMIC=0

     

    /* Enable the Reflector */

    -DREFLECTOR

     

    /* Default channel is Channel 11 - 0x0B */

    // Channels are defined in the following:

    //         0      : 868 MHz     0x00000001

    //         1 - 10 : 915 MHz     0x000007FE

    //        11 - 26 : 2.4 GHz     0x07FFF800

    //

    //-DMAX_CHANNELS_868MHZ     0x00000001

    //-DMAX_CHANNELS_915MHZ     0x000007FE

    //-DMAX_CHANNELS_24GHZ      0x07FFF800

    //-DDEFAULT_CHANLIST=0x04000000  // 26 - 0x1A

    //-DDEFAULT_CHANLIST=0x02000000  // 25 - 0x19

    //-DDEFAULT_CHANLIST=0x01000000  // 24 - 0x18

    //-DDEFAULT_CHANLIST=0x00800000  // 23 - 0x17

    //-DDEFAULT_CHANLIST=0x00400000  // 22 - 0x16

    //-DDEFAULT_CHANLIST=0x00200000  // 21 - 0x15

    //-DDEFAULT_CHANLIST=0x00100000  // 20 - 0x14

    //-DDEFAULT_CHANLIST=0x00080000  // 19 - 0x13

    //-DDEFAULT_CHANLIST=0x00040000  // 18 - 0x12

    -DDEFAULT_CHANLIST=0x00020000  // 17 - 0x11

    //-DDEFAULT_CHANLIST=0x00010000  // 16 - 0x10

    //-DDEFAULT_CHANLIST=0x00008000  // 15 - 0x0F

    //-DDEFAULT_CHANLIST=0x00004000  // 14 - 0x0E

    //-DDEFAULT_CHANLIST=0x00002000  // 13 - 0x0D

    //-DDEFAULT_CHANLIST=0x00001000  // 12 - 0x0C

    //-DDEFAULT_CHANLIST=0x00000800  // 11 - 0x0B

     

    /* Define the default PAN ID.

     *

     * Setting this to a value other than 0xFFFF causes

     * ZDO_COORD to use this value as its PAN ID and

     * Routers and end devices to join PAN with this ID

     */

    -DZDAPP_CONFIG_PAN_ID=0xbf2a

     

    /* Minimum number of milliseconds to hold off the start of the device

     * in the network and the minimum delay between joining cycles.

     */

    -DNWK_START_DELAY=100

     

    /* Mask for the random joining delay. This value is masked with

     * the return from osal_rand() to get a random delay time for

     * each joining cycle.  This random value is added to NWK_START_DELAY.

     * For example, a value of 0x007F will be a joining delay of 0 to 127

     * milliseconds.

     */

    -DEXTENDED_JOINING_RANDOM_MASK=0x007F

     

    /* Minimum number of milliseconds to delay between each beacon request

     * in a joining cycle.

     */

    -DBEACON_REQUEST_DELAY=100

     

    /* Mask for the random beacon request delay. This value is masked with

     * the return from osal_rand() to get a random delay time for

     * each joining cycle.  This random value is added to DBEACON_REQUEST_DELAY.

     * For example, a value of 0x00FF will be a beacon request delay of 0 to 255

     * milliseconds.

     */

    -DBEACON_REQ_DELAY_MASK=0x00FF

     

    /* in seconds; set to 0 to turn off route expiry */

    -DROUTE_EXPIRY_TIME=30

     

    /* This number is used by polled devices, since the spec'd formula

     * doesn't work for sleeping end devices.  For non-polled devices,

     * a formula is used. Value is in 2 milliseconds periods

     */

    -DAPSC_ACK_WAIT_DURATION_POLLED=3000

     

    /*  Default indirect message holding timeout value:

     *  1-65535 (0 -> 65536) X CNT_RTG_TIMER X RTG_TIMER_INTERVAL

     */

    -DNWK_INDIRECT_MSG_TIMEOUT=7

     

    /* The number of simultaneous route discoveries in network */

    -DMAX_RREQ_ENTRIES=8

     

    /* The maximum number of retries allowed after a transmission failure */

    -DAPSC_MAX_FRAME_RETRIES=3

     

    /* Max number of times retry looking for the next hop address of a message */

    -DNWK_MAX_DATA_RETRIES=2

     

    /* Number of times retry to poll parent before indicating loss of synchronization

     * with parent. Note that larger value will cause longer delay for the child to

     * rejoin the network.

     */

    -DMAX_POLL_FAILURE_RETRIES=2

     

    /* The number of items in the broadcast table */

    -DMAX_BCAST=9

     

    /* The maximum number of groups in the groups table */

    -DAPS_MAX_GROUPS=16

     

    /* Number of entries in the regular routing table plus additional

     * entries for route repair

     */

    -DMAX_RTG_ENTRIES=40

     

    /* Maximum number of entries in the Binding table. */

    -DNWK_MAX_BINDING_ENTRIES=4

     

    /* Maximum number of cluster IDs for each binding table entry.

     * Note that any value other than the default value may cause a

     * compilation warning but Device Binding will function correctly.

     */

    -DMAX_BINDING_CLUSTER_IDS=4

     

    /* Default security key. */

    -DDEFAULT_KEY="{0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0D}"

     

    /* Reset when ASSERT occurs, otherwise flash LEDs */

    //-DASSERT_RESET

     

    /* Set the MAC MAX Frame Size (802.15.4 default is 102) */

    -DMAC_MAX_FRAME_SIZE=116

     

    /* Compiler keywords */

    -DCONST="const __code"

    -DGENERIC=__generic

     

    /****************************************

     * The following are for End Devices only

     ***************************************/

     

    -DRFD_RCVC_ALWAYS_ON=FALSE

     

    /* The number of milliseconds to wait between data request polls to the coordinator. */

    -DPOLL_RATE=1000

     

    /* This is used after receiving a data indication to poll immediately

     * for queued messages...in milliseconds.

     */

    -DQUEUED_POLL_RATE=100

     

    /* This is used after receiving a data confirmation to poll immediately

     * for response messages...in milliseconds

     */

    -DRESPONSE_POLL_RATE=100

     

    /* This is used as an alternate response poll rate only for rejoin request.

     * This rate is determined by the response time of the parent that the device

     * is trying to join.

     */

    -DREJOIN_POLL_RATE=440

     

  • Thanks Sly, 

    Let us have a test and get back to you. By the way, from the video swrc152.flv. They use RF power splitter to lower down the RF power to simulate the distance? Possible for us to test it in our lab without using RF power splitter or go out to field? 

     

    Best regards,

    chianho

  • Hello,

    If you are using development boards with SMA connectors, you can disconnect the antennas and place boards 20~30 cm apart. Another way is to tweak protocol stack settings in order to limit neighbor table sizes, it forces multi-hop behavior.

    Cheers,

  • Thanks Sly, 

    We are play around the parameters that you share to us. FYI, our compile option setting as below,

    Router-Pro

    NWK_AUTO_POLL

    RTR_NWK

    REFLECTOR

    POWER_SAVING

    NV_INIT

    xNV_RESTORE

    xZTOOL_P1

    xMT_TASK

    xMT_SYS_FUNC

    xMT_SAPI_FUNC

    xMT_SAPI_CB_FUNC

    HAL_UART=FALSE

    HAL_LED=FALSE 

     

    And we change the -f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wRouter.cfg from EnDev  and

    -C $PROJ_DIR$\..\..\..\Libraries\TI2530DB\bin\Router-Pro.lib from EnDev-Pro.lib.

     

    For Coordinator-Pro

    BUILD_ALL_DEVICES

    REFLECTOR

    NV_INIT

    xNV_RESTORE

    ZTOOL_P1

    MT_TASK

    MT_SYS_FUNC

    xMT_SAPI_FUNC

    xMT_SAPI_CB_FUNC

     

    -f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wCoord.cfg and

    -C $PROJ_DIR$\..\..\..\Libraries\TI2530DB\bin\AllDevice-Pro.lib

     

    We are using SimpleApp as our development platform. 

    Best regards,

    chianho

  • Hi Sly, 

    We play around with the parameters that you share to us. But only 11 routers are able to bind in the Coordinator. The rest might be the child of the router. But we could not see them. Attached the package sniffer data for your reference. Wish you could help us on our issue. 

    As what you mention above, how do tweak protocol stack setting in order to limit neighbour table size?

     

    The parameter in option;

     

    Router-Pro

     

     

    NWK_AUTO_POLL

    RTR_NWK

    REFLECTOR

    POWER_SAVING

    NV_INIT

    HAL_UART=FALSE

    HAL_LED=FALSE

    MAX_NEIGHBOR_ENTRIES=48 

    ZIGBEEPRO

    ZTOOL_P1

    MT_TASK

    MT_SYS_FUNC

    MT_ZDO_FUNC

    TVSA_SRC_RTG=1

    SRC_RTG_EXPIRY_TIME=2

    BCAST_DELIVERY_TIME=100

    LINK_DOWN_TRIGGER=12

    TVSA_DATA_CNF=1

    ROUTE_DISCOVERY_TIME=13

    DEFAULT_ROUTE_REQUEST_RADIUS=8

    DEF_NWK_RADIUS=15

    PERF_TEST

    PACKET_FILTER_STATS

     

    Coordinator-Pro

     

     

    BUILD_ALL_DEVICES

    REFLECTOR

    NV_INIT

    ZTOOL_P1

    MT_TASK

    MT_SYS_FUNC

    ZIGBEEPRO

    TVSA_DONGLE=1

    HAL_UART=1

    HAL_UART_USB=1

    TVSA_SRC_RTG=1

    CONCENTRATOR_ENABLE=1

    CONCENTRATOR_DISCOVERY_TIME=60

    SRC_RTG_EXPIRY_TIME=2

    MAX_RTG_SRC_ENTRIES=100

    LINK_DOWN_TRIGGER=12

    ROUTE_DISCOVERY_TIME=13

    BCAST_DELIVERY_TIME=100

    DEFAULT_ROUTE_REQUEST_RADIUS=8

    DEF_NWK_RADIUS=15

    PERF_TEST

     

     

    The config file are same as what you suggested.

    Thanks, 

     

    Best regards,

    chianho

     

    NWK_Set1.3.psd
  • Hi Sly, 

    We test the parameters in our lab, with 76 EDs + 12 routers.  There is some strange behavior we observed. We test in the lab which is a room size. And we put 12RTR and 36 EDs into the network. The network constructed show in the New Picture(3). After that we test in same setup with 12RTR and 76EDs. The result is same, just the single line network (Snake network) getting longer. 

    Last, we test with 6 RTR and 10EDs. It look ok without the snake network. But as we test so far with different nwk parameters, we have no seen second layer network in our network analyser yet. Which is  Coord -> Router -> End Devices. 

    Do you know the root of it? Will it be the RF power level are similar to cause the second layer network not able to construct? Please share to us if you have anything in mind. Thanks. 

     

    Best regards

    chianho

  • Hi Sly,

     

    It seems that ChianHo is unable to have this setup figured out for a large network demo based on the settings described.  Is there a resolution ?

     

    Yoon Hui