Skip to main content
CODE 80190
ACADEMIC YEAR 2022/2023
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR ING-INF/04
LANGUAGE English
TEACHING LOCATION
  • GENOVA
SEMESTER 1° Semester
TEACHING MATERIALS AULAWEB

OVERVIEW

An embedded system is a computer-equipped electronic circuit designed to perform a specific, embedded function on a platform that manages control with different design constraints such as cost of production, size, and energy consumption. The course will provide the skills needed to design these systems, demonstrating how the same technologies can be used for the realization of modern electronic devices.

AIMS AND CONTENT

LEARNING OUTCOMES

What is an embedded system and what are its main characteristics. Introduction to the basic hardware needed for the realization of an embedded system. Architectures of processing systems. Specific architectures for embedded systems. Specific tools for developing code for embedded systems. Programming embedded systems. Communication protocols. Scheduling

AIMS AND LEARNING OUTCOMES

The active participation to the course lessons (theoretical lessons and lab activities) will allow the student to gain the following skills (for the 4 CFU course version):

  • To know what are embedded systems, which are their main architectures, and their main applications
  • To know how to program an embedded system based on a microcontroller
    • To know how to use the developer tools to compile and download the code
    • To know how to configure and program the main peripherals (digital I/O, timers, ADC, PWM, SPI, UART)
  • To have basic knowledge on how to design an embedded system
    • To be able to identify the main requisites in terms of resources (memory, I/O, communication bandwidth, computational power)
    • To be able to identify the peripherals needed for the specific application

At the end of the 6 CFU course version, the student will gain the following additional skills:

  • To implement a binary or ascii serial protocol, allowing the microcontroller to interface with a PC
  • To use a scheduling mechanism within the firmware, allowing for a better software implementation

PREREQUISITES

C Programming knowledge is required to follow the course's lessons.

TEACHING METHODS

The teaching modalities are as follows:

  • A few initial lessons to introduce embedded systems and their architectures
  • The following lessons are structured with an initial part where the new argument is presented and then a lab activity where the students work and implement the firmware on a dedicated development board (dsPIC based).

Students are usually subdivided in about 8/10 groups of 3/4 people each and a continous assessment will be made on the developed exercises.

Lessons attendance is mandatory.

SYLLABUS/CONTENT

The content of the 4 CFU course is the following one:

  • What is an embedded system and what are its main characteristics
  • Introduction to the basic hardware needed for the realization of an embedded system
    • What is a PCB and what is an integrated circuit
    • Logic gates and combinatorial circuits
    • Latches, Flip flops and sequential circuits
  • Architectures of processing systems
    • Basic architecture of a PC
      • What is a communication BUS, the memory, the CPU and the control unit, what is a register and what is an ALU
    • Specific architectures for embedded systems
      • ASIC and ASSP
      • PLD, CPLD and FPGA
      • Microcontrollers and DSP
      • Differences between PC and embedded system architectures
  • Specific tools for developing code for embedded systems
  • Programming embedded systems
    • Peripherals programming
      • Digital I/O 
      • Oscillator configuration and timers usage
      • Sensor acquisition through analog-digital conversion (ADC)
      • Motor control through PWM signal generation 
    • Communication with other devices
      • SPI bus to communicate with another microcontroller
      • UART communication with a PC
    • Interrupt and event-based programming

 

The 6 CFU course version covers these additional contents:

  • Communication protocols
    • ASCII communication protocols (NMEA like)
    • Binary communication protocols
    • Handling communication problems such as frame detection, error handling
  • Scheduling
    • Development of a simple function scheduling mechanism within the main program
    • Use of scheduling to simplify the project design

 

RECOMMENDED READING/BIBLIOGRAPHY

Slides will be available through aulaweb. In general, notes taken during the module and the slides available on aulaweb will be sufficient to prepare the exam.

The following books can be used for further reading on embedded systems:

  • Q. Li, C. Yao, Real-Time Concepts for Embedded Systems, CMP Books, 2003. (ISBN:1578201241).
  • D. E. Simon, An Embedded Software Primer, Addison-Wesley Professional, 1999. (ISBN: 020161569X).  
  • T Noergaard. 2013. A Comprehensive Guide for Engineers and Programmers, Embedded Systems Architecture (2 ed.). Newnes, Newton, MA, USA.
  • Peter Hintenaus. 2014. Engineering Embedded Systems: Physics, Programs, Circuits. Springer Publishing Company, Incorporated.

TEACHERS AND EXAM BOARD

Exam Board

ENRICO SIMETTI (President)

FRANCESCO WANDERLINGH

GIOVANNI INDIVERI (President Substitute)

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

Development of a project assigned at the end of the course. Discussion of the project and of the content covered during the lessons.

ASSESSMENT METHODS

At the end of the course, the student must be able to design and write the firmware of an embedded system in compliance with the technical specifications. The evaluation will be 30% on the continous assessment during the lessons and 70% on the final project.

The following items will be part of the evaluation:

  • whether the firmware respects the given technical specifications
  • the student's ability to discuss the proposed software solution
  • the knowledge of the different peripherals
  • the possible problems that might be encountered in extending the project to an implementation on real system

Exam schedule

Data appello Orario Luogo Degree type Note
25/01/2023 09:30 GENOVA Orale
17/02/2023 09:30 GENOVA Orale
13/06/2023 09:30 GENOVA Orale
04/07/2023 09:30 GENOVA Orale
06/09/2023 09:30 GENOVA Orale