Version | 1.2 |
Unit Name | Embedded System Design |
Unit Code | BIA208 |
Unit Duration | 1 Semester |
Award |
Bachelor of Science (Industrial Automation Engineering) Duration 3 years |
Year Level | Two |
Unit Creator / Reviewer | Dr. Anthony Tran |
Common / Stream: | Stream |
Pre-requisites | BSC107, BIA205 |
Credit Points |
3 Total Course Credit Points 81 (27 x 3) |
Mode of Delivery | Online or on-campus. |
Unit Workload | (Total student workload including “contact hours” = 10 hours per week;) Pre-recordings / Lecture – 1.5 hours Tutorial – 1.5 hours Guided labs / Group work / Assessments – 2 hours Personal Study recommended – 5 hours |
Unit Description and General Aims
The objective in presenting this unit 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 unit. The microcontrollers discussed in the unit can be based on Microchip, Intel, ARM, etc. The subject matter covered in this unit 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 unit.
Learning Outcomes
On successful completion of this Unit, 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 unit marks) | Learning Outcomes Assessed |
Assessment 1 Type: Weekly Quizzes (Topic 2-11) Students may complete quizzes with MCQ type answers and solve some simple equations to demonstrate a good understanding of the fundamental concepts |
Ongoing | 10% | All |
Assessment 2 Short-Answer Questions and Project Work 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: Practical (Report) Example Topic: Operating systems (principles of operation and real-time system characteristics) or Integrated Development Environment to produce a simple embedded application Students use software to complete a practical. May include a report component as well. |
Due after Topic 10 | 30% | 4 to 6 |
Assessment 4 Type: Exam (Invigilated) 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 | 35% | 1 to 6 |
Attendance / Tutorial Participation Example: Presentation, discussion, group work, exercises, self-assessment/reflection, case study analysis, application. |
Continuous | 5% | 1 to 6 |
Overall requirements: Students must achieve a result of 50% or above in the exam itself to pass the exam and must pass the exam to be able to pass the unit. An overall final unit score of 50% or above must be achieved to pass the unit once all assessment, including the exam, has been completed.
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
Unit Content
One topic is delivered per contact week, with the exception of part-time 24-week units, where one topic is delivered every two weeks.
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 Layers, 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 analog and analog 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 IS Rs
- 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