Digital Handheld Communication and Navigation Device www.trevorwilcox.com.

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

System Integration and Performance
Input and Output CS 215 Lecture #20.
Programmable Interval Timer
The Operating System. What is an Operating System? The software which makes it possible for you to use your computer The software which starts up when.
Basic Input Output System
Design and Development of High Performance PC Based Logic Analyzer MSc Project by Rab Nawaz Advisor: Dr. Shahid Masud.
Data Communications and Computer Networks
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
The Operating System The operation system (OS) is a set of programs that coordinates: Hardware functions Interaction between application software and computer.
Real-Time Operating Systems Suzanne Rivoire November 20, 2002
Cis303a_chapt06_exam.ppt CIS303A: System Architecture Exam - Chapter 6 Name: __________________ Date: _______________ 1. What connects the CPU with other.
CISC105 General Computer Science Class 1 – 6/5/2006.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
COMPUTERS in the CLASSROOM
Formula SAE Ryan Langley
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.
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.
Feb/18/2014 Mazen Alzyoud Early Term Exam Review.
BABCA Software Operating Systems (OS) aka Systems Software A set of instructions that coordinate all the activities among computer hardware resources.
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.
PARTS OF A COMPUTER 2 Hardware Computer Hardware is any of the physical parts of the computer you can touch. There are 4 categories: 1. Input Devices.
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.
C HAPTER 4 OS: C OMPUTER O RGANIZATION TOPICS: The Von Neumann Architecture The CPU.
RFID Access Control System Lucius Knight. General System Design  Microcontroller  PSoC CY8C29466  24MHz Bus Frequency  Memory Available  32kB FLASH.
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
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.
Operating Systems. Categories of Software System Software –Operating Systems (OS) –Language Translators –Utility Programs Application Software.
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.
Automatic Pressure Canning System System Software Design By: Michael Drysdale.
Atmospheric Data Measuring Rocket Software Design & Description Matt Buonadonna ADaM Code Presentation.
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.
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.
Introduction To Computer Programming – 1A Computer Parts, Words, and Definition Herriman High School.
Conserve-A-Watt System Software Design Justin Rapozo.
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.
Chapter Objectives In this chapter, you will learn:
Lesson Objectives Aims Key Words Interrupt, Buffer, Priority, Stack
Wireless Heart Rate Monitor
Introduction to Operating Systems
Mobile Operating System
System Software Design by Chan-Chia (James) Chang
By: Justin E. Klumpp & Leo L.S. Wan
Data Communications and Computer Networks
System Software Design
Presentation transcript:

Digital Handheld Communication and Navigation Device

 Freescale 9s12xep100 microcontroller  50 MHz bus frequency  Chip Resources  3 of 6 SCI Ports  Two interrupt driven  Wake-Up Interrupts on Port H and Port J (Key + RF)  Time Channel 6 Interrupt (Used by Kernel)  Memory Usage  ROM – 21.6kB of 48kB (up to 1MB paged)  RAM – 8kB of 8kB (up to 64kB paged)  EEPROM – 500B of 2kB (up to 4kB paged)

 uC/OS-II – A real-time preemptive multitasking kernel  Tick Period – 1ms  3+2Tasks  2 ISRs  4 Flags  1 Mutex

