16-08-2012, 04:01 PM
Smartdust Project Documentation
ZigbeeSmartdust Project Documentation.pdf (Size: 1,005.71 KB / Downloads: 63)
Project Description
The goal of my project was to create a development platform which would significantly
facilitate the development of applications which require a mesh network topology to
distribute information between wireless nodes. Most applications of this nature consist of
three blocks: 1) RF Transceiver, 2) Host Microcontroller, and 3) Sensor circuitry. In
each application the first two blocks are independent of the third block; the network
implementation is the same but the application specific hardware is different. For
example a network which monitors temperature might need a temperature sensor vs. a
network which measures sound levels would require a microphone and some A/D
circuitry. But, the RF transceiver and host microcontroller would be virtually the same in
each circuit and the majority of hardware and software developed could be reused if they
were properly designed to begin with. Therefore, the goal of this project is to create a
modular system which will encapsulate the network implementation and allow as much
hardware and software reuse for each type of sensor network.
Benefits of this type of Platform
1) Decouples the network implementation from the sensor data acquisition.
2) Encapsulates the RF and network implementation. User only has to worry
about the sensor piece.
3) Less chance for errors. Since each component is a separate board, a single
error will not render all the hardware useless.
4) More impressive results in less time.
Background
Mesh networking topologies lend themselves to a network
which is self-organizing and self-healing. Nodes can move
in and out of the network at any time and nodes will take
care of distributing relevant data with one another
autonomously. Additionally, they lend themselves to very
low power consumption when topologies (especially in the
cluster tree topology). If nodes at the edge of the graph
needed to communicate directly with a node at the opposite
end of the graph, then each node would need a much more
powerful transmitter to do so. Aside from potential FCC
issues which would arise from having a powerful
transmitter, they also would drain the batteries these nodes
used very quickly. In a mesh topology, information is
passed from one node to the next and so on and so forth.
So, the transmitter only needs to be as powerful enough to
transmit to the closest node. Therefore, utilization of
smarter networking topologies will allow our application to
have a much lower power consumption which will naturally
allow our application circuitry to be much smaller. It is estimated that devices could run
up to 10 years on a single lithium coin battery.
Implementation
I kept a running project journal on my website at http://www.blakerobertsonzigbeesmartdust-
project/. There are many references to this page throughout the guide. Check
this site for updates frequently. Many of the design decisions that I had to make I spoke
about on this journal. Therefore, see the journal if you’re interested in why I made the
design choices that I did.
Hardware Modules
The development platform consists of three modules to keep the hardware design as
modular as possible. The modules (also called cards) stack on top of one another. The
RF Card is the very top card, the application specific sensor card is the very bottom card,
and the main board gets sandwiched in between.
RF Card
A separate RF Card allows the RF transceiver to be changed without changing the rest of
the hardware. The RF card that the platform was originally developed for was the
Chipcon 2420EB which was the only readily available Zigbee compliant transceiver at
the time I started this project. (see project journal entry on RF Cards for more
information)
Main Board
The main board gets sandwiched in-between the RF Card and the sensor daughter card.
The main board contains all of the common hardware needed to run each of the sensor
applications. This includes the power circuitry which is mainly handled by the SEPIC
6231 which automatically switches from battery power to USB power when a usb cable
is connected to the device from a computer. The main board also contains the host
microcontroller, PIC18F4550, which contains a number of peripherals such as integrated
USB interface, RS232 uarts, and analog to digital converters. Each of the features of the
main board are described in detail below.
USB
J5 is a USB mini-b connector which allows for connection to a host PC. When a device
is connected to a computer with a USB cable the device will automatically begin
powering itself from the USB bus thus saving battery life. The software section on USB
will provide more information on how an application can utilize this port for
communication.
RS232
At the upper left hand corner of the board there is an 3 pin
header which can be used for RS232 communications.
Please note that if you want to connect this to a computer a
TTL->RS232 logic converter will need to be placed in
between the RS232 connector and the computer.
ICSP
Right below the RS232 header is an In Circuit Serial
Programming (ICSP) connector which allows the
firmware on the host microcontroller to be updated.
There are many different programmers which support
ICSP such as the Microchip ICD2 or CCS ICD-U40. A
custom cable will likely need to be fabricated such that
you make a connection from your programmer to the
header on the board. See the BOM for the digikey part
number to use as a header.