Software Design Review Andres Rodriguez. General System Design  MCU: STM32F405  MCU Bus Frequency: 84MHz  Memory Requirements  Flash: ~ 10Kb  RAM:

Slides:



Advertisements
Similar presentations
System Software Design Frank Mirabelli. Motorola MC9S12DP512 Bus Frequency 24 MHz Available Memory 512K bytes Flash EEPROM, 4K bytes EEPROM, 14K bytes.
Advertisements

Real-Time Library: RTX
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 6: Process Synchronization.
Process Synchronization. Module 6: Process Synchronization Background The Critical-Section Problem Peterson’s Solution Synchronization Hardware Semaphores.
CH7 discussion-review Mahmoud Alhabbash. Q1 What is a Race Condition? How could we prevent that? – Race condition is the situation where several processes.
Development of Real Time Kernel Master of Technology In EMBEDDED SYSTEM SCHOOL OF ELECTRONICS DEVI AHILYA VISWAVIDYALAYA INDORE. April 2010 Guided by -
Mark Schaumburg.  Dash Module for Formula Car  Sample pulse from engine for RPM  Display Information  Control gui  Can network interface  Request.
1 Lecture 2: Review of Computer Organization Operating System Spring 2007.
Real-Time Operating Systems Suzanne Rivoire November 20, 2002
BlueECG System Software Design Western Washington University By: Corey Williamson.
ECGR-6185 µC/OS II Nayana Rao University of North Carolina at Charlotte.
Michael Nist. System Software Design  MCU (2): CY8CPLC20 8-bit  32 KB Flash, 2 KB SRAM  Bus Frequency: 24 MHz  Memory requirements:  Main Controller:
System Software Design Review.  MCU: NXP LPC2378 ARM7 32-bit  512 KB Flash, 8KB EEPROM and SRAM  Bus Frequency: 20 MHz  Approximate Memory requirements:
Lecture 1: Review of Computer Organization
 Home Security and Lighting System  Western Washington University  Jonathon Ross  28 April, 2009.
System Software Design Colin Gatlin May 12, 2009 Western Washington University.
Turbine Flow Meter Kevin Hooks Senior Design Project.
System Software Design and Documentation Zach Hill Western Washington University.
Digital Handheld Communication and Navigation Device
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.
Lost Item Pager System Design Russ Kinley 5/6/6008.
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.
Ryan Hansgen. General System Design  MC9S08QE64CFT 24MHz Bus Frequency 64 K byte Flash EEPROM, 4.0 K byte RAM  Memory required 8 K bytes ROM 2 K bytes.
RFID Access Control System Lucius Knight. General System Design  Microcontroller  PSoC CY8C29466  24MHz Bus Frequency  Memory Available  32kB FLASH.
System Software Design Dane Kim May 4 th, 2009 EET 475, WWU.
BICYCLE SECURITY AND TRIP COMPUTER MATTHEW ROTHNIE WESTERN WASHINGTON UNIVERSITY 4/25/12.
By Jesse W. Spalding.  Microcontroller Choice  Motorola 9S12DP256B ◦ Set to 24 MHz for the Bus Frequency ◦ Memory  256K Bytes of ROM  12K Bytes of.
ATV INSTRUMENTATION DISPLAY System Design Ed Raezer Senior Project Western Washington University.
Multi-Access Lock Andrew Hall. General System Requirements MCU: MC9S12C128 Bus Frequency: 24MHz Memory Requirements: 11k bytes Flash EEPROM 3k bytes RAM.
System Software Design Engineer: Mac Gainor Western Washington University.
Machine Access System Software Design and Documentation Western Washington University By: Kevin Pogue.
Portable/Programable Location System – Software Design By: Mark Moerdyk.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
Digitally Configurable Audio Routing Patchbay DCARP System Software Presentation Aaron Cramer Western Washington University 2009.
LED CUBE Preliminary System Software Design Fernando J. Garcia May
Humidity Sensing Fan Controller Jason Huft 05/11/10.
Yared Woldekiros Western Washington university WEB ENABLE HOME AUTOMATION.
System Software Design Dan Sweet May 6 th, 2008 Western Washington University Bicycle Power Meter.
SGDRS Software System Design Justin A. King WWU EET Senior project 2013.
Automatic Pressure Canning System System Software Design By: Michael Drysdale.
Atmospheric Data Measuring Rocket Software Design & Description Matt Buonadonna ADaM Code Presentation.
GPS Enhanced PFD System Software Presentation Eric Grossmann.
System Software Design GPS Training System Jason Corbridge May 8, 2008 Western Washington University.
LED CUBE Preliminary System Software Design Fernando J. Garcia May
WESTERN WASHINGTON UNIVERSITY KENT SYKES 2009 Audio Field Recorder System Software Design.
ATV INSTRUMENTATION DISPLAY System Software Design Ed Raezer.
Wireless Heart Rate Monitor. On-Person Unit MC13213 (HCS08)  16 MHz Bus Frequency  On Chip Resources 60K of Flash 4K of RAM  Require Resources 15K.
HOME CONTROL SYSTEM By: Justin E. Klumpp & Leo L.S. Wan Leo L.S. Wan.
System Software Design Doorbell Jukebox Henry Arbicor and Arthur Bingcang.
Voice Over IP – Software Western Washington University By: Jonathan R. Peterson.
Electronic Memory Game System Software Design Jack Sullivan May 08, 2007.
Conserve-A-Watt System Software Design Justin Rapozo.
Software Overview Walking Robot by Sharon Davis Kernel MicroC/OSII.
The Guardian: Refrigerator Contents Tracker Bryant Lampano Western Washington University Electronics Engineering Technology [Type the company name]
Automated Aquarium Controller System Software Design ETEC 474 Western Washington University By: Gregory Rose.
Windows Server 2003 { First Steps and Administration} Benedikt Riedel MCSE + Messaging
28 April 2005 Brushless DC Motor Controller Software Design Presentation Western Washington University Patrick Prendergast.
System Software Design Presentation Western Washington University Taylor Reijm.
1 Module 3: Processes Reading: Chapter Next Module: –Inter-process Communication –Process Scheduling –Reading: Chapter 4.5, 6.1 – 6.3.
Operating System Review
Wireless Optical USB Mouse
Wireless Heart Rate Monitor
System Software Design by Chan-Chia (James) Chang
By: Justin E. Klumpp & Leo L.S. Wan
Reduce the Startup Load: All the applications start after turning on your computer out of its available memory unless you are using applications every.
Operating System Review
System Software Design
Chapter 6: Synchronization Tools
Presentation transcript:

