ELECTRONICS OF EMBEDDED SYSTEMS
Learning outcomes of the course unit
1. Knowledge and understanding.
The course "Embedded Systems Electronics" (72h-9CFU) offers a wide knowledge on the topic of SEs that represent the most widespread application sector for modern electronic devices.
During the course, the main features, the architectures, the most used HW components will be studied.
In particular, content will be offered on:
- Context of the SEs
- Subdivision into sub-systems of an SE
- Design flow
- Hw / Sw partitioning, namely the division of the main functions between dedicated circuits and firmware for microprocessors
- Knowledge of the main communication protocols used in the SEs.
2. Ability to apply knowledge and understanding.
The aim of the course is to provide the tools for the design of the SEs. For this reason, ample space will be devoted to laboratory activities.
Furthermore, a fundamental part of the final verification exam consists in the design of an SE and its implementation by using a prototype board based on FPGA programmable logic.
In particular, the student must acquire the following skills:
- define the technical specifications necessary for the realization of a project (I / O signals, processing elements, HW / SW partitioning)
- implement in Verilog the circuit part necessary for the development of the project
- program in C language the firmware required to carry out the project
- simulate, implement and test an SE system through the use of electronic boards based on FPGA.
3. Transversal skills.
During laboratory activities, students are invited to work in small groups.
This facilitates students' development of transversal skills.
They must learn to confront, to solve problems by collaborating, to help each other in complex debugging activities.
They must also cooperate in writing the descriptive report of the final project.
Course contents summary
- Introduction to Embedded Systems (ES)
- Characteristics of an ES: design constraints, market and architecture
- Notions on ES design: Hw / Sw Partitioning, Hw / Sw Co-Design, Project Flow
- Typical components at the base of the ES: uP, uC, DSP, ASIC, FPGA
- Examples of communication protocols used in the SEs: RS232 / RS485, SPI, I2C, JTAG, CANbus, Ethernet, TCP / IP
- Introduction to the Verilog Hardware Description Language: constructs and basic circuits, arithmetic circuits, finite state machines.
- Introduction to FPGA programmable logics and SoC
- Introduction to the ARM processor
- Programming methods (in C language) oriented to the development of mixed Hw/Sw ES
- Laboratory activities: design of an Hw and Hw/Sw ES using fast prototyping boards.
- Introduction to the course, to the SE and to the laboratory activities (2h)
- Main HW components of SEs (2h)
- The theme of HW and SW partitioning (2h)
- Circuits for I/O and introduction to the JTAG (2h)
- Introduction to SoC and SoC BUS (2h)
- SPI and I2C communication protocols (2h)
- The UART serial port - RS232, RS422, RS485 (2h) protocols
- Field buses: the CANBus protocol (2h)
- Introduction to the IP network and protocols (2h)
- Introduction to FPGA and Digital Design Flow (2h)
- Altera's Programmable FPGA Cyclone5 Logic: features analysis (2h)
- FPGA-Micro mixed architecture (2h)
- The Hardware Verilog description language (2h)
- Examples of circuits made in Verilog: FFD, Registers, Counters, SHR, FSM. (10h)
- Programming methodology oriented to mixed Hw/Sw ES (4h)
- Description of the board ALTERA DEMO DE1 SoC (2h)
- The Quartus2 project flow (2h)
- Design and implementation of a Hexadecimal Counter that displays the output on a 7-segment display (4h)
- Design and implementation of a VGA interface (6h)
- Verilog description of the main arithmetic circuits (2h)
- Introduction to the ARM processor (2h)
- ARM based exercises (10h)
- Laboratory activities related to the development of the examination project (14h)
- Designing Embedded Hardware, 2nd edition; John Catsoulis; O'Reilly Media
- Progetto di sistemi elettronici digitali basati su dispositivi FPGA; Ettore Napoli; Progetto Leonardo; Esculapio Bologna
- Embedded System Design: A Unified Hardware/Software Approach; Frank Vahid and Tony Givargis;
The course is divided into lectures and laboratory activities.
The lectures will address issues related to the theoretical knowledge of embedded systems.
In laboratory activities, knowledge related to:
- development of dedicated digital circuits described using Verilog language
- writing of firmware code for microprocessor in C language
- laboratory activities are aimed at the realization of a practical project
- students can work on the assigned project individually or in small groups
- each project must be described by a written report
Assessment methods and criteria
The final exam consists of an oral exam.
In this test they will be discussed and evaluated in depth:
1. knowledge of the theoretical topics studied in class
2. the project of a real SE designed and implemented by the student (alone or with a work group) during the course.
The final grade is given by the average of the two assessments.
The report must be delivered at least one week before the date of the oral exam.
Teaching material and further information can be found on the university portal dedicated to teaching: ELLY