Design of Microcomputer-Based Systems

You are here

Credits
6
Types
Specialization compulsory (Computer Engineering)
Requirements
  • Prerequisite: CI
Department
ESAII
The main objective of the course is to acquire the necessary knowledge in order to design and implement embedded systems both in its hardware aspect (design of input / output interfaces, design of microcontroller monitoring systems, connection of advanced peripherals , hardware design with noise immunity ...) as software (programming with scarce resources, hardware-aware programming, real time requirements, interrupt-level priorization, concurrence of real time tasks, communications with advanced peripherals ...).

Teachers

Person in charge

  • Enric X. Martin Rull ( )

Others

  • Daniel Garcia Solà ( )
  • Fabio Francisco Banchelli Gracia ( )

Weekly hours

Theory
1.2
Problems
0.8
Laboratory
2
Guided learning
0
Autonomous learning
6

Competences

Transversal Competences

Third language

  • G3 [Avaluable] - To know the English language in a correct oral and written level, and accordingly to the needs of the graduates in Informatics Engineering. Capacity to work in a multidisciplinary group and in a multi-language environment and to communicate, orally and in a written way, knowledge, procedures, results and ideas related to the technical informatics engineer profession.
    • G3.2 - To study using resources written in English. To write a report or a technical document in English. To participate in a technical meeting in English.

Technical Competences of each Specialization

Computer engineering specialization

  • CEC1 - To design and build digital systems, including computers, systems based on microprocessors and communications systems.
    • CEC1.1 - To design a system based on microprocessor/microcontroller.
  • CEC2 - To analyse and evaluate computer architectures including parallel and distributed platforms, and develop and optimize software for these platforms.
    • CEC2.2 - To program taking into account the hardware architecture, using assembly language as well as high-level programming languages.
    • CEC2.3 - To develop and analyse software for systems based on microprocessors and its interfaces with users and other devices.
  • CEC3 - To develop and analyse hardware and software for embedded and/or very low consumption systems.
    • CEC3.1 - To analyse, evaluate and select the most adequate hardware and software platform to support embedded and real-time applications.
    • CEC3.2 - To develop specific processors and embedded systems; to develop and optimize the software of these systems. 

Technical Competences

Common technical competencies

  • CT7 - To evaluate and select hardware and software production platforms for executing applications and computer services.
    • CT7.2 - To evaluate hardware/software systems in function of a determined criteria of quality.

Objectives

  1. Given an application, determine for each task: its duration, the maximum waiting time, time critical care, and plan the right strategy to meet these requirements.
    Related competences: CEC2.3, CT7.2,
  2. Identify the critical regions of a program and schedule properly due to bugs in open source data compartment.
    Related competences: CEC2.2, CEC3.1,
  3. Determine the parts of the code needed to be programmed in assembler, and can be programmed in high level language.
    Related competences: CEC2.2,
  4. Sizing the timing of the watchdog correctly, and placing the 'kicks' the watchdog properly within the code.
    Related competences: CEC3.2,
  5. To determine the most appropriate software architecture for a particular application, based on the number of processes, the computational requirements of these and immediate response.
    Related competences: CT7.2, CEC3.1,
  6. Determine the best serial communication interface for communication between two integrated circuits (processors, processor-interface).
    Related competences: CEC2.3,
  7. Build routines minimum hardware abstraction interface for all communications.
    Related competences: CEC2.3,
  8. Place adequate protections to a microprocessor system for its connectivity to the outside.
    Related competences: CEC3.2, CT7.2,
  9. Protecting against noise reception and a microprocessor system.
    Related competences: CEC1.1, CT7.2,
  10. Sizing correctly sampling frequency of one or more signals according to their nature and the computational load of micro.
    Related competences: CEC3.1,
  11. Setting a reference voltage AD converter with appropriate values ​​from the signal dynamic range and resolution required.
    Related competences: CEC3.1,
  12. Interpret the representation of a periodic signal in a Bode diagram and its decomposition in Fourier series.
    Related competences: CT7.2,
  13. Given an electronic circuit find its input and output impedances.
    Related competences: CEC1.1,
  14. To extract the correct values ​​of the electrical characteristics published by the manufacturer in the technical reference manuals.
    Related competences: G3.2,
  15. Select the appropriate device (transistor, relay, triac, optocoupler) for connecting external loads to the processor pins. Sizing the components necessary to successfully make the connection.
    Related competences: CEC1.1,
  16. Designing and correctly interpret the schema of an electronic circuit.
    Related competences: CEC1.1, CT7.2,
  17. Defender design hardware or software-based microprocessors in a presentation in front peers (target practice).
    Related competences: CEC3.2, G3.2, CT7.2,
  18. Draw and correctly interpret time charts.
    Related competences: CT7.2, CEC3.1,
  19. Learning to use laboratory components: Oscilloscopes, logic analyzer, etc. .. (Target practice)
    Related competences: CT7.2,
  20. Schedule a system with different sensors and interfaces to fulfill requirements of execution. (Target practice)
    Related competences: CEC2.3, CT7.2, CEC2.2,
  21. Design and implement a microcontroller solution for a given problem. (Target practice)
    Related competences: CEC3.2, CEC1.1, G3.2,

