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.

CC2538

Other Parts Discussed in Thread: CC2538, CC2530, Z-STACK

I plan to buy a CC2538, because i need OS. I am having some doubts before buying it.

1) Is Contiki OS is already ported with CC2538

2)6LOWPAN stack will provide by TI.

3)After Porting Contiki and 6LOWPAN in CC2538, how much memory will left for user to port their Application out of 512KB flash.

4)Will i get a enough support if i use that stack, as i got support while implementing Zstack.

So any expert or TI employee can respond to this post.

  • 1. Yes

    2. No

    3. Don't have this info.

    4. Contiki OS is not supported by TI so you can't expect the same support with TI ZStack.

  • 2. Then where will i get that Stack?

    4.CC2538 chip is from TI only know?Then why i can't expect support?

  • Hi Nitesh,

        Thanks to be part in my post. That stack is open source. u will get it things square website.
     I just want to know, if that stack is provided by TI, then i will get better support from them.

  • Since Contiki OS is provided by 3rd party, I don' t see the reason why TI would provide support.

  • But CC2538 is TI chip right??. why we can't get support from TI?

  • If you see my second question and answered by Yikai. The Stack is not provided by TI. So how can we expect software support from them?Just we can use third party software in TI chip.

  • Hi Nitesh,

    It like you buy a cup from TI and go to Starbucks buy a cup of coffee. Then, you find the coffee has problem and you go to TI to fix the coffee problem.

  • Hi,

    6LowPAN stack has been ported on top of Contiki OS and running on CC2538.

    Our partner, Thingsquare (http://www.thingsquare.com/) provides a robust open-source connectivity solution for the Internet of Things.

    The Thingsquare Mist, their open source framework for 6LowPAN, is a lightweight 6LowPAN stack that has efficient RAM and flash footprint so CC2538 is a great device for application expansion on top of Thingsquare Mist.

    I would recommend you visit their website and get in contact with them for more information.

    Thanks,

    TheDarkSide

  • You get the stack here: http://thingsquare.com/download/

    Regarding the question about stack size;

    The tcp-server example consumes about 80kB FLash and 16kB RAM. This includes application, Contiki OS,a nd IP stack.

  • Thanks to all,

       I am having simple question, I am not familiar with 6lowpan stack,   Is this functionality is same as ZIGBEE. I mean sending  and receiving the data is same as ZIGBEE. Is 6lowopan need internet connection to send Data?

  • You can refer to http://processors.wiki.ti.com/index.php/CC-6LoWPAN for some useful information.

  • Ya i have already referred that. I need ti make study on that. But i want to know, i need internet connection to send and receive a data. It's like a UDP, which needs to connected two PC with internet?. This is the first thing i need to know. Then i will jump into stack side.

    Because Zigbee doesn't need internet. just call utility to send a data. it will send to the destination End. Is 6LOWPAN is also same kind or need internet as i mentioned in first para. Please clarify this.

  • When using 6LOWPAN, all devices have an IPV6 IP address and the communication is based on that. You can use it like a intranet and don't need internet connection if your application doesn't need to access internet.

  • Yikai & TI,

                   Still i am in confuse to start my application. I have seen many post that some of them used ZIgbee IP in CC2538 with Contiki OS. what is Zigbee IP?. I have searched for documents, though i found many documents,which doesn't say how to use contiki OS in CC2538 with 6LowPAN.

                     I have visited the website of thingsquare, i didn't get much information. I need  TI help to put me in correct platform. Main thing i plan to buy CC2538 is because  i need thin kernal for my Application. After a search. I found this CC2530 which is ported with contiki OS.

                         I have done my application using Beaglebone board(ARM core). But  i need to transfer a data through wireless. Now i want my application to run and transfer a data on single chip(CC2538 or CC2530). Since CC2530 has less memory we can't port OS on that. I choose CC2538. My application runs on multitasking(threading). I need to monitor 4 or 5 sensor simultaneously and need to calculate those data with separate protocol. According to that i need to send that data through wireless. Now tell me, what should i do?. As yikai told we can't use zstack in cc2538 with Contiki OS. Suggest me a correct platform to kick start my Application. Which TI chip will be good for my Application.

    Is there any possibility in CC2538, that i will run my application separately and For Sending the data   only i can use the 6LOWPAN or Zstack for CC2538.

  • Why do you insist on using OS on cc2538 or cc2530? Since you have beaglebone running application, you can do the calculation on it and using zstack to transmit dada only.

  • We are making the product. Beagle bone will be cost effective and concern with size. So we plan to buy TI chipset and make our own custom board.Beagle bone is fine for one. If we make more product.That will be cost effective.

  • This doesn't matter. My suggestion is to put the calculation on your host system and use z-stack on cc2530/cc2538 to transmit data only.

  • What do you mean by host system? PC?. This system is for safe secure process. In which End device is connected to 4 or 5 sensor. After collecting the all sensors, it should Calculate their itself. If you mean PC, the End device will place in a particular place where can't connect any system.

  • I mean that you can transmit the raw data of 4 or 5 sensors from end device to coordinator. The coordinator sends the raw data to your HOST, it might be a PC or embedded linux system. Or, do you have to calculate the sensor data on end device?

  • Ya that is the easiest way. But, As a designer i can't do that, because need to monitor every sensor, Some senor will implemented with interrupt method and some need to monitor periodically. So it should send data periodically which cause the less battery life. So i should calculate in the End Device, if any harm, then only it should send data. That is the only reason i asked for multi threading from the starting. As you told we can't have multi tasking in the zstack(doesn't support OS).

                  So After a search i came to know that, TI has launch new chip CC2530 with Contiki OS. where we can do multitasking. It works with 6LOWPAN. So i want a good platform, to get a documentation for implementing 6LOWPAN in CC2538.

  • sorry for typo not CC2530 it is CC2538.

  • There is a tiny OS inside ZStack and you can create events to do the calculations. I would suggest you to use it since I feel the tiny OS should be no problem for your application.

  • Thanks a lot Yikai for suggesting me so for. Monitoring the Sensor only is not a case here. As per your suggestion, i will implement this in Zstack. The thing is i need to  monitor the sensors, and should a keep a log of data. Say for example, i have started a event for 4 sensor to monitor with 10 second each. I should maintain the records of all data's. After some times the main thread will come and pick all the data's(say every 15 min, it will collect all sensor log which is monitored for 15 min. After collecting, it will flush the data's.). After that it will calculate and send a data to Coordinator.

    My question is,

    Is any memory concern to keep records of all sensors(sensors data will be one byte only). ?. That's why i prefer CC2538. You told, CC2538 chip will shipped to me with porting the Contiki OS and we can't implement Zstack on it. What is your suggestion on this?.

    According to you, there need not be any threading. we can run this in event base, right?

    If i use CC2538, which zstack i need.

    After i get answer's for this. I will resume my designing and implementation.

  • 1.Is any memory concern? I think ZStack is good enough for this concern because CC2538 has 32K RAM. I still recommend you to use ZStack.

    2. Yes, you don't need threading in my opinion. Event is good enough for your application.

    3. I would recommend you to use ZStack Home 1.2.

  • Hi Yikai,

            I have one more query. As i described my application in previous steps. After 15 min one event will take 15 min recorded sensor data and make a calculation and flush those data's.After calculation If it found some harm in the surrounding, End device should  continuously send some binary data's(in 50millisecond interval). My question here is, While Sending data continuously at the same time, it will monitor the sensor's value?

  • Hi Yikai,

            I have one more query. As i described my application in previous steps. After 15 min one event will take 15 min recorded sensor data and make a calculation and flush those data's.After calculation If it found some harm in the surrounding, End device should  continuously send some binary data's(in 50millisecond interval). My question here is, While Sending data continuously at the same time, it will monitor the sensor's value from gpio?

  • I suppose that you still can monitor data from GPIO while sending data in 50 milliseconds period if the data is not very long.

  • As i told, i am having some experience with CC2530 and Zstack2.5.1a. Since CC2538 is some what expense than CC2530. I planned to Design my Application with CC2538 as Coordinator and Router and CC2530 as End device. Because there might be 20-30 End Device in a network. So over all Cost will increase.

    1)Can i made Coordinator and End Device in CC2538 and End Device in CC2530 in a single Network?. Is Zstack2.5.1a is common for chip?

    2)Is there any possibility to Update firmware Automatically by transferring hex file from Coordinator to particular End Device.

    3)How to enable Many to one routing?I have seen the Document, that we need that "aggregator" to which every other device in the network must send data on a regular basis.

    Thanks

    Bagiradan S

  • 1. Yes, Coordinator and router in CC2538 and End Device in CC2530 in a single Network. ZStack 2.5.1a is obsolete. I would recommend you to use ZStack home 1.2.0

    2. Yes, you can use ota cluster to do remote update.

    3. It is enabled by default in ZStack home 1.2.0

  • Thanks Once again Yikai, Is my understantand is correct about Many to one routing.  I have went through the Zigbee Wireless book. But still it is confusing. I request to help me.

    ->many-to-one source routing allows fast route establishment where many devices (e.g., sensors) are all reporting to a single sink.

    ->If i am having one Coordinator, 3 Router and 5 End device. If Coordinator wants to Send data to End device through 2 routers in between. Since it is enabled with many to one routing. It will create one routing table in Coordinator only and two Router will create many to one routing table and path back to Coordinator. When End Device sends a data to Coordinator through router, it will transmit the data without performing a route discovery.

    My question is, i)Who will send a request for many-to-one routing table?.

    ii)Who will maintain the many-to-one routing table?all routers or Only Coordinator?

    iii)If Coordinator wants to send a data to End Device, how Coordinator knows there is a routers in between the End Device.

  • Dear Yikai,

       I think i am disturbing you lot. But i assure this my last question before designing my application. So please can you reply for my last post.

  • Hi TheDarkSide,

    Could you please help to answer the many-to-one route questions that are asked by Bagiradan?

  • Hi,

    you can find information about many-to-one routing in Chapter 5.4 of the Z-stack Developer's guide in the Documents folder of the Z-stack install. All questions are answered there.

    Anyway, many-to-one is best in case of large network deployments and a traffic profile of sensors reporting data to a gateway only and/or gateway sending data to all the sensors.

    The many-to-one route request is sent by the concentrator (typically the coordinator of the network). Contrary to the AODV routing scheme, the many-to-one route request is not responded to. Routes to the concentrator are stored progressively by the nodes receiving the many-to-one route req along the way, as the message propagates downward progressively. Nodes only have one routing entry, i.e. to the concentrator.

    Route maintenance is done by the concentrator, who can periodically issue a many-to-one route request to keep the routing table with one entry up-to-date on the nodes side.

    At the end of the procedure, all the nodes would have the route to the concentrator.

    To create a path from the concentrator to an end node, the route record procedure (or source routing) is used. With route record, the node sends a route record command (upon a trigger that can be selected by the application like an APS ACK to be sent to the concentrator) to the concentrator on the path that travels up to him. 

    Along the path, each node traversed adds its address in the packet itself so at the end of the path, when the message gets to the concentrator, the concentrator has a list of recorded nodes that uses as routing path.

    Whenever he wants to send a packet to that node, then it will include in the data packet a relay list so that each node knows the next hop to use,

    Hope this clarifies.

    Thanks,

    TheDarkSide

     

  • TheDarkSide, Many Thanks for the detail explaination.

  • Hi,

    sorry to jump in. I just started working with Contiki on CC2538, and after one week i managed to compile and run the example codes. I wrote a step-by-step guide on the following link:

    http://embedded-funk.blogspot.de/2014/02/compiling-contiki-27-demo-for-cc2538dk.html

  • It is great, Leo.

  • Can CC2538 support SD card Interface. Is it possible?

  • CC2538 doesn't support SD card interface.

  • Can't we support with SPI interface?if no, can you tell the reason for that.

  • if you choose SPI to communicate with SD card, it is possible but you need to implement the driver by yourself.