Download presentation
Presentation is loading. Please wait.
1
Wireless Optical USB Mouse
System Software Design By: Reza Afshari April 26, 2005
2
Kernel Selection Micro C/OS-II
Real-time Preemptive Multitasking Kernel Task Synchronization
3
Task Priorities Startup Task – 4 Power Management Task – 5
Sensor Task – 6 Button Detection Task – 7 Encode Task - 8
4
Startup Task Priority: #4 Description Initializes System Creates Tasks
Period: One time through (at startup) Execution Time: ~50us
5
Power Management Task Priority: #5 Description Period: ~1 ms
Places mouse in lower levels of power consumption during times of no movement Period: ~1 ms Execution Time: ~15 us
6
Sensor Task Priority: #6 Description Period: sporadic
Receives optical sensor movement, if any, and updates the buffer. Period: sporadic Execution Time: ~5 us
7
Button Detection Task Priority: #7 Description Period: Sporadic
Checks the status of the two mouse buttons and updates the buffer. Period: Sporadic Execution Time: ~5 us
8
Encode Task Priority: #8 Description Period: sporadic
Converts the movement data and button status into mouse report format using the microsoft mouse protocol Period: sporadic Execution Time: ~20 us
9
CPU Load L max = 15 us + 5 us + 5 us + 20 us 1 ms 1 ms 1 ms 1 ms
= 4.5%
10
Module Description Reused Code: SPI_DRIVER.c, written by Jon Peterson
Mouse.c SPI_DRIVER.C Power.c Input.c Encode.c Tasks Main() Startup() PowerManage() Sensor() Button() Encode() Functions/Data InitSPI() WriteSPI() ReadSPI() PowerState Left button status Right button status Movement data Reused Code: SPI_DRIVER.c, written by Jon Peterson
11
Power Management State Machine
12
Data Flow Diagram – Button Detection Task
13
Data Flow Diagram – Sensor Task
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.