Contents

  1. Introduction.
    Characteristics of microprocessor based systems. Type, common solutions to market.
  2. Hardware Issues
    Hardware for microcomputer-based systems. Circuits, components, time diagrams, schematic design. Input/output, power and energy.
  3. Software Aspects of microprocessor based systems.
    Optimization and code inspection. Startup, linkatge, location code, bootloaders. Concurrence, context switching, task management, interrupts, RTOS. Typical algorithms for data gathering and system control.
  4. Interfaces between systems. Communications.
    Description Interface I2C, SPI, CAN, Ethernet, Bluetooth, RF.
  5. Protections,security, electromagnetic compatibility.
    Robust to noise, the system microprocessor protection, electromagnetic compatibility. Watchdog, NMI, redundancy, monitorization.

Activities

Activity Evaluation act


Introduction

View the types of solutions available. Evaluate the most appropriate for a problem. To understand the representation and the associated figures.
  • Theory: Characteristics of microcomputer-based systems, characteristics, types, available solutions.
  • Autonomous learning: It will give students a set of readings to find out platforms on the market.
Objectives: 16 18
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

Practice 1

Learn to use the tools build in ASM and C Language Understanding the architecture of the microcomputer.
  • Laboratory: Micro Review: compiler, asm, C.
  • Autonomous learning: Micro Review: compiler, asm, C.
Objectives: 19
Contents:
Theory
0h
Problems
0h
Laboratory
4h
Guided learning
0h
Autonomous learning
4h

Hardware for micro-computer boards.

Circuits, components, basic diagrams, time diagrams, schematic design tools ...
  • Theory: Circuits, components, basic diagrams, time diagrams, schematic design tools ...
  • Problems: There will be basic problems of analysis of circuits with microcontrollers.
  • Autonomous learning: It will give students a collection of problems to practice the skills shown in class.
Objectives: 12 13 14 15 16
Theory
2h
Problems
2h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

Practice 2

Laboratory tools: analyzer, Oscilloscopes, emulator and simulator. ICD, debug.
  • Laboratory: Laboratory tools: analyzer, Oscilloscopes, emulator and simulator. ICD, debug.
  • Autonomous learning: To deepen the use of the simulator.
Objectives: 19
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
2h

Practice 3

Launching the microcontroller, soft and hardware tests.
Objectives: 20
Contents:
Theory
0h
Problems
0h
Laboratory
4h
Guided learning
0h
Autonomous learning
0h

CT1. Control Theory 1

There will be an exercise in basic circuits in assembling a microcomputer
Objectives: 10 11 12 13 14 15 16 18
Week: 4
Type: theory exam
Theory
1h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

I / O and analog impulse.

Concepts / O, connecting sensors, bridges, resolution, accuracy. Concepts related to frequency, sampling frequency dividers.
  • Theory: Concepts / O, connecting sensors, bridges, resolution, accuracy. Concepts related to frequency, sampling frequency dividers.
  • Problems: Basic problems of how to connect sensors to microcontrollers. Circuits with bridges. Problem resolution and accuracy. Problems related to frequency, sampling frequency dividers.
  • Autonomous learning: There will be problems for students to practice the exercises at home more common I / O
Objectives: 10 11 12
Contents:
Theory
3h
Problems
4h
Laboratory
0h
Guided learning
0h
Autonomous learning
10h

Practice 4

Practical I / O We developed an exercise to work on a system microcontroller interfaces.
  • Laboratory: Practical I / O We developed an exercise to work on a system microcontroller interfaces.
Objectives: 20
Contents:
Theory
0h
Problems
0h
Laboratory
6h
Guided learning
0h
Autonomous learning
4h

PL1. Lab Test 1

There will be an exercise spot on the hardware aspects of the microcomputer system.
Objectives: 19 20
Week: 7
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
4h

Noise protection, support MS.

Study of protection against electrical noise and EM radiation. Ensure compatibility of systems designed with the other existing systems.
  • Theory: Study of protection against electrical noise and EM radiation. Ensure compatibility of systems designed with the other existing systems.
  • Problems: Study of the practical problems of protection against noise in the circuits designed.
  • Autonomous learning: There will be a study on protection against noise applied to our work in laboratories.
Objectives: 8 9
Contents:
Theory
1h
Problems
1h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

Theory
0h
Problems
0h
Laboratory
9h
Guided learning
0h
Autonomous learning
6h

CT2. Control Theory 2

We will exercise all the interconnection of a microcontroller on a board and its I / O
Objectives: 6 7 10 16 18
Week: 8
Type: theory exam
Theory
1h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

