Skip to main content

Unit information: Embedded and Real-Time Systems in 2015/16

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Embedded and Real-Time Systems
Unit code EENG34030
Credit points 10
Level of study H/6
Teaching block(s) Teaching Block 2 (weeks 13 - 24)
Unit director Dr. Agrafiotis
Open unit status Not open




School/department Department of Electrical & Electronic Engineering
Faculty Faculty of Engineering

Description including Unit Aims

Microcomputers are routinely embedded within the heart of modern electronic systems and this unit is designed to deal with the key topics concerned with implementing a microcomputer-based system and programming it to meet the real-time demands of embedded systems. Microcomputer controllers are described, their interface components explained and programming approaches discussed. Topics addressed include bus systems, signalling and handshaking, arbitration, designing memory systems, serial and parallel data interfaces, analogue interfaces, programming input-output systems, interrupts, simple state machine schedulers, programming real-time systems, the real-time scheduler, and synchronising parallel processes. This unit will use Problem Based Learning (PBL) which will use 5 problems each of which will be expected to take 2 weeks to complete. Some will involve practical work using a real time embedded system.

The hardware part of the unit focuses on power efficient processors from ARM (e.g. Cortex M0) and how these processors can be used to build embedded and real-time systems using FPGAs as the target implementation technology. FPGAs are introduced as a low-cost, high-performance custom computing platform suitable for Embedded and Real time Systems. The bus systems required to interface the processors with other peripherals are studied focusing on ARM AMBA AHB/APB and AXI interconnects. Practical work during this phase involves building a AHB system-on-chip around the Cortex M0 processor.

Intended Learning Outcomes

On successful completion of the unit a student will be able to:

  • Apply the design skills acquired during the prerequisites and best practice to construct a microprocessor-based system-on-chip using state of the art microcontrollers and system-on-chip intellectual property.
  • Explain how modern embedded systems work and the different implementation trade-offs available to the embedded system designer.
  • Describe the programming techniques required to operate a small-scale, multi-tasking, real-time system.
  • Assess the various mechanisms used to address the problem of process synchronisation in a pre-emptive, multi-tasking environment.
  • Formulate the need for operating system support to provide these mechanisms.
  • Explain the principles of embedded system design, operation and performance.

Teaching Information

Lectures,Group meetings, Laboratory sessions

Assessment Information

Coursework on Problems (Quiz, report, presentation), 50% (All ILOs)

Exam, 2 hours, 50% (all ILOs)

Reading and References


  • Barrett, Steven F., & Pack, Daniel J., Embedded Systems – Design and Applications with the 68HC12 and HCS12, ISBN 0131401416
  • Burns, Alan & Wellings, Andy, Real-time Systems and Programming Languages: Ada 95, Real-Time Java and Real-Time POSIX, 3rd ed, ISBN 0201729881
  • Li, Quing & Yao, Caroline, Real-time Concepts for Embedded Systems, ISBN 1578201241

Optional additional reading:

  • Douglass, Bruce, Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks and Patterns, ISBN 0201498375
  • Buttazzo, Georgio C., Hard Real-time Computing Systems: Predictable Scheduling Algorithms and Applications. ISBN 0387231374