This is a grouped Moodle course. It consists of several separate courses that share learning materials, assignments, tests etc. Below you can see information about the individual courses that make up this Moodle course.

Microcontrollers - B2B34MIK

Main course
Credits 4
Semesters Winter
Completion Assessment + Examination
Language of teaching Czech
Extent of teaching 2P+2C
Annotation
The goal of this course is to make students acquainted with recent interesting applications, smart sensors circuits and peripherals handled by microcontrollers. In a lab students will program their own applications and measure actual properties. Because of usage of a programming language C it will be possible to focus on the practical part of the realization.
Course outlines
1. The basic terms of microprocessor techniques and architecture of microcontrollers, input/output settings, LED and push button control.
2. Programming microcontrollers in C language, development environment and its possibilities, time-division multiplexing, seven-segment displays, matrix keyboard.
3. Interrupt control operation, sources, interrupt vectors and priorities, incremental encoders.
4. Graphic, alphanumerical and LED display control, touch panels, capacitive touch sensors.
5. Analog signal processing and control, AD and DA converters, voltage references.
6. Software and hardware timing.
7. Smart sensor applications, SPI, I2C,1-Wire, CAN.
8. Instruction set, assembler language, program and data memory, direct and indirect addressing, program run control, pipelining, conditional and unconditional branching.
9. Communication between PC and microcontroller, USART, USB, RS-232, RS-422, RS-485.
10. Processing of measured data, look-up tables, number conversion.
11. Control and regulation of low power motors (DC, stepper and servo motors), capture and compare modules, PWM and PID control.
12. GSM and GPS applications, RF identification and wireless sensor data transfer (Bluetooth, ZigBee, WiFi, IR), AT commands.
13. ARM core microcontrollers.
14. Configuration bits, clock signal sources, software and hardware solution of complex system stability and security, how to program a microcontroller, bootloader.
Exercises outlines
1. Introduction to the development environment, hardware and software switch debouncing, LED and push button control.
2. Matrix keyboard, seven-segment display, multiplex mode.
3. Interrupt control operation, priorities.
4. Graphic and alphanumerical displays.
5. AD converter applications, analog temperature sensor, DA converter.
6. Analog sensors (resistive touch panel, 3-axis accelerometer).
7. I2C communication (EEPROM, temperature and humidity sensor, proximity sensor).
8. SPI communication (preassure sensor, 3-axis gyroscope, DA convertor).
9. Microcontroller to PC communication (UART, RS232, USB).
10. RS-485 and CAN communication.
11. Stepper motors (including microstepping), servomotors and DC motors applications.
12. RFID aplications.
13. Data transfer via Bluetooth, ZigBee and WiFi.
14. GPS and GSM modules data receiving and processing, AT comands.
Literature
1. Robert B.Reese: Microprocessors From Assembly Language to C Using The PIC18Fxx2, Da Vinci Engineering Press, Hingham Massachusetts 2005
2. Brian W. Kernighan, Dennis M. Ritchie: The C Programming Language, Second Edition, Prentice Hall, Inc., 1988
3. Yiu, J.: The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors Third Edition, Elsevier, 2014
Requirements
http://moodle.fel.cvut.cz/

Microcontrollers - B6B34MK2

Credits 5
Semesters Winter
Completion Assessment + Examination
Language of teaching Czech
Extent of teaching 2P+2C
Annotation
Cíl předmětu je seznámit studenty s obsluhou zajímavých moderních periferií a senzorů pomocí mikrokontroléru. V laboratořích si studenti naprogramují vlastní aplikace a změří jejich vlastnosti. Vzhledem k použití programovacího jazyka C se bude možné soustředit převážně na praktické úlohy.
Course outlines
1. Základní pojmy mikroprocesorové techniky a architektury mikrokontrolérů, nastavení vstupů a výstupů, obsluha tlačítek, ovládání LED.
2. Specifika programování v jazyku C pro mikrokontroléry, vývojové prostředí a jeho možnosti, použití časového multiplexu, sedmisegmentové displeje, maticová klávesnice.
3. Význam přerušení, obsluha, zdroje, vektory a priority přerušení, rotační kodéry.
4. Obsluha inteligentních grafických, alfanumerických a LED displejů, dotykové panely, kapacitní dotyková tlačítka.
5. Zpracování analogových signálů, AD a DA převodníky, napěťové reference.
6. Odměřování časových úseků prostřednictvím hardwarových a softwarových prostředků.
7. Komunikace s inteligentními senzory, SPI, I2C,1-Wire, CAN.
8. Instrukční sada, jazyk symbolických adres, datová a programová paměť, přímá a nepřímá adresace, řízení běhu programu, větvení, podmíněné a nepodmíněné skoky.
9. Komunikace mikrokontroléru s PC, rozhraní USART, USB, RS-232, RS-422, RS-485.
10. Zpracování naměřených dat, zpracování pomocí tabulek, číselné konverze.
11. Řízení malovýkonových motorů (stejnosměrných, krokových a servomotorů), jednotky capture a compare, principy a metody výkonové regulace, PWM, PID.
12. Použití mikrokontrolérů v GSM a GPS aplikacích, RF identifikaci a bezdrátovém přenosu senzorových dat (Bluetooth, ZigBee, WiFi, IR), AT příkazy.
13. Mikrokontroléry s jádry ARM.
14. Konfigurační bity, zdroje hodinových signálů, komplexní přístup k řešení stability a bezpečnosti systému pomocí softwarových a hardwarových prostředků, možnosti programování mikrokontrolérů, bootloader.
Exercises outlines
Seznámení s vývojovým prostředím, obsluha tlačítek a LED, hardwarové a softwarové řešení potlačení zákmitů tlačítek.
2. Maticová klávesnice, sedmisegmentový displej, multiplexovaný režim.
3. Obsluha přerušení, priority přerušení, využití přerušení při obsluze tlačítek a maticové klávesnice.
4. Obsluha inteligentních grafických a alfanumerických LCD.
5. Obsluha AD převodníku, analogový senzor teploty, DA převodník.
6. Senzory s analogovým výstupem (rezistivní dotykový panel, analogový tříosý akcelerometr).
7. Komunikace po sběrnici I2C (EEPROM, senzor teploty a vlhkosti, senzor přiblížení).
8. Komunikace po sběrnici SPI (senzor tlaku, gyroskop, DA převodník).
9. Komunikace s PC (UART, RS232, USB).
10. Sběrnice RS-485, CAN.
11. Řízení malovýkonových motorů (stejnosměrných, krokových a servomotorů).
12. Aplikace s RFID.
13. Přenos informací prostřednictvím modulu Bluetooth, ZigBee, WiFi.
14. Zpracování a vyhodnocení dat z GPS modulu, ovládání GSM modulu pomocí AT příkazů.
Literature
1. Robert B.Reese: Microprocessors From Assembly Language to C Using The PIC18Fxx2, Da Vinci Engineering Press, Hingham Massachusetts 2005
2. Brian W. Kernighan, Dennis M. Ritchie: Programovací jazyk C, Computer Press, a.s., Brno 2006
3. Yiu, J.: The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors Third Edition, Elsevier, 2014