Saltar al contingut Menu
  • Home
  • Information
  • Contact
  • Map

Digital Systems and Microcontrollers (SDMI)

Credits Dept.
6.0 (4.8 ECTS) ESAII


Person in charge:  (-)

General goals

Students should acquire an ability to specify, design and implement complex digital systems and systems based on microcontrollers, using hardware description languages, CAD/CAE tools and development environments. Upon finishing this subject, they should be able to design communications and input/output interfaces.

Specific goals


  1. Capabilities and limitations of logic families: Compatibility, logical levels, technological limitations.
  2. 2.1 Devices employing programmable logic: Architectures and technologies

    2.2 Hardware description languages
  3. 3.1 Microcontrollers: families and structures

    3.2 Memories: bus connection, technological limitations and applications
  4. 4.1 Microcontroller-specific devices

    4.2 Interfaces for adapting input/output
  5. Communication interfaces in microcontroller systems.


  1. 1.2 Solve problems in interconnecting logic gates to ensure proper signal propagation, and to detect and eliminate spikes, meta-stability, delay paths, and clock signal spread.
  2. 2.1 Ability to describe the behaviour of a digital system using a Virtual Hardware Description Language (VHDL)

    2.2 Use of CAD/CAE tools for designing, implementing and assessing digital systems.
  3. 3.1 Ability to make the right hardware/software compromise in implementing a given function in a microcontroller system.

    3.1 Ability to use development tools for microcontroller systems.

    3.2 Ability to choose the right microcontroller to satisfy a functional specification (memory, peripherals, integrated circuits, interfaces, etc.).
  4. 4.1 Ability to design input/output interfaces (sensor acquisition/action), electrical and time adaptations.

    4.2 Design of communication interfaces.
  5. 5.1 Ability to design and implement firmware for efficiently meeting specifications.

    5.2 Ability to obtain a symbolic and electrical scheme for a microcontroller system.

    5.3 Ability to make the right compromise between the use of a microcontroller system or a digital system.


  1. Design specifications for digital systems and microcontroller systems.
  2. Ability to correctly generate machine memory techniques: block diagrams, summarised descriptions of components, memory maps, electrical diagrams, address look-up tables.
  3. Technical presentation of software: execution diagrams, state diagrams, process description tables, event tables, etc.
  4. 4.1 Critical analysis at the re-design stage.

    4.2 Ability to work in a team.
  5. Compatibility between the environment and technology, and criteria of sustainable development.


Estimated time (hours):

T P L Alt Ext. L Stu A. time
Theory Problems Laboratory Other activities External Laboratory Study Additional time

1. Introduction: technological development in digital systems and micro-controllers.
T      P      L      Alt    Ext. L Stu    A. time Total 
1,0 0 0 0 0 1,0 0 2,0
  • Laboratory
    A broad historical overview is provided of the trend towards Complex Programmable Logic Devices (CPLD) and microcontrollers.

2. Logic families: compatibility, temporal characteristics, technological limitations.
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 0 0 0 2,0 0 4,0
  • Laboratory
    The physical behaviour of logic gates will be examined in greater depth. The current technological restrictions that need to be borne in mind in order for digital systems to work properly will also be explained.

3. Architecture and technology of programmable logic devices: PLD and FPGA.
T      P      L      Alt    Ext. L Stu    A. time Total 
6,0 0 0 0 0 6,0 0 12,0
  • Laboratory
    We will study the architecture, technology, and use of families of Programmable Logic Devices (PLD). Our point of departure will be the knowledge acquired in the IC course on the functional design of digital systems and their technological limitations. The structure, technology, and functionality of more complex FPGAs will be examined in greater depth.

4. Techniques for designing digital systems. Hardware description languages. CAD/CAE tools.
T      P      L      Alt    Ext. L Stu    A. time Total 
3,0 0 0 0 0 6,0 0 9,0
  • Laboratory
    The techniques currently used for designing complex digital systems will be examined. This will be based on programmable logic devices (PLDs) and the latest, most versatile CAD/CAE tools (VHDL, simulation environments, evaluation of time behaviour programming, tests) permitting the design, implementation, and evaluation of complex digital systems, and development in the shortest time.

5. Design and implementation of a digital system in accordance with the specifications.
T      P      L      Alt    Ext. L Stu    A. time Total 
0 0 10,0 0 8,0 0 0 18,0
  • Laboratory
    The whole design process is carried out for a complex digital system based on an FPGA programmable device: Specification, hardware description and implementation, testing and simulation using CAD/CAE tools.
  • Additional laboratory activities:
    Students have to carry out a preliminary study that provides a solution to the design problem and describes the digital system using a hardware description language.

