Electronic Design

32-bit RISCy ZigBee

Jennic makes 802.15.4/ZigBee chips and modules based on their own system that includes a 32-bit RISC processor and 128-bit AES hardware acceleration. The module adds 128Kbytes of flash memory. The kit I reviewed included five wireless platforms. The main unit has an LCD display and is configured as the master. The four additional platforms are almost identical. Two use SMA antennas like the main unit and the remaining two have integrated antennas with a more limited range. The package comes with a copy of Daintree’s Network Sensor Analyzer software (see Sniffing Zigbee). Jennic’s Platform The JN5139 chip and module have a 32-bit MIPS processor with 192Kbytes of ROM and 96Kbytes of RAM. The 802.15.3 and ZigBee stacks are kept in ROM. Application software is placed in off-chip flash. A 48-byte OTP eFuse stores the MAC address. Microcontroller peripherals include a 4-channel 12-bit ADC, 2-channel 11-bit DAC, 2 comparators, 2 UARTs (one for debugging), an SPI port, an I2C port and 21 GPIO ports. The transceiver is a 2.4GHz IEEE802.15.4 compliant unit with a 128-bit AES security processor and MAC accelerator with packet formatting. Its on-chip voltage regulator handle 2.2V to 3.6V battery operation and the deep sleep current requirements are under 0.4µA. Sleeping with an active sleep timer requires less than 1.5µA. It uses about 34ma when transmitting or receiving. Transmit power is +3dBm. The chip is available in an industrial temperature range version (-40 to +85°C). It comes in an 8mm by 8mm 56-lead QFN package. The module comes a number of configurations to handle different antennas. The module is about one square inch. The integrated ceramic antenna version has a 1km line of sight range. Of course, your mileage will vary and SMA and uFI connectors are available for more robust systems. Getting Started The system setup was one of the fastest around. I opened the box. Read the intro. Put a pair of AA batteries (included) on each board and turned them on. The main board LCD display and buttons provided an interface to the demo application and matching sensor applications on the four other boards. The sensors can report on light intensity, humidity and temperature. There are a pair of pushbutton switches and two status LEDs. The demo application allows a remote switch to change the status of one of the LEDs on the main board. A number of other reporting functions and similar operations available within the demo software although you can exhaust options rather quickly. Still, the demo can be used to experiment with range and position of the remote nodes without having to crack a manual or start programming. The demo boards have the modules soldered to them. The boards also have a header that exposes all the interface ports from the module. Complete schematics are included. Dev Tools Jennic’s software installation consists of two major components. The first is a Cygwin-based GNU toolchain that includes a MIPS-compatible C/C++ compiler, linker and debugger. It is compatible with the Eclipse IDE but you will need to install Eclipse yourself if you don’t have your own command line editing environment. If you do use Eclipse then make sure you install the CDT and Cygwin before adding Jennic’s support. There is documentation and support for another open source IDE called Code::Blocks that I used even though I use Eclipse for other projects. The Windows version Code::Blocks proved to easy to use and responsive so most developers will likely make use of it. Code::Blocks is cross platform like Eclipse. Those wanting to host development on Linux should check out Jennic’s forums. It is definitely not the way to go for novices though. The second component is the Network Configuration Tool (NC-Tool). It is designed to work with any ZigBee network. It can set ZigBee device parameters using primitive commands like ZDP, ZDO, AF, APS, and NWK. It can scan a network and determines its structure and poll devices. The software interfaces with the Jennic modules via the serial port. It must be connected to the (main) coordinator node to determine the network configuration. NC-Tool does not provide firmware download facilities. The kit includes a pair of serial flash programmers. They are not the speediest or easiest to use but they work. The flash memory size of most applications will be relatively small so these interfaces are sufficient. The biggest problem will likely be finding a real serial port since most laptops and many desktops have gone the way of USB. Most USB-to-serial adapters should work though. There are a couple of demo applications including a ZigBee serial adapter. This tends to be where the package is more limited although many of the ZigBee kits tend to suffer the same limitation. On the other hand, the documentation is extensive. There are different documents for 802.15.4 and ZigBee support including extensive coverage of the matching APIs. Overall it is relatively easy to get started programming the system assuming you are familiar with the toolchains. The number of peripherals on the chip are relatively small and well documented with C interfaces. One small but nice touch was a spreadsheet with the part number and version of everything on the installation CD. Jennic’s use of a 32-bit processor and a large amount of memory makes development relatively easy. The processor does handle the protocol stack but there is plenty of headroom. Definitely worth looking at. Related Links Code::Blocks IDE Jennic

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.