TI E2E Community (Beta)
Welcome to the TI E2E (Engineer-to-Engineer) Community! We invite you to freely and openly interact with your peer Engineers, TI Engineers, and other experts in order to ask questions, share knowledge, explore ideas, and help solve problems.
More Search Options

How do I implement Z-Stack to another mcu with CC2420?

This post has 22 Replies | 11 Followers

Not Ranked
Posts 3
Community Member
Techie Posted: 25 Jun 2008 8:00 AM
i can't figure out how to implement zstack to another mcu with cc2420. Is it possible?!?
Top 500 Contributor
Posts 17
Texas Instruments Employee

Not sure what you mean... Another MCU than which one ?  If you want to connect the CC2420 to the MSP430 microcontroller, you can find the corresponding Z-stack www.ti.com/z-stack

Thanks, Emmanuel 

 

Top 500 Contributor
Posts 34
Community Member

I think he wants to use the Z-stack on any uC which is connected to the CC2420 as the radio transceiver.

If it is the right question, I am also interrested to know if this community could support the move to another configuration than the ones currently supported officially by TI. I am specially interrested to port elegantly the Z-stack with the CC2431 as a co-processor with any other uC available (8051, arm, ...). The versatility of the stack is mandatory to its succes, I think specially facing a simpler SimpliciTI stack.

But, it is my personnal point of view/interrest.

JP

 

Not Ranked
Posts 5
Community Member

 Hi,

 

I agree with JP. Given the drop in cost of 32-bit chips it would be great to have the Z-stack running on some bigger and more powerful mcus.  At the moment you can use a CC2480 as a network coprocessor and plug any mcu you want to it if you need to. That makes it a 2-chip solution though.

 JP: The CC2431 is just a CC2430 with a location engine.  We are using the CC2430 for a full application running with the Z-stack but you can just write a simple interface to the CC2431 using one of the USARTs and connect any mcu to it on the other end. Just leave the Z-stack in the CC2431 no? I'm not 100% clear on what you meant so I may be way off. This basically makes it a custom version of the CC2480.

 

emmsys

Top 10 Contributor
Posts 339
Texas Instruments Employee

Hi JP,

The Z-Stack for CC2420 is bundled with IAR EW430 + MSP430FG4618 as a solution. If you require support for another microcontroller it is a bit more challenging since TI provide Z-Stack NWK layer and MAC higher layer as libraries build for a specific release of IAR EW430 toolchain. To support your request will require Z-Stack source code to be build for your microcontroller combined with the compiler of choice of course. TI do not support this.

Which microcontroller is of interest?

LPWRocks  

 

"Customer Centricity, Enthusiasm, Mass collaboration and Great minds are the best path towards great products"

Top 150 Contributor
Posts 47
Texas Instruments Employee

 Maybe you can clarify what you are trying to do when usng "the CC2431 as a co-processor with any other uC available".  What you might be looking for is the Z-Accel solution or the CC2480, where you have the full ZigBee stack running as a black box or network processor with a simple UART or SPI interface.  Then you can select whatever micro you are comfortable with or have an existing application running on and just bolt up the CC2480 to add ZigBee connectivity.  This keeps things simple and allows flexibility when selecting your micro based on application requirements.  Please note though that the CC2480 does not support the hardware based location that the CC2431 provides so if you mentioned the CC2431 because you need the location solution then you would have to implement your own form of network processor for this specific device.   

Not Ranked
Posts 4
TI Developer Network Member

You can also take a look at RC2300-ZNM ZigBee Network Module from Radiocrafts. It contains the ZigBee stack and supports a very easy to use API so that you can run your code in any uC with a UART / SPI interface. The module got all the RF circuitry including antenna integrated.

Top 10 Contributor
Posts 339
Texas Instruments Employee

Hi again,

Yes, this is one option. 

Please feel free to investigate our extensive RF Developer Network also for other options. 


LPW RF Developer Network  

http://focus.ti.com/general/docs/staticcontent.tsp?contentId=29028

LPWRocks 

 

"Customer Centricity, Enthusiasm, Mass collaboration and Great minds are the best path towards great products"

Top 500 Contributor
Posts 34
Community Member
Hi all,I am aware of all that. I know that TI, as now would not be realistically be able to support every kind of microcontroller available. In a matter of facts, my suggestion was more for the discussion than just a real current need (as I currently opted for the CC2431 as a replacement for the CC2420 and it is working great as a coprpocessor). But I really think that would be great for every one if the Z-stack could be open to the public. "Great" because form my experience, one of the big challenge with Zigbee, is the difficulty to use libraries. I think that since TI is a silicon manufacturer, they will not suffer from opening the source code, in the contrary that will (maybe) attract more customers to use the chip of an open solution and they will sell more silicon.

 

Up to now, I worked with a Silicon Labs MCU and a CC2431 as a coprocessor especially for the location engine; my remark was more for the matter of discussion than a real need (but I am interested with the alternatives provided above). Both Silabs and TI provide libraries to implement Zigbee. I like the MSP430 also, that is a great product, but is not powerful enough for the application. At the beginning of the project, I was obligated to infer/deduct the comportment of the code to be able to customize it (especially with the Silabs library and the crossbar setting). That was really ... painful. And I ended to realize some parts of the Zigbee Stack on both MCU! If the code was released, I could just read the HAL part, adapt the configuration to my needs and be able to code cleanly my application on top of the Zigbee stack for more configuration than just MSP430+CC2420. I could also as suggested by Emmsys just let the code in the CC2431, but the project I am currently working on needs to interface closely with the location engine and the Zigbee.

 

