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:
- Evaluate the principles of embedded systems.
Bloom’s Level 5
- Describe embedded system architecture.
Bloom’s Level 2
- Choose between different programming techniques for embedded system design
Bloom’s Level 4
- Build an embedded system and program to satisfy given user specifications.
Bloom’s Level 6
- Evaluate implementation results (e.g. speed, cost, power) and correlate them with the corresponding programming techniques.
Bloom’s Level 5
- 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% | 1 |
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
- Tammy Noergaard, 2012, Embedded Systems Architecture – A Comprehensive Guide for Engineers and Programmers, 2nd Edition, Newnes, ISBN 978-0123821966. Online version available at: http://app.knovel.com/hotlink/toc/id:kpESAACG01/embeddedsystems-architecture/embedded-systems-architecture
- Seppo Virtanen, 2012, Innovations in Embedded and Real-Time Systems Engineering for Communication, IGI Global, ISBN 978-1466609129. Online version available at: http://app.knovel.com/hotlink/toc/id:kpIERTSEC4/innovationsin-embedded/innovations-in-embedded
- Tim Wescott, 2006, Applied Control Theory for Embedded Systems, Newnes, ISBN 978- 0750678391. Online version available at: http://app.knovel.com/hotlink/toc/id:kpACTES001/appliedcontrol-theory/applied-control-theory
Notes and Reference texts
- Knovel library: http://app.knovel.com
- Other material advised during the lectures
Module Content
One topic is delivered per contact week.
Topic 1: Introduction to Embedded Systems
- Introduction to microprocessors
- History of microprocessor architectures
- Embedded systems versus general-purpose computers
- General-purpose embedded systems and manufacturers functions and protocols
Topic 2: Embedded System Design with Microcontroller
- Introduction to the concepts of microcontroller based embedded systems
- Introduction to the microcontroller CPU
- The low-cost microcontroller education and development kits
Topic 3: Microprocessor Architecture and Assembly Language
- The processor core
- Organization, registers, memory, and instruction set
- Interrupts and exceptions
- CPU response and hardware configuration.
- Multitasking on the CPU
Topic 4: C Code as Implemented in Assembly Language
- Overview of tool-chain to translate a program from C source code to executable object code
- Functions, arguments, return values, activation records, exception handlers
- Control flow constructs for loops and selection, memory allocation
- Introduction to the CMSIS hardware abstraction layer and software access to peripherals
Topic 5: Embedded System Programming
- Programming practical session with examples
- Debugging
Topic 6: Interrupts
- Designing software for a system with interrupts
- Interrupt configuration
- Program design with partitioning work
- Sharing data safely given pre-emption
Topic 7: General Purpose Digital Interfacing
- General purpose I/O peripherals
- Hands-on experience with reading switches and lighting LEDs using C code
Topic 8: Analog Interfacing
- Quantization and sampling
- Digital to analogue and analogue to digital conversions (DAC/ADC)
- Analog comparator peripherals
Topic 9: Timers
- Timer peripherals and periodic interrupt
- Pulse-width modulated signal for measuring elapsed time or a signal’s frequency
- Watchdog timers, detection and reset of an out-of-control program
Topic 10: Serial Communication
- Fundamentals of data serialization, framing, error detection, media access control and addressing
- Software queues and buffer data between communication ISRs
- Three protocols and supporting peripherals: SPI, asynchronous serial (UART) and I2C
Topic 11: Using Direct Memory Access (DMA) to Improve Performance
- DMA peripheral and autonomous data transfer
- DMA for bulk data copying
- 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