Skip to main content
CODE 72537
ACADEMIC YEAR 2016/2017
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR ING-INF/04
LANGUAGE Italiano
TEACHING LOCATION
SEMESTER 2° Semester
MODULES Questo insegnamento è un modulo di:

OVERVIEW

Embedded systems are electronic processing systems based on different kind of microprocessors (microcontrollers, DSP, FPGA, etc.) specifically designed for a single application and are usually integrated (embedded) into the system they control; they cannot be reprogrammed by the user. They are widely used in automation and mechatronics.

AIMS AND CONTENT

LEARNING OUTCOMES

At the end of module, the student will be able to: estimate the main requisites, in terms of resources needed (memory, I/O channels, communication bandwidth, computational power) for an embedded applications; identify the peripherals needed for a given application and program them; design and develop code for real-time applications on microcontrollers; use the tools for compiling and downloading code on microcontrollers.

LEARNING OUTCOMES (FURTHER INFO)

At the end of the module, the student will:

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

TEACHING METHODS

The module is subdivided in theoretical lessons (introduction to the architectures) and laboratory activities (programming embedded systems with the aid of a developer board).

Laboratory lessons are, in general, divided in one hour of introduction to the peripheral and three hours of programming exercises on the developer board. Students are subdivided in about 8/10 groups of 3/4 people each.

SYLLABUS/CONTENT

The content of the module 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

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).  

TEACHERS AND EXAM BOARD

Exam Board

GABRIELE COSTA (President)

ENRICO SIMETTI (President)

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

Oral.

ASSESSMENT METHODS

Details on how to prepare for the exam and the level of knowledge required on each argument will be given during the lessons.

The oral exam will be about the theoretical and programming aspects covered during the lessons, with the aim of evaluating if the student:

  • has reached an adequate knowledge level on embedded systems and their main architectures
  • can program microcontrollers in C language (possibly through simple exercise resolution)
  • has an adequate knowledge of the different peripherals and their usage

Exam schedule

Data appello Orario Luogo Degree type Note
16/06/2017 09:30 LA SPEZIA Orale
28/07/2017 09:30 LA SPEZIA Orale
08/09/2017 10:30 LA SPEZIA Orale