150 likes | 270 Views
Remote Control Thermostat System Software Presentation. By Jesse W. Spalding. General System Design. Microcontroller Choice Motorola 9S12DP256B Set to 24 MHz for the Bus Frequency Memory 256K Bytes of ROM 12K Bytes of RAM 4K Bytes of EEPROM MicroC/OS Kernel Timeslice Period of 1ms
E N D
Remote Control ThermostatSystem Software Presentation By Jesse W. Spalding
General System Design • Microcontroller Choice • Motorola 9S12DP256B • Set to 24 MHz for the Bus Frequency • Memory • 256K Bytes of ROM • 12K Bytes of RAM • 4K Bytes of EEPROM • MicroC/OS Kernel • Timeslice Period of 1ms • Semaphores to communicate between tasks
More About the Kernel • MicroC/OS-II Real Time Preemptive Multitasking Kernel • By Jean J. Labrosse • Portable and Reusable Design
Kernel Tasks and Priority • Start Task • Setup Task • Time and Temp Task • DAA Task • Key Task
Start Task • Description • Initializes System • Creates Other Tasks • Priority: 4 • Period of Task is once at start up • Estimated Execution Time is approximately 150ms
Control Task • Description • The task controls and deciphers the different modules. It does the intertask communication between them all. It interprets user’s inputs both home user and phone user. It controls the DTMF input and the phone line interface over the DAA. Will also control the relays. • Priority: 5 • Execution Time: approximately 3.75ms • Period: 10ms • CPU Load: approximately 0.375
TimeTemp Task • Description • It gets information from the RTC (which includes temperature) and also receives alarm which are set up • Priority: 6 • Execution Time: 40us • Period: Every Second • CPU Load: .00004
DAA Task • Description: This task samples the RING pin (pin 8) on the DAA for a valid ring. If it does it sets a flag. • Priority: 7 • Execution Time: 50us • Period: 20ms • CPU Load: .0025 • Code designed by: Leo Wan
Key Task • Description • Scans for a valid key input on Port H. Updates the keypad buffer if a key is pressed and verified • Priority: 8 • Execution Time: 50us • Period: 10ms • CPU Load: 0.005 • Code designed by: Todd Morton & Thomas Chia
CPU Load Approximate Total • Max CPU Load: • 0.375+0.0004+0.0025+0.005 = 0.3829 • Average CPU Load: • Approximately 0.3