Mark Schaumburg.  Dash Module for Formula Car  Sample pulse from engine for RPM  Display Information  Control gui  Can network interface  Request.

Slides:



Advertisements
Similar presentations
A Sample RTOS Presentation 4 Group A4: Sean Hudson, Manasi Kapadia Syeda Taib.
Advertisements

MM Player Supervised by: Dr. Luai Malhis. Prepared by: Mustafa Assaf & Mahmoud Musa.
Resource management and Synchronization Akos Ledeczi EECE 354, Fall 2010 Vanderbilt University.
What is Arduino?  Arduino is a ATMEL 168 micro-controller kit designed specially for small projects  User friendly IDE(Integrated Development Environment)
By: Russ Butler ECE4220 Spring 2012 Dr. DeSouza May 2, 2012.
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
Oscilloscope Watch Teardown. Agenda History and General overview Hardware design: – Block diagram and general overview – Choice of the microcontroller.
Audio Processing Unit (APU) Clint Lozinsky Richard Schultz Duncan Campbell Grant Cunningham.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
Chapter 2: Processes Topics –Processes –Threads –Process Scheduling –Inter Process Communication (IPC) Reference: Operating Systems Design and Implementation.
Design and Development of High Performance PC Based Logic Analyzer MSc Project by Rab Nawaz Advisor: Dr. Shahid Masud.
CSE Fall Introduction - 1 What is an Embedded Systems  Its not a desktop system  Fixed or semi-fixed functionality (not user programmable)
Concurrency: Mutual Exclusion, Synchronization, Deadlock, and Starvation in Representative Operating Systems.
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
Real-Time Operating Systems Suzanne Rivoire November 20, 2002
Dreams in a Nutshell Steven Sommer Microsoft Research Institute Department of Computing Macquarie University.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
SOC Consortium Course Material SoC Design Laboratory Lab 8 Real-time OS - 2 Speaker: Yung-Chih Chen Advisor: Prof. Chun-Yao Wang November 17, 2003 Department.
Real-Time Kernel (Part 1)
ENTC-489 Embedded Real Time Software Development Embedded Real Time Software Development Week 10 Real Time System Design.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Real-Time Systems Design1 Priority Inversion When a low-priority task blocks a higher-priority one, a priority inversion is said to occur Assume that priorities:
Radio Antenna Turntable System (RATS) Rhonda Blair John Carroll Cameron McKay Pierce Ruggles.
Processes and Threads CS550 Operating Systems. Processes and Threads These exist only at execution time They have fast state changes -> in memory and.
Real-Time Linux Evaluation NASA Glenn Research Center Kalynnda Berens Richard Plastow
CDR- Digital Audio Recorder/Player Brian Cowdrey Mike Ingoldby Gaurav Raje Jeff Swetnam.
CONTI'20041 Event Management in Distributed Control Systems Gheorghe Sebestyen Technical University of Cluj-Napoca Computers Department.
The Amiga Operating System: Past and Present Aaron Hensley Kayla Zinn Brad Campbell Gregory Mathurin Josh Benson.
Overview Task State Diagram Task Priority Idle Hook AND Co-Routines
ECGR-6185 µC/OS II Nayana Rao University of North Carolina at Charlotte.
Team Scribacious Rabble Design Constraint Analysis Paul Rosswurm Mitch Erdbruegger Ben Kobin William Hess.
Operating Systems 1 K. Salah Module 1.2: Fundamental Concepts Interrupts System Calls.
MicroC/OS-II S O T R.  MicroC/OS-II (commonly termed as µC/OS- II or uC/OS-II), is the acronym for Micro-Controller Operating Systems Version 2.  It.
Group no.2 Presented to : Eng.Ahmed Hassan Sunday, March 04,2012.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
Silberschatz and Galvin  Chapter 3:Processes Processes –State of a process, process control block, –Scheduling of processes  Long term scheduler,
Turbine Flow Meter Kevin Hooks Senior Design Project.
System Software Design and Documentation Zach Hill Western Washington University.
Vinh Le.  MCU: Freescale Kinetis K60512 ARM Cortex M4  Bus Frequency: 50MHz  Available Memory: ◦ 512KB Flash ◦ 64KB SRAM  Memory Required: ◦ 10KB.
SYSTEM SOFTWARE DESIGN JAMES ZUROSKE Pet Proximity Sensor.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 19: Real-Time Systems System Characteristics.
Processor Memory Processor-memory bus I/O Device Bus Adapter I/O Device I/O Device Bus Adapter I/O Device I/O Device Expansion bus I/O Bus.
RFID Access Control System Lucius Knight. General System Design  Microcontroller  PSoC CY8C29466  24MHz Bus Frequency  Memory Available  32kB FLASH.
ATV INSTRUMENTATION DISPLAY System Design Ed Raezer Senior Project Western Washington University.
System Software Design Engineer: Mac Gainor Western Washington University.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 3.
Machine Access System Software Design and Documentation Western Washington University By: Kevin Pogue.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
LED CUBE Preliminary System Software Design Fernando J. Garcia May
System Software Design Dan Sweet May 6 th, 2008 Western Washington University Bicycle Power Meter.
Software Design Review Andres Rodriguez. General System Design  MCU: STM32F405  MCU Bus Frequency: 84MHz  Memory Requirements  Flash: ~ 10Kb  RAM:
System Software Design GPS Training System Jason Corbridge May 8, 2008 Western Washington University.
LED CUBE Preliminary System Software Design Fernando J. Garcia May
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
ATV INSTRUMENTATION DISPLAY System Software Design Ed Raezer.
Voice Over IP – Software Western Washington University By: Jonathan R. Peterson.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
SUBMITTED BY EDGEFX TEAM PORTABLE CODED WIRELESS MESSAGE COMMUNICATION BETWEEN TWO PARTIES SECRETLY WITH LCD DISPLAY.
Big Picture Lab 4 Operating Systems C Andras Moritz
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
Lecture 8 Task Utilization. Theoretical Analysis.
Outlines  Introduction  Kernel Structure  Porting.
System Software Design Presentation Western Washington University Taylor Reijm.
Physical Memory and Physical Addressing ( Chapter 10 ) by Polina Zapreyeva.
REAL-TIME OPERATING SYSTEMS
Topics Covered What is Real Time Operating System (RTOS)
Process Description and Control
HD44780 LCD programming From the Hardware Side
Computer Science & Engineering Electrical Engineering
Embedded System Development Lecture 12 4/4/2007
Presentation transcript:

