This subject explains the techniques and methodology for the design of digital systems. It begins with the study of sequential systems. From these systems the student can approach the design of synchronous digital systems for a specific process. Next, the design of systems with microprocessors and microcontrollers is studied. The PIC18F4321 microcontroller and its programming with assembler are studied . Finally, the design of software in C for microcontrollers based on the cooperative methodology is addressed . Emphasis is placed on real applications for health engineering.
Titular Professors
Computational logic (Boolean algebra, combinational functional blocks, synchronous sequential systems). Programming in C. Fundamentals on analog and digital electronics.
Students acquire the knowledge and develop the skills indicated below: In this subject, students acquire the knowledge and develop the skills shown below. 1. Design systems with microprocessors
2. Know the fundamentals, structure, architecture and technology of computers
3. Know the basic fundamentals of operation (hardware and software) of peripheral equipment, timers, display devices, storage, input/output and information transfer.
4. Know how to identify the weaknesses and strengths of a design based on microcontrollers.
5. Know and know how to apply multitasking programming techniques to solve problems. 6. Know how to detect and correct errors on a physical board based on a microcontroller.
Block 1. Fundamentals on CPU architecture
Lesson 1 - General architecture of a CPU.
Lesson 2 - Memory Organization: Fetch and Decode Instructions, Stack, Addressing
Lesson 3 - Input/Output Ports and Special Function Registers
Block 2. Basic funcions for the PIC18F4321 Microcontroller
Lesson 4 - Introduction to PIC18F4321
Lesson 5 - General operation
Lesson 6 - Memory
Lesson 7 - Instruction Set
Lesson 8 - Stack, Flash, EEPROM
Lesson 9 - Input/Output Ports
Lesson 10 - Timers
Lesson 11 - Interrupts
Block 3. Design and cooperative programming in C
Lesson 12 - EUSART
Lesson 13 - ADC
Lesson 14 - I2C
Lesson 15 - SPI
Lesson 16 - DAC/PWM Block 4. System considerations
Lesson 17 - Motor drives
Lesson 18 - PCB design guidelines
The methodology used in the subject is based on master classes reinforced with the completion of two practices in groups of two students and which are delivered during the course. The master classes are complemented with exercises that are solved in class by the teacher. For each practice, students make a design that they later have to implement in the laboratory. This design has to be quite optimal and must work without any problem. In this subject, the e-campus environment is often used as a means of communication between the student and the teacher.
The subject is organized in one semester and its evaluation includes the marks of the theory exams and the deliveries of the different practices (continuous evaluation and participation in class), as well as the delivery of the final project. The contribution of each part to the final grade can be found in the Academic Guide.
The following will be valued:
- The ability to design microprocessor-based systems, demonstrating a solid and precise understanding of the architecture, buses, timing, and data flow.
- The sound justification of design decisions, demonstrating technical judgment, clarity of approach, and cohesion among the selected components.
- A thorough understanding of the operation and integration of display devices, memory, and input/output modules, showing technical accuracy and the ability to select appropriate solutions for each application.
- The ability to describe and justify information transfer mechanisms, demonstrating a clear, organized, and coherent understanding of the processes involved (buses, protocols, synchronization, etc.).
- Conceptual and practical mastery of digital technologies and process systems, demonstrating a complete and well-structured understanding of microprocessors, microcontrollers, and their peripherals.
- The correct implementation of programs in assembly and C, demonstrating precision, efficiency, appropriate use of interrupts/timers, and clarity in the code structure.
- The competent and independent use of advanced digital design tools. The quality of the design process carried out with these tools, including organization, adequate documentation, functional validation and consistency between model and final solution.
[1] Microchip - PIC18F Family Datasheet - 2006
[1] August Climent i Judit Lacomba, Teoria i exercicis de Sistemes Seqüencials de Procés Específic, La Salle, 2005.
[2] F. Escudero, Disseny de sistemes de control cooperatius. Una visió pragmàtica, La Salle, 2009.
[3] August Climent i Antoni Garrell, Introducció al Disseny Digital, La Salle, 1999.
[4] Carlos Ruiz Zamarreño, Programación de microcontroladores paso a paso, Marcombo, 2020
[5] Eduardo García Breijo, Compilador C CCS y Simulador Proteus para Microcontroladores PIC, Marcombo, 2009
[6] Cándido Bariáin; Carlos Ruiz Zamarreño i Jesús M. Corres Sanz; Programación de Microcontroladores PIC en Lenguaje C, Marcombo, 2017