Title: SUPER SWINGIN
1(No Transcript)
2SUPER SWINGIN RADIO CLOCK
A System Software Review
By Toby Dayley April 28, 2005 ETEC 474
Photo courtesy of circuitcity.com Used without
permission
3KERNAL SELECTION
Logo courtesy of Micrium Used without permission
4TASKS PRIORITIES
TASK
PRORITY
Startup
4
Control
5
6
Display
Clock
7
Receiver
8
Logo courtesy of Micrium Used without permission
5STARTUP TASK
Initializes µCOS and creates the other tasks
Priority 4
Period Runs once at startup
Execution Time 50µs
CPU Load Not Considered
6CONTROL TASK
Controls the swing arm and handles UI
Priority 5
Period 10ms
Execution Time 10µs
CPU Load 0.001
7DISPLAY TASK
Handle all output to the LEDs
Priority 6
Period 50ms
Execution Time 10ms
CPU Load 0.2
8CLOCK TASK
Controls the real time clock between
synchronization
Priority 7
Period 1s
Execution Time 100µs
CPU Load 0.0001
9RECEIVER TASK
Decodes the signal from WWVB and controls sync
Priority 8
Period 25ms
Execution Time 100µs
CPU Load 0.004
10TOTAL CPU LOAD
Lmax 0.0010.20.00010.004
Maximum CPU Load 20.51
11MODULES
12DATA FLOW
Switches
S2RC.c
Control Module
TimeDate_key Zone_key Optical_sw
10ms
SwitchInit()
ControlTask()
SW.buffer
SwitchPend()
SW.flag
13DATA FLOW
LED Display
S2RC.c
LED.c
LedZone() LedDate() LedTime() LedMoveCursor() LedD
ispChar() LedClrDisp() LedDispStrg()
LEDs
50ms
DisplayTask()
14DATA FLOW
WWVB Signal
Clock.c
Receiver.c
WWVB Input
25ms
PullTime()
synctime
ReceiverTask()
PullDate()
syncdate
SyncPos.flag
SyncPosPend()