Dresden Elektronik Radio Modules

From ATI public wiki
Revision as of 17:26, 8 July 2015 by Karljans (Talk)

Jump to: navigation, search

Hardware

The hardware used Dresden Elektronik radio communication platform described on this page consists of three types of components:

  • Radio/microcontroller modules
  • Development boards (can also be replaced with a custom board)
  • Sniffer (for analyzing communication between the nodes)

Radio/Microcontroller Modules

The Dresden Elektronik radio/MCU modules are small modules consisting of a AVR or ARM based microcontroller with integrated radio. List of all available modules can be seen here.

As of July 2015, three types of Dresden Elektronik Radio/microcontroller modules were available in the institute:

  • deRFmega128
  • deRFmega256
  • deRFarm
deRFmega128 deRFmega256 deRFarm
Chip ATmega128RFA1 ATmega256RFR2 AT91SAM7X512
Datasheet Link Link Link
Platform AVR AVR ARM
MCU bit width 8-bit 8-bit 32-bit
Flash size 128 kb 256 kb 512 kb
SRAM size 16 kb 32 kb 128 kb
Operating frequency 16 MHz 16 MHz 48 MHz
Voltage range 1.8 - 3.6 V 1.8 - 3.6 V 1.8 - 3.6 V
Radio transceiver Integrated Integrated AT86RF231
Radio frequency 2.4 GHz 2.4 GHz 2.4 GHz
Interfaces JTAG, UART, I2C, ADC, SPI, GPIO JTAG, UART, I2C, ADC, SPI, GPIO JTAG, DBGU, I2C, SPI, UART, USB, RMII, GPIO, ADC
Power consumption (TX) 18 mA 18 mA 45 mA
Power consumption (RX) 16 mA 16 mA 45 mA
Power consumption (Sleep) < 1 µA < 1 µA < 250 µA

The 2.4 GHz transceivers that are used in all modules supports the IEEE 802.15.4 MAC standard. This standard has support for additional network layers like 6LoWPAN and ZigBee. However, it should be noted, that although the ZigBee protocol is theoretically supported by the hardware, it is not supported the Dresden Elektronik's communication stack and thus 6LoWPAN should be used.

Development Boards

Two different development boards are available for the platform:

  • deRFnode: Used for network nodes, supports both AVR and ARM based microcontrollers
  • deRFgateway: Used for network gateways between IEEE 802.15.4/6LoWPAN and Ethernet networks. In addition to deRFnode functionality, it includes also an Ethernet connector. Supports only ARM based microcontrollers

The boards have following features:

  • Measures: 70 x 68 x 33 mm
  • Power options: 5V DC / USB / 3 x AA batteries
  • Sensors: Temperature / light / acceleration
  • I/O: 2 Buttons and 3 LEDs
  • On-board storage: 4Mbit flash for firmware updates / user data
  • Programming interfaces: Standard JTAG connectors
  • Communication interfaces: I2C, SPI, GPIO, ADC, debug interface and UART
  • GPIO: 46-pin, almost all chip functions available, including the ones used on the development board
  • Networking: Ethernet (deRFgateway ONLY)

A more detailed description of the development boards (including pinouts for different headers) can be found in deRFnode and deRFgateway user manual

Setting up Working Environment

Dresden Elektronik radio modules are designed to work with a special software stack developed by Dresden Elektronik and Atmel. In order to use this stack, the working environment and the toolchain need to be configured properly.

This section tries to provide some information on how to set up the environment in order to work with the modules.

Setting up Toolchain

In order to work with the modules, two toolchains are needed - one for compiling and flashing AVR modules and one for ARM modules.

AVR

The AVR toolchain consists of following components:

  • avr-binutils: linker, assembler, etc for the AVR platform
  • avr-gcc: the GNU C cross-compiler for the AVR platform
  • avr-libc: C libraries and header files for the AVR platform
  • avrdude: for uploading the code to the chip

Microsoft Windows

In Windows installing of the AVR toolchain is quite easy. All that is needed is to download and install WinAVR (or Atmel Studio).

Note: Atmel stopped developing WinAVR as a separate entity in 2010 and it is now distributed as a component of the Atmel Studio package. Although the last (2010) seperate version is still available for download, it does not support the newer ATmega256RFR2 controller. For users who do not want to download and install the entire Atmel Studio package, a newer, seperate WinAVR, extracted from the Atmel Studio package is available [ here].


Setting up IDE

The recommended IDE for usage with the Dresden Elektronik software stack is Eclipse for C/C++ Developers. It can be downloaded for free from here.

After installing Eclipse, a new project containing the Dresden Elektronik communication stack can be created by following the next steps:

  1. File -> New -> Makefile Project with Existing Code
  2. For Existing Code Location, select the path to the toplevel folder of the stack, leave other settings to default and click Finish.