Last Updated S012019

BIA303S

Unit Name Embedded System Design
Unit Code BIA303S
Unit Duration 1 Semester
Award

Bachelor of Science (Industrial Automation Engineering)

Duration 3 years   

Year Level Three
Unit Creator / Reviewer Dr. Anthony Tran
Core/Sub-Discipline: Sub-discipline
Pre/Co-requisites BSC201C, BIA205S
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; 5 hours per week for 24 week delivery)
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:

1. Evaluate the principles of embedded systems.

Bloom's Level 5

2. Describe embedded system architecture.

Bloom's Level 2

3. Choose between different programming techniques for embedded system design

Bloom's Level 4

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

Bloom's Level 6

5. Evaluate implementation results (eg speed, cost, power) and correlate them with the corresponding programming techniques.

Bloom's Level 5

6. 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: 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

1. Tammy Noergaard, 2012, Embedded Systems Architecture - A Comprehensive Guide for Engineers and Programmers, 2 nd Edition, Newnes, ISBN 978-0123821966. Online version available at: http://app.knovel.com/hotlink/toc/id:kpESAACG01/embeddedsystems-architecture/embedded-systems-architecture

2. 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

3. 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 yers 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 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