Go to:
Esta página em português Ajuda Autenticar-se
Formação regular da Biblioteca |fevereiro a maio
You are here: Start > FIS3004

Site map
Edifício A (Administração) Edifício B (Aulas) - Bloco I Edifício B (Aulas) - Bloco II Edifício B (Aulas) - Bloco III Edifício B (Aulas) - Bloco IV Edifício C (Biblioteca) Edifício D (CICA) Edifício E (Química) Edifício F (Minas e Metalurgia) Edifício F (Minas e Metalurgia) Edifício G (Civil) Edifício H (Civil) Edifício I (Electrotecnia) Edifício J (Electrotecnia) Edifício K (Pavilhão FCNAUP) Edifício L (Mecânica) Edifício M (Mecânica) Edifício N (Garagem) Edifício O (Cafetaria) Edifício P (Cantina) Edifício Q (Central de Gases) Edifício R (Laboratório de Engenharia do Ambiente) Edifício S (INESC) Edifício T (Torre do INEGI) Edifício U (Nave do INEGI) Edifício X (Associação de Estudantes)

Digital Electronics and Microprocessors

Code: FIS3004     Acronym: FIS3004

Classification Keyword

Instance: 2018/2019 - 2S

Active? Yes
Responsible unit: Department of Electrical and Computer Engineering
Course/CS Responsible: Master's Degree in Physical Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MI:EF 26 study plan from 2017/18 3 - 6 56 162

Teaching Staff - Responsibilities

Teacher Responsibility
Hélio Mendes de Sousa Mendonça

Teaching - Hours

Lectures: 2,00
Laboratory Practice: 2,00
Type Teacher Classes Hour
Lectures Totals 1 2,00
Hélio Mendes de Sousa Mendonça 2,00
Laboratory Practice Totals 2 4,00
Hélio Mendes de Sousa Mendonça 2,00

Teaching language



The unit has two key learning objectives:

  • Make known the theoretical and practical aspects of the analysis and synthesis of digital systems (combinational and sequential).
  • Equip students with skills to design and handle embedded systems based on microprocessors in general, and on Raspberry Pi development board in particular.

Learning outcomes and competences

After having successfully completed the course Digital Electronics and Microprocessors, a student should be able to:

  • Use different bases (decimal, binary, octal and hexadecimal) for the representation and manipulation of integers (positive or negative) and fractional, and perform simple arithmetic operations (especially addition and subtraction) in these bases.
  • Represent numbers in binary floating point according to the IEEE 754 standard.
  • Obtain written representations (truth tables, logical expressions, logic circuits) and make changes to reduce their complexity and simplify the circuits that implement them, from informal descriptions of combinational functions.
  • Analyze and design simple circuits with combinational digital basic blocks such as logic gates, multiplexers, decoders, adders and comparators.
  • Understand the functioning of bi-stable digital devices (flip-flops) and its use in performing synchronous sequential circuits.
  • Obtain formal representations of finite state machines (FSM), such as state tables and state transition diagrams, from informal descriptions of the desired operation.
  • Analyze and design simple sequential circuits based on flip-flops, registers, counters and shift registers.

Additionally, students should be able to:

  • Recall the main features (I/O ports, timers, interrupts, ADC, PWM, communication bus) present on microcontrollers in general.
  • Use the Raspberry Pi development board.
  • Use the development environment Eclipse for writing and debugging programs in Python language for the Raspberry Pi board.
  • Develop a mini project, including identification of necessary peripherals, their interconnection to the microcontroller through the most appropriate interfaces and buses, and writing code that fulfills the functional requirements presented.
  • Describe in the form of a report, the work developed in this mini project.

Working method



The Syllabus has two key components:

  • Digital systems
  • Microprocessors

The first component consists of:

  • Numbering systems, representation of positive and negative numbers. Binary arithmetic. Floating-point representation according to the IEEE 754 standard.
  • Boolean Algebra: Boolean expressions, theorems, handling and simplification of logical expressions, implementation of combinational logic circuits. Synthesis of combinational circuits based on logic gates and/or functional circuits such as decoders, multiplexers.
  • Sequential circuits: Flip-flops, registers, counters, shift registers. Analysis and synthesis of synchronous state machines and implementation of sequential circuits based on flip-flops and these functional blocks.

The second component consists of:

  • Introduction to microprocessor architecture, basics of organization and operation: running programs, buses, peripherals, memory, addressing.
  • Study of the several functionalities present in the microcontroller of the ARM11 family, namely:
    - Input/Output ports 
    - Serial communication buses (USART, I2C, SPI)
    - Counters/timers
    - Interrupts
    - Analog/digital converter (ADC)
  • Programming of the processor present in the Raspberry Pi board using Python language and the integrated development environment Eclipse and aditional plugins. Application examples.

Mandatory literature

osé Carlos Alves; Sistemas Digitais, FEUP, 2005

Complementary Bibliography

Wakerly, John F; Digital design. ISBN: 0-13-089896-1
Eben Upton, Gareth Halfacree; Raspberry Pi User Guide, Wiley, 2014. ISBN: 978-1118795484

Teaching methods and learning activities

The theoretical classes expose the subjects using slides prepared for this purpose. This is complemented by solving exercises present in a supplied document.

In laboratory classes in addition to solving exercises, small circuits are assembled in order to consolidate the acquired knowledge. These tasks are generally described in scripts and/or webpages created for this purpose.

Other elements of study in the form of books, websites or datasheets, are also pointed out.


PuTTY – cliente serial, telnet e ssh
Eclipse IDE
Plugin p/ Eclipse (PyDev Python IDE)


Physical sciences > Computer science > Digital systems
Physical sciences > Computer science > Computer hardware

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Designation Weight (%)
Teste 70,00
Trabalho laboratorial 30,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Elaboração de projeto 24,00
Estudo autónomo 80,00
Frequência das aulas 56,00
Total: 160,00

Eligibility for exams

For achieve eligibility for exams is required:

  • Attendance at laboratory classes in accordance with the provisions in the General Evaluation Rules.
  • Obtaining positive grade on laboratory component (L).

Students that achieved eligibility in previous year, are exempt from distributed evaluation and can make the course by exam.

Calculation formula of final grade

The final grade is determined by two components (MT and L), evaluating the ability of students to meet the goals of the course:

  • The components MT result from two mini tests (MT1 and MT2).
  • The component L result from the realization of a small project involving the studied microcontroller.

Formula: 0.7 x MT + 0.3 x L     where     MT = 0.6 x Max (MT1, MT2) + 0.4 x Min (MT1, MT2)

IMPORTANT: The component L cannot exceed MT component in more than 4 values!

APPEAL ("Recurso"): Students who do not pass by the above formula can perform an appeal test on the subject of both mini tests, which if positive will allow obtaining a final grade equal to 10. To apply for this test, students will need to have:

  • Component L of at least 10 values.
  • Component MT of at least 6 values.

Examinations or Special Assignments

Tests and works to perform:

  • Two minitests (without consultation) lasting 60 minutes, performed during the class period.
  • One mini project to develop in laboratory classes and that will end with a presentation session and the delivery of the corresponding report.

Students who have missed one of minitests with justification, may perform the corresponding part in the test of appeal.

Special assessment (TE, DA, ...)

Not apply.

Classification improvement

The improvement of both components can be made in the following school year:

  • The component MT by performing a test that will cover the all the subjects covered on both minitests.
  • The component L for conducting of a new project.
Recommend this page Top
Copyright 1996-2019 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2019-05-20 at 08:36:23