Software Design Review Andres Rodriguez

General System Design  MCU: STM32F405  MCU Bus Frequency: 84MHz  Memory Requirements  Flash: ~ 10Kb  RAM: ~ 15Kb  Kernel: FreeRTOS RTOS Tick period 1ms

Kernel Selection  Real-time preemptive multitasking kernel FreeRTOS 3. Start Task 4. OutputLED Task 5. Bluetooth Receive Task 6. Motor Control Task 7. LEDBufferUpdate Task Priority of tasks

Start Task Description: Initializes system, Creates other tasks and Sets semaphores and Flags to proper value to Ensures POV does not run until the User hits the “ON” button  Priority #3  Period: once (at start-up)  Execution time ~ 10ms  Average CPU Load N/A

Bluetooth Task Description: Every 40ms checks for incoming Bluetooth data. If data ready to receive, receives first byte and uses it to sort the rest of the incoming data onto appropriate index of a structure and also sets variable used by Motor module to enable or disable motor.  Priority #5  Period: 40 ms (Periodic)  Execution time ~ 430us  Execution time ~ 1.6ms (max)  Average CPU Load = 1.07 %  Peak CPU Load = 4%

User InterFace (App) Description: Allows user to turn motor on and off, change background color, change text color, enter text or choose pre-programmed animations.

Motor Task Description:  Checks the MotorEnable variable to Enable or disable Motor. Maintains motor speed as close as possible to 1500 RPM and saves it to a variable that Output LED task can access Via mutex  Priority #6  Period: 200 ms (Periodic)  Execution time ~ 20 us (max)  Average CPU Load = 0.01%

LEDOutput Task Description: Reads LED Buffer and outputs it to the LEDs at the correct refresh rate. Pends on mutex to acces LEDBuffer. Gets MotorSpeed from motor module to determine LED refresh rate.  Priority #3  Period: 220 usec (Periodic) updating 180 times per revolution  Execution time ~ 110us (max)  Avg CPU Load: 50%

LEDBuffUpdate Task Description: Pends on a semaphore to read text and colors from structure and then waits for LEDBuff mutex to update the LEDBuff with the new buffer.  Priority #7  Period: sporadic  Execution time ~ 4.12 ms (max) assuming the array is for updating 180 times per revolution.  CPU Load: 0.824% Assuming Semaphore gets set every 500 ms

CPU load L max= (20us) + (1.6ms) + (110us) + (4.12ms) (200ms) (40 ms) (220us) (500ms) L max= 54.83% L average = 51.9 %

Modules ModuleTasksPublic FunctionsData Main.cStart Task Bluetooth.c Adapted From STM32F4_USART Sample BTReceiveTask Bluetooth_Init(); Bluetooth_Put(); SetMotorEnable(); LEDUpdate Semaphore UserInput Structure SPICom.c Adapted From STM32F4_SPI Sample LEDSPI_Init(); RPMSPI_Init(); LEDSPI_Send(); RPMSPI_Send(); MotorControl.cMotorControlTaskPWM_init(); Power Motor variable Motor Speed variable LEDs.cOutputLED Task LEDBuffUpdate Task UpdateLEDBuff(); GetMotorSpeed(); GetColors(); LEDBuffer Array

Dataflow Diagram

Questions?