Real-Time Project for Embedded Systems (Coursera)

Real-Time Project for Embedded Systems (Coursera)
Course Auditing
Categories
Effort
Certification
Languages
C and programming skills and C++ for optional use of OpenCV with some operating systems and embedded hardware experience
Misc

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Real-Time Project for Embedded Systems (Coursera)
The final course emphasizes hands-on building of an application using real-time machine vision and multiple real-time services to synchronize the internal state of Linux with an external clock via observation. Compare actual performance to theoretical and analysis to determine scheduling jitter and to mitigate any accumulation of latency.

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

The verification of the final project will include comparison of system timestamp logs with a large set of images which can be encoded into a video. The final report will be peer reviewed and the captured frames and video uploaded for scripted assessment.
Course Learning Outcomes:

- Outcome 1: Decompose a problem and set of basic real-time requirements into software modules and Linux POSIX real-time threads

- Outcome 2: Analyze services in terms of C (execution time), T (request period), and D (deadlines for completion) to establish feasibility and margin for meeting requirements

- Outcome 3: Design and construct a solution for a native Linux system equipped with a webcam to verify and demonstrate system synchronization using machine vision processing

Course 4 of 4 in the Real-Time Embedded Systems Specialization.


What You Will Learn

- Real-time system design concepts and decomposition of functions and indentification of key services

- De-coupling of I/O from real-time processing to avoid response time over-runs

- Using AMP design principles with Rate Monotonic policy, analysis and theory

- Using AMP design principles with best-effort an parallel real-time co-processing


Syllabus


WEEK 1

RTES Project Goals and Objectives

This module provides background on the RTES project including the concept of a "visual synchronome", where a camera is used to synchronize time between an external clock and an embedded computer. The project requires synchronization at both 1 Hz and 10 Hz, where the real-time services must acquire camera frames, select stable (non-blurred) frames and write them to a flash file system. The project requires a good understanding of RMA, real-time scheduling, and design principles for multi-service real-time systems.


WEEK 2

Completion of RTES Project and Preliminary Functional Testing

Different design approaches for the RTES project are reviewed in this module including the "shot gun" start, where clock ticks are detected once at the start, the full synchronome continuous tick detection approach, and different options for implementation. RTES project designers must decide on a camera interface, for example a V4L2 (Video for Linux 2) interface to UVC (Universal Video Controller) driver, or an OpenCV interface to a camera.


WEEK 3

Timing Analysis — Comparison of Actual to Predicted Service Time Events

To ensure that a real-time design is properly implemented, timing analysis based upon system logging and tracing must be used to verify that actual timing compared to theoretical RMA. This module provides and overview of methods and suggests the most efficient methods to debug and verify timing of the RTES project. The module includes a 1 Hz peer review of design and code to assist with RTES project improvement for external clock synchronization using camera images with a ticking analog clock.


WEEK 4

Methods for System Verification and Validation of RTES project

This module covers methods of tracing and profiling for the overall RTES project platform including networking, system profiling, and methods to trace real-time services in particular. The module includes a 10 Hz peer review of design and code to assist with RTES project improvement for external clock synchronization with a digital stopwatch at this higher rate compared to 1 Hz.


WEEK 5

Final Project Review and Presentation

The overall RTES project should be completed for this module. Students can review tips and examples for how to prepare their design materials, their RMA, and code for review. The process for inspection to verify and validate the design based upon the RTES project rubric is defined here as well.



MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Course Auditing
68.00 EUR/month
C and programming skills and C++ for optional use of OpenCV with some operating systems and embedded hardware experience

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.