ENSC351: Real Time Systems
SFU Eng. Science Course Outline 97-3 (Fall)
(ENSC 351, 4 credits, split as 2-0-2
Objectives
Problems of computers in real time (RT) and embedded systems
The Computer must:
Determine the state of the real world situation
React to that state within some stringent response time
Present both design methodology and Practical implementations for RT
Concentration on Real time Software, including Internet real time Java Programming
Not a hardware design course, but hardware involved
Instructors & Time
Instructor:
Prof. Glenn Chapman
, ASB 8831, email glennc@cs.sfu.ca
Lab Eng.: Neil Gruending ASB 8834, gruendin@sfu.ca
TA: Belinda Lee: belindal@sfu.ca & Moninder Tank: mtank@cs.sfu.ca
General Class email: ensc351-d1@sfu.ca
Lecture: Mon. : 13:30 - 15:20 in AQ3005
Lab Demos: 2 sections: Tues: 12:30 - 13:20 & 13:30 - 14:20 in Lab or assigned rooms
Text Book
Course notes "Real Time Systems" by Doug Girling
Fredrick Cady: Software and Hardware Engineering Motorola M68HC11: Oxford press, 1997
68HC11 labs: microcontroller manuals from bookstore.
OMRON PLC handbook (copied notes)
Course Outline
Course is centered around 3 lab projects
Lectures are to provide the information for the lab
Labs should be done in groups of 3-4
labs will be of fixed design, but modifications can be proposed
All tests and exams are open book.
What is Real Time Programming
Important points of Real Time Programming
Introduction and Programmable Logic Controllers (PLC)
General Overview & history
PLC's (relay oriented logic)
Embedded Systems
Systems as integral parts of the device
Microcontroller/microprocessor architecture
On chip resources for embedded Real Time (RT) systems
Implementation options: Single Board Controllers (SBC), microcomputers
Implementation factors: size, weight, formfactor, expandability
Development tools and environments
Interrupts
Letting the controller know something needs to be done
Interrupt mechanisms and interrupt handling
Integrating interrupts into a system (eg. buffering)
Interrupt performance and determinism
Performance and Optimization
Program optimization techniques for real time programming
Memory requirements vs speed
Algorithm tradeoffs for increased speed
Mid Term: Oct. 20, 1997 (Tentative date)
Simple Single Task Operating Systems
Doing controlling with more common Operating Systems (O/S)
Characterization, advantages and disadvantages of simple O/S
Resource abstractions (using MS-DOS example) device drivers, costs and benefits
using interrupt handlers under MS-DOS
Real Time Operating Systems (RTOS)
O/S designed for RT task (QNX)
How tasks are implemented
Task switching, scheduling algorithms, task creation & destruction
Case study of QNX as typical RTOS
Concurrency
When several tasks must be handled at the same time
Inter-Task cooperation:
events, mutual exclusion, semaphores, message passing, deadlock
Communications
International Standards Organization (ISO) OSI Open Systems Interconnect model
Asynchronous and Synchronous serial/parallel communications
TCP/IP and the internet
Implications of communications and RT systems
Real Time Control over the Internet
Internet and distance control of systems
Introduction to HTML: Web page design for fast response
Introduction to Java programming language
Java and real time control
Final Examination: Thurs. Dec. 4, 12:00 - 15:00
Assignments, Exams and Laboratory
Assignment: every 3 weeks between lab due dates
Labs are open labs working in groups
Scheduled Lab times: for demos & time to see TA's
Roughly 1 lab every 4 weeks
Project Specification 1st week of lab: 10% of lab mark
Marked on the Final documentation and demonstration
Each lab accounts for 15% of final marks
Demonstration of working lab on Due date,
Lab 1: PLC's control of Petra belt system
Sept. 16 Project Spec., Sep. 30: Demo and final report Due
Lab 2: Single board controller: Vector driven game display
Oct. 7 Spec., Oct. 28: Demo and final report Due
Lab 3: Real Time OS (QNX) control of train system
Nov. 4 Project Spec., Nov. 25: Demo and final report Due
Marking
Best of
10% assignments, 10% Midterm, 20% Final Exam, 60% Project/Labs
50% Final Exam, 50% Project/Labs
Page maintained by:
Prof. Glenn Chapman
Last updated Dec. 10, 1997