Course Outline (W2020)

ELE709: Real-Time Computer Control Systems

Instructor(s)Y. C. Chen [Coordinator]
Office: ENG458
Phone: (416) 979-5000 x 6090
Email: yaochen@ryerson.ca
Office Hours: Tue 1-2pm, Fri 1:30-2:30pm
Calendar DescriptionThis course deals with practical techniques for the specification, design and implementation of real-time computer control systems. Topics include: overview of computer control strategies; introduction to real-time systems; hardware and software requirements; implementation of digital control algorithms; design of real-time computer control systems; design analysis; considerations for fault detection and fault tolerance. The lab work and project require solid background in C programming.
PrerequisitesELE 639 or MEC 830




Compulsory Text(s):
  1. ELE709 Course Slides, Y. C. Chen. Available through D2L Brightspace.
  2. ELE709 Laboratory Manual, W2020 Edition, Y.C. Chen. Available through D2L Brightspace.
Reference Text(s):
  1. Real-Time Concepts for Embedded Systems, Q. Li and C. Yao, CMP Books, 2003.
  2. Advanced Linux Programming, M. Mitchell, J. Oldham and A. Samuel, New Riders Publishing, 2001.
Learning Objectives (Indicators)  

At the end of this course, the successful student will be able to:

  1. Use engineering knowledge to solve real-world control problems. (1c)
  2. Use real-time system concepts to understand and design real-time control systems. (1d)
  3. Generate solutions for more complex real-time control problems. (4b)
  4. Design and develop a real-time computer controller to control a DC motor. (5a)
  5. Laboratory and project performance. (6b)

NOTE:Numbers in parentheses refer to the graduate attributes required by the Canadian Engineering Accreditation Board (CEAB).

Course Organization

3.0 hours of lecture per week for 13 weeks
1.0 hours of lab/tutorial per week for 12 weeks

Teaching AssistantsTBA
Course Evaluation
Midterm Exam 25 %
Final exam (theory part) 40 %
Lab work + Project 25 %
Final exam (lab part) 10 %
TOTAL:100 %

Note: In order for a student to pass a course with "Theory and Laboratory" components, in addition to earning a minimum overall course mark of 50%, the student must pass the Laboratory and Theory portions separately by achieving a minimum of 50% in the combined Laboratory components and 50% in the combined Theory components. Please refer to the "Course Evaluation" section for details on the Theory and Laboratory components.

ExaminationsMidterm exam in approximately Week 7, two hours, closed-book, formula sheet provided.
 Final exam, during exam period, three hours, closed-book, formula sheet Provided.
Other Evaluation InformationStudents must pass (obtain 50% or higher) in BOTH the theory and lab portion of the course in order to obtain a passing grade for the course.
Other InformationNone

Course Content



Chapters /

Topic, description



Concepts of Computer Control
 Introduction classes of industrial process control systems sequence
 control loop control supervisory control.
 (Lecture Notes)



Introduction to Real-Time Systems
 Classification of real-time systems time constraints classification of computer programs.
 (Chapter 1)

2 - 3


Hardware and Software Requirements
 General-purpose computer specialized processors external interfaces
 A/D and D/A conversion data transfer techniques data communications techniques. Real-time operating systems computer languages for real-time applications.
 (Chapter 4)

3 - 5


Concurrent Programming
 Process and threads process/thread life cycle multi-threaded programming with POSIX threads (Pthreads) thread synchronization and communication: semaphores mutexes and condition variables.
 (Chapters 5-8 15)

5 - 7


Digital Controllers: Design and Implementation
 Review of discrete-time signal sampling difference equation discrete transfer function z-transform PID controller design and digital implementation saturation and integrator wind-up discretization of continuous-time controllers control loop synchronization choice of sampling period effects of latency and timing jitters on control performance quantization effects.
 (Lecture Notes)

8 - 9


Scheduling of Real-Time Control Tasks
 Basic concepts cyclic executives basic rate monotonic scheduling earliest deadline first scheduling basic response-time analysis task blocking transitive blocking priority inversion priority inheritance priority ceiling and immediate priority ceiling protocols extended rate monotonic scheduling response-time analysis with blocking starvation deadlock.
 (Chapter 16)



Real-Time Application Interface Programming
 Real-time task creation periodic and aperiodic tasks interrupt service routine scheduling policies.
 (Lecture Notes)

10 - 12


Design of Real-Time Computer Control Systems
 Software life cycle planning analysis and specifications different approaches to real-time software design tasking design.
 (Lecture Notes)



Introduction to Reliability and Fault Tolerance in Computer Control Systems
 Reliability types of faults failure modes fault prevention: avoidance and removal fault tolerance: hardware and software redundancy.
 (Lecture Notes)

