logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2019/2020
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 095907 - EMBEDDED SYSTEMS
  • 095906 - EMBEDDED SYSTEMS 1
Docente Fornaciari William
Cfu 5.00 Tipo insegnamento Modulo Di Corso Strutturato

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing - Civ (Mag.)(ord. 270) - MI (495) GEOINFORMATICS ENGINEERING - INGEGNERIA GEOINFORMATICA*AZZZZ051890 - FORMAL LANGUAGES AND COMPILERS AND EMBEDDED SYSTEMS 1
095907 - EMBEDDED SYSTEMS
095905 - EMBEDDED SYSTEMS 1
Ing Ind - Inf (Mag.)(ord. 270) - MI (263) MUSIC AND ACOUSTIC ENGINEERING*AZZZZ095905 - EMBEDDED SYSTEMS 1
Ing Ind - Inf (Mag.)(ord. 270) - MI (474) TELECOMMUNICATION ENGINEERING - INGEGNERIA DELLE TELECOMUNICAZIONI*AZZZZ095905 - EMBEDDED SYSTEMS 1
Ing Ind - Inf (Mag.)(ord. 270) - MI (476) ELECTRONICS ENGINEERING - INGEGNERIA ELETTRONICA*AZZZZ095907 - EMBEDDED SYSTEMS
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA*AZZZZ095905 - EMBEDDED SYSTEMS 1
095907 - EMBEDDED SYSTEMS

Obiettivi dell'insegnamento

The goal of the course is to provide specific competencies and design methodologies needed to realize embedded applications including the choice of the technologies, the management of the design flow and the selection of the toolchain.
Such applications range from Cyber Physical Systems for consumer electronics to industrial and medical devices. In general, any consumer electronics product is an embedded system. Their design requires the coordination of cross competencies to identify the optimal solution under a number of aspects including flexibility, standardization, cost, size, energy and power, performance, etc.

The course aims at creating a valuable bridge to the best industrial practices, providing the competencies on: architectures for component-off-the-shelf and SoC based embedded systems exploiting sensors; communication and interfacing standards popular in the embedded system market, energy aware design of software and hardware including run-time management of the resources.
Hands-on lab sessions will be suggested to the students (participation is optional) to show how to use STM/ARM development boards to interface external sensors and peripherals. Case studies related to real products will be presented to make students aware on the real trade-offs to be considered.

To enhance the knowledge related to the development of software for embedded applications it is recommended to follow the course Advanced Operating Systems.


Risultati di apprendimento attesi

At the end of the course, the students will be capable of analyzing an embedded application and moving from the requirements to the realization.

The goal is to become capable of coordinating the use of different skills and technologies in order to identify the best solution under a large variety of aspects such as flexibility, standardization, cost, size, power dissipation and performance, the methodological aspects related to the flow of the design, and so on.

It is expected that, especially during the development of the project, a significant skill in programming embedded systems will be acquired.

Knowledge and understanding (DdD 1)

  • The student will be able to analyze and understand the main requirements of an embedded application.
  • The student has a wide knowledge of the main technologies to design an embedded system.
  • The student has a clear view of the steps needed to realize an embedded application, from several standpoint including project management, cost analysis, selection of the toolset and of the platform for prototyping.

 Apply knowledge and understanding (DdD 2)

  • The student will be capable of analyzing a Hw/Sw embedded designs considering several performance metrics.
  • The student is capable to design the Hw/Sw architecture of an embedded systems interfaced with the real world, moving from the requirements to the realization.
  • The student has the capability to design energy aware systems submitted to cost and timing constraints.
  • The student, depending on the choice of a project work, will be capable of designing embedded software and/or hardware using market-available technologies.
  • The student can read technical documentation regarding microcontrollers and sensors used for embedded applications.

 Making Judgements (DdD 3)

  • Student will be asked to analyze a project work to improve the ability to analyze the functional and extra-functional characteristics of an embedded application, while autonomously looking for the best tradeoff in terms of selection of the Hw/Sw architecture and use of the development tools.

Lifelong learning skills (DdD 5)

  • The student will become capable of coordinating the use of different skills and technologies in order to identify the best solution under a large variety of aspects such as flexibility, standardization, cost, size, power dissipation and performance, the methodological aspects related to the flow of the design, and so on.
  • The student will be capable of navigating autonomously in the state of the art and market ready technologies suitable for the design of embedded applications.

Argomenti trattati

