Electronic Design

8051 Drives ZigBee Kit

Silicon Laboratories has a great crop of high-performance 8051 microcontrollers and one of those is packaged on each of the boards in its ZigBee development kit (Fig. 1). The small case includes six modules (Fig. 2). An 802.15.4 version is available with a pair of boards. Each module has a removable antenna and a USB interface. They can be powered by a 9V battery (included) that hides under the board, by the USB interface, or by an external power supply (one included). The boards also have a JTAG interface and a USB-based JTAG interface is included with the kit. The board contains a Chipcon CC2420 transceiver linked via SPI to a C8051F121 8-bit microcontroller with an 8-channel, 8-bit ADC and a pair of 12-bit DACs. The microcontroller has a plethora of IO ports, timers, and serial ports as well. The USB interface is actually provided via another Silicon Labs microcontroller, the CP2101. The board has four buttons, over half a dozen LEDs and a potentiometer connected to the microcontroller for experimentation. Unfortunately getting access to the IO pins is not really possible so adding your own circuitry will be difficult. There is a power switch to conserve battery power if necessary along with a reset switch. The boards come preprogrammed to combine into a network and provide access to some of the built-in peripherals. The sample application (Fig. 3) displays the current temperature and the voltage through the pot. It provides a nice demo and confirms the workings of the system. Coding ZigBee Next come coding applications that can take advantage of the 802.15.4 or ZigBee protocol stacks. Unlike many module-based solutions, Silicon Labs expects you to drop an application onto the microcontroller that also houses the wireless protocol stack of your choice. To do this, you can utilize the Keil uVision IDE and debugger. Keil is now a part of Arm but it retains support and development for a range of non-ARM related products like IDE support for 8051 products. The compiler in the bundled version is limited to 4Kbytes of user code. The protocol stack is considered system code. 4Kbytes leaves a lot of space for an assembler or C-based application. Keil has some top-notch tools. Getting up-and-running will not take very long even if you have not used their products before. The demo code is included and it is a good place to start building another application. There are additional demos for blinking LEDs and so on so most of the hardware is exercised in a fashion where you can view the code. Each application is written up as an app note and the documentation on the installation CD covers each one. These can also be downloaded from the Silicon Labs website. Programming the system is done using the USB-based JTAG unit. Only one is included so you need to play with one board at a time from a programming or debugging standpoint. The code samples and app notes are a good start although it will be up to you to generate more sophisticated applications. The one thing that is lacking is any kind of network management or monitoring support. The demo application, especially the ZigBee version, provides some network configuration and monitoring tools but you will need to turn to a company like Daintree Networks for more advanced monitoring tools. The kit will have you up-and-running quickly, but it can be a higher hurdle to move into more sophisticated applications, especially when it comes to debugging larger networks as when all six boards, or more, come into play. Overall, the kit provides an excellent starting point for ZigBee development. I would fault the person that put together the installation CD in hiding the protocol stack API in one of the app notes but the content was very useful once I found it. I would also have liked to see the source for the network configuration application running on the PC. Likewise, it would have been useful to expose some of the other pins on the microcontroller. Related Links Keil Silicon Labs

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.