Mark Schaumburg

 Dash Module for Formula Car  Sample pulse from engine for RPM  Display Information  Control gui  Can network interface  Request data  Provide data

 LCD  20x4 HD44780 Character Lcd (4-bit parallel data interface.  Can Controller w/SPI interface  Maxim Mcp2515  8-Bit Microcontroller  Atmel Mega644p  64k flash  4k ram  MHz clock

 Written in C for Win-Avr Gcc compiler.  Compiles to ~13k flash  Uses ~3k of static ram  FreeRTOS kernel  10 KHz Tick  6 Tasks  Interprocess communication  Shared memory  Real-time constraints.

 Priority-Based Scheduling and Task Control  Round-Robin scheduling for tasks of equal priority.  API functions for hard, soft and non-realtime tasks  Mailboxs/FIFOs (called Queues)  Message Size, Buffer Size  Binary, Counting, and Recursive Semaphores  Kernel communication from ISR  Priority Inheritance  Includes protections against priority inversion  Static or dynamic allocation of OS/task stacks

 Button Input  Debounced  Each button push=1 Button Event in the queue  Button Held  Send to Button Event Queue  LCD Control  20 char buffer (1-line)  Read from Lcd Event Queue  Message from queue contains what line to print at  LEDS  Read from LED event queue  Message contains the period that the Led blinks.  Can be sufficiently starved of resources without affecting the performance of the system.

 User Interface  Still not critical, but should be more important than the priority 1 tasks.  Takes a lot more processing power than the priority 1 tasks.  Higher priority task than this one are designed to be blocking for a large percentage of the time so that this process does not get starved of resources.

 Data handling  Soft Real-Time (should try and respond to any messages within 10ms)  Gets the Rpm pulse timestamps when directed by semaphore from ISR.  Calculates Rpm from the time stamps  Averages over 10 samples.  Messages from CanRx ▪ Determine response and send through CanTx ▪ Or Store Data  Periodically request system data from the network  Send signal to User Interface task to update its data set.

 Can Communication  Waits for CAN semaphore from Can ISR or Data task.  Transmits or Receives data from the Can IC (Spi)  Must respond to the Rx request within 10ms to avoid the hardware buffer in the can IC from filling up (causing messages to be lost).  Automatically generates and sends responses for non data messages such as a handshake request.

 Wireless(xBee) module on CAN network with serial interface.  Sends messages as fast as it can.  When the Can Rx Data ISR runs, it stores a timestamp.  When the message is done being prepared for sending, it puts another timestamp and current RPM into the CAN message and sends it over the network.

 Problems  CAN Communication w/ FreeRTOS  Memory limitations  OS/Task/Queue Size  Rpm calculation  Tick count resolution/trade-offs  Solved with averaging.