6. The internal structures and capabilities of microcontrollers.
T      P      L      Alt    Ext. L Stu    A. time Total 
5,0 0 0 0 0 4,0 0 9,0
  • Laboratory
    The differences between micro-processor systems, micro-computers, and microcontrollers will be studied. Their internal architectures, capabilities, and performance will also be analyzed.
    Students will acquire a broad vision of the fields in which microcontrollers can be applied.

7. Specialised integrated devices.
T      P      L      Alt    Ext. L Stu    A. time Total 
4,0 0 0 0 0 6,0 0 10,0
  • Laboratory
    The most modern devices incorporating microcontrollers will be analyzed. Students will learn the uses to which these devices are put. Specific examples will be given of the application these devices.

8. External expansion of microcontroller capabilities.
T      P      L      Alt    Ext. L Stu    A. time Total 
4,0 0 0 0 0 8,0 0 12,0
  • Laboratory
    Students will learn how to connect external devices to the microcontroller in order to expand its capabilities. Students will also learn how to design the interfaces required to ensure proper connections and to enhance communications.

9. Programming microcontrollers: firmware.
T      P      L      Alt    Ext. L Stu    A. time Total 
3,0 0 0 0 0 4,0 0 7,0
  • Laboratory
    The features of the software employed by microcontrollers will be explained with a view to optimise programming.

10. Programming of a given microcontroller system.
T      P      L      Alt    Ext. L Stu    A. time Total 
0 0 12,0 0 5,0 0 0 17,0
  • Laboratory
    Students will be familarised with the programming language of a specific microcontroller and its development environment, based on a set of routines making up the application in question. Students will be required to modify certain aspects of the application in order to learn about the programming of microcontrollers in greater depth.
  • Additional laboratory activities:
    Study of the structure, capabilities, and programming of the integrate devices.
    Prior study of the practice documentation and the development environment.

11. Design of a given digital system based on micro-controllers. Criteria of technological sustainability.
T      P      L      Alt    Ext. L Stu    A. time Total 
0 0 8,0 0 10,0 0 0 18,0
  • Laboratory
    A board using a given micro-controller will be assembled and given a control function for a particular application. The requisite interfaces will be designed to acquire sensorial and user information and to generate appropriate outputs.

    Students will be made aware of the importance of recycling board components and of ensuring their manufacture is compatible with sustainable development and protecting the environment.

Total per kind T      P      L      Alt    Ext. L Stu    A. time Total 
28,0 0 30,0 0 23,0 37,0 0 118,0
Avaluation additional hours 2,0
Total work hours for student 120,0

Docent Methodolgy

Given that the course is design-oriented, no distinction will be made between theory classes and problems. Theory classes will be supplemented by examples of real applications, which will reveal alternative designs. This methodology develop students" critical faculties and learn how to make the right trade-offs in order to optimise design.

The thematic blocks include various self-assessment exercises covering the development of digital systems and/or microcontrollers in order to solve a given problem.

Evaluation Methodgy

Course assessment is based on a part exam (P), a final exam (F), and some compulsory lab practice sessions (L) carried out in groups of 2-3 students.

The exams will include both theory and lab questions. The theory note will weight 70% of the final grade.

The lab work"s grade will be based on the daily lab notes, the correctness of the work and the evaluation of a final report, written by the corresponding lab groups. The lab grade will weight 30%

The final note is calculated as follows:

NF = Max( P*0.3 + F*0.4, F*0.7 ) + L*0.3

Basic Bibliography

  • John Catsoulis Designing embedded hardware, O'Reilly, 2005.
  • John F. Wakerly Digital design : principles and practices, Prentice Hall, 2006.
  • Myke Predko Programming and customizing PICmicro microcontrollers, McGraw-Hill, 2002.
  • Design with PIC microcontrollers Design with PIC microcontrollers, Prentice Hall, 1998.

Complementary Bibliography

  • Frank Vahid, Tony Givargis Embedded system design : a unified hardware/software introduction, John Wiley & sons, 2002.
  • Jack G. Ganssle The Art of designing embedded systems, Newnes, 2000.
  • Wayne Wolf Computers as components : principles of embedded computing system design, Morgan Kaufmann, 2001.

Web links




Previous capacities

Physics - concepts: Circuit Theory, electrical signals, logic levels, devices, etc.

Learn the basic elements making up digital systems at the block level: Bistables, registers, multiplexors, counters, memories, decoders, etc.

Sound knowledge of the various elements making up a computer and their interrelationship.

Knowledge of programmable controllers: IT, PIC, USART, PIO.

Learn how to programme in "C" and in assembler.


logo FIB © Barcelona school of informatics - Contact - RSS
This website uses cookies to offer you the best experience and service. If you continue browsing, it is understood that you accept our cookies policy.
Classic version Mobile version