Skip to main content
CODE 80190
ACADEMIC YEAR 2023/2024
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR ING-INF/04
LANGUAGE English
TEACHING LOCATION
  • GENOVA
SEMESTER 2° Semester
SECTIONING Questo insegnamento è diviso nelle seguenti frazioni:
  • A
  • B
  • 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 5 CFU course version, the student will gain the following additional skills:

    • To use a scheduling mechanism within the firmware, allowing for a better software implementation

    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

    The student will also have acquired:

    • Advanced functional literacy competence
    • Advanced personal competence
    • Advanced social competence
    • Proficiency in advanced project creation
    • Competence in basic project management

    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.

    The development of the final project (project-based learning) will enable the student to work on the skills

    • advanced functional literacy competence
    • advanced personal competence
    • advanced social competence
    • in advanced project creation
    • in basic project management

    Working students and students with certified DSA, disability or other special educational needs are advised to contact the lecturer at the beginning of the course to agree on teaching and examination arrangements that, while respecting the teaching objectives, take into account individual learning patterns.

    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 5 CFU course version covers these additional contents:

    • Scheduling
      • Development of a simple function scheduling mechanism within the main program
      • Use of scheduling to simplify the project design

     

    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

    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 continuous 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 implementation on a real system

    Exam schedule

    Data appello Orario Luogo Degree type Note
    19/01/2024 09:30 GENOVA Orale
    08/02/2024 09:30 GENOVA Orale
    30/05/2024 09:30 GENOVA Orale
    04/07/2024 09:30 GENOVA Orale
    04/09/2024 09:30 GENOVA Orale