In this subject, you will learn techniques and methodology for the design of digital systems based on microprocessors/microcontrollers. The subject begins with the study of the main blocks of a microprocessor using small and medium-scale integration integrated circuits (SSI and MSI). Subsequently, software design for systems with microcontrollers is studied. The architecture of an 8-bit microcontroller and its programming in assembly language are covered. Next, cooperative software design for microcontrollers in C is addressed. Finally, real-time multitasking system design is explored.
Titular Professors
Professors
Basic concepts on Boolean algebra and combinational systems.
The objectives of the subject are as follows:
1. Review the basic knowledge of the design of combinational and sequential systems.
2. Gain knowledge about the design of digital systems using small/medium scale of integration elements, microprocessors and microcontrollers.
3. Study different digital systems design methodologies.
4. Design and implement digital systems in the laboratory in order to deeply analyze how they work.
5. Gain abilities for error detection and debugging in complex systems with the implementations made at the laboratory.
Topic 1: The miniCPU (18 hours).
1.1 General CPU Architecture.
1.2 Instruction Fetch and Decoding.
1.3 The Stack.
1.4 Execution of Jump Instructions.
1.5 Data Memory, Memory Mapping, Addressing, and Input/Output Interface.
1.6 Data Bus and Special Function Registers.
1.7 The Arithmetic Logic Unit.
1.8 Interrupts.
1.9 Advanced Peripherals.
Topic 2: Microcontroller Programming in Assembly Language (22 hours).
2.1 Instruction Set.
2.2 Input/Output Ports.
2.3 Oscillator.
2.4 Interrupts.
2.5 Timer 0.
2.6 Program Memory.
2.7 Data Memory.
2.8 Assembly Language Programming.
Topic 3: Cooperative Design and Programming in C (40 hours).
3.1 Multitasking System Programming Methodology.
3.2 Design and Implementation of Cooperative Software.
3.3 A/D Converter.
3.3 EUSART.
3.4 EEPROM Memory.
3.5 Multitasking Problem Resolution.
3.6 Design and Implementation of Real-Time Multitasking Systems.
The methodology used in this course is based on magisterial classes reinforced with the accomplishment of two practices in groups of two students. The practices must be handed in along the course and they are the nucleus of the continuous evaluation. The magisterial classes are also complemented with exercises that are solved during classes by the professor. In this subject an e-campus is used to communicate and share documents between the professor and the students. With this method, all the materials are available during the course (manuals, proposed exercises, solved exercises, exams, theoretical summaries, etc.).
The subject is organized in two semesters, and each of them will be marked individually considering the exam marks and the continuous assessment marks.
Referring to the exams marks
The first semester has a final exam (E1S) on January that can be retaken in the extraordinary call of July. In both calls, it is mandatory to pass, at least, one of the checkpoints of the continuous assessment of the first semester (CP??? and/or CP???) before the day of the exam. Otherwise, the grade for E1S will be NP.
The second semester has a final exam (E2S) on June that can also be retaken in the extraordinary call of July. In both calls, it is mandatory to pass, at least, one of the checkpoints of the continuous assessment of the second semester (CP??? and/or CP???) before the day of the exam. Otherwise, the grade for E2S will be NP.
Referring to the continuous assessment mark
The continuous assessment aims to track the progress and planning capacity and the continuous work of each student. The continuous assessment mark will be determined considering the practical assignments of the subject. In each of the two practical assignments of the subject, two checkpoints (CP) will be evaluated. These checkpoints are aimed to track the evolution of the practical assignments during the course.
The continuous assessment marks will be calculated as:
NAC?
* if CP??? ≥ 5 and CP??? ≥ 5, then:
NAC? = 0.4 · CP??? + 0.6 · CP???
* if CP??? = NP, then:
NAC? = NP
NAC?
* if CP??? ≥ 5 and CP??? ≥ 5, then:
NAC? = 0.4 · CP??? + 0.6 · CP???
* if CP??? = NP and CP??? ≠ NP, then:
NAC? = min(2, CP???)
* if CP??? = NP, then:
NAC? = NP
This means that in order to obtain a continuous assessment mark NAC?, the student must pass all the CP??.
The maximum mark that the students can obtain if they deliver a checkpoint within two weeks after the last scheduled interview date for the CP?? is 7.
The maximum grade for the checkpoints that are passed after two weeks from the last scheduled interview date for the CP?? is 5.
For each checkpoint CP?? that is passed before the last scheduled interview date, the student will be eligible for a bonus of 0.5 points to be added to the theory exam grade (E?S) of the semester to which the checkpoint corresponds. This bonus will be assigned by the teacher of the class group to which the student has been assigned and will reflect the good attitude of the student towards the subject. It will consider parameters such as attendance, participation, exercises completed in class, preparation of the sessions, etc.
The final mark of the semester is calculated as the maximum between the mark of the exam and the mark of the exam weighted with the continuous assessment mark of the semester, only if the exam mark is greater than or equal to 5 and the continuous assessment mark is different from NP. Thus:
* if E?S ≥ 5 and NAC? ≠ NP, then:
FM? = max(E?S, 0.6 · E?S + 0.4 · NAC?)
* if E?S < 5, then:
FM? = ?E?S?
In order to pass the subject, it is necessary that FM? and FM? are equal to or greater than 5, and that all the practical assignments are properly delivered and the interviews passed (NAC?, NAC? ≥ 5). In this case, the final mark of the subject is calculated as the arithmetic mean of the final marks of the two semesters.
In case that any of the assessment elements of the subject (CP??, E?S) is NP, the final mark will be:
* 2, if the assessment activities corresponding to the “Highly significant activity” category in which the student has participated (mark different from NP) represent an aggregated weight equal to or higher than 50?% of the overall weight of all the highly significant assessment activities.
* NP, otherwise.
[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] M.Mano and M.D.Ciletti, Digital Design, 4th edition, Prentice Hall, 2007.
[5] Microchip, PIC18F4321 Family Data Sheet, Microchip Technology, 2007.
[6] R.Miles and K.Hamilton, Learning UML 2.0, O'Reilly Media Inc, 2006.