Task/ISRPriorityPeriod (avg) Period (min) BehaviorExecution Time (avg) Execution Time (max) CPU Load (avg) CPU Load (max) RFrxISR-60sec*0.8msSporadic2µs * ~0.0%0.25% GPSrxISR-30sec*1.7msSporadic2µs ~0.0%0.12% StartTask4--Run Once2sec -- OS_TIMER_TIMER51ms Periodic0.5µs 0.05% SysTask (newKey)6120sec16msSporadic7.1ms* ~0.0%44.3% (newSec)1sec Periodic5ms* 0.5% (newMsg)60sec162.4msSporadic7.3ms* 0.02%4.5% (newGPS)30sec61.2msSporadic7.2ms* 0.02%11.8% KeyTask78ms Periodic8µs *10µs0.1%0.13% ClockTask81sec Periodic1µs *1µs~0.0% *Estimated **Maximum load should be considered average load because system will be sleeping during “average” load conditions. Maximum CPU Load:44.85% Average CPU Load:~0.7%**

 Initializes Keypad, GPS, Clock, RF, and LCD hardware  Creates the other tasks  Period: Run once  Execution time: ~2sec

 Triggered by RDRF (Read Data Register Full) flag on RF SCI port  Copies incoming byte to buffer and exits  When end of message is detected or the buffer is full, posts a flag notifying SysTask  Period: 0.8ms (time in between bytes at 9600bps), Behavior is sporadic  Execution time: 2µs

 Virtually identical to RFrxISR  Triggered by RDRF on GPS SCI port  Copies incoming byte to buffer and exits  When end of message is detected or the buffer is full, posts a flag notifying SysTask  Period: 1.7ms (time in between bytes at 4800bps)  Execution time: 2µs

 Scans keypad to detect and debounce user key presses  Posts a flag notifying SysTask of user inputted key  Period: 8ms (periodic)  Execution time:  Maximum: 10µs  Average: 8µs (estimated)

 Uses OS Delay to count current time of day and date  Posts flag notifying SysTask that one second has elapsed  Period: 1s (periodic)  Execution time: 1µs

 Runs on New RF Message, New GPS Message, New Key Press and New Second events  Processes user input, including keypad multitap  Processes RF and GPS data  Provides the Graphical User Interface (GUI)  State machine structure to react to events and display correct graphical output for the event type and current user screen  Monitors power status and controls system power cycle  Saves user settings in EEPROM  Provides software tools to user

 Parses and interperets NMEA 0183 message streamed from GPS hardware  Location data is updated  Period:  Minimum: 61.2ms  Average: 30sec  Execution time:  Parsing and translating: 200µs  Maximum: 7.2ms (estimated)  Average: 7.2ms (estimated)

 Four primary functions: interpret received messages, transmit outgoing messages, manage message cryptography, and conduct Medium Access Control (MAC)  Incoming messages are processed when newMsg flag is posted by RFrxISR. The header is examined to determine if the system is the intended recipient. If it is, an ACK message is transmitted to the sender. No ACK will be transmitted for “Broadcast-All” messages. Message content will be decrypted using aes256 module, and message data will be ready to use.  For outgoing messages, message is encrypted, headers are added, and message is sent to the LN96 for transmission  Period:  Minimum: 162.4ms  Average: 60sec  Execution time:  Parsing and translating: 300µs (estimated)  Maximum: 7.3ms (estimated)  Average: 7.3ms (estimated)

 When the newKey flag is posted by KeyTask, SysTask will retrieve that key and interpret the key’s meaning based on the current state and cursor location  Multitap function may be used depending on current state  Period:  Minimum: 16ms  Average: 120sec  Execution time:  Maximum: 7.1ms (estimated)  Average: 7.1ms (estimated)

 When newSec flag is posted by ClockTask, SysTask will update the time on the LCD if appropriate  A mutex will be used to control access to the date-time information  Period: 1 sec  Execution time: 5ms (estimated)

SystemTask *main.cLN96.c LCD.caes256.c EEPROM.c*messaging.c power.crandom.c tools.cmultitap.c gps.c9s12xep100.c *Module where task code exists. KeyTask *ucoskey.c ClockTask *clock.c

Module/LibraryTasksPublic Functions and DataEstimated ROM/RAM main.cStartTask, SysTask settingsData2500b/4kb LCD.clcd_init(),lcd_powerdown() lcd_setbgcolor(),lcd_display() lcd_backlight(),lcd_putchar() lcd_setfontsize(),lcd_putstrg() lcd_getfontsize(),lcd_clear() lcd_putimage(),lcd_getcolor() lcd_movecursor() lcd_setcolor(),lcd_eraseline() lcd_disptime(),lcd_getcursor() lcd_txtopaque() 780b/10b

Module/LibraryTasksPublic Functions and DataEstimated ROM/RAM EEPROM.c Adapted from Todd Morton EESectModify(),EESectErase() EEWordWrite 400b/10b power.cSleep(),Stop(),Powerdown()200b/10b tools.cgridFind()400b/300b multitap.cgetMultiTap()1800b/ 200b 9s12xep100start.c Adapted from Todd Morton _Startup()80b/0b uCOSkey.c Adapted from Todd Morton KeyTaskKeyPend(),KeyInit()400b/70b gps.c GPSrxISRgpsData gps_getRMC(),gps_getGSV() gps_init(),gps_setqueryrate() 1100b/400b

Module/LibraryTasksPublic Functions and DataEstimated ROM/RAM clock.cClockTaskTimeBuffer120b/70b LN96.cRFrxISRrf_init(),rf_write(),rf_reset()500b/10b aes256.c Copyright (c) Ilya O. Levin aes256_init() aes256_done() aes256_encrypt_ecb() aes256_decrypt_ecb() 1400b/500b messaging.cmsgData,rfMsgBuffer sendMsg() 2000b/ 800b random.cgetRand()500b/100b

Module/LibraryTasksPublic Functions and DataEstimated ROM/RAM uC/OS-II (c) Copyright , Jean J. Labrosse OS_TASK_TIMERSee uC/OS-II Documentation2400b/ 1500b Math.c ISO C Standard Library undetermined String.c ISO C Standard Library undetermined STDIO.c ISO C Standard Library undetermined STDLIB.c ISO C Standard Library undetermined ~7k ROM for C Libraries Total:21.6kb ROM 8kb RAM

 Kernel Choice  Tasks  StartTask  RFrxISR  GPSrxISr  SysTask  KeyTask  ClockTask  Data Control  Medium Access Control  GPS Communication  Power Management  Memory Usage  ? toothpastefordinner.com