Interfaces between systems

Explained the basic concepts of communication intefícies I2C, SPI, CAN, Ethernet, Bluetooth, RF ... to be worked in practice.
  • Theory: Explained the basic concepts of communication intefícies I2C, SPI, CAN, Ethernet, Bluetooth, RF ... to be worked in practice.
  • Problems: Basic problems in understanding the operation of serial communication interfaces.
  • Autonomous learning: Readings and exercises will be proposed to deepen the communication intefícies I2C, SPI, CAN, Ethernet, Bluetooth, RF ...
Objectives: 6 7
Contents:
Theory
2h
Problems
1h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

Monitoring Systems

Study of the functioning of monitoring systems microcontrollers: Watchdog, NMI, redundancy ...
  • Theory: Study of the functioning of monitoring systems microcontrollers: Watchdog, NMI, redundancy ...
  • Problems: Case studies of systems of monitoring the performance of microcontrollers: Watchdog, NMI, redundancy ...
  • Autonomous learning: Lectures related to the operation of monitoring systems microcontrollers: Watchdog, NMI, redundancy ...
Objectives: 4
Theory
1h
Problems
1h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

Software for Microcontrollers

Optimization and code inspection, startup, linkatge, location code, bootloaders. Concurrence, context switches, interrupt management, tasks and RTOS.
  • Theory: Optimization and code inspection, startup, linkatge, location code, bootloaders. Concurrence, context switches, interrupt management, tasks and RTOS.
  • Problems: Problems of optimization and code inspection, startup, linkatge, location code, bootloaders. Basic exercises on concurrency, context switches, interrupt management, RTOS and tasks implemented in microcontrollers.
  • Autonomous learning: It will work on small problems and aspects of software systems based on microcomputer.
Objectives: 1 2 3 5
Contents:
Theory
3h
Problems
3h
Laboratory
0h
Guided learning
0h
Autonomous learning
10h

CT3. Control Theory 3

1.- Se estudiará un artículo en inglés referido a aspectos software de los sistemes empotrados i se hará una presentación pública en catalan/castellano. 2.- Se hará un un diseño teórico de un sistema empotrado a partir de un enunciado. Se entregará una memoria del diseño redactada en inglés.
Objectives: 1 2 3 4 5
Week: 14
Type: theory exam
Theory
1h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

Preparing presentations and practical work

To help and guide students to prepare their practical work displayed at the end of the course.
  • Guided learning: To help and guide students to prepare their practical work displayed at the end of the course.
Objectives: 17
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

PTL. Presentation of Laboratory work

It will be presented to Professor practical laboratory work and will be check its operation.
Objectives: 8 9 17 21
Week: 15 (Outside class hours)
Type: lab exam
Theory
0h
Problems
0h
Laboratory
3h
Guided learning
0h
Autonomous learning
4h

CT4. Control theory 4

Evaluation for typical algorithms in microcontrollers. Software aspects.
Objectives: 1 2 5
Week: 11
Type: theory exam
Theory
1h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

Teaching methodology

There will be a complementation between classes of theory and problems, lectures are reinforced with examples showing the possible alternatives and solutions to common problems. Some topics will be proposed for self-assessment exercises that students can be aware of your progress, and may ask teacher support in case it detects any deficiency. The practical sessions will take place in situ in the laboratory teaching department in the FIB. There will be two practices that require large cumulative work of students in the preparation of a project.

Evaluation methodology


The grade for this course will be obtained from the weighted average of the marks of theory (40%), laboratory practices (40%) and final work (20%)

NF = 0.1 CT1 + 0.1 CT2 + 0.1 CT3 + 0.1 CT4 + 0.40 PL + 0.2 TF (CT = control theory, PL = Laboratory, TF = Final Work)

The laboratory mark (PL) will be obtained while doing practical work in the lab. There will be at least two partial deliveries of the practices.

In addition students must deliver a design of an embedded system based on a real problem. This work will be presented at the end of the course and will produce the mark TF. The docs for this design will be written in English. The quality of design, the selection of components and clarity of the presentation will be evaluated.

With the report in english and the presentation of the final work a grade for the Cross-Competence (G3.2) will be obtained.

Bibliography

Basic:

Complementary:

Previous capacities

High-level language programming (preferably C). Programming in assembly language for microcomputer. Knowledge of microcomputer architecture. Knowledge of Operating Systems. Knowledge of how the various electronic components: R, L, C, MOS diodes and transistors. Analysis of electronic circuits in DC. Calculation of voltages, currents and consumption. Know how to represent numbers in binary and hexadecimal base, its operations and perform arithmetic-logic. Knowing how the different logic gates and combinational and sequential blocks. Learn to analyze and synthesize logic circuits. Understand the structure and operation of the processor. Understand the operation and the memory hierarchy of a computer. Correctly understand documentation written in English. Learn basic English writing technical documentation.