Microprocessors
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
B2M37MAM | Z,ZK | 6 | 2P+2L | Czech |
- Relations:
- During a review of study plans, the course BE2M37MAM can be substituted for the course B2M37MAM.
- It is not possible to register for the course B2M37MAM if the student is concurrently registered for or has already completed the course BE2M37MAM (mutually exclusive courses).
- In order to register for the course B2M37MAM, the student must have registered for the required number of courses in the group BEZBM no later than in the same semester.
- The requirement for course B2M37MAM can be fulfilled by substitution with the course BE2M37MAM.
- It is not possible to register for the course B2M37MAM if the student is concurrently registered for or has previously completed the course BE2M37MAM (mutually exclusive courses).
- Course guarantor:
- Stanislav Vítek
- Lecturer:
- Petr Skalický, Stanislav Vítek
- Tutor:
- Josef Krška, Ondřej Nentvich, Petr Skalický, Stanislav Vítek
- Supervisor:
- Department of Radioelectronics
- Synopsis:
-
The aim is to make students acquainted with the properties of microprocessor systems, make students familiar with on-chip peripherals, connect external circuit to the processor bus, and with implementation of the memory or I/O space address extension. Next, taught the students to make simple program in the assembly language, C language and combination of both. After completion of this subject student should be able to design and implement simpler microprocessor system including connection of necessary peripherals and software design.
- Requirements:
-
Assume student will be able to implement combinatory circuit in different modifications and with different logic elements, multiplexers, memories and PLD and calculate its time delay. Student will be able to design and analyze logic of the sequential circuit and find its maximum clock frequency. He / she will know the timing of memories, function of basic sequential circuits, counters and shift registers.
- Syllabus of lectures:
-
1. Circuit controller and its transformation to programmable controller, the emergence of the address register, the program counters and register of the microprogramming (the stack). The difference between programmable controller and the microprocessor.
2. The algorithm of the microprocessor, the communication with the memory and peripherals. Architecture of microprocessor system, memory configuration, busses, arithmetic logic unit, interrupts.
3. The structure of the microprocessor system and its distribution of processors. Architecture of General purpose processors, DSP (including VLIW) and single chip microcomputers. The arrangement of memory address spaces, the effect of the width of the instruction and data bus.
4. Used memory (volatile and non-volatile, dynamic memory and their timings and properties. Access and its limitations in the processor with two or four phases. Multi-channel memory access.5. The programming of the processor, machine code, assembler, assembler with arithmetic library, compiled languages (C language, etc), interpreted cross-platform languages.
6. The phase of the processing instruction, the increase of computational power of processors, the pipeline, the performance of the processor, cache. Principles of SISD, SIMD, MIMD. The architecture of super scalar. Decomposition into microinstruction.
7. Address and I/O space of the processor, connection of the memory, timing, switching, run-time reconfiguration, attachment of the memory, exceeding direct address space of the processor.
8. Connection of external peripherals, extension of the I/O space by parallel and series circuit, connection of keyboards and displays
9. On-chip peripherals of single chip microprocessors and DSP (counters, timers, watchdog, compare, select and store unit, PCA, PWM, A/D and D/A converters)
10. Instrument bus (SPI, I2C, MicroWire, 1-Wire)
11. Communication bus RS422, RS485, multiprocessor communication
12. Synchronous and asynchronous series interfaces RS232, USB, IEEE-1394, PCI-E
13. Development tools (monitor, RTOS, multitasking), real time programming, state and event. Interrupt system, systems with large number of interrupts.
14. Synchronization of processes and threads, parallelization for processors with a larger number of ALU (software pipeline). Prediction of jumps and loops, speculative execution, power management, dynamic frequency control, the switching cores.
- Syllabus of tutorials:
-
1. Agenda, introduction in development environment, development kit, possibilities of program development.
2. Machine code characteristics, operand addressing.
3. Assembly language notation, debugging of simple program in software simulator.
4. Developing of the program generating waveforms, program verification, displaying of generated waveforms in simulator.
5. Introduction in development board concept, implementation of the program simulated on 4th seminar on the board (initializing of developing board).
6. Matlab design of the 1st individual task and in simulator of given processor.
7. Implementation of the 1st individual task on development board.
8. Matlab design of the 2nd individual task and in simulator of given processor.
9. Implementation of the 2nd individual task on development board and verification of functionality.
10. Design of 3rd independent task, characteristic verification.
11. 3rd independent task - analysis.
12. Implementation of the 3rd independent task.
13. Presentation of the semestral project.
14. Completion of independent tasks.
- Study Objective:
-
The aim is to make students acquainted with the properties of microprocessor systems, make students familiar with on-chip peripherals, connect external circuit to the processor bus, and with implementation of the memory or I/O space address extension. Next, taught the students to make simple program in the assembly language, C language and combination of both. After completion of this subject student should be able to design and implement simpler microprocessor system including connection of necessary peripherals and software design.
- Study materials:
-
[1] Skalický,P.: Mikroprocesory a mikropočítače, výukové materiály na přednášky, ČVUT FEL 2012, 285s.
[2] Skalický,P.: Mikroprocesory a mikropočítače, výukové materiály na cvičení, ČVUT FEL 2015, 148s
[3] Pinker, J.: Mikroprocesory a mikropočítače. 1.vydání. Praha:BEN - technická literatura, 2004. ISBN 80-7300-110-1
[4] Schultz,T.: C and the 8051. 4th edition. 2008, Wood Island Prints, ISBN 0978399501.
[5] Ibrahim, D.: Microcontroller projects in C. 1. Vydání. Oxford: Newnes 2000. ISBN 0 750646403
[6] First Steps with Embedded Systems 2002, Byte Craft Limited, http://www.bytecraft.com
- Note:
- Further information:
- https://cw.fel.cvut.cz/wiki/courses/B2M37MAM
- Time-table for winter semester 2024/2025:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Wed Thu Fri - Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Medical electronics and bioinformatics (compulsory elective course)
- Electronics and Communications - Electronics (compulsory course in the program)
- Electronics and Communications - Audiovisual Technology and Signal Processing (compulsory course in the program)
- Electronics and Communications - Photonics (compulsory course in the program)
- Electronics and Communications - Technology of the Internet of Things (compulsory course in the program)
- Electronics and Communications - Communication Networks and Internet (compulsory course in the program)
- Electronics and Communications - Mobile Communications (compulsory course in the program)
- Electronics and Communications - Radio Communications and Systems (compulsory course in the program)
- Electronics and Communications (compulsory course in the program)