150 likes | 279 Vues
This presentation by Jesse W. Spalding outlines the architecture of a remote control thermostat system utilizing the Motorola 9S12DP256B microcontroller. Operating at 24 MHz, the system features 256 KB of ROM, 12 KB of RAM, and 4 KB of EEPROM. It implements the MicroC/OS-II real-time preemptive multitasking kernel, facilitating task management for various functionalities, including temperature monitoring and user input processing. Key tasks include system initialization, control task management, and time/temperature tracking, ensuring efficient operation and communication between modules.
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