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.

TI 15.4 Mac stack Max device

Other Parts Discussed in Thread: CC1310

hi, 

The max device is 50. I wonder it is a limitation of the stack or the limitation of application?

From the source code, I see it seems the limitation of the application. But from the documentation it seems the limitation of the stack.

The following is from the readme in the /examples/hexfile:

The MAC Stack implements the IEEE 802.15.4 communication stack, and is combined with the Collector, Sensor and Co-Processor applications to produce functional device .hex files. Two MAC Stack .hex files are included, FFD amd RFD, which provide identical functionality but different network size characteristics - the FFD build supports up to 50 devices and uses more RAM than the RFD build which supports 5 devices.

regards

steven

  • As I know, it's limitation of the stack.
  • I have checked the source code and found the limitation is for both, and the coprocessor as well. This is disappointing. I can understand that using cc1310 as collector there will be problem with memory issue, however it is unbelievable even the coprocessor + BBB there will be still such a limitation. Then what is the point to use the BBB as collector?
  • Since stack has its limitation, the limitation of application means nothing in compare with stack limitation. I think BBB Linux GW reference design is to show developers a reference design to bright Sub GHz 802.15.4 to Internet or user can control it remotedly.
  • TI 15.4-Stack example applications out of box are set to support a maximum of 50 secured devices. It is possible to increase the number of supported devices in the network with security enabled (i.e CONFIG_SECURE is set to true in file config.h) by setting the value of the parameter MAX_DEVICE_TABLE_ENTRIES for beacon and non beacon mode and both MAX_DEVICE_TABLE_ENTRIES and MAC_PNM_MAX_NUMBER_OF_NODE if using frequency hopping. This will increase the amount of RAM/flash used and thus you will be limited in total number of devices supported in a secured network based on your application RAM/FLASH needs. Same applies for the MAC CoProcessor as well, if you are implementing a secured network and want to increase the number of supported secured devices then you will have to increase the numbers and recompile.

    If however mac layer security is not required you can increase the number of devices to a very high number theoretically 65536. The defines MAX_DEVICE_TABLE_ENTRIES and MAC_PNM_MAX_NUMBER_OF_NODE  are only applicable if security is enabled. If security is not enabled you only need to manage a bigger device list on the application defined by the parameter CSF_MAX_DEVICELIST_ENTRIES in the file csf.c on the collector application project.  

    Hope this clarifies. 

    EDIT: change to reflect RAM useage increases when increasing number of supported secured devices. 

  • Is there a way to move the security function to BBB in the coprocessor design? And I think this is things should be. Otherwise we will miss a lot of application scenarios security is required while device count is more than 50.
  • No, mac layer encryption cannot unfortunately be moved to the BBB/host application as the operations are time critical. In these cases however a proprietary application payload encryption and decryption needs to to be done to increase the number of devices in the network. In this case instead of encryption being performed by the mac layer, encryption would be performed by the application. The stack will work in non secure mode but the application layer data will be encrypted. This way you would be able to support increased number of nodes in the network.
  • thank you Suyash. This helps.
  • Hi Suyash,

    If we limit number of nodes on a single gateway as 50. How much would be the free RAM/Flash available for application development?

    Considering CC1310 [ 128 KB Flash and 8 KB RAM], and Contiki OS for 6lowpan as software, Please comment on RAM/Flash availability/limitation

    for application development.

    Thanks & Regards,

    Ijaz 

  • You can build the binary and check the map file to know the exact RAM/Flash usage.
  • Hi,


    In Contiki, I am able to build examples board settings "make TARGET=srf06-cc26xx BOARD=launchpad/cc1310" able to view map files.

    Please let me know how to build firmware for edge router / border gateway  and  for nodes in the network.

    Also please let me know how to analyze map files for Flash/RAM usage, and the configuration file in which I can modify the number of nodes supported, routing table size etc to compare

    RAM/ Flash usage.

    Thanks,

    Ijaz Fazily

  • Please see this wiki for complete instructions: processors.wiki.ti.com/.../Contiki-6LOWPAN
  • Hi Suyash,
    First of all thank you for your detailed explanation, this gives more insight about the TI 15.4 stack,
    I am really having little hard time in reading the 15.4 developer guide and understanding the protocol and the stack,

    BTW, my question is ( in addition to the above explanation ,though you already mentioned about the theoretical max), is it possible for me to have more than 50 end devices(Sleepy~5 and Non Sleepy~45) If I am not having problem with heap memory occupied by the FH neighbor table.

    I also not certain about what exactly neighbor tables is, is it the table used by PAN Coordinator for having information about NW end devices?

    In our application we are using CC1310 Chip and we want to handle minimum 300 devices with one PAN Coordinator, Is this possible , If not, If we moved to any other chips which is having more RAM, would that help us overcoming the number of end device limit?