Embedded System Design

Course Description

Embedded systems are integral part of almost all state-of-the-art electronic devices. Therefore, the knowledge in design and implementation of such systems from the idea to a functional device is crucial component of electronic and computer engineering. This course covers their design together with various aspect of their implementation arising from particular applications. The course includes the following topics: Elements and architecture of an embedded system. Controllers, processors and digital signal processors (DSP). Integrated peripherals. Communication circuitry. Development of embedded systems based on state-of-the-art 32-bits microcontrollers nad DSP processors. Software development for embedded systems. Special operating modes. Real time requirements. Hardware and software development tools. System integration on chip. Examples of embedded systems.

General Competencies

Knowledge in design of embedded systems and their implementation tailored for specific applications. The curiculum gives the knowledge for using 32-bit microcontrollers and digital signal processors.

Learning Outcomes

  1. develop embedded computer system based on 32-bit microcontroller
  2. apply tools for electromechanic and funckional debugging and testing of embedded computer systems
  3. analyze library types and linking models
  4. develop target dependent software which uses retargeting and semihosting calls
  5. apply built-in peripherals for communication between microcontroller and environment
  6. recognize advantages of digital signal processors for applications in embedded systems
  7. apply specific DSP execution units for real-time signal processing

Forms of Teaching

Lectures

2 hours once every week

Exams

midterm exam and final exam

Laboratory Work

4 times in semester

Consultations

-

Internship visits

ones in semester

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Laboratory Exercises 0 % 20 % 0 % 20 %
Mid Term Exam: Written 0 % 35 % 0 %
Final Exam: Written 0 % 35 %
Final Exam: Oral 10 %
Exam: Written 50 % 70 %
Exam: Oral 10 %
Comment:

The pass is acquired if minimum 50% is gained of the total available score on the written part of the exams (midterm and final).

Week by Week Schedule

  1. Introduction. Overview of 32-bit microcontrollers. Architecture of typical 32-bit procesor core. Programming model.
  2. Case study of typical 32-bit microcontroller. Memory model, internal buses, built-in peripherals, system controller.
  3. Design of computing system. Electrical connection of microcontroller. External circuitry. Case study of embedded computer system.
  4. Electromechanic integration of embedded computer systems. Functional debugging of hardware. Hardware and software development tools. Basic initialization of microcontroller.
  5. Built-in peripherals. Simple program. External interrupt sources and their handling. Development of interrupt handers in C.
  6. Environment for software development. Libraries. Linking models. Functions which works with peripherals - retargeting of system calls.
  7. Internal interrupt sources and their handling. Software iterrupt. Functions and calling conventions. Functions which works with peripherals - semihosting.
  8. Midterm exam.
  9. Case study - semihosting agent. Overview of tools for debugging and testing of computer systems. Boundary-scan architecture.
  10. Debug and testing circuitry built in microcontrollers. Communication interfaces: SPI, TWI, SPI, etc.
  11. State of the art in controllers, processors and digital signal processors (DSP); features, advantages and disadvantages; applications in embedded systems.
  12. DSP architecture, arithmetic-logic units and instructions for digital signal processing, memory architecture for data intensive tasks.
  13. Implementation of digital signal processing algorithms on controllers and DSP processors, complexity and performance analysis, system requirements. Optimization of implementation, performance optimization, power optimization, technologies for system implementation.
  14. Connection of a DSP processor to a general-purpose processor, host-port, shared memory, FIFO memory, serial buses, synchronization. Special operating regimes, autonomous power supply, clock management, systems with high reliability.
  15. Final exam.

Study Programmes

University graduate
Computer Engineering (profile)
Specialization Course (2. semester)
Control Engineering and Automation (profile)
Specialization Course (2. semester)
Electrical Engineering Systems and Technologies (profile)
Specialization Course (2. semester)
Electronic and Computer Engineering (profile)
Specialization Course (2. semester)

Literature

Mladen Vučić (2009.), Projektiranje ugradbenih računalnih sustava - Upotreba 32-bitnih mikrokontrolera, Materijali za predavanja, FER
Davor Petrinović (2009.), Projektiranje ugradbenih računalnih sustava - Primjena DSP procesora u ugradbenim računalima, Materijali za predavanja, FER
Jonathan W. Valvano (2006.), Embedded Microcomputer Systems, CL-Engineering
Robert Oshana (2005.), DSP Software Development Techniques for Embedded and Real-Time Systems, Elsevier

Laboratory exercises