Digital Electronics and Microprocessors
Instance: 2018/2019 - 2S
Cycles of Study/Courses
||No. of Students
||study plan from 2017/18
Teaching Staff - Responsibilities
Teaching - Hours
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.
The Syllabus has two key components:
- Digital systems
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)
- 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.
osé Carlos Alves; Sistemas Digitais, FEUP, 2005
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
Plugin p/ Eclipse (PyDev Python IDE)
Physical sciences > Computer science > Digital systems
Physical sciences > Computer science > Computer hardware
Distributed evaluation without final exam
Amount of time allocated to each course unit
|Elaboração de projeto
|Frequência das aulas
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, ...)
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.