Module code: ECS642U
Credits: 15
Semester: SEM1
This module provides a practice-oriented introduction to embedded and real-time systems. The modules aims to be accessible to students from a range of backgrounds, assuming only an enthusiasm for practical software development, a willingness to work with real hardware and good programming.
Practical work will be done using a small micro-controller development board, programmed in C, and industrial development tools. Beyond the purely practical, we will look at the interface between the digital micro-controller and physical sensors and actuators and at the process of analysing, designing and testing systems that react to external events. Systems will be developed both with and without a simple real-time operating system.
The great majority of processors are not part of desktop, server or even mobile computers but are embedded in other equipments, ranging from planes, trains, cars, robots, sensors, domestic appliances and even toys. The aim of the module is to introduce the development of simple embedded systems using a micro-controller, covering all aspects of the development lifecycle.
The design of these systems encompasses both hardware and software: the central issue is how a sequential processor can implement a system that responds (sufficiently quickly) to multiple external events, received through different interfaces. The software engineer is challenged to think about the reality of hardware and the interface from the computer to the external environment; the electronic engineer is challenged to think more about abstract models of systems and the appropriate organisation of complex software.
Level: 6