SGDRS Software System Design Justin A. King WWU EET Senior project 2013.

Slides:



Advertisements
Similar presentations
Programmable Interval Timer
Advertisements

Programmable Keyboard/ Display Interface: 8279
Sistemi Elettronici Programmabili13-1 MULTI OSC + CLOCK FILTER LVD POWER SUPPLY CONTROL 8 BIT CORE ALU PROGRAM MEMORY RAM I2CI2C PORT A SPI PORT B 16-BIT.
Chapter 2 HARDWARE SUMMARY
ECE 447 Fall 2009 Lecture 9: TI MSP430 Interrupts & Low Power Modes.
Introduction of Holtek HT-46 series MCU
8-Bit Timer/Counter 0 Counter/Timer 0 and 2 (TCNT0, TCNT2) are nearly identical. Differences: -TCNT0 can run off an external 32Khz clock (Tosc) or the.
Infineon Technologies Corp. June 99 1 HOT167-1 Version 2.0 F PWMmax = x 50ns = 78 kHz Pulse Width Modulation Unit (PWM) (20 MHz)  4 independent.
HT46 A/D Type MCU Series Data Memory (Byte) Program Memory HT46R22 (OTP) HT46C22 (Mask) 2Kx Kx16 4Kx HT46R23 (OTP) HT46C23 (Mask) HT46R24.
Timers and Interrupts Shivendu Bhushan Summer Camp ‘13.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Timers and Interrupts Shivendu Bhushan Sonu Agarwal.
Khaled A. Al-Utaibi  8086 Pinout & Pin Functions  Minimum & Maximum Mode Operations  Microcomputer System Design  Minimum Mode.
MSP432™ MCUs Training Part 5: Digital Peripherals
Software Three Main Functions Records/Monitors Zero Detection Points Gives our PWM a starting point Data used to dynamically adjust carrier frequency Detects.
Renesas Electronics Europe GmbH A © 2010 Renesas Electronics Corporation. All rights reserved. RL78 Clock Generator.
1 Chapter 4 Timer Operation (I. Scott MacKenzie).
7/23 Timers in Coldfire Processor Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee (480)
8253 TIMER. Engr 4862 Microprocessors 8253 / 8254 Timer A.k.a. PIT (programmable Interval Timer), used to bring down the frequency to the desired level.
ARM Timers.
System Clocks.
Chapter 4 TIMER OPERATION
Clock Options and Sleep Modes. Clock Sources Flash Fuse bits can be programmed to choose one of the following Clock sources: 1. External RC Osc. f = 1/(3RC).
MCU: Interrupts and Timers Ganesh Pitchiah. What’s an MCU ?
1 Lab 5: Controls and feedback. 2 Lab 5: Control and Feedback This embedded system uses the Photo sensor to detect the light intensity of the environment.
Lecture 11 Low Power Modes & Watchdog Timers
ECS642U Embedded Systems Cyclic Execution and Polling William Marsh.
Modes of transfer in computer
Timers and Interrupts Anurag Dwivedi. Let Us Revise.
1 68HC11 Timer HC11 or HC12: Chapter HC11 Timer Subsystem  Several timing functions: Basic timing Basic timing Real time interrupts Real time.
System Software Design Review.  MCU: NXP LPC2378 ARM7 32-bit  512 KB Flash, 8KB EEPROM and SRAM  Bus Frequency: 20 MHz  Approximate Memory requirements:
System Software Design Colin Gatlin May 12, 2009 Western Washington University.
Network and Systems Laboratory nslab.ee.ntu.edu.tw.
Turbine Flow Meter Kevin Hooks Senior Design Project.
TIMERS AND INTERRUPTS AVI SINGH KEVIN JOSE PIYUSH AWASTHI.
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.
Execution Architecture MTT CPU08 Core M CPU08 INTRODUCTION.
BICYCLE SECURITY AND TRIP COMPUTER MATTHEW ROTHNIE WESTERN WASHINGTON UNIVERSITY 4/25/12.
ATV INSTRUMENTATION DISPLAY System Design Ed Raezer Senior Project Western Washington University.
System Software Design Engineer: Mac Gainor Western Washington University.
Machine Access System Software Design and Documentation Western Washington University By: Kevin Pogue.
#1 of 10 Tutorial Introduction PURPOSE -To explain how to configure and use the Timer Interface Module in common applications OBJECTIVES: -Identify the.
PULSE WIDITH MODULATION EE 587 Presented by Viswanadha Kakarlapudi.
Timer 1 and 2 operation, PWM Principles. Timer 1 Operation.
Humidity Sensing Fan Controller Jason Huft 05/11/10.
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:
Seth Schwiethale James Crosetto James Ellison.  square pulse of ms, repeats every 20 ms  It is the same for both steering and acceleration 
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.
The Guardian: Refrigerator Contents Tracker Bryant Lampano Western Washington University Electronics Engineering Technology [Type the company name]
System Software Design Presentation Western Washington University Taylor Reijm.
Team 7 Chaofan Chen Dhruvmin Gandhi Larry Gerhardt Pulse-width Modulation with the TIVA C.
Why are Timer Functions Important?
Application Case Study Security Camera Controller
Microcontroller basics
Timer and Interrupts.
Wireless Heart Rate Monitor
UNIT – Microcontroller.
By: Justin E. Klumpp & Leo L.S. Wan
AVR Addressing Modes Subject: Microcontoller & Interfacing
8-Bit Timer/Counter 0 Counter/Timer 0 and 2 (TCNT0, TCNT2) are nearly identical. Differences: -TCNT0 can run off an external 32Khz clock (Tosc) or the.
The Arduino Microcontroller: Atmel AVR Atmega 328
Timer/Counter Modified from Dr. Lam Phung’s Slides.
Introduction to Microprocessors and Microcontrollers
CSCI1600: Embedded and Real Time Software
Lecture 9: TI MSP430 Interrupts & Low Power Modes
CSCI1600: Embedded and Real Time Software
Presentation transcript:

SGDRS Software System Design Justin A. King WWU EET Senior project 2013

H ARDWARE R ESOURCES MCU – MSP430G2553 available resources Memory 512B RAM / 16KB ROM 2x 16 bit Timer modules, TA0 and TA1 14 GPIO pins Up to 16MHz bus speed Used resources Memory 6 bytes pf RAM / 1KB ROM Both 16 bit Timer modules, TA0 and TA1 3 GPIO pins 1MHz bus speed (lower power)

B ASIC OVERVIEW The program functions as follows Initialize the GPIO Initialize the Timers Go into LPM3 When TA0ISR verifies that output should happen, it wakes the CPU up FOREVER() IOTask() Enter LPM3 (until P1ISR wakes the CPU up again)

K ERNEL Interrupt driven Kernel No specific timing requirements No time slice execution No task pre-emption RTC Period 1 second Tasks and ISRs StartTask(), IOTask() TA0 int, TA1 int, P1 int

S TART T ASK () Used to start the clocks and set up interrupt pins Utilizes IO initialize functions from IO module Sets up Input and Output pins Sets up a tie down resistor for the PIR sensor so it is not left floating Utilizes Timer initialize functions from timer module Sets up the kHz crystal for RTC timer, TA0 Sets up parameters for TA1 PWM generation Execution time: ~1ms Period: once (at start-up)

IOT ASK () Handles mostly output functionality Checks to see if the spray flag is set by the TA0ISR If the flag is set, the output pin that drives the FET that is attached to the servo is set Changes output phase to adjust PWM pulse width for the TA1ISR Execution time: Up to 2s Waits for the servo to turn for half a second and then turns it back Period: Sporadic (occurs when P1ISR wakes the program up from LPM3)

TA0ISR Functions as the RTC timer for the program Uses the kHz crystal Clock dividers provide a 1s periodic interrupt On interrupt, it increments a variable SecCount After 3600 seconds, HourCount is incremented If HourCount > 24, a SprayFlag is set Execution time: <3us Period: Periodic, every 1s

TA1ISR Used to generate the PWM signal for the servo control Uses continuous mode timer and adjusts the interrupt period to produce the PWM signals Produces servo_down and servo_up signals PWMs with different duty cycles Depends on the phase that is set by IOTask() Execution Time: <2us Period: Sporadic (once a day)

P1ISR Handles the PIR sensor input functionality Triggers when a pin on port 1 transitions from logic low to logic high Checks the spray flag from TA0ISR If the spray flag is set, it wakes the CPU up from LPM3 Execution time: ~2us Period: Sporadic (occurs when PIR is tripped)

M ODULES ModuleTasksPublic Functions main.cStartTask() IO.cIOTask()IOInit() Timer.cRTCTimerInit() CheckSprayFlag() ClearSprayFlag()