The content of the course starts by systematizing the skills on hardware architectures, communication and basic software used for the realization of embedded systems, with reference to existing standards and to the peculiarities of the system to be designed. It is then shown how to run a design flow leading to an "optimal" solution both in terms of the constraints of traditional project (such as dissipated power or performance), and considering the impact that technological solutions have under the profile of the design flow (e.g., cost or development time).

Introduction and background
General characteristics of an embedded system.
Requirements and constraints for the different application fields.
Trends of the market and of the best design practices.
Development flow for Hw-Sw architectures.
Energy and power optimization.

Hardware platforms for Embedded Systems
Software executors: general purpose, dedicated processors, DSP, Network processors, Microcontrollers, Multi-Many cores and clusters.
Communication architectures: standard buses, Network-on-Chip (NoC), field buses, wireless interfaces, examples.
Hardware executors: characteristics of the application specific IC and related design flow, systems for fast prototyping, reconfigurable and updatable systems, examples of off-the-shelf (PCB-based) designs and wireless sensor networks.

Software architectures for Embedded Systems
Abstraction layers: assembler, library, system software, middleware.
Software development environment and toolchains for the realization of the embedded software
Introduction to the real-time operating systems: general features, scheduler, configuration, dynamic management of the resources, soft real time features, energy optimization and resource management.
Analysis of the embedded software: formalisms and tools for analysis/profiling of the code, energy optimization.
Examples: RT extension of Linux, Android, RTX, operating systems for wireless sensor networks, frameworks for run-time management of resources, Linux Device Drivers model.

Analysis and optimization of Hw/Sw Systems
Analysis of the project constraints and selection of the best implementing architecture with particular emphasis on realization time and cost.
Problems related to the estimation of Power/Performance at the different abstraction levels
Optimization of power and performance at the different abstraction levels.
Analysis and modeling of thermal problems with particular attention to the multi-core architectures with NoC-based communication.
Management and planning of embedded systems: models for the development flow, design for resuse and estimation of hw and sw development time and cost, project management.

Case studies
Example of the analysis to be performed during a feasibility study.
Example of real designs at different granularities, from the wireless sensor networks to embedded application exploiting multiprocessor cores, systems with MEMS, software for white goods and automotive, certification.
In each of the use case the set of trade-offs to be considered will be highlighted.

Laboratory
Hands-on lab sessions will be proposed to the students (participation is optional) to show how to use STM/ARM development boards to interface external sensors and peripherals.


Prerequisiti

Basic knowledge of computer architecture, operating systems and programming languages (Bachelor level).


Modalità di valutazione

The examination follows the official rules of the Politecnico di Milano and more information can be found on the web site of the lecturer.
In general, it is foreseen a mandatory written test with open theoretical questions and possibly some exercises. In addition to this step, during the course it will be presented a set of possible topics for projects/desk-based researches, whose evaluation will be part of the final score.
The goal is to check the skill of the student to organize the concepts presented during the course and to cooperate with other students to the development of representative case studies, mimicking real-life problems popular in embedded applications.


Bibliografia
Risorsa bibliografica obbligatoriaCarlo Brandolese, William Fornaciari, Sistemi embedded - , Editore: Pearson, Anno edizione: 2007, ISBN: 9788871923420
Note:

There exists alternative books in english

Risorsa bibliografica facoltativaFornaciari, William, Soudris, Dimitrios (Eds.), Harnessing Performance Variability in Embedded and High-performance Many/Multi-core Platforms, Editore: Springer, Anno edizione: 2019, ISBN: 978-3-319-91962-1 https://www.springer.com/gp/book/9783319919614
Note:

Only some chapter will be considered

Risorsa bibliografica obbligatoriaSlide & Papers
Note:

see web site of the lecturer

Risorsa bibliografica facoltativaMarwedel, Peter, Embedded System DEsign, Editore: Springer, Anno edizione: 2006, ISBN: 978-0-387-30087-0 https://www.springer.com/gp/book/9780387300870
Risorsa bibliografica facoltativaF.Vahid, T.Givaris, Embedded System Design - A unified Hardware/Software Introduction, Editore: Wiley, Anno edizione: 2002, ISBN: 978-0471386780

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
30:00
45:00
Esercitazione
20:00
30:00
Laboratorio Informatico
0:00
0:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale 50:00 75:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.6.1 / 1.6.1
Area Servizi ICT
08/12/2019