NG2S901 - Configuration and Programming of Embedded Systems 01 Jul 2022 - 31 Aug 2028 | Version 3

Associated Module Information

Module Code: NG2S901
Module Title: Configuration and Programming of Embedded Systems
Faculty: Faculty of Computing, Engineering and Science
Faculty Group: Information and Electronics
Faculty Sub Group: Electronics
Module Leader: Alexandre Oleon
Module Team: Sivagunalan Sivanathan, Ben Mehenni, Eurfyl Davies
First Intended Intake: SEP 2015 Final Year of Intake: 2027
Date Closed:
Credit Value: 20 Credit Level: 5
Language: English
Percentage of Module Taught in Welsh: 0
Equivalent Module:
HECOS codes: 100163 - electrical and electronic engineering
HECOS Code Weighting: 100

Document Version Information

Version 3
Valid From 01 Jul 2022
Valid To 31 Aug 2028

Module Aims

To configure and develop embedded systems and to meet real-time constraints by utilising the on-chip off-chip peripherals using the C programming language.

To understand the design challenges surrounding a typical embedded system incorporating user interactions and the effective computational methods to solve engineering problems.

Content Summary

The module content builds on the student's knowledge of C programming and embedded system design for specific targeting hardware applications. Students will be introduced to different forms of embedded design techniques to achieve real-time constrains. To achieve this, the student will be required to understand the microcontroller memory architecture, technical literature and manage onboard peripheral configurations to meet the requirements set out for a real-time system.
Embedded Software Architectures
• The Super loop
• Polling
• Interrupts

Microcontroller’s Memory Map?of peripherals
Using and configuring the Microcontroller’s on board peripherals using C
• Basic I/O
• Interrupts
Interrupt Mechanism
Latency
• Timers
Timer Mode
One Shot
Event Counters
PWM and PPM
• A/D Conversion
Methods
Nyquist Sampling Theorem
Resolution
• D/A Conversion
Resister Ladders R-2R
• Power Saving Modes
Wait/Sleep-states

Software Driver Development for external peripherals
• Simple User Interfaces
• Overcome switch debounce
• Effective use of KeyScan Routines
• Multiplexing techniques to maximise the usage of peripherals
•?Acquisition of sensor measurements
• Real-time constraints
• Firmware debugging techniques

Case studies of designing embedded systems using the on chip and external peripherals listed.

Learning and Teaching Methods

Activity Type Hours
Lecture 24
Practical classes and workshops 48
Independent Study 62
Directed Study 46
Formative Assessment - Independent 20
Total Hours Selected 200

Learning Outcomes

# Learning Outcome
LO1 The student will be able to design embedded systems by configuring on-chip peripherals using the C programming language. Using the appropriate design approaches to deliver simple and effective embedded application solutions.
LO2 The student will be able to analyse the problems or limitations associated with interfacing to external devices, and where appropriately provide firmware solutions to overcome these challenges.

Module Requisites

Code Title Requisite Type
MOD012995 Programming for Electronics Engineering pre-requisite
}

Assessment Criteria

Assessment Category Assessment Type Description Duration Word Count Weight (%) Best of? Pass Mark
Asynchronous Assessment Practical Coursework 1 (Asynch) Practical design coursework utilising onboard peripherals and external components 0 2000 50 No 40
Synchronous Online Assessment Classroom Test - Time Constrained (Online) 1 Assessment to be completed in a specific timescale, which is neither an invigilated examination nor a piece of coursework. To be completed over an extended period. 120 N/A 50 No 40

Assessment Matrix

Assessment Type Learning Outcomes
LO1 LO2
Practical Coursework 1 (Asynch)
Classroom Test - Time Constrained (Online) 1

Reading List

James M. Conrad and Alexander G. Dean(2011), “Embedded Systems, An Introduction to using the Renesas RX62N Microcontroller”, Micrium Press, ISBN 978-1-935772-99-6,

Eleicia White(2011), Making Embedded Systems: Design Patterns for Great Software, O'Rielley Books, 978-1449302146

Philip J. Koopman(2010), Better Embedded System Software,? Drumnadrochit Education,?978-0984449002

Alexander G. Dean (2017), Embedded systems fundamentals with Arm Cortex M based microcontrollers : a practical approach