ES3H9-15 Digital and Embedded Systems
Introductory description
Digital and Embedded Systems are found in many modern electromechanical systems and thus knowledge in this area is essential for engineers. This module covers hardware data representation and Boolean algebra, combinational and sequential logic, A/D and D/A converters, microcomputer and microcontroller systems and architectures. Students will apply their knowledge to program and use microcontrollers to collect and transmit sensor data.
Module aims
This module is designed to provide knowledge of how digital computing systems are designed, how they function, and how to program them.
Outline syllabus
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
Basic C: Data types, operators, loops, pointers, bitwise operations.
Data Representation: Binary numbers, Boolean algebra, unsigned and signed integers, fixed and floating point, ASCII.
Logic and Digital Arithmetic: Basic function truth tables, Karnaugh maps, Karnaugh maps, combinational circuits: multiplexers, decoders, half and full adders, sequential circuits: latches, flip flops, finite state machines.
Instruction Set Architecture: Assembly language, machine instructions including memory access, program flow and data processing.
Processor Microarchitecture: Memory, ALU, program counter, register file, control unit, single-cycle and pipelined processors.
I/O: GPIO, UART, SPI, I2C, timers, interrupts, PWM, A/D and D/A conversion
Microcontroller Programming: Loops, interrupts, timers, accessing peripherals, interfacing to sensors.
Learning outcomes
By the end of the module, students should be able to:
- Represent different types of data in binary and perform arithmetic operations on them
- Understand the working of combinational and sequential circuits. Implement logic functions using these building blocks.
- Explain how low-level instructions correspond to the operation of a processor microarchitecture and how complex programs can be decomposed into such instructions
- Explain the functionality of the basic components in a microprocessor organisation and architecture
- Explain how external peripherals and memory are interfaced with a processor, compare and use appropriately various communication interfaces
- Create basic C programs and C programs for Microcontrollers. Write structured programs that go beyond a single iteration loop, taking advantage of interrupts and timers, and communicating with external peripherals
- Integrate sensors and microcontrollers into small-scale, standalone embedded systems
Indicative reading list
S. Harris and D. Harris. Digital Design and Computer Architecture: ARM Edition. Publisher: Morgan Kaufmann, 2016, 732 pages, Ebook ISBN: 9780128009116
W. Stallings, Computer organization and architecture: designing for performance, 2022, 892 pages, Ebook ISBN: 9781292420080
J. Purdum, Beginning C for Arduino, Learning C Programming for the Arduino, 215, 388 pages, Ebook ISBN: 978148420940-0
Subject specific skills
Communicate technical information with others at all levels, including technical reports and the use of digital tools.
Follow a methodical approach to engineering problem solving.
Communicate effectively on complex engineering matters with technical and non-technical audiences.
Transferable skills
Hold paramount the health and safety of themselves and others, and model health and safety conscious behaviour.
Self-motivated, work independently and take responsibility for their actions. Set themselves challenging personal targets and make own decisions.
Communicate confidently to create and maintain working relationships. Be respectful.
Prioritise quality. Follow rules, procedures and principles in ensuring work completed is fit for purpose, and pay attention to detail / error checks throughout activities.
Adjust to different conditions, technologies, situations and environments and to new and emerging technologies.
Exercise responsibilities in an ethical manner, with openness, fairness and honesty.
Commit to personal learning and professional development.
Study time
Type | Required |
---|---|
Lectures | 6 sessions of 1 hour (4%) |
Seminars | 7 sessions of 1 hour (5%) |
Supervised practical classes | 7 sessions of 2 hours (9%) |
Work-based learning | 45 sessions of 1 hour (30%) |
Online learning (scheduled sessions) | 4 sessions of 1 hour (3%) |
Online learning (independent) | 32 sessions of 1 hour (21%) |
Other activity | 2 hours (1%) |
Private study | 40 hours (27%) |
Total | 150 hours |
Private study description
Online course materials and supporting resources.
Other activity description
Week 34 activity
Costs
No further costs have been identified for this module.
You must pass all assessment components to pass the module.
Assessment group A
Weighting | Study time | Eligible for self-certification | |
---|---|---|---|
Design assignment 20 pages | 100% | Yes (extension) | |
Design assignment based on general knowledge, laboratories on C programming and programming of an embedded system |
Feedback on assessment
Model solutions to problem sheets
Support through advice and feedback hours (online)
Written feedback on marked assignment
Verbal feedback in week 34
Courses
This module is Core for:
- Year 4 of DESA-H360 Undergraduate Electromechanical Engineering (Degree Apprenticeship)