BEIA514 

Module Name Embedded System Design 
Module Code BEIA514 
  Level Five 
Credits 15 

  

Module Description and General Aims 

The objective in presenting this module is to give students an overview of embedded systems – small, low power, low cost solutions typically based on microcontrollers. The embedded system fundamentals with microcontrollers are the core of this module. The microcontrollers discussed in the module can be based on Microchip, Intel, ARM, etc. The subject matter covered in this module will include designing and programming of embedded systems and implementing them in low-level hardware using standard C and assembly language. The microcontroller education kit and/or software simulation tool will be used as the practical platform in this module. 

  

Learning Outcomes 

On successful completion of this Module, students are expected to be able to: 

  1. Evaluate the principles of embedded systems. 

Bloom’s Level 5 

  1. Describe embedded system architecture. 

Bloom’s Level 2 

  1. Choose between different programming techniques for embedded system design 

Bloom’s Level 4 

  1. Build an embedded system and program to satisfy given user specifications. 

Bloom’s Level 6 

  1. Evaluate implementation results (e.g. speed, cost, power) and correlate them with the corresponding programming techniques. 

Bloom’s Level 5 

  1. Report on Integrated Development Environments and their application 

Bloom’s Level 6 

  

Student Assessment 

Assessment Type When assessed Weighting (% of total module marks) Learning Outcomes Assessed 
Assessment 1 Type: Multi-choice test / Group work / Short answer questions / Practical / Remote Lab / Simulation Example Topic: Embedded system characteristics. Students may complete a quiz with MCQ type answers and solve some simple equations to demonstrate a good understanding of the fundamental concepts   Due after Topic 4  15% 
Assessment 2 Type: Multi-choice test / Group work / Short answer questions / Practical / Remote Lab / Simulation Example Topic: Embedded processor systems architecture (internal and on-board). Students may provide solutions to simple problems on the listed topics. Due after Topic 7 20% 2,3 
Assessment 3 Type: Multi-choice test / Group work / Short answer questions / Practical / Remote Lab / Simulation / Project / Report Example Topic: Operating systems (principles of operation and real time system characteristics) or Integrated Development Environment to produce a simple embedded application Students may complete a quiz with MCQ type answers or solve some simple problems or using software to complete a practical. Due after Topic 10 30% 4 to 6 
Assessment 4 Type: Examination Example Topic: All topics An examination with a mix of detailed report type questions and/or simple numerical problems to be completed in 3 hours Final Week 30% 1 to 6 
Attendance / Tutorial Participation Example: Presentation, discussion, group work, exercises, self-assessment/reflection, case study analysis, application.  Continuous 5% 1 to 6 

  

  

Prescribed and Recommended Readings 

Textbook 

  • Alexander G. Dean, 2017, Embedded Systems Fundamentals with ARM Cortex-M based Microcontrollers: A Practical Approach, ARM Education Media UK, Hard-cover only, ISBN 978-1911531036. 

  

Reference 

Notes and Reference texts 

  • Other material advised during the lectures 

  

Module Content 

One topic is delivered per contact week. 

  

  

Topic 1: Introduction to Embedded Systems 

  1. Introduction to microprocessors 
  1. History of microprocessor architectures 
  1. Embedded systems versus general-purpose computers 
  1. General-purpose embedded systems and manufacturers functions and protocols 

Topic 2: Embedded System Design with Microcontroller 

  1. Introduction to the concepts of microcontroller based embedded systems 
  1. Introduction to the microcontroller CPU 
  1. The low-cost microcontroller education and development kits 

Topic 3: Microprocessor Architecture and Assembly Language 

  1. The processor core 
  1. Organization, registers, memory, and instruction set 
  1. Interrupts and exceptions 
  1. CPU response and hardware configuration. 
  1. Multitasking on the CPU 

Topic 4: C Code as Implemented in Assembly Language 

  1. Overview of tool-chain to translate a program from C source code to executable object code 
  1. Functions, arguments, return values, activation records, exception handlers 
  1. Control flow constructs for loops and selection, memory allocation 
  1. Introduction to the CMSIS hardware abstraction layer and software access to peripherals 

Topic 5: Embedded System Programming 

  1. Programming practical session with examples  
  1. Debugging 

Topic 6: Interrupts 

  1. Designing software for a system with interrupts 
  1. Interrupt configuration 
  1. Program design with partitioning work 
  1. Sharing data safely given pre-emption 

Topic 7: General Purpose Digital Interfacing 

  1. General purpose I/O peripherals 
  1. Hands-on experience with reading switches and lighting LEDs using C code 

Topic 8: Analog Interfacing 

  1. Quantization and sampling 
  1. Digital to analogue and analogue to digital conversions (DAC/ADC) 
  1. Analog comparator peripherals 

Topic 9: Timers 

  1. Timer peripherals and periodic interrupt 
  1. Pulse-width modulated signal for measuring elapsed time or a signal’s frequency  
  1. Watchdog timers, detection and reset of an out-of-control program 

Topic 10: Serial Communication 

  1. Fundamentals of data serialization, framing, error detection, media access control and addressing 
  1. Software queues and buffer data between communication ISRs 
  1. Three protocols and supporting peripherals: SPI, asynchronous serial (UART) and I2C 

Topic 11: Using Direct Memory Access (DMA) to Improve Performance 

  1. DMA peripheral and autonomous data transfer 
  1. DMA for bulk data copying 
  1. DAC-based analogue waveform generation with precise timing 

Topic 12: Project and Revision 

In the final week students will have an opportunity to review the contents covered in previous weeks. Opportunity will be provided for a review of student work and to clarify any outstanding issues. Instructors/facilitators may choose to cover a specialized topic if applicable to that cohort. 

  

Software/Hardware Used 

Software 

  • Software: Keil μVision V4 and V5; STM32CubeMX; STM32CubeIDE; Proteus 
  • Version: N/A 
  • Instructions: N/A 
  • Additional resources or files: N/A 

Hardware 

  • NUCLEO-F401RE Nucleo-64 Development Board 
  • Robot toy kit with Arduino boards