FUN Seminar Salvatore GUZZO BONIFACIO 10 March 2015
SUMMARY 1. Etinode Drivers 2. Contiki Porting For Etinode 3. Periodic Send Command 4. 802.15.4 USRP Receiver 5. VITAL Project
1 Etinode Drivers 10 March 2015
STM Driver (Accelerometer + Gyroscope) stm.h stm-io.h <<include>> <<include>> <<include>> <<include>> LIS331.h LIS331-io.h L3G2400D.h L3G4200D-io.h <<include>> <<include>> <<include>> <<include>> LIS331.c L3G4200D.c
STM common functions The primary level for STM driver defines a set of constants and basic functions that are common for both sensors in the Etinode. They are: ● Init ● IO_init ● ReadBytes ● WriteBytes
L3G4200D (Gyroscope) Main Functions: ● init ● setup ● read_raw_data ● raw_to_dps ● register_callback ● set_threshold_interrupt ● set_watermark_level ● get_fifo_level Examples: ● raw_data ● gyro_watermark ● gyro_threshold
LIS331 (Accelerometer) Main Functions: ● init ● setup ● read_raw_data ● raw_to_milliG ● register_callback ● set_freefall_interrupt ● set_inertial_wakeup_interrupt Examples: ● raw_data ● inertial ● freefall
2 Contiki Porting For Etinode 10 March 2015
ETINODE Component Description MCU 16-bit Ultra-Low-Power – MSP430F1611 Light Sensor – TSL2550 Barometer/Temperature – MS5611-01 sensors Gyroscope – L3G4200D Accelerometer – LIS331DLH radio 2.4 GHz – CC2520 communication external memory 1MB external flash memory – M25P80 LEDs green, red, blue EEPROM serial allowing unique identifier – DS2411 number
Contiki Directory Structure apps/ – architecture independent applications One subdirectory per application core/ – system source code Subdirectories for different parts of the system cpu/ – CPU-specific code One subdirectory per CPU doc/ – documentation examples/ – example project directories Subdirectories with project platform/ – platform-specific code One subdirectory per platform tools/ – software for building Contiki, sending files
Main involved files (1/2) platform-conf.h : ● platform CPU ● clock speed ● LEDs ● SPI bus pins and main functions ● Radio chip pins and main functions contiki-conf.h : ● Netstack drivers ● Energest module parameters ● UIP parameters ● SICSLOWPAN parameters
Main involved files (2/2) contiki-etnode-main.c : ● Includes all needed libraries ● Platform initialization ● Hardware initialization ● Starts and handles contiki process scheduler Makefile.etinode ● Defines source files for modules and architecture dependent drivers ● Upload command ● Reset command ● Motelist command ● Login command
dev/ Subfolder The dev/ folder is meant to be a place where all the device drivers needed by the platform are stored. ● USART driver ● UART driver ● I2C driver ● Sensor drivers
3 Periodic Send Application 10 March 2015
Contiki Shell Application: Periodic Send Main requirements: ● periodic send of a message containing a string of random upper- case letters ● selectable time period ● selectable channel to use ● selectable transmission power ● selectable message length ● possibility to define an autostart flag ● enable/disable MAC layer header ● configuration persistence
Command Developed ● periodicsend: periodically send a message over the radio depending on stored configuration ● showconf: shows the currently saved configuration ● saveconf: save a new configuration ● enableRx: enables radio reception in MAC compliant mode
« showconf »
Demo Live Example
4 802.15.4 USRP Receiver 10 March 2015
802.15.4 Physical layer modulation IEEE 802.15.4 physical layer properties: ● O-QPKS modulation ● Direct-sequence Spread Spectrum ● Half-Sine Pulse Shaping
NI USRP Architecture
Differential Phase Recognition
Delta Theta: Input and Output
Labview Receiver Architecture USRP Samples Delta Theta Sign Downsampling Decoded Message Symbol Correlation Symbol to Byte mapping
Labview Decoded Packet
5 VITAL Project 10 March 2015
VITAL Architecture
Thank you Any question ? Salvatore GUZZO BONIFACIO FUN Research Team Inria Lille 10 March 2015
Recommend
More recommend