Laboratory/Tutorials/Activity Schedule






C - Review



Time and Clocks



POSIX Threads and Concurrent Programming



Resource Sharing and Coordination



Task Synchronization and Communication



Real-Time Digital PID Controller Design and Implementation

Policies & Important Information:

  1. Students are required to obtain and maintain a Ryerson e-mail account for timely communications between the instructor and the students;
  2. Any changes in the course outline, test dates, marking or evaluation will be discussed in class prior to being implemented;
  3. Assignments, projects, reports and other deadline-bound course assessment components handed in past the due date will receive a mark of ZERO, unless otherwise stated. Marking information will be made available at the time when such course assessment components are announced.
  4. Refer to our Departmental FAQ page for information on common questions and issues at the following link: https://www.ee.ryerson.ca/guides/Student.Academic.FAQ.html.

Missed Classes and/or Evaluations

When possible, students are required to inform their instructors of any situation which arises during the semester which may have an adverse effect upon their academic performance, and must request any consideration and accommodation according to the relevant policies as far in advance as possible. Failure to do so may jeopardize any academic appeals.

  1. Health certificates - If a student misses the deadline for submitting an assignment, or the date of an exam or other evaluation component for health reasons, they should notify their instructor as soon as possible, and submit a Ryerson Student Health Certificate AND an Academic Consideration Request form within 3 working days of the missed date. Both documents are available at https://www.ryerson.ca/senate/forms/medical.pdf.. If you are a full-time or part-time degree student, then you submit your forms to your own program department or school;
  2. Religious, Aboriginal and Spiritual observance - If a student needs accommodation because of religious, Aboriginal or spiritual observance, they must submit a Request for Accommodation of Student Religious, Aboriginal and Spiritual Observance AND an Academic Consideration Request form within the first 2 weeks of the class or, for a final examination, within 2 weeks of the posting of the examination schedule. If the requested absence occurs within the first 2 weeks of classes, or the dates are not known well in advance as they are linked to other conditions, these forms should be submitted with as much lead time as possible in advance of the absence. Both documents are available at www.ryerson.ca/senate/forms/relobservforminstr.pdf. If you are a full-time or part-time degree student, then you submit the forms to your own program department or school;
  3. Academic Accommodation Support - Before the first graded work is due, students registered with the Academic Accommodation Support office (AAS - www.ryerson.ca/studentlearningsupport/academic-accommodation-support) should provide their instructors with an Academic Accommodation letter that describes their academic accommodation plan.

Academic Integrity

Ryerson's Policy 60 (the Academic Integrity policy) applies to all students at the University. Forms of academic misconduct include plagiarism, cheating, supplying false information to the University, and other acts. The most common form of academic misconduct is plagiarism - a serious academic offence, with potentially severe penalties and other consequences. It is expected, therefore, that all examinations and work submitted for evaluation and course credit will be the product of each student's individual effort (or an authorized group of students). Submitting the same work for credit to more than one course, without instructor approval, can also be considered a form of plagiarism.

Suspicions of academic misconduct may be referred to the Academic Integrity Office (AIO). Students who are found to have committed academic misconduct will have a Disciplinary Notation (DN) placed on their academic record (not on their transcript) and will normally be assigned one or more of the following penalties:

  1. A grade reduction for the work, ranging up to an including a zero on the work (minimum penalty for graduate work is a zero on the work);
  2. A grade reduction in the course greater than a zero on the work. (Note that this penalty can only be applied to course components worth 10% or less, and any additional penalty cannot exceed 10% of the final course grade. Students must be given prior notice that such a penalty will be assigned (e.g. in the course outline or on the assignment handout);
  3. An F in the course;
  4. More serious penalties up to and including expulsion from the University.

The unauthorized use of intellectual property of others, including your professor, for distribution, sale, or profit is expressly prohibited, in accordance with Policy 60 (Sections 2.8 and 2.10). Intellectual property includes, but is not limited to:

  1. Slides
  2. Lecture notes
  3. Presentation materials used in and outside of class
  4. Lab manuals
  5. Course packs
  6. Exams

For more detailed information on these issues, please refer to the Academic Integrity policy(https://www.ryerson.ca/senate/policies/pol60.pdf) and to the Academic Integrity Office website (https://www.ryerson.ca/academicintegrity/).

Important Resources Available at Ryerson

  1. The Library (https://library.ryerson.ca/) provides research workshops and individual assistance. Inquire at the Reference Desk on the second floor of the library, or go to library.ryerson.ca/guides/workshops
  2. Student Learning Support(https://www.ryerson.ca/studentlearningsupport) offers group-based and individual help with writing, math, study skills and transition support, and other issues.