By: Justin E. Klumpp & Leo L.S. Wan

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

Programmable Interval Timer
Oscilloscope Watch Teardown. Agenda History and General overview Hardware design: – Block diagram and general overview – Choice of the microcontroller.
HT46 A/D Type MCU Series Data Memory (Byte) Program Memory HT46R22 (OTP) HT46C22 (Mask) 2Kx Kx16 4Kx HT46R23 (OTP) HT46C23 (Mask) HT46R24.
BlueECG System Software Design Western Washington University By: Corey Williamson.
WISP.
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:
 Home Security and Lighting System  Western Washington University  Jonathon Ross  28 April, 2009.
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.
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.
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.
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.
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
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.
Submitted by:.  Project overview  Block diagram  Power supply  Microcontroller  MAX232 & DB9 Connector  Relay  Relay driver  Software requirements.
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.
System Software Design Presentation Western Washington University Taylor Reijm.
Mobile phone keypad sensed password entry for door opening.
Application Case Study Christmas Lights Controller
Introduction to Microcontroller Technology
Chapter Objectives In this chapter, you will learn:
Arduino Based Industrial appliances control system by decoding dual tone multi frequency signals on GSM / CDMA network. Submitted by:
PROPELLER DISPLAY OF MESSAGE BY VIRTUAL LEDS
CS501 Advanced Computer Architecture
DTMF BASED REMOTE INDUSTRIAL LOAD AND/OR AGRICULTURAL PUMP CONTROL
Arduino BASED RFID Device Access
Wireless Optical USB Mouse
Wireless Heart Rate Monitor
PC Mouse operated Electrical Load Control Using VB Application
System Software Design by Chan-Chia (James) Chang
USING TV REMOTE AS A CORDLESS MOUSE FOR THE COMPUTER
GSM - GPS BASED VEHICLE TRACKING SYSTEM
Introduction to Microprocessors and Microcontrollers

8051 Micro Controller.
System Software Design
A PROJECT ON PASSWORD BASED CONTROL SYSTEM. A PROJECT ON PASSWORD BASED CONTROL SYSTEM.
Presentation transcript:

By: Justin E. Klumpp & Leo L.S. Wan HOME CONTROL SYSTEM By: Justin E. Klumpp & Leo L.S. Wan

Base Microcontroller Motorola 9S12DP256B Bus Frequency at 24MHz Memory 256k bytes Flash 12k bytes RAM 4k bytes EEPROM

Kernel Choice MicroC/OS-II Real-Time preemptive multitasking kernel Semaphores used to communicate between tasks Tick period, 1ms

Kernel Tasks & Priority StartTask Priority:4 ControlTask Priority:5 RTCTask Priority:6 DAATask Priority:7 SCITask Priority:8 KeyTask Priority:9

StartTask Description: Initializes MicroC/OS and creates the other tasks during startup Priority: 4 Period: Executes once at startup Execution Time: 150ms estimated

ControlTask Description: This task controls all remote modules and intertask communication. It interprets all user’s command, phone line termination, sprinkler control, DTMF input, and User Interface control. Priority: 5 Execution Time: 4ms (max) Period: 10 ms (Periodic) CPU Load: 0.4

RTCTask Description: Receive real time data from the DS1305 real time clock. Priority: 6 Execution Time: 35 us Period: 1 second (Periodic) CPU Load: 0.000035

DAATask Description: This task will scan the RING pin on the DAA chip for valid ring signals Priority: 7 Execution time: 50us Period: 20ms CPU Load: .0025

SCITask Description: Poll the SCI Receive Data Register Full (RDRF) flag, once flag is set, SCI clocks in data into a buffer. Priority: 8 Execution Time: 50us. Period: 10 ms (Periodic) CPU Load: 0.005

KeyTask Description: The main keypad scanning task. It scans the keypad and updates the keypad buffer if a key press was verified. Priority: 9 Period: 10ms Execution Time: 50us CPU Load: 0.005 Code Composed by: Todd Morton

Total CPU Load Max CPU Load: 0.4 + 0.000035 + 0.0025 + 0.005 + 0.005 = 0.412535 Average CPU Load: 0.25

Base Control Software Modules Tasks Public Functions and Data Main.c DAATask RTCTask StartTask ControlTask VoiceCtrl.c VoiceInit() PlayMSG() LCD.c Code Composed By: Todd Morton LcdInit() LcdClrDisp() LcdMoveCursor() LcdDispStrg() LcdDispChar() LcdDispTime() LcdCursor() Key.c KeyTask KeyInit() KeyPend()

Base Control Software continued…. Modules Tasks Public Functions and Data EEProm.c Code Composed By: Todd Morton EEPROMInit() EESectModify() SCI_Driver.c SCITask ReadSCI() WriteSCI() InitSCI() DTMF.c DTMFInit() DTMFWrite() DTMFRead() UI.c TimeSet() PhoneSet() AlarmSet() UIMenu() SPI_driver.c Jon Peterson ReadSPI() WriteSPI() InitSPI()

LCD Flow Diagram UI.c Public Function(s) LCD Driver LCD I/O LcdInit() LcdDispStrg() TimeSet() LcdDispChar() Lcd() PhoneSet() LcdMoveCursor() LcdCursor() AlarmSet() LcdDispTime() UIMenu() LcdClrDisp()

Keypad Flow Diagram Keypad I/O Public Function(s) Keypad Driver 10msec KeyTask() KeyInit() Key.buffer KeyPend() KeyCode Table Key.flag

Control Task Flow Diagram Awaiting Flags Functions to Call Control Task TimeSet() KeyPend() PhoneSet() AlarmSet() 10msec TimePend() UIMenu() ControlTask() SCIPend() PlayMSG() DTMFWrite() RingPend() EESectModify() DTMFRead() WriteSCI() LcdDispTime()

MCU: Control Modules MCU: PSoC CY8C29466 Operating Voltage: 5 volts Clock Frequency: 6 MHz Microcontroller will only run one continuous task so no kernel is required Memory, MCU #1 (Bytes): 25 RAM, 1042 ROM Memory, MCU #2 (Bytes): 20 RAM, 904 ROM

Wireless Alarm Software Modules Tasks Public Functions and Data Main.c AlarmTask Sleep_ISR.c tx8.inc From the TX8 Library on PSoC Designer Software TX8_Start() TX8_bReadTxStatus() TX8_SendData() m8c.inc From the m8c Library on PSoC Designer Software M8C_ClearWDTAndSleep()

AlarmTask Description: Send a byte of data at a rate of 300bps. The byte of data contains the current state of the alarm sensor, and a unique alarm ID number. Period: Runs on a sleep timer that wakes up every second Execution time: ~1us CPU Load: 0.000001

ISR: Sleep Timer Description: This timer is used to put the Microcontroller into a sleep mode, where the current consumption on the PSoC is ~2.9uA. Execution Time: ~1us Period: 1 second CPU Load: 0.000001

Data Flow Diagram: ISR Sleep Timer Interrupt

Appliance Control Software Modules Tasks Public Functions and Data Main.c LightCtrlTask rx8.inc From the TX8 Library on PSoC Designer Software RX8_Start() RX8_bReadRxStatus() RX8_bReadRxData() timer8.inc From the Timer8 Library in PSoC Designer Software Counter8_Start() Counter8_WritePeriod() Counter8_WriteCompareValue()

LightCtrlTask Description: Polls on a valid data flag to be set, if set clocks in bits of data. Receive byte of data at 300bps; data contains control bits to turn on/off output pins. Controls the state of a relay; on or off. Execution time: ~1us Period: Continuous Operation CPU Load: 1