CT5003 - Microprocessors & Embedded Systems (2023/24)
|Module specification||Module approved to run in 2023/24|
|Module title||Microprocessors & Embedded Systems|
|Module level||Intermediate (05)|
|Credit rating for module||30|
|School||School of Computing and Digital Media|
|Total study hours||300|
|Running in 2023/24(Please note that module timeslots are subject to change)||
This module introduces students to the concepts of microprocessors and the role that hardware and software play in the functional behaviour of microprocessor systems. Students are then introduced to some of the more common microcontrollers. Interfacing external memories as well as various input/output devices and sensors are also covered. The module enables students to analyse the requirements of a given task, make decisions in selecting an appropriate controller, design and implement prototype hardware/software for a typical embedded systems product. Practical workshops are designed to introduce microprocessor software development, testing and debugging. Workshops provide students with an opportunity to use both ‘C’ and assembly language.
Prior learning requirements
CT4002: Electronic Systems or equivalent
Fixed systems vs. programmable systems, examples of typical microprocessors, block diagram of the internal architecture of a simple microprocessor, Von-Neumann vs. Harvard architecture, definition of program and data memory and other devices such as input / output peripherals.
The main features some of the typical microcontrollers and their architecture, register banks, bit and byte addressable locations and special function registers, on-board timer/counters, their modes and operation, the serial port, RS232 protocol, interrupt architecture, interrupt vectors and service routines. Interfacing LEDs, switches, digital sensors, motors and actuators.
Relationship between hardware and software, processor instruction set, format of instructions, writing assembly language programs, internal and external memory data transfer, Boolean instructions, bit testing and program branching. Processor addressing modes and use of look up tables. Introduction to C programming for embedded systems, low-level vs high level languages, C-code for various examples, variable types, Libraries, functions, parameters and arguments; memory addressing, arrays, pointers, interrupts and interrupt service routines.
Embedded system product development, development systems and tools, phases of product development from initial concept to hardware/software integration management, safety and ethical issues concerning embedded systems product design & relevant standards.
Balance of independent study and scheduled teaching activity
The module duration is for 30 weeks. It is organized as 1 hour formal lectures/seminars followed by 2 hours of practical hands-on workshops plus tutorial and discussion classes (the details of weekly program is given in the module handbook). All lectures/workshop study materials are available on-line via WebLearn. The workshops consist of a series of guided exercises followed by small group tasks using a number of industrial development boards and an Integrated Development Environment (IDE).
Tutorial sheets designed for each lecture/seminar classes provide an opportunity for students to test their understanding and will be discussed in small group tutorial classes. Students take a number of in-class multi-choice tests and receive individual feedback and a study/revision guide in order to improve their performance.
A case study given during the second semester provides an opportunity to apply their knowledge in real applications. This may be the development of a complete temperature monitoring unit, an autonomous obstacle-avoiding vehicle, a self-balanced two-wheeled robot or similar applications. Here students will be required to develop both hardware and software, making use of printed circuit boards, interfacing sensors and actuators to implement their own product design.
A number of small video clips prepared by module team have also been provided to further enhance the learning of the more demanding topics.
On successful completion of this module students will be able to:
LO1. Use technical literature and programmers’ model to describe the principles, concepts and operation of a typical microprocessor-based system.
LO2. Apply and integrate knowledge and understanding of other engineering disciplines to enrich their own study of microprocessors and embedded systems.
LO3. Work in a team to design solutions for complex problems that meet a combination of societal, user, business and customer needs as appropriate, involving consideration of mitigating potential security risks, health & safety, diversity, inclusion, cultural, societal, environmental and commercial matters, codes of practice and industry standards. Record self-learning and development.
LO4. Select and apply appropriate materials, equipment, engineering technologies and processes, recognising their limitations.
LO5. To understand the design phases of microcontroller-based products and identify constraints including environmental and societal impact and minimise adverse impacts, ethical, safety and intellectual property rights.
The module is assessed by coursework and an unseen examination as detailed below:
1. Coursework: (Workshops and Case Study):
During the first semester students are provided with a number of worksheets containing problems and exercises. One of their initial tasks is to install a Software Development Kit (SDK) on their own laptops/computers and write a simple program to familiarize themselves with the SDK. This task is assessed formatively and provides early feedback to the students. Students are then given assembly language exercises to in order to reinforce their understanding of the processor architecture, principles, and the operation of a typical microprocessor-based system. Second semester workshops use C as the main programming language. Students then undertake a group case study to develop a microprocessor-based product. Workshops and Case Study is assessed by a number of in-class multi-choice tests and a presentation (by means of a poster and artefact) of their developed product. This coursework mainly assesses learning outcomes: LO1-LO4.
2. End-of-module Exam:
This final assessment component of the module assesses students learning of the principles and concepts of microprocessors and embedded systems, which has been delivered throughout the academic year. Hence, a two-hour unseen, closed book examination is the one of the main assessment components of the module with a weighting of 50%. This exam mainly assesses the learning outcomes: LO1, LO2 and LO5.
Giuliano Donzellini, Andrea Mattia Garavagno, Luca Oneto (2022), “Introduction to Microprocessor-Based Systems Design,” ISBN: 978-3-030-87344-8.
MacKenzie I.S., Phan R.C. (2006), “The 8051 Microcontroller”, 4th Edition, Prentice Hall, ISBN 978-013019563.
Huang H. (2008), “Embedded System Design with C8051”, CL-Engineering, ISBN 978-0495471745
Yui J. (2010), “The Definitive Guide to the ARM Cortex-M3”, Elsevier Inc., ISBN 978- 1856179638
Qian K., Haring D., Li C. (2009) “Embedded Software Development with C”, Springer Science + Business Media LLC, ISBN 978-1441906069
Gupta G.S., Mukhopadhyay S.C. (2010), “Embedded Microcontroller Interfacing”, Springer-Verlag, ISBN 978-3642136368
Industrial microprocessor and peripherals data books
Specially prepared web-site is available for the complete set of lecture notes, study guides, and workshops.
University Library website- https://student.londonmet.ac.uk/library/
IEEE Xplore / IET Digital Library (IEL) - https://ieeexplore.ieee.org/Xplore/home.jsp
ACDM Digital Library - https://0-dl-acm-org.emu.londonmet.ac.uk/dl.cfm
Wiley Online Library - https://0-www-onlinelibrary-wiley-com.emu.londonmet.ac.uk/