The course is included in the Master of Science in Electrical Engineering and wants to give students the ability to co-design an embedded system consisting of hardware, software and electromechanical subsystems closely interacting, through an object-oriented design approach, focusing on functional description languages (examples given in UML). The course will provide students the necessary knowledge to effectively design a complete system, including electronic parts (electric schematics, design, simulation, optimization, PCB design), programmable logic (behavioral VHDL), software blocks (software design, encoding in C/C++, simulation, testing, integration), electromechanical parts (sensors, actuators, case, mutual interaction with electronic and SW parts) and all the relevant documentation (specifications, design, user, testing, certifications and disposal documentations).
The course is included in the Master of Science in Electrical Engineering and wants to give students the ability to co-design an embedded system consisting of hardware, software, electromechanical and mechanical subsystems closely interacting, through an object-oriented design approach, focusing on functional description languages and Agile approaches (examples given in UML). The course will provide students the necessary knowledge to effectively design a complete system, including electronic parts (electric schematics, design, simulation, optimization, PCB design), programmable logic (behavioral VHDL), software blocks (software design, encoding in C/C++, simulation, testing, integration), electromechanical parts (sensors, actuators, case, mutual interaction with electronic and SW parts) and all the relevant documentation (specifications, design, user, testing, certifications and disposal documentations).
Ability to read a project described in UML or any other modeling or object-oriented language.
Ability to read and navigate use case, class, sequence and requirement diagrams.
Ability to design a complex system through interaction of hardware, software, analog or electromechanical objects.
Ability to describe the functions, parameters and data of a subsystem of any kind through class parameters, attributes and methods.
Ability to translate methods into specific encoding like C, VHDL, SPICE, CodeSimulink, SystemC.
Ability to partition a complex hybrid system, describe all its parts, verify correct mutual interactions.
Ability to document specifications, requirements, implementation and testing of an electronic or electromechanical complex.
Ability to read a project described in UML or any other modeling or object-oriented language.
Ability to read and navigate use case, class, sequence and requirement diagrams.
Ability to design a complex system through interaction of hardware, software, analog or electromechanical objects.
Ability to describe the functions, parameters and data of a subsystem of any kind through class parameters, attributes and methods.
Ability to translate methods into specific encoding like C, VHDL, SPICE, CodeSimulink, SystemC.
Ability to partition a complex hybrid system, describe all its parts, verify correct mutual interactions.
Ability to document specifications, requirements, implementation and testing of an electronic or electromechanical complex.
Ability to manage a project using an Agile approach.
Ability to write a simple program in C/C + +. Ability to develop a simple digital circuit in VHDL. Ability to design a simple analog circuit. Ability to analyse electical and electronic circuits. Knowledge of SPICE (preferred). Knowledge of the binary code, of some simple serial and / or wireless communication protocols. Ability to compile, link, run a program on a microprocessor or a PC.
Ability to write a simple program in C/C + +. Ability to develop a simple digital circuit in VHDL. Ability to design a simple analog circuit. Ability to analyse simple electical and electronic circuits. Knowledge of SPICE (preferred). Knowledge of the binary code, of some simple serial and / or wireless communication protocols. Ability to compile, link, run a program on a microprocessor or a PC.
Students must install a set of tools listed on the portale before the course starts.
Preliminary Concepts: (1 CFU)
Introduction to the course, the definition of embedded system, its characteristics (efficiency, responsiveness, reliability). Hybrid systems: partitioning, HW / SW / analog. Use cases, actors, objects and classes, services and methods, static and dynamic parameters, sequence and collaboration diagrams. A car power window project: definition of objects and external interfaces, features, frequency, resolution, response time
Specifications and Partitioning (1CFU)
Writing and analyzing specifications of complex systems. Partitioning and interfaces. Analyses of compatibility, sufficiency and necessity of subsystems. Testing and verification. A car power window project: partitioning; definition and specification of interfaces; assignment of tasks to team members.
Interfacing: (0.5CFU)
Designing I/O interfaces; selection of components and documentation; simulations; compliance (typical and worst cases)
Interfaces HW / SW: essential features, conversion between time-continuous and discrete-time, memory map
HW Implementation (1CFU)
Designing schematics, simulation and PCB design
State automata (1CFU)
Definition of states and transitions; activities; events and guards. C and VHDL implementations. Car Power windows project: design of state automaton and implementation in C.
SW implementation (0.5CFU)
Writing SW drivers in C for microcontroller peripherals; writing code for operations; template classes and parameters; instance and classifier attributes.
Integration and testing of case study (0.5CFU)
Assembly of the PCB designed; testing; integration with SW; final testing
Documentation (0.5CFU)
Report generation
Preliminary Concepts: (1 CFU)
Introduction to the course, the definition of embedded system, its characteristics (efficiency, responsiveness, reliability). Hybrid systems: partitioning, HW / SW / analog. Use cases, actors, objects and classes, services and methods, static and dynamic parameters, sequence and collaboration diagrams. Agile methodologies. A car power window project: definition of objects and external interfaces, features, frequency, resolution, response time
Specifications and Partitioning (1CFU)
Writing and analyzing specifications of complex systems. Partitioning and interfaces. Analyses of compatibility, sufficiency and necessity of subsystems. Testing and verification. A car power window project: partitioning; definition and specification of interfaces; assignment of tasks to team members.
Interfacing: (0.5CFU)
Designing I/O interfaces; selection of components and documentation; simulations; compliance (typical and worst cases)
Interfaces HW / SW: essential features, conversion between time-continuous and discrete-time, memory map.
HW Implementation (1CFU)
Designing schematics, simulation and PCB design
State automata (1CFU)
Definition of states and transitions; activities; events and guards. C and VHDL implementations. Car Power windows project: design of state automaton and implementation in C.
SW implementation (0.5CFU)
Writing SW drivers in C for microcontroller peripherals; writing code for operations; template classes and parameters; instance and classifier attributes. Concepts of VHDL implementations.
Integration and testing of case study (0.5CFU)
Assembly of the PCB designed; testing; integration with SW; final testing
Documentation (0.5CFU)
Report generation
Theoretical lessons; interactive developments; individual exercises; homeworks; development of a case study (car power windows); final project.
Theoretical lessons; interactive developments; individual exercises; homeworks; development of a case study (car power windows); final project (optional).
Lecture notes available on the portal.
Videorecording of lessons and didactical material in UML available on the portal and on the UML server.
Any textbook on UML; e.g. “UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)”, Martin Fowler, ISBN 978-0321193681
Documentation of Visual Paradigm tools available on the WEB (http://www.visual-paradigm.com/)
IAR documentation on tool available on Web (http://www.iar.com/website1/1.0.1.0/3/1/)
The students, divided in groups will receive and keep for the whole course duration an MSP430 development board from Texas Instruments.
Lecture notes available on the portal.
Videorecording of lessons and didactical material in UML available on the portal and on the server.
Any textbook on UML; e.g. “UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)”, Martin Fowler, ISBN 978-0321193681
Components data sheets
Documentation of Visual Paradigm tools available on the WEB (http://www.visual-paradigm.com/)
IAR documentation on tool available on Web (http://www.iar.com/website1/1.0.1.0/3/1/)
SolidWorks documentation on tool available on Web
KiCAD documentation on tool available on Web
Slides; Dispense; Esercizi; Esercizi risolti; Esercitazioni di laboratorio; Video lezioni dell’anno corrente; Video lezioni tratte da anni precedenti; Strumenti di simulazione; Strumenti di collaborazione tra studenti;
Lecture slides; Lecture notes; Exercises; Exercise with solutions ; Lab exercises; Video lectures (current year); Video lectures (previous years); Simulation tools; Student collaboration tools;
E' possibile sostenere l’esame in anticipo rispetto all’acquisizione della frequenza
You can take this exam before attending the course
Modalità di esame: Prova scritta (in aula); Elaborato progettuale in gruppo;
Exam: Written test; Group project;
...
In alternative:
- Exam: written test, individual essay (typically: given some high level specs, the student shall determine the system and detailed architectures, verify its completeness and to write the code for a few digital, analog or SW objects).
- Alternatively a group essay. The vote will also take into account the evaluation of efforts and documents drawn up during homeworks and during the classes.
Further information:
Prova scritta: optional, durata 2h; possibility of using any type of material, calculator, free access to Internet, valutazione massima: 30L
Altra prova: design activity with final report, in groups valutazione massima: 30L, Additional marks can be gained with the optional homework.
Orale: NO
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Written test; Group project;
Alternatively:
- Exam: written test, individual essay (typically: given some high level specs, the student shall determine the system and detailed architectures, verify its completeness and to write the code or schematics or PCB for a few digital, analog or SW objects).
- Alternatively, a group design essay (typically, a complete development of a real commercial system, either chosen by the group or proposed by the teacher). The first draft of the essay will be orally discussed by the group, allowing additional time to correct the essay report.
The vote will also take into account the evaluation of efforts and documents drawn up during homeworks and during the classes.
Further information:
Written exam: optional, duration 2h; possibility of using any type of material, calculator, free access to Internet, highest score: 30L
Group essay: design activity with final report, in groups. Discussion of the first release of final report. Additional time to improve the report based on discussion. Highest score: 30L,
Additional marks can be gained with the optional homework.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.