1 Embedded Development and the SOS Operating System (a users perspective) Naim Busek CENS Systems Lab

Slides:



Advertisements
Similar presentations
Controller Tests Stephen Kaye Controller Test Motivation Testing the controller before the next generation helps to shake out any remaining.
Advertisements

Reconfigurable Sensor Networks with SOS Chih-Chieh Han, Ram Kumar Rengaswamy, Roy Shea and Mani Srivastava UCLA Networked and Embedded Systems Laboratory.
Higher Computing Computer Systems S. McCrossan Higher Grade Computing Studies 7. Systems Software 1 System Software This software is used to provide the.
Oscilloscope Watch Teardown. Agenda History and General overview Hardware design: – Block diagram and general overview – Choice of the microcontroller.
A Dynamic Operating System for Sensor Nodes (SOS) Source:The 3 rd International Conference on Mobile Systems, Applications, and Service (MobiSys 2005)
Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.
Photolithography Machine Control System Ben Conrad and Mark Edwards Projects in Computer Engineering II December 9, 2003.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Mica: A Wireless Platform for Deeply Embedded Networks Jason Hill and David Culler Presented by Arsalan Tavakoli.
Travis Reed Todd Hummel Kwan-Truc. Concept USB 1.1 SPI b.
Integrated  -Wireless Communication Platform Jason Hill.
1 TinyOS Mohammad Rahimi CSCI599-Spring Motivation  The new class of distributed tiny devices  The new generation of software.
1 Color Discriminating Tracking System Lloyd Rochester Sam Duncan Ben Schulz Fernando Valentiner.
Performed by: Kobbi Kfir-El Ohad Brandelstein Instructor: Konstantin Sinyuk המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון.
DMX512 Programmable Theater Lighting Controller Jeff Sand and Kris Kopel Advisor: Dr. Don Schertz May 8, 2001.
Sensor Node Architecture Issues Stefan Dulman
ASPPRATECH.
Microcontroller based system design
GigE Knowledge. BODE, Company Profile Page: 2 Table of contents  GigE Benefits  Network Card and Jumbo Frames  Camera - IP address obtainment  Multi.
Team Members Jordan Bennett Kyle Schultz Min Jae Lee Kevin Yeh.
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007.
Computerized Train Control System by: Shawn Lord Christian Thompson.
EMBEDDED WEB SERVER. CONTENT: 1.ABSTRACT 2.INTRODUCTION TO EMBEDDED SYSTEMS 3.INTRODUCTION TO EMBEDDED WEB SERVER 4.BLOCK DIAGRAM 5.POER SUPPLY 6.COMPONENT.
Spring 2000, 4/27/00 Power evaluation of SmartDust remote sensors CS 252 Project Presentation Robert Szewczyk Andras Ferencz.
Silicon Labs ToolStick Development Platform
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Computer Organization
Slides created by: Professor Ian G. Harris Test and Debugging  Controllability and observability are required Controllability Ability to control sources.
Smart transmitters.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
1 SERIAL PORT INTERFACE FOR MICROCONTROLLER EMBEDDED INTO INTEGRATED POWER METER Mr. Borisav Jovanović, Prof.dr Predrag Petković, Prof.dr. Milunka Damnjanović,
Typical Microcontroller Purposes
Microcontroller based system design Asst. Prof. Dr. Alper ŞİŞMAN.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
Wireless Sensor Networks MOTE-KITS TinyOS Crossbow UC Berkeley.
Dhanshree Nimje Smita Khartad
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presented by Yang Zhao.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Simon Han – Ram Kumar Rengaswamy – Roy Shea – Mani Srivastava – Eddie Kohler –
© 2004, D. J. Foreman 1 Computer Organization. © 2004, D. J. Foreman 2 Basic Architecture Review  Von Neumann ■ Distinct single-ALU & single-Control.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
© 2004, D. J. Foreman 1 Computer Organization. © 2004, D. J. Foreman 2 Basic Architecture Review  Von Neumann ■ Distinct single-ALU & single-Control.
Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks.
A Dynamic Operating System for Sensor Nodes Chih-Chieh Han, Ram Kumar, Roy Shea, Eddie Kohler, Mani, Srivastava, MobiSys ‘05 Oct., 2009 발표자 : 김영선, 윤상열.
Pushpin Computing System Overview Joshua Lifton et. al Ubicomp class reading Presented by BURT.
Submitted by:.  Project overview  Block diagram  Power supply  Microcontroller  MAX232 & DB9 Connector  Relay  Relay driver  Software requirements.
CONTENTS Objective Software &Hardware requirements Block diagram Mems technology Implementation Applications &Advantages Future scope Conclusion References.
Product Overview 박 유 진박 유 진.  Nordic Semiconductor ASA(Norway 1983)  Ultra Low Power Wireless Communication System Solution  Short Range Radio Communication(20.
Microcontrollers JULES CALELLA. Microcontrollers vs Microprocessors  Microprocessors – do not contain RAM, ROM, I/O  Microcontrollers – The whole package.
1 © 2004 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Technical Support Seminar Using the Cisco Technical Support Website.
The World Leader in High Performance Signal Processing Solutions Linux Industrial I/O Subsystem Open Platform Solutions Michael Hennerich.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
Computer System Structures
Application Case Study Christmas Lights Controller
INTRODUCTION TO WIRELESS SENSOR NETWORKS
Chip Config & Drivers – Required Drivers:
Kernel Design & Implementation
Environment Temperature Monitor
Current Generation Hypervisor Type 1 Type 2.
PROPELLER DISPLAY OF MESSAGE BY VIRTUAL LEDS
Microcontrollers & GPIO
Operating System for Sensor Network
SCADA for Remote Industrial Plant
Ultra-Low-Power Sensor Nodes Featuring a Virtual Runtime Environment
Journey: Introduction to Embedded Systems
Lecture Topics: 11/1 General Operating System Concepts Processes
Computer Organization
An Introduction to Embedded Software Architecture and Design
Presentation transcript:

1 Embedded Development and the SOS Operating System (a users perspective) Naim Busek CENS Systems Lab

Outline New directions in sensing methods Motivation for a new sensing platform Operating System Selection SOS Overview SOS Development Conclusion Questions JTAG demo/tutorial and question session

Basic sensing system (Contam) ~10 Feet Sensor

System Details (pass 0) Tubing with dirty water Particulate Filter Pump Sensor Expel to outside NaOH Reservoir Pump From Soil Screen collection area Sample Segregation

Tubing with dirty water Sensing System (pass 1) Pump Soil-water chamber DI-water chamber Membrane Sensor Expel to outside Chemical, or Calibration Sample Reservoir Pump DI-water Reservoir From Soil Screen collection area

Sensing system (pass 2) Tubing with dirty water Large Area Particulate Filter Pump Soil water chamber DI water chamber Membrane Sensor Expel to outside NaOH Reservoir Pump From Soil Pump DI water Reservoir Coupled to ensure precise ratio. De- bubbler Screen Large collection area Valve

Pumps and Valves Instech P625 Peristaltic Pumps (25 mA, 4.5 V) ASCO Solenoid Valve (2.5 W, 6V)

Basic Sensor Boards Basic Sensor Board –Light –Temperature –Raw Outputs MicaSB –Light –Temperature –Sound –Buzzer –2D Accelerometer –2D Magnetometer

Sensor Interface Boards MDA300CA –4 channel input MUX –8 channel 12 bit ADC –Pulse Counter –2 relays –EEPROM –Selectable Sensor Excitation of 2.5, 3, 5V –Temp/Humidity sensor I2C slave to system master

Hardware Design Goals Precision ADC –16 bit –100k sample rate –Max communication speed with controller Preamp –Dynamically adjustable to meet sensing needs Power supplies for some peripheral components Digital Control –GPIO and switches to run sampling sequences Sampling process compatible with existing computing ability –Separate micro-controller (not planned but necessary)

Block Diagram Micro Controller Pre-Amp 1var 1 fixed ADC (8 single 4 diff chan) Ref Volt Extern Pwr Reg Extern Digital Switching

Sensing Systems ProtoSB –4 channel input MUX –Variable gain amp (1- 128) –1 basic inst. amp –4 channel 16 bit ADC –4 relays –Selectable Sensor Excitations –Independent μController

Software Requirements Portable to new platform Meet the demands of the system –handle sequential timed events –event handlers for failure in sampling procedure –re-define sensing procedure Adaptable to new components/sensors Preferably driver support for peripheral devices Support from existing user community

Operating System Selections TinyOS Compiles components written in nesC into a static binary image Uses external tools such as MOAP or Deluge to load updated images on remote nodes Legacy Complexity Custom toolchain SOS Supports dynamic system updating via. modules Uses standard C Use standard development tools –GDB –Avarice –Avrora Tools direct from open sources feeds not custom/hacked software tools

SOS Operating Options Problem With Sensor Networks  Require uninterrupted operation indefinitely  Post-deployment software updates are common  Customizing the system to the environment  Feature upgrades  Bug removal  Re-tasking of the system  Re-programming a deployed system is hard  Remote reprogramming is essential for sustainability The SOS Solution Remotely insert binary modules into running kernel Software reconfiguration without interrupting system operation No stop and re-boot unlike differential patching  Superior performance over virtual machines

Basic Services  SOS provides the basic services expected in a sensor operating system  Hardware Abstraction Layer (HAL)  Clock, UART, ADC, SPI, etc.  Low layer device drivers interface with HAL  Timer, serial framer, communications stack, etc.  Core kernel services  Dynamic memory management  Scheduling  Function control blocks

Development SOS as advertised (with disclaimer) –HAL UART SPI I2C (multi master) –Hardware Drivers Framed UART Communication Stack SOS design assumptions –radio enabled device –Device has LEDs

Things not as Advertised SPI driver in SOS (and TinyOS) is not a SPI driver –custom driver for radio –will not work with other SPI devices UART framing –had persistent failure modes –did not recover well from corrupted length field I2C –multi master not supported –master/slave supported with the ability to switch modes Implicit design assumptions –Comm stack required a radio enabled device –Device has LEDs

Helping reality catch up Re-implement UART driver –RFC 1662 PPP in HDLC-like Framing –Reduced to minimum of state –Fast recovery from packet failure –Arbitrary length packets –Comparable to existing TinyOS implemention ~160 cycles/byte vs. ~250 cycles/byte UART as comm channel –Enable UART as a target for broadcast communication

SPI and supported devices SPI –current driver incompatible with any other implementation –Bus reservation and release Variable Gain amplifier –write command only ADC –write command and read back of data –independent clocking for high data rate applications

I2C Drivers Rewritten to take make use full use of device hardware support. MCU master communicating with slave devices working Taking Multi master is tricky to debug

Removing Implicit Assumptions Every embedded platform is not a Mica2 Impose clear separation of system components –System (kernel) components –Micro controller specific components –Platform specific components Ensure components are in the correct location Make it possible to disable all potentially device specific components Clear distinction between debugging and system components –LEDs –UART –GPIO

Making Use of Development Tools avr-gdb –malloc –standardized naming scheme GDB/Avrice –Debug a running system –Step through error conditions and observe system response –Save days of development time –Step through interrupt handlers to find system failures Avrora –Analyze system performance –Make comparisons to other software

Conclusion Increasing complexity of sensing methods necessitates additional control in the sensing system The task of sensing systems change over the lifetime of the system and dynamic updating is a necessity OS compatibility with standard development tools significantly eases the development process As sensing methods increase in complexity sensing node will spend a significant amount of resources handling the sensing process potentially interfering with their functioning.

Thank You Questions? Naim Busek

JTAG Debugging Prepare module for testing –CFLAGS=”-g”./wrap_module.pl uart_speed –make mica2 install ADDRESS=3 PROG=avarice PORT=/dev/ttyUSB2 Compile program with “-g” flag –CFLAGS=”-g” make mica2 ADDRESS=5 Run ice-gdb –AVARICE_ARGS=”-j /dev/ttyUSB2” ice-gdb app.elf Enjoy gdb as usual –break i2c.c:293 –display/x *(char*)0x800071(TWSR) profiling with avrora – avr-objdump -zhD test_module_app.elf > test_module_app.od

Acknowledgments SOS Developers Simon Han – Ram Kumar Rengaswamy – Roy Shea –