|
|
(3 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | =Hardware=
| + | The purpose of this wiki is to provide documentation about Dresden Elektronik 6LoWPAN radio / MCU modules and all hardware and software solutions related to them, including the MAC / 6LoWPAN stack. By providing explanations, tutorials, and proven solutions to some of the more common problems that one may encounter while working with these modules, hopefully the wiki is able to speed up the development process as the reader do not have to repeat other people's mistakes. |
− | 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==
| + | <br> |
− | 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 [https://www.dresden-elektronik.de/funktechnik/products/radio-modules/overview/?L=1 here].
| + | |
| | | |
− | As of July 2015, three types of Dresden Elektronik Radio/microcontroller modules were available in the institute:
| + | ---- |
− | * deRFmega128
| + | |
− | * deRFmega256
| + | |
− | * deRFarm
| + | |
| | | |
− | {| class="wikitable" style="margin: left;" | + | {| |
− | | | + | |style="vertical-align:top;"| |
− | | '''deRFmega128'''
| + | * [[Description of the Hardware]] |
− | | '''deRFmega256'''
| + | * [[Setting up Development Environment]] |
− | | '''deRFarm'''
| + | * [[Using the MAC / 6LoWPAN stack]] |
− | |-
| + | |style="vertical-align:top;"| |
− | | '''Chip'''
| + | |
− | | ATmega128RFA1
| + | |
− | | ATmega256RFR2
| + | |
− | | AT91SAM7X512
| + | |
− | |-
| + | |style="vertical-align:top;"| |
− | | '''Datasheet'''
| + | * [[GNU/Linux related material]] |
− | | [http://www.atmel.com/Images/Atmel-8266-MCU_Wireless-ATmega128RFA1_Datasheet.pdf Link]
| + | * [[Known problems/bugs and Workarounds]] |
− | | [http://www.atmel.com/Images/Atmel-8393-MCU_Wireless-ATmega256RFR2-ATmega128RFR2-ATmega64RFR2_Datasheet.pdf Link]
| + | |
− | | [http://www.atmel.com/Images/doc6120.pdf 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 [https://en.wikipedia.org/wiki/IEEE_802.15.4 IEEE 802.15.4 MAC standard].
| |
− | This standard has support for additional network layers like [https://en.wikipedia.org/wiki/6LoWPAN 6LoWPAN] and [https://en.wikipedia.org/wiki/ZigBee 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 [https://www.dresden-elektronik.de/funktechnik/products/boards-and-kits/development-boards/derfgateway/description/?L=1&eID=dam_frontend_push&docID=693 deRFnode and deRFgateway user manual]
| |
− |
| |
− | =Setting Up Working Environment=
| |
The purpose of this wiki is to provide documentation about Dresden Elektronik 6LoWPAN radio / MCU modules and all hardware and software solutions related to them, including the MAC / 6LoWPAN stack. By providing explanations, tutorials, and proven solutions to some of the more common problems that one may encounter while working with these modules, hopefully the wiki is able to speed up the development process as the reader do not have to repeat other people's mistakes.