Moreover, the customer will be more attracted to an open and well supported software (like all the Linux and others), and I think it is a current drawback of Zigbee and restraining the adoption of this standard.

 

That’s why I think TI could only be winner of supporting other solutions, if they continue to provide interesting hardware (distributed location engine, low power transceiver ...) as Chipcon and now TI used to do.

 What is the point of vieww of all of you ?

Top 10 Contributor
Posts 339
Texas Instruments Employee

Hi JP,

You have some great points. Open source commnuities are great, such as the TinyOS coming out of Berkeley, http://www.tinyos.net/

In terms of ZigBee and open source communities I am only aware of one. They started out when ZigBee 2004 came to the market. This specification is of course now obsolete. I do not know the current status of this project. This community contacted us three years ago. See below:

From the OpenBee community that contact us back in 2005:

"We are two engineers working at the University of Applied Sciences Valais, Sion, Switzerland (http://www.hevs.ch).  We have begun the development of a ZigBee compatible stack under GNU/GPL license. The stack will be microprocessor, radio transceiver and operating system independant.

At the moment, we are working on the structure of the OpenBee Stack. For this, we use the UML tool Rhapsody from I-logix (http://www.ilogix.com), to speed up the design and shorten the implementation time. During this phase we will not check in any code into the sourceforge CVS repository, because the code is generated out of the UML description (C code is generated). The proposed structure of the code will be regularly posted on http://www.openbee.org and your comments are welcome (release 1.x already available in the member area). Once the architecture of the stack is defined, function declarations for the different parts (MAC, NWK, APS, AF, security, route discovery, etc.) will be available and the collaborative development can begin. If you announce your interest for a specific part, we'll provide you with the corresponding functions declarations.

Rhapsody design files will be made available both as UML graphs and as Rhapsody source file (Rhapsody licence required!). If you do not intent, or could not use rhapasody as development tool, we can take your source files and reverse engineer it into the Rhapsody project. This means you can work with your favorite IDE.

Don't hesitate to propose your ideas. To keep up with the latest news on OpenBee, just register on the OpenBee website www.openbee.org This will give you access to the member area of the site and will add your email address to the news mailing list. "

Hope this helps.

LPWRocks

 

"Customer Centricity, Enthusiasm, Mass collaboration and Great minds are the best path towards great products"

Not Ranked
Posts 7
Community Member

 Hi all,

 Related with Zigbee, Open sources and TinyOS. There is another IEEE802.15.4 / Zigbee Stack written in nesC for TinyOS, it is called Open-ZB and is developed by a research group called IPP-Hurray.

 

If you want more information, its website is: http://www.open-zb.net/

You can get their stack in the download area. It is not complete, but it works.

 

Daimon

Daimon

Not Ranked
Posts 5
Community Member

 Hi,

Lots of great information! I'm just playing devil's advocate now (and I don't work for TI!) but from TI's perspective, and given how new ZigBee is, they can provide better support if the Z-stack runs on a limited number of their own platforms. If they open up the Z-stack to everyone then it won't be possible to provide support. Also, these stacks are certified as ZigBee compliant platforms. If you move the Z-stack to other platforms than the whole package needs to be re-certified. Lots of interesting pros/cons for all of this!

 

Emmsys

Top 10 Contributor
Posts 339
Texas Instruments Employee

 Hi,

That is right. Every new build for a specific platform will require compliance testing to obtain the status of a ZCP - ZigBee Compliant Platform.

 http://www.zigbee.org/en/certification/index.asp

LPWRocks 

"Customer Centricity, Enthusiasm, Mass collaboration and Great minds are the best path towards great products"

Not Ranked
Posts 7
Community Member

Hi,

I agree with you in the main point, but as you can modify part of the ZDO or the OSAL, which are not really the Zigbee stack itself, why you can't modify the other files?. Of course TI won't have to provide support to modified stacks.

On the one side If the code is opened people can contribute with improvements or suggestions, which TI can add to Z-stack, or not.

On the other side who wants to modify the stack has to deal with the Zigbee compilance testing ( In adition, Everybody who wants the Zigbee logo for its product has to pass the Zigbee certification product program), but at least we can choose. 

 It depends on each one interests.

 

Daimon

Top 150 Contributor
Posts 47
Texas Instruments Employee

Daimon,

Your feedback is definitely something requested often, but unfortunately the situation is not as simple as opening up the code.  First, going through the product certificaiton process is different then the stack certification process, and while TI can currently make the statement that we provide our customers with a ZigBee compliant platform on which to build a product, we could no longer make this statement if we provided source code that a customer could potentially modify.  If even a single line of code is modified then technically the customer would need to re-certify this.  We realize this is not impossible, just something that is unlikely given that most customers want to focus there efforts on the application and not have to worry about the networking aspects of ZigBee (hence Z-Accel, but a completely separate topic).  Anyway that said, another issue is that as you probably know the ZigBee stack, most specifically the networking portion of it, is quite complex and there is significant resources in development and testing of this code to make it as bug free and performance enhanced as possible.  Opening up the code does offer the benefits of potentially allowing for customer improvement, but would likely result in customers going down paths that we simply don't have the bandwidth to support.  As mentioned by several others, there are ZigBee stacks out there in the open source community which are available.  However realizing the time and effort that has gone into fixing bugs and stress testing the system with 10's to even 100's of nodes, I caution most about building a product on one of these open source solutions without performing this extensive testing on their own.  Anyway great conversation nonetheless.  If opening up the source would make our customers more successful, I believe we would do this, but when taking the more global view of the ZigBee market and it seems that the best bet to help our customers be successful is to keep them focused on their application and hide the details of networking.   

Page 1 of 2 (23 items) 1 2 Next > |

ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". TI AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY TI. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.