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.

CC1352P: application note for optimization of TI-15.4 network with large number of sensor nodes

Part Number: CC1352P
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hi,

Many years ago I stumbled upon an application note detailing how to set all sort of parameters and test results of a large network built on TI-15.4 stack. Somehow this application note is no where to be found when I tried to revisit it. Could somebody offer a pointer? Also it would be nice to see the list of all application notes related to simplelink 15.4 stack.

Thanks,

ZL

  • I think I may have confused the application note on Z-Stack. I wonder if there is similar application note on 15.4 stack. I am particularly interested in how to properly setup the following 3 entries:

    -DMAC_CFG_TX_DATA_MAX=16
    -DMAC_CFG_TX_MAX=40
    -DMAC_CFG_RX_MAX=16

    Depending on number of sensor nodes in a network, and also polling interval.

  • Hi ZL,

    unfortunately there is no particular app not on how to adjust the TI15.4 Stack parameters.

    1. Could you explain me which behavior you would like to achieve? Then we could go through your SysConfig settings together.

    2. Where do you find the parameters that you shared and why would you like to modify them?

    Kind regards,
    Theo

  • Hi Mr. Lange,

    Thanks for your reply.

    I am particularly interested in how to adjust the TX queue sizes. We changed the polling interval from default 2 seconds to 60seconds, and tx queue sizes to the following:

    -DMAC_CFG_TX_DATA_MAX=16
    -DMAC_CFG_TX_MAX=40

    I assume such setup would work fine with a network of up to 50 sensor nodes. But testing seems to indicate otherwise.In one network with 20 sensor nodes, the last joined sensor node will constantly going into orphan state and cannot receive any data from collector node.I suspect this has something to do with TX queue being constantly full.

    My question is, is there a formula that we can follow to adjust the TX queue sizes depending on polling interval and max number of sensor nodes?

    I assume there will be an upper limit on how big the TX queue sizes can be, due to limited RAM availability. Otherwise, maybe we can just set them like the following:

    // 30 times of default because polling interval increased from 2s to 60s
    // Max number of sensor nodes remain the same as default 50
    -DMAC_CFG_TX_DATA_MAX=60
    -DMAC_CFG_TX_MAX=150

    Regards,

    ZL

  • Hi ZL,

    I strongly recommend you to keep the default queue sizes as long as your not trying to queue a message that is larger than the queue.

    To compute the needed polling interval you need to calculate the transmission time for your message using the message size and PHY speed.
    From this you can then calculate how often you can send a message to each sensor.

    If you can provide me your PHY speed and the message size that you want to send for all ongoing communication I can help you to set the parameters correctly.

    Kind regards,
    Theo

  • Hi Mr. Lange,

    I assume the TX queue size means the number of messages to be sent via RF when it is possible. On collector, this would mean waiting until a sleepy sensor node polls for data. Does this have anything to do with the length of each message therefore phy speed?

    Anyway, the phy speed we use is 50kbps 2-gfk.

    Thanks,

    ZL 

  • Hi ZL,

    I apologize for the delay.

    In general you need to consider that each message that you queue will take a certain time (depending on the PHY speed) to be sent. The window that you define using the polling interval should be long enough that this message can be sent. When you now connect 50 devices and you want to send a message to all the 50 devices you need to ensure that there is a window for everyone.

    Every time that reporting or polling is triggered only one message will be sent. This is why you need to make sure that you don't queue data faster than you send it.

    Kind regards,
    Theo