Application Report On CC2530 Mini Kit Mesh Network
1. CC2530 ZigBee Network Processor Mini Kit
Enabling two-ways communication with Mesh network capability
Abstract
The CC2530 Mini Kit default 4 examples code - Hardware Interface Examples,
ZNP Interface Examples, Communication Examples, Simple Application
Examples – does not cover on how to enable two-ways communication and
only provided a star network structure instead of a stable mesh network
structure. Upon running the Simple Application Examples, once the end device
joins the coordinator through a router, the connection will crash after the end
device sends the 3rd message. Therefore, this application report will address
on these issues and enabling the mesh network capability of the CC2530ZNP
Mini Kit.
Related code and additional information are provided.
Contents
Introduction 2
CC2530 ZigBee Network Processor 2
ZigBee PRO Stack 3
Enabling Two-Ways Communication 3
Wireless Doorbell Examples 4
Using Router as Range Extender 6
Reference 7
CC2530ZNP Mini Kit Application Report Page 1 of 7
3/5/2011
2. 1. Introduction
The application report is an additional built-on modification of the
original examples. It is recommended that you familiarize yourself with
the original examples first before using this. See reference for the
tutorial on the original examples wiki site.
The ZigBee Network Processor Mini Development Kit is designed to give
a simple introduction to ZigBee wireless networks. The examples
provided are designed to be small, easy to use building blocks of code,
which can be easily incorporated into your application. The example in
this document is written for ease of use first, performance second.
There is most likely a faster way to do everything, but we wanted to
ensure that the examples are easy to understand.
2. CC2530 ZigBee Network Processor
There are two approaches to use CC2530 ZigBee Network Processor.
CC2530ZNP Mini kit
MSP430F2274
32K flash/1K RAM
Mini-kit Example
applications
CC2530ZNP
SPI SPI
SPI/UART/USB
ZigBee Stack/MAC
IEEE 802.15.4 Radio
The Mini Kit approach will ensure a faster development time. It allows
easy testing and prototyping simple ZigBee applications. It is easy to
understand and smaller in code size compared to the other approaches.
It is also portable to other TI platforms.
Limitation of the mini kit includes, no ZigBee profile support and no
operating system abstraction layer. The Mini Kit operates based on
interrupt service routine.
CC2530ZNP Mini Kit Application Report Page 2 of 7
3/5/2011
3. 3. ZigBee PRO Stack
The CC2530ZNP is a cost-effective, low power, ZigBee processor that
provides full ZigBee functionality with a minimal development effort.
In this solution, the ZigBee PRO stack runs on a CC2530 ZigBee SoC
and the application runs on an external microcontroller (MSP430
F2274). The CC2530ZNP handles all the ZigBee protocol tasks, and
leaves the resources of the application microcontroller free to handle the
application. To understand more on the ZigBee PRO stack, see reference
for CC2530ZNP Interface Specification.
4. Enabling Two-Ways Communication
To enable broadcast, take a look at AfSendData and its parameter.
AfSendData actually uses Af_Data_Request from the API. The detail of
Af_Data_Request can be found in CC2530ZNP Interface Specification.
Variation of the DestinationShortAddress:
1. ALL_DEVUCES
2. ALL_ROUTERS_AND_COORDINATORS
3. 0 (send to coordinator only)
If received afSendData error -31, it means the sender received a
message but it wasn’t the type expected. Check receiver side’s code to
make sure the code flowchart is correct.
To simplify the problem, sleeping function is disabled in the example. If
enable, make sure the interrupt wake-up is properly functioning or else
CC2530ZNP Mini Kit Application Report Page 3 of 7
3/5/2011
4. the sleeping device will never receive the message.
5. Wireless Doorbell Example
In this setup configuration, access point means coordinator and the rest
is end device. When pressing the button on the coordinator, all end
device led will lights up as well. When pressing button on the end
device, the coordinator and other end device led will lights up.
#define SEND_MESSAGE_ON_MOTION: Once a motion is detected, the led will be
triggered just like a button pressed.
#define SEND_MESSAGE_ON_TIMER: The end-device will report the device status
every few second back to the coordinator.
The purpose of SEND_MESSAGE_ON_TIMER is to demonstrate how to receive and
parse messages from the other devices. The coordinator checks if the received message is
an info message, and if so then it parses the message and displays it.
CC2530ZNP Mini Kit Application Report Page 4 of 7
3/5/2011
6. 6. Using Router as Range Extender
By using the router (range extender), we can now modify the above
network structure in part 5 to the structure below. After you turn the
router on, the led will light up once it joined a network (either join a
coordinator or another router). After that, all is done, nothing else is
required. You can also see the join message from the coordinator's
hyperTerminal window. If one router connected to another router, which
connected to a coordinator, you will be able to see 2 router's join
message from the coordinator's hyperTerminal.
CC2530ZNP Mini Kit Application Report Page 6 of 7
3/5/2011
7. 7. Reference
1. CC2530ZNP Mini kit product page
– http://focus.ti.com/docs/toolsw/folders/print/cc2530zdk-znp-
mini.html
2. Wiki page documentation
– http://processors.wiki.ti.com/index.php/CC2530ZDK-ZNP-MINI
3. CC2530ZNP Interface Specification (SWRA312)
4. CC2530ZNP Mini Kit Quick Start Guide (SWRU268A)
CC2530ZNP Mini Kit Application Report Page 7 of 7
3/5/2011