Presentation is loading. Please wait.

Presentation is loading. Please wait.

Wireless Optical USB Mouse

Similar presentations


Presentation on theme: "Wireless Optical USB Mouse"— Presentation transcript:

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


Download ppt "Wireless Optical USB Mouse"

Similar presentations


Ads by Google