Unit 46 – Embedded Systems

An embedded system is a device or product which contains one or more tiny
computers hidden inside it. This ‘hidden computer’, usually a microcontroller, is used
to control the device and give it added ‘intelligence’. Embedded systems are a key
aspect of modern engineering and are applied in areas as diverse as automotive,
medical, and industrial, and in the home and office. Embedded systems are the basis of a new
wave of engineering design and practice, notably in machine-to-machine
communication and in the Internet of Things.

This Module Includes :

  • 4 Workbooks
  • 3 Assignments
  • 13 E-Books
  • X Tutorial Videos

 

 

Description

This unit builds on introductory knowledge students have already gained in electronic
circuits. It develops their knowledge of computer hardware, focussing on the small,
low-cost type of computer (i.e. a microcontroller), usually used in embedded systems.
It then develops skill in devising circuits that operate external to the microcontroller
and interface with it; generally, these relate to sensors, actuators, human interface or
data transfer. In parallel with this, students will be developing programming skills,
writing programmes that download straight to the microcontroller and cause it to
interact with its external circuit. Students will also explore the wider context of
embedded systems, learning how they are applied in ‘hi-tech’ applications, in many
cases revolutionising our ability to undertake certain activities.

Learning Outcomes

By the end of this unit students will be able to:

1. Explore the principle features of a microcontroller and explain the purpose of its constituent
parts

Microcontroller architecture:
CPU (Central Processing Unit), the instruction set, programme memory, data memory, input/output
(I/O), data and address buses, van Neumann and Harvard structures
Peripherals, to include digital I/O, counter/timers, analogue to digital converter (ADC), pulse
width modulation (PWM), Serial Peripheral Interface (SPI), Universal Asynchronous
Receiver/Transmitter (UART)
Memory types (overview only): Flash, Static RAM (Random Access Memory), EEPROM (Electrically
Erasable Read Only Memory) and their applications Simple interrupt concepts

2. Design and implement simple external circuitry, interfacing with a given microcontroller

Simple digital interfacing:
Switches, light emitting diodes (LEDs), keypads, and 7-segment displays
DC and ADC applications:
DC load switching (e.g. of small motor or solenoid), use of PWM to provide variable DC motor speed
control
ADC application, including range and resolution
Signal conditioning for analogue inputs, including simple op amp circuits to provide gain or level
shifting
Interfacing to external devices with serial capability, applying SPI and UART Power supply and
clock oscillator

3. Write well-structured code in an appropriate programming language, to simulate, test and debug
it

The development cycle:
Integrated Development Environment, Assembler and High Level Languages, compilers, simulators,
completing an in-circuit debug
Devising a code structure e.g. using flow diagrams and pseudo code

Programming languages and codes:
Review of an appropriate high level programming language (which is likely to be C). Language
structure, data types, programme flow, looping, branching, and conditional
Developing application code: initialisation, data input, conditional branching and looping, data
output
Code simulation, download, test and debug

4. Evaluate the applications of embedded systems in the wider environment, including in networked
systems

Review of application of embedded systems:
Using example sectors e.g. motor vehicle, smart buildings, medical, office, wearable. Review
possible limiting factors in an embedded design e.g. power supply, reliability, security
Review of current trends in embedded systems, including the Internet of Things and
machine-to-machine

Workbook Sample