Real Time Embedded System Finger Finger Revolution EE4214
Inspiration Real Time Arcade Machine Real Time Game Application
Finger-Finger Revolution Rhythm-and-Hand Gesture Gaming Platform ▫Supports Gesture Detection ▫Plays Music ▫Provides Visual Display
Brief System Overview Controller Memory PWMLCDIR Hardware Drivers
Hardware IR Sensors – captures hand gestures LCD - displays timer, scoring and moves Sound buzzer – plays PWM pitch tones
Voltage Regulator Regulates incoming 7.5 vdc to 5 vdc 1A Max current limit Capacitors to remove noise in power source
IR Circuit Converts IR’s analog signal to digital Transistor acts as switch Finger DetectionLogic level at output Detected (no IR light received) 5v or ‘High’ Not Detected (IR light received) 0v or ‘Low’
Buzzer High Pass Filter Logic ‘Low’ produces 0.3v at PWM0 output HPF used to remove this offset Cutoff Frequency formula f c = 15.9Khz Audible range 20 to 20kHz
LCD Connections RT rows x 16 columns LCD using 4-bit data mode
Flow Chart
Task Criticality Firm Game Timer Music Playback LCD Updating Soft IR Input Sensing Score Updating
Task Scheduling TaskPeriod (T i ) Computational Time (C i ) Priority (P) Utilization (U i ) LCD250ms10ms10.04 IR sensor250ms10ms20.04 CalScore250ms20ms30.08 UpdateMove250ms20ms40.08 UpdateTime1000ms20ms50.08 PWM500ms20ms60.04
Task Utilization Analysis Processor Utilization Factor: U P = = U p ≤ 1 (schedulable) Utilization Least Upper Bound (1973, Liu and Layland): - U lub RM = n(2 1/2 - 1) = Case, for large n, n → ∞: U lub → ln 2 ≈ Since U p ≤U lub in both cases, schedulable with RMA. Hyperbolic Bound (2000, Bini et al.): Hence the 6 periodic tasks are schedulable with RMA.
250m s 750m s 1000ms 0ms 500m s 1250ms 1500ms 1750ms 2000m s 2250ms 250m s 750m s 1000ms 0ms 500m s 1250ms 1500ms 1750ms 2000m s 2250ms LCD IR Sensor Scoring 250m s 750m s 1000ms 0ms 500m s 1250ms 1500ms 1750ms 2000m s 2250ms 250m s 750m s 1000ms 0ms 500m s 1250ms 1500ms 1750ms 2000m s 2250ms Overall Timing Timing Diagram
Update time PWM sound 250m s 750m s 1000ms 0ms 500m s 1250ms 1500ms 1750ms 2000m s 2250ms 250m s 750m s 1000ms 0ms 500m s 1250ms 1500ms 1750ms 2000m s 2250ms Update move 250m s 750m s 1000ms 0ms 500m s 1250ms 1500ms 1750ms 2000m s 2250ms Timing Diagram Cont’
State Transition Diagram
Data Flow Diagram
Data Flow Diagram Cont’
Inter Process Communication Mailbox with Semaphore LCDIR Sensors ControllerFIFO1FIFO2 Calculate Score SocketPWM
Possible Improvement More time More help support Multi-Player mode
Lesson Learnt “What works on paper may not be feasible in implementing it…”