ENCE361-13S1 (C) Semester One 2013

Embedded Systems 1

15 points
18 Feb 2013 - 23 Jun 2013

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

Lectures
Streams Day Time Where Notes
Stream 01 Tuesday 4:00pm-5:00pm A2 Lecture Theatre 18 Feb - 17 Mar,
6 May - 2 Jun
Wednesday 1:00pm-2:00pm E5 Lecture Theatre 18 Feb - 17 Mar,
6 May - 2 Jun
Thursday 4:00pm-5:00pm A1 Lecture Theatre 18 Feb - 17 Mar,
6 May - 2 Jun

Labs
Streams Day Time Where Notes
Stream 01 Thursday 11:00am-1:00pm Elec Engineering 201 25 Feb - 31 Mar,
29 Apr - 2 Jun
Stream 02 Friday 9:00am-11:00am Elec Engineering 201 25 Feb - 24 Mar,
22 Apr - 2 Jun

Tutorials
Streams Day Time Where Notes
Stream 01 Friday 4:00pm-5:00pm A3 Lecture Theatre 18 Feb - 24 Feb,
4 Mar - 10 Mar,
13 May - 19 May,
27 May - 2 Jun

Course Coordinator / Lecturer

Steve Weddell

Lecturer

Phil Bones

Assessment

Assessment Due Date Percentage 
Final Examination 40%
Project 1 15%
Project 2 35%
Test 10%

Examination and Formal Tests

Exam Monday 17 Jun 2013 2:30pm-4:30pm  

Textbooks

Recommended Reading

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

Indicative Fees

Domestic fee $808.00

International fee $4,550.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-13S1 (C) Semester One 2013