EMBEDDED SYSTEMS

EMBEDDED SYSTEMS

_
iten
Code
80190
ACADEMIC YEAR
2018/2019
CREDITS
6 credits during the 2nd year of 8733 Computer Engineering (LM-32) GENOVA

4 credits during the 2nd year of 10635 ROBOTICS ENGINEERING (LM-32) GENOVA

SCIENTIFIC DISCIPLINARY SECTOR
ING-INF/04
LANGUAGE
English
TEACHING LOCATION
GENOVA (Computer Engineering)
semester
1° Semester
Teaching materials

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

The goal of the course is to present the main characteristics of embedded systems, both from their architecture and programming point of views, with a special focus on their use within control applications.

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

Ricevimento: When: On appointment. Where: Robotics & Automation Lab, 2nd floor Building E, Via Opera Pia 13.

Exam Board

RENATO UGO RAFFAELE ZACCARIA (President)

ENRICO SIMETTI (President)

GIUSEPPE CASALINO

MARCO BAGLIETTO

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.

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

Date Time Location Type Notes
05/09/2019 10:00 GENOVA Esame su appuntamento