ENCE361-19S1 (C) Semester One 2019

Embedded Systems 1

15 points
18 Feb 2019 - 23 Jun 2019

Description

Embedded Systems is the study of specialised computer hardware, such as microcontrollers, programmed to perform a series of tasks, typically using a high-level language such as C, and targeted towards dedicated applications.

Main lecture topics include:
• Introduction and study of an advanced RISC-based microcontroller
• Microcontroller peripherals, such as PWM, serial, and ADC/DAC modules.
• Implement memory structures, such as double and circular buffers, for use in project work.
• What is a hardware/software interface? How can we use application programming interface (API) libraries to build an embedded system project?
• Extend hardware abstraction methods introduced in ENCE260.
• Design real-time kernels, as used in multitasking operating systems, and evaluating the performance of several kernels using context diagrams and CPU load analysis.
• The rate monotonic scheduling (RMS) algorithm is introduced.
• Apply knowledge of computer architecture to select hardware components and complex devices, such as microprocessors, for specific applications.

Learning Outcomes

  • At the end of this course, the student will be able to:
  • Build on a first course in microcontrollers to design, test, and debug an embedded system from a project specification.
  • Enhance their design skills by utilising internal microprocessor peripherals, such as timers, serial interfaces, and analogue-to-digital converters to build an embedded system.
  • Learn to implement an algorithm in the C programming language.
  • Understand what is meant by the hardware and software interface and the constraints of a real-time embedded application.
  • Write well structured code for the development of software modules to run on an advanced microprocessor.
  • Learn how to use a commercial high-level debugger to locate and correct programming errors.
  • Show competency in utilising an advanced commercial toolchain to develop an embedded application.
  • Develop a simple task scheduler for a multitasking operating system.
  • Learn the basics of scheduling theory and apply this to an embedded system with real-time constraints.
  • Understand the difference between event driven programming using interrupts and background task management.

Pre-requisites

Restrictions

ENEL353, ENEL323, COSC361, ELEC361, ENEL340

Timetable 2019

Students must attend one activity from each section.

Lecture A
Activity Day Time Location Weeks
01 Monday 13:00 - 14:00 C2 Lecture Theatre 18 Feb - 7 Apr
29 Apr - 2 Jun
Lecture B
Activity Day Time Location Weeks
01 Wednesday 10:00 - 11:00 A2 Lecture Theatre 18 Feb - 7 Apr
29 Apr - 2 Jun
Lecture C
Activity Day Time Location Weeks
01 Thursday 12:00 - 13:00 E8 Lecture Theatre 18 Feb - 7 Apr
29 Apr - 2 Jun
Lab A
Activity Day Time Location Weeks
01 Thursday 14:00 - 16:00 Elec 210 Electronics Lab 18 Feb - 7 Apr
29 Apr - 2 Jun
02 Tuesday 09:00 - 11:00 Elec 210 Electronics Lab 18 Feb - 7 Apr
29 Apr - 2 Jun
03 Friday 10:00 - 12:00 Elec 210 Electronics Lab 18 Feb - 7 Apr
29 Apr - 2 Jun
04 Thursday 10:00 - 12:00 Elec 210 Electronics Lab 18 Feb - 7 Apr
29 Apr - 2 Jun
Tutorial A
Activity Day Time Location Weeks
01 Tuesday 16:00 - 17:00 C2 Lecture Theatre 18 Feb - 7 Apr
29 Apr - 2 Jun

Examination and Formal Tests

Test A
Activity Day Time Location Weeks
01 Wednesday 18:30 - 19:30 K1 Lecture Theatre 1 Apr - 7 Apr
02 Wednesday 18:30 - 19:30 Meremere 108 Lecture Theatre 1 Apr - 7 Apr

Course Coordinator

Ciaran Moore

Lecturer

Le Yang

Assessment

Assessment Due Date Percentage 
Laboratory Book 5%
Project Milestone 1 3%
Test 20%
Project Milestone 2 6%
Project Demos 10%
Project Code 9%
Project Report 7%
Final Exam 40%

Textbooks

Recommended Reading

Simon, David E; An embedded software primer; Addison Wesley, 1999.

Indicative Fees

Domestic fee $956.00

International fee $5,250.00

* Fees include New Zealand GST and do not include any programme level discount or additional course related expenses.

For further information see Electrical and Computer Engineering.

All ENCE361 Occurrences

  • ENCE361-19S1 (C) Semester One 2019