Mikropočítačové systémy (MIPS): Rozdiel medzi revíziami
Zo stránky SensorWiki
(47 medziľahlých úprav od rovnakého používateľa nie je zobrazených.) | |||
Riadok 4: | Riadok 4: | ||
'''Semester:''' letný <BR> | '''Semester:''' letný <BR> | ||
'''Rozsah:''' 2-2 (z,s) <BR> | '''Rozsah:''' 2-2 (z,s) <BR> | ||
'''Prednášateľ:''' Ing. Štefan Chamraz,PhD. <BR> | '''Prednášateľ:''' Ing. Štefan Chamraz,PhD. a Ing. Richard Balogh, PhD.<BR> | ||
'''Odkaz na AIS''': B_MIPS - [https://is.stuba.sk/katalog/syllabus.pl?predmet=353564 Distribuované vnorené počítačové systémy] | '''Odkaz na AIS''': B_MIPS - [https://is.stuba.sk/katalog/syllabus.pl?predmet=353564 Distribuované vnorené počítačové systémy] | ||
Riadok 10: | Riadok 10: | ||
== Informácie a novinky == | == Informácie a novinky == | ||
* Na | * Na cvičeniach budeme používať komponenty v laboratóriu, ale ak chcete pracovať aj doma, v opise stavebnice [[MIPS Kit]] nájdete zoznam všetkých použitých komponentov. Ak ich nemáte, ale chcete pracovať aj doma, tak si ich môžete buď zapožičať od školy, alebo si môžete od firmy TechFun zakúpiť [https://techfun.sk/produkt/istrobot-kit-2023/ špeciálny kit], ktorý obsahuje všetky potrebné komponenty za cenu 32,-€ + poštovné.<BR><BR> | ||
== Prednášky == | == Prednášky == | ||
V | V stredu o 8:00 | ||
# '''Úvod.''' Architektúry procesorov, rozdiel mikroprocesor - mikropočítač, | # '''Úvod.''' Architektúry procesorov, rozdiel mikroprocesor - mikropočítač, vstupy a výstupy.<BR>[https://senzor.robotika.sk/mips/pdf/01_prednaskaMIPS.pdf Slajdy z prednášky]<BR>Online: https://microchipdeveloper.com/8avr:ioports | ||
# Pamäťové priestory. Dokončenie I/O. Digitálne vtupy. Ochrana. Klávesnica. <BR>[https://senzor.robotika.sk/mips/pdf/02_prednaskaMIPS.pdf Slajdy z prednášky]<BR>On-line: https://microchipdeveloper.com/8avr:memory | |||
# Sériové komunikačné rozhranie I. - USART.<BR>[https://senzor.robotika.sk/mips/pdf/03_prednaskaMIPS.pdf Slajdy z prednášky] | |||
# Binárne vstupy <BR>[https://senzor.robotika.sk/mips/pdf/04_prednaskaMIPS.pdf Slajdy z prednášky]<BR>On-line: https://microchipdeveloper.com/8avr:memory | |||
# Zabudované počítadlá (čítače) a časovače<BR>[https://senzor.robotika.sk/mips/pdf/05_prednaskaMIPS.pdf Slajdy z prednášky] + [http://senzor.robotika.sk/mmp/2013/prednaska04.pdf Text] | |||
# Prerušenia. Meranie frekvencie. Počítadlá a časovače s prerušeniami.<BR>[https://senzor.robotika.sk/mips/pdf/06_prednaskaMIPS-1.pdf Slajdy z prednášky I.] a [https://senzor.robotika.sk/mips/pdf/06_prednaskaMIPS-2.pdf Slajdy z prednášky II.] | |||
# Číslicovo-analógový prevodník (DAC) a šírkovo modulovaný výstup (PWM).<BR>[https://senzor.robotika.sk/mips/pdf/07_prednaskaMIPS.pdf Slajdy z prednášky] | |||
# Analógovo číslicový prevodník (ADC).<BR>[http://senzor.robotika.sk/mmp/prednaska10.pdf Slajdy z prednášky]<BR>------------------<BR> | |||
# Zabudované periférne obvody: I2C zbernica.<BR>[http://senzor.robotika.sk/mmp/2013/prednaska09.pdf Text], [http://senzor.robotika.sk/mmp/2013/prednaska09OBR.pdf Slajdy z prednášky] | |||
# Zabudované počítadlá (čítače) a časovače II - PWM, využitie ako D/A prevodník. <BR>[http://senzor.robotika.sk/mmp/2013/prednaska05OBR.pdf Slajdy z prednášky] + [http://senzor.robotika.sk/mmp/2013/prednaska05.pdf Text] | |||
# Inteligentné periférie - LCD zobrazovač. <BR>[http://senzor.robotika.sk/mmp/prednaska02.pdf Slajdy z prednášky] | # Inteligentné periférie - LCD zobrazovač. <BR>[http://senzor.robotika.sk/mmp/prednaska02.pdf Slajdy z prednášky] | ||
# Návrh parametrov PWM signálu a spracovanie PWM signálu.<BR>[http://senzor.robotika.sk/mmp/2013/prednaska06.pdf Slajdy z prednášky], [http://senzor.robotika.sk/mmp/2013/prednaska06a.pdf + Článok], [http://senzor.robotika.sk/mmp/SMT160.pdf + SMT160 datasheet] | |||
# Obvody pripojiteľné na I2C. <BR> [http://senzor.robotika.sk/mmp/2013/prednaska10.pdf Slajdy z prednášky], [http://senzor.robotika.sk/mmp/2013/prednaska10RTC.pdf RTC - hodiny reálneho času]. | |||
<FONT Color="grey"><BR><BR><BR></FONT> | |||
# Návrh parametrov PWM signálu a spracovanie PWM signálu.<BR>[http://senzor.robotika.sk/mmp/prednaska06.pdf Slajdy z prednášky], [http://senzor.robotika.sk/mmp/prednaska06a.pdf + Článok], [http://senzor.robotika.sk/mmp/SMT160.pdf + SMT160 datasheet | |||
# Obvody pripojiteľné na I2C. <BR> [http://senzor.robotika.sk/mmp/prednaska10.pdf Slajdy z prednášky], [http://senzor.robotika.sk/mmp/prednaska10RTC.pdf RTC - hodiny reálneho času]. | |||
</FONT> | |||
== Cvičenia == | == Cvičenia == | ||
Riadok 37: | Riadok 38: | ||
# [[Programovanie AVR v jazyku C]] -- LEDky a tlačítka | # [[Programovanie AVR v jazyku C]] -- LEDky a tlačítka | ||
# [[Vstupy a výstupy AVR]] -- oneskorenia a ošetrenie zákmitov | # [[Vstupy a výstupy AVR]] -- oneskorenia a ošetrenie zákmitov | ||
# [[ | # [[Sériové komunikačné rozhranie]] + [[Sériové rozhranie a Processing|Bonus pre pokročilých]] | ||
# '''Timer 1:''' [[Počítadlá a časovače AVR]], '''Timer 0:''' [[Generovanie tónov]] | # '''Timer 1:''' [[Počítadlá a časovače AVR]], '''Timer 0:''' [[Generovanie tónov]] | ||
# [[Prerušenia]] | # [[Prerušenia]] | ||
# [[Šírkovo modulovaný signál PWM | # [[Číslicovo-analógový prevodník (DAC)]] - Šírkovo modulovaný signál PWM | ||
# [[A/D_prevodník|Analógovo-číslicový prevodník]]<BR><BR> | |||
# [[Analógovo-číslicový prevodník]] | |||
# [[Zbernica I2C]] | # [[Zbernica I2C]] | ||
# [[MIPS Projekt]] | # [[Meranie dĺžky impulzu 2]] -- s prerusenim, bez neho, meranie jednej periody, meranie poctu impulzov | ||
< | # [[LCD displej s radičom HD44780]] - inteligentné periférie | ||
# [[Riadenie sústavy 1. rádu]] alebo [[RC filter]] | |||
== Semestrálny projekt == | |||
* '''[[MIPS Projekt]]'''<BR><BR> | |||
== Podmienky absolvovania == | == Podmienky absolvovania == | ||
Riadok 63: | Riadok 67: | ||
* Ing. Štefan Chamraz,PhD. (stefan.chamraz @ stuba.sk) | * Ing. Štefan Chamraz,PhD. (stefan.chamraz @ stuba.sk) | ||
* Ing. Richard Balogh, PhD. (richard.balogh @ elf.stuba.sk) | * Ing. Richard Balogh, PhD. (richard.balogh @ elf.stuba.sk) | ||
<!-- | |||
* Ing. Matej Rábek, PhD. (matej.rabek @ elf.stuba.sk) | * Ing. Matej Rábek, PhD. (matej.rabek @ elf.stuba.sk) | ||
--> | |||
== Literatúra a zdroje == | == Literatúra a zdroje == | ||
Riadok 76: | Riadok 80: | ||
* Friedrich Plötzeneder, Andreas Plötzeneder: ''[https://www.scribd.com/book/282872103/Powerprojekte-mit-Arduino-und-C-Schluss-mit-dem-frustrierenden-Ausprobieren-von-Code-Schnipseln Powerprojekte mit Arduino und C]''. (German Edition) Franzis Verlag, 1. ed., 241 pages, 2013. | * Friedrich Plötzeneder, Andreas Plötzeneder: ''[https://www.scribd.com/book/282872103/Powerprojekte-mit-Arduino-und-C-Schluss-mit-dem-frustrierenden-Ausprobieren-von-Code-Schnipseln Powerprojekte mit Arduino und C]''. (German Edition) Franzis Verlag, 1. ed., 241 pages, 2013. | ||
* Michael Margolis, Brian Jepson, Nicholas Robert Weldin: ''[https://www.oreilly.com/library/view/arduino-cookbook-3rd/9781491903513/ Arduino Cookbook]''., 3rd Edition. O'Reilly Media, Inc., 800 pages, 2020. | * Michael Margolis, Brian Jepson, Nicholas Robert Weldin: ''[https://www.oreilly.com/library/view/arduino-cookbook-3rd/9781491903513/ Arduino Cookbook]''., 3rd Edition. O'Reilly Media, Inc., 800 pages, 2020. | ||
* Ondrej Závodský: ''[https://svetelektro.com/Download/avr_kniha.pdf Programujeme AVR v jazyku C].'' Vlastným nákladom. Dostupné online. 2012. | |||
Riadok 82: | Riadok 86: | ||
'''Ostatné''' | '''Ostatné''' | ||
* Microchip on-line resources https://microchipdeveloper.com/8avr:start ku vsetkemu okolo AVR | |||
* Arduino UNO pinout diagram (svg, teda sa dá zväčšovať) https://upload.wikimedia.org/wikipedia/commons/c/c9/Pinout_of_ARDUINO_Board_and_ATMega328PU.svg | * Arduino UNO pinout diagram (svg, teda sa dá zväčšovať) https://upload.wikimedia.org/wikipedia/commons/c/c9/Pinout_of_ARDUINO_Board_and_ATMega328PU.svg | ||
* Arduino UNO V3 [http://marcusjenkins.com/wp-content/uploads/2014/06/ARDUINO_V2.pdf Pinout diagram] | * Arduino UNO V3 [http://marcusjenkins.com/wp-content/uploads/2014/06/ARDUINO_V2.pdf Pinout diagram] | ||
Riadok 87: | Riadok 92: | ||
* Arduino Nano http://marcusjenkins.com/wp-content/uploads/2014/06/nano.pdf | * Arduino Nano http://marcusjenkins.com/wp-content/uploads/2014/06/nano.pdf | ||
* Datasheet obvodu <S>Atmel</S> Microchip [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf ATmega328P] | * Datasheet obvodu <S>Atmel</S> Microchip [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf ATmega328P] | ||
* Yahya Tawil: ''[https://www.allaboutcircuits.com/technical-articles/understanding-arduino-uno-hardware-design/ Understanding Arduino UNO Hardware Design]''. Technical Article, AllAboutCircuits.com. 2016 | |||
'''Jazyk C pre vnorené systémy''' | '''Jazyk C pre vnorené systémy''' | ||
Riadok 93: | Riadok 98: | ||
* Michael Barr: [https://barrgroup.com/embedded-systems/books/programming-embedded-systems Programming Embedded Systems in C and C++]. O'Reilly Media; 1999. | * Michael Barr: [https://barrgroup.com/embedded-systems/books/programming-embedded-systems Programming Embedded Systems in C and C++]. O'Reilly Media; 1999. | ||
* Michael Barr: [https://barrgroup.com/sites/default/files/barr_c_coding_standard_2018.pdf Embedded C Coding Standard]. Barr Group Inc. 2018 | * Michael Barr: [https://barrgroup.com/sites/default/files/barr_c_coding_standard_2018.pdf Embedded C Coding Standard]. Barr Group Inc. 2018 | ||
* Jason Sachs: [https://www.embeddedrelated.com/showarticle/723.php Important Programming Concepts (Even on Embedded Systems) Part V: State Machines]. Embedded Related web, 2015. | |||
Riadok 216: | Riadok 221: | ||
=== Predchodcovia predmetu === | === Predchodcovia predmetu === | ||
* MMP [[Monolitické mikropočítače]] (1998-2010) pozri všetky stránky k predmetu [[:Category: MMP]] | |||
* MMP [[Monolitické mikropočítače]] 1998-2010 | * DVPS - [[Distribuované vnorené počítačové systémy]] (2010-2014) pozri všetky stránky k predmetu [[:Category: DVPS]] | ||
* | |||
* Všetky nové stránky k predmetu [[:Category: MIPS]] | * Všetky nové stránky k predmetu [[:Category: MIPS]] | ||
=== Poznamky a ToDo's === | |||
* Ako funguje napájanie Arduina: https://www.programmingelectronics.com/power-arduino/ | |||
* Podrobnosti o AD prevodniku a jeho testovanie | |||
** http://www.gammon.com.au/adc | |||
[[Category: AVR]][[Category: MIPS]] | [[Category: AVR]][[Category: MIPS]] |
Verzia z 08:46, 4. apríl 2024
Ročník: 2.Bc Mechatronika
Semester: letný
Rozsah: 2-2 (z,s)
Prednášateľ: Ing. Štefan Chamraz,PhD. a Ing. Richard Balogh, PhD.
Odkaz na AIS: B_MIPS - Distribuované vnorené počítačové systémy
Informácie a novinky
- Na cvičeniach budeme používať komponenty v laboratóriu, ale ak chcete pracovať aj doma, v opise stavebnice MIPS Kit nájdete zoznam všetkých použitých komponentov. Ak ich nemáte, ale chcete pracovať aj doma, tak si ich môžete buď zapožičať od školy, alebo si môžete od firmy TechFun zakúpiť špeciálny kit, ktorý obsahuje všetky potrebné komponenty za cenu 32,-€ + poštovné.
Prednášky
V stredu o 8:00
- Úvod. Architektúry procesorov, rozdiel mikroprocesor - mikropočítač, vstupy a výstupy.
Slajdy z prednášky
Online: https://microchipdeveloper.com/8avr:ioports - Pamäťové priestory. Dokončenie I/O. Digitálne vtupy. Ochrana. Klávesnica.
Slajdy z prednášky
On-line: https://microchipdeveloper.com/8avr:memory - Sériové komunikačné rozhranie I. - USART.
Slajdy z prednášky - Binárne vstupy
Slajdy z prednášky
On-line: https://microchipdeveloper.com/8avr:memory - Zabudované počítadlá (čítače) a časovače
Slajdy z prednášky + Text - Prerušenia. Meranie frekvencie. Počítadlá a časovače s prerušeniami.
Slajdy z prednášky I. a Slajdy z prednášky II. - Číslicovo-analógový prevodník (DAC) a šírkovo modulovaný výstup (PWM).
Slajdy z prednášky - Analógovo číslicový prevodník (ADC).
Slajdy z prednášky
------------------ - Zabudované periférne obvody: I2C zbernica.
Text, Slajdy z prednášky - Zabudované počítadlá (čítače) a časovače II - PWM, využitie ako D/A prevodník.
Slajdy z prednášky + Text - Inteligentné periférie - LCD zobrazovač.
Slajdy z prednášky - Návrh parametrov PWM signálu a spracovanie PWM signálu.
Slajdy z prednášky, + Článok, + SMT160 datasheet - Obvody pripojiteľné na I2C.
Slajdy z prednášky, RTC - hodiny reálneho času.
Cvičenia
- MIPS Kit - opis komponentov na cvičenia
- MIPS Úvodné cvičenie
- Programovanie AVR v jazyku C -- LEDky a tlačítka
- Vstupy a výstupy AVR -- oneskorenia a ošetrenie zákmitov
- Sériové komunikačné rozhranie + Bonus pre pokročilých
- Timer 1: Počítadlá a časovače AVR, Timer 0: Generovanie tónov
- Prerušenia
- Číslicovo-analógový prevodník (DAC) - Šírkovo modulovaný signál PWM
- Analógovo-číslicový prevodník
- Zbernica I2C
- Meranie dĺžky impulzu 2 -- s prerusenim, bez neho, meranie jednej periody, meranie poctu impulzov
- LCD displej s radičom HD44780 - inteligentné periférie
- Riadenie sústavy 1. rádu alebo RC filter
Semestrálny projekt
Podmienky absolvovania
- Znalosť odprezentovanej problematiky
- Získanie zápočtu z cvičení
- aktívne absolvovanie všetkých cvičení (max. 1 ospravedlnená neúčasť)
- vypracovanie úloh z cvičení
- vypracovanie projektu - programu a dokumentácie k nemu
- Získanie potrebného počtu bodov na skúške (min. 50% písomky)
Učitelia
- Ing. Štefan Chamraz,PhD. (stefan.chamraz @ stuba.sk)
- Ing. Richard Balogh, PhD. (richard.balogh @ elf.stuba.sk)
Literatúra a zdroje
Katalógové listy použitých obvodov (dostupné na internete). Okrem toho je literatúra vo forme odkazov pri každom cvičení.
Knihy
- Elliot Williams: Make: AVR Programming. Learning to Write Software for Hardware. O'Reilly Media, 250 pages, 2014.
- Friedrich Plötzeneder, Andreas Plötzeneder: Powerprojekte mit Arduino und C. (German Edition) Franzis Verlag, 1. ed., 241 pages, 2013.
- Michael Margolis, Brian Jepson, Nicholas Robert Weldin: Arduino Cookbook., 3rd Edition. O'Reilly Media, Inc., 800 pages, 2020.
- Ondrej Závodský: Programujeme AVR v jazyku C. Vlastným nákladom. Dostupné online. 2012.
Ostatné
- Microchip on-line resources https://microchipdeveloper.com/8avr:start ku vsetkemu okolo AVR
- Arduino UNO pinout diagram (svg, teda sa dá zväčšovať) https://upload.wikimedia.org/wikipedia/commons/c/c9/Pinout_of_ARDUINO_Board_and_ATMega328PU.svg
- Arduino UNO V3 Pinout diagram
- Arduino UNO Schematic diagram
- Arduino Nano http://marcusjenkins.com/wp-content/uploads/2014/06/nano.pdf
- Datasheet obvodu
AtmelMicrochip ATmega328P - Yahya Tawil: Understanding Arduino UNO Hardware Design. Technical Article, AllAboutCircuits.com. 2016
Jazyk C pre vnorené systémy
- Michael Barr: Programming Embedded Systems in C and C++. O'Reilly Media; 1999.
- Michael Barr: Embedded C Coding Standard. Barr Group Inc. 2018
- Jason Sachs: Important Programming Concepts (Even on Embedded Systems) Part V: State Machines. Embedded Related web, 2015.
Utilitky a užitočnosti
- AVR Calculator by Kevin Rosenberg http://radio-hobby.org/modules/tdmdownloads/singlefile.php?cid=8&lid=97 alebo http://web.archive.org/web/20130713104554/http://www.b9.com/elect/avr/kavrcalc/index.html
- AVR Calc by Brandon Roberts https://sourceforge.net/projects/avrcalc/
- AVRCalc by Jack Tidwell https://www.avrfreaks.net/forum/avrcalc-update
- Obrázky by Alberto Piganti (phigixxx) https://github.com/bqlabs/ABC/tree/master/Images
Obsadenie pinov Arduino UNO
Port B | Port C | Port D | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
D8 | PB0 | ICP1 / CLK0 | D14 | PC0 | A0 | D0 | PD0 | RxD | ||
D9 | PB1 | lcd D0 | D15 | PC1 | A1 | D1 | PD1 | TxD | ||
D10 | PB2 | lcd D1 | D16 | PC2 | sw03 | D2 | PD2 | lcd RS | ||
D11 | PB3 | lcd D2 | D17 | PC3 | led02 | D3 | PD3 | lcd R/W (?) | ||
D12 | PB4 | lcd D3 | D18 | PC4 | SDA | D4 | PD4 | lcd E | ||
D13 | PB5 | LED | D19 | PC5 | SCL | D5 | PD5 | T1 / PWM | ||
D6 | PD6 | sw01 | ||||||||
D7 | PD7 | sw02 |
Predchodcovia predmetu
- MMP Monolitické mikropočítače (1998-2010) pozri všetky stránky k predmetu Category: MMP
- DVPS - Distribuované vnorené počítačové systémy (2010-2014) pozri všetky stránky k predmetu Category: DVPS
- Všetky nové stránky k predmetu Category: MIPS
Poznamky a ToDo's
- Ako funguje napájanie Arduina: https://www.programmingelectronics.com/power-arduino/
- Podrobnosti o AD prevodniku a jeho testovanie