Operácie

Mikropočítačové systémy (MIPS): Rozdiel medzi revíziami

Z SensorWiki

(Obsadenie pinov Arduino UNO)
(Cvičenia)
(29 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 1: Riadok 1:
{| style="padding:0 0.5em;"|
+
<div style="float:right">__TOC__</div>
 +
 
 +
'''Ročník:''' 2.Bc Mechatronika <BR>
 +
'''Semester:''' letný       <BR>
 +
'''Rozsah:''' 2-2 (z,s)                    <BR>
 +
'''Prednášateľ:''' Ing. Štefan Chamraz,PhD. <BR>
 +
'''Odkaz na AIS''':  B_MIPS - [https://is.stuba.sk/katalog/syllabus.pl?predmet=353564 Distribuované vnorené počítačové systémy]
 +
 
 +
 
 +
== Informácie a novinky ==
 +
 
 +
* Na praktické precvičenie programovania mikropočítačových systémov budete potrebovať [[MIPS Kit]]. Ak uvedené komponenty nemáte, 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  27.50€ + poštovné.<BR><BR>
 +
 
 +
== Prednášky ==
 +
 
 +
V pondelok od 13:00 on-line https://meet.google.com/eaf-uggp-skd
 +
 
 +
# '''Úvod.''' Architektúry procesorov, rozdiel mikroprocesor - mikropočítač, pamäťové priestory, vstupy a výstupy.<BR>[http://senzor.robotika.sk/mmp/prednaska01.pdf Slajdy z prednášky]
 +
# Inteligentné periférie - LCD zobrazovač.  <BR>[http://senzor.robotika.sk/mmp/prednaska02.pdf Slajdy z prednášky]<FONT Color="grey"><BR><BR>
 +
# Prerušenia. ''(Resetovacie obvody. Watchdog.)'' <BR>[http://senzor.robotika.sk/mmp/prednaska03.pdf Slajdy z prednášky]
 +
# Zabudované počítadlá (čítače) a časovače I.<BR>[http://senzor.robotika.sk/mmp/prednaska04OBR.pdf Slajdy z prednášky] + [http://senzor.robotika.sk/mmp/prednaska04.pdf Text]
 +
# Zabudované počítadlá (čítače) a časovače II - PWM, využitie ako D/A prevodník. <BR>[http://senzor.robotika.sk/mmp/prednaska05OBR.pdf Slajdy z prednášky] + [http://senzor.robotika.sk/mmp/prednaska05.pdf Text]
 +
# 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]
 +
# Analógovo číslicový prevodník.<BR>[http://senzor.robotika.sk/mmp/prednaska07a.pdf Slajdy z prednášky I.], [http://senzor.robotika.sk/mmp/prednaska07b.pdf Slajdy z prednášky II.]
 +
# Zabudované periférne obvody: sériové rozhranie - USART.<BR>[http://senzor.robotika.sk/mmp/prednaska08a.pdf Slajdy z prednášky], [http://senzor.robotika.sk/mmp/prednaska08b.pdf Doplňujúce materiály.]
 +
# Zabudované periférne obvody: I2C zbernica.<BR>[http://senzor.robotika.sk/mmp/prednaska09.pdf Text], [http://senzor.robotika.sk/mmp/prednaska09OBR.pdf Slajdy z prednášky]
 +
# 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 ==
 +
 
 +
* [[MIPS Kit]] - opis komponentov na cvičenia<BR><BR>
 +
 
 +
# [[MIPS Úvodné cvičenie]]
 +
# [[Programovanie AVR v jazyku C]]<FONT Color="grey"><BR><BR>
 +
# [[Vstupy a výstupy AVR]] -- LEDky a tlačítka
 +
# [[LCD displej s radičom HD44780]] - inteligentné periférie
 +
# [[Počítadlá a časovače AVR]] -- zobrazovanie? (displej - LCD, serial - UART - treba knižnice) ⬤  Timer0 - [[Generovanie tónov]]
 +
# [[Šírkovo modulovaný signál PWM na AVR]] - frekvenčný výstup, LED intenzita, ale možno aj RC člen a pseudoanalog
 +
# [[Prerušenia]] - tym padom by sme sa dostali na koniec blikania ledkou
 +
# [[Meranie periódy]] -- s prerusenim, bez neho, meranie jednej periody, meranie poctu impulzov za 1sec a pod.
 +
# [[Analógovo-číslicový prevodník]]
 +
# [[Sériové komunikačné rozhranie]]
 +
# [[Zbernica I2C]]
 +
# [[MIPS Projekt]]
 +
</FONT>
 +
 
 +
== 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)
 +
* Ing. Matej Rábek, PhD. (matej.rabek @ elf.stuba.sk)
 +
 
  
<!-- Right column 3 orange -->
 
| style="width:70%; vertical-align:top; border:1px solid #fad67d; background:#faf6ed;"|
 
<div style="border-bottom:1px solid #fad67d; background:#faecc8; padding:0.2em 0.5em; font-size:110%; font-weight:bold;">UPDATE</div>
 
<div style="border-bottom:1px solid #fad67d; padding:0.4em 1em 1em;">
 
rokujeme s firmou TechFun na vytvorení špeciálneho kitu, <BR>ktorý bude obsahovať všetky potrebné komponenty za cenu do 30,- Euro.
 
|}
 
  
 +
== 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í.
  
Na praktické precvičenie programovania mikropočítačových systémov budete potrebovať:
+
'''Knihy'''
 +
* Elliot Williams: ''[https://www.oreilly.com/library/view/make-avr-programming/9781449356484/ Make: AVR Programming]''. Learning to Write Software for Hardware. O'Reilly Media, 250 pages, 2014.
 +
* 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.
  
# Vývojovú dosku s mikroprocesorom AVR ATmega328P, napríklad
 
#* Arduino Nano (odporúčam s mikroUSB konektorom) https://techfun.sk/produkt/arduino-nano-precizny-klon/ alebo https://www.aliexpress.com/item/32816997834.html, alebo
 
#* Arduino Uno a pod. https://techfun.sk/produkt/arduino-uno-r3-original/ alebo https://www.aliexpress.com/item/32831857729.html
 
# USB káblik na pripojenie Arduina k počítaču - pozor aby mal správny konektor. Musí to byť datový kábel (zapojené všetky piny, nie len na nabíjanie)
 
# Univerzálnu zapojovaciu doštičku -- pre UNO stačí aj menšia https://techfun.sk/produkt/nepajive-pole-400-bodov/ ale pre Arduino Nano potrebujete väčšiu https://techfun.sk/produkt/nepajive-pole-830-bodov/
 
# Prepojovacie  kábliky (radšej kvalitnejšie https://techfun.sk/produkt/kabliky-40-kusov-10-cm-m-m/) alebo prepojovacie drôtiky https://techfun.sk/produkt/balenie-prepojok-140-kusov/ Dávajte si pozor, aby ste nepoužívali lacne kábliky s okrúhlymi pinmi, sú totiž veľmi nespoľahlivé (takéto určite NIE: https://www.alza.sk/arduino-prepojky-m-m-70ks-d604464.htm)
 
# LCD displej - ľubovoľný alfanumerický (znakový) s kontrolérom HD44780, napr. https://techfun.sk/produkt/display-lcd-8-x-2-zlte-podsvietenie/ alebo https://www.aliexpress.com/item/32827952173.html (je jedno, či to bude 1x16, 2x8, 2x40 alebo 4x20 znakový ale nemôže to byť grafický). Tu si však treba uvedomiť, že displej treba nejako pripojiť, takže by bolo dobré mať ho už aj s naspájkovanými pinmi.
 
# Modul s externým A/D a D/A prevodníkom PCF8591 pripojiteľný na zbernicu i2c, napr. https://techfun.sk/produkt/adda-prevodnik-pcf8591-kabliky/
 
# Drobnosti - nájdete napríklad tu https://techfun.sk/produkt/rezistor-led-kit/
 
#* 3x LED a prípadne aj 1x RGB LED
 
#* 3x tlacitko
 
#* 3x odpor 330R
 
#* 3x odpor 10k
 
#* 3x trimer 10k (alebo 50k) do breadboardu
 
# Špeciality (žiaľ, nenašiel som jednoduchý spôsob získania)
 
#* 1x piezomenič pasívny (t.j. po pripojení na 5V nepípa)
 
#* 1x kondenzator 50uF
 
#* 1x termistor
 
#* 1x fotorezistor
 
<!--
 
#* 1x DS18030-010+ (digitalny potenciometer na i2c v DIP puzdre)
 
-->
 
  
  
  
 +
'''Ostatné'''
  
{| class="wikitable"
+
* 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
|- style="font-weight:bold; background-color:#9698ed;"
+
* Arduino UNO V3 [http://marcusjenkins.com/wp-content/uploads/2014/06/ARDUINO_V2.pdf Pinout diagram]
! style="text-align:center;" | No.
+
* Arduino UNO [https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf Schematic diagram]
! style="text-align:center;" | Obr
+
* Arduino Nano http://marcusjenkins.com/wp-content/uploads/2014/06/nano.pdf
! Opis<br />
+
* Datasheet obvodu <S>Atmel</S> Microchip [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf ATmega328P]
! techfun.sk<br />
 
! aliexpress<br />
 
|-
 
| rowspan="2" style="text-align:center;" | 1
 
| style="text-align:center;" | [[Súbor:ArduinoNano.jpg|200px]]
 
| Arduino Nano, najlepšie s mikro USB konektorom, alebo...
 
| https://techfun.sk/produkt/arduino-nano-precizny-klon/
 
| https://www.aliexpress.com/item/32816997834.htm<br />
 
|-
 
| style="text-align:center;" | [[Súbor:ArduinoUno.jpg|200px]]
 
| ...Arduino UNO, stačí aj nejaký lacnejší klon
 
| https://techfun.sk/produkt/arduino-uno-r3-original/
 
| https://www.aliexpress.com/item/32831857729.html
 
|-
 
| style="text-align:center;" | 2
 
| style="text-align:center;" | [[Súbor:ArduinoKablik.jpg|200px]]
 
| Vhodný USB káblik, podľa zvolenej dosky
 
|
 
|
 
|-
 
| style="text-align:center;" | 3
 
| style="text-align:center;" | [[Súbor:NepajiveKontakntiPole800.jpg|200px]]
 
| Univerzálnu zapojovaciu doštičku
 
| https://techfun.sk/produkt/nepajive-pole-830-bodov/
 
| https://www.aliexpress.com/item/1005001704604762.html
 
|-
 
| rowspan="2" style="text-align:center;" | 4
 
| style="text-align:center;" | [[Súbor:PrepojkyDrotik.jpg|200px]]
 
| Prepojovacie kábliky Male-Male (ohybné), alebo...
 
| https://techfun.sk/produkt/kabliky-40-kusov-10-cm-m-m/
 
| https://www.aliexpress.com/item/33041631448.html
 
|-
 
| style="text-align:center;" | [[Súbor:PrepojkyLanka.jpg|200px]]
 
| ...prepojovacie drôtiky (pevné)
 
| https://techfun.sk/produkt/balenie-prepojok-140-kusov/
 
| https://www.aliexpress.com/item/4001095716403.html
 
|-
 
| style="text-align:center;" | 5
 
| style="text-align:center;" | [[Súbor:LCDdisplej16x2.jpg|200px]]
 
| LCD displej - ľubovoľný znakový s kontrolérom HD44780<BR>-- problém s prispájkovaním pinov!!!
 
| https://techfun.sk/produkt/display-lcd-8-x-2-zlte-podsvietenie/
 
| https://www.aliexpress.com/item/32827952173.html
 
|-
 
| style="text-align:center;" | 6
 
| style="text-align:center;" | [[Súbor:prevodnikPCF8591.jpg|200px]]
 
| modul A/D a D/A prevodníka s PCF8591 na i2c zbernicu
 
| https://techfun.sk/produkt/adda-prevodnik-pcf8591-kabliky/
 
| https://www.aliexpress.com/item/32534017044.html
 
|-
 
| style="text-align:center;" | 7
 
| style="text-align:center;" | [[Image:MinorComponents.jpg|200px]]
 
| Drobné súčiastky I.
 
| https://techfun.sk/produkt/rezistor-led-kit/
 
|
 
|-
 
| style="text-align:center;" | 8
 
| style="text-align:center;" | [IMG Chip]
 
| Drobné súčiastky II.
 
| ?
 
| ?
 
|}
 
  
Nemusíte mať komponenty jednotlivo, dá sa kúpiť aj viac-menej kompletný kit, napríklad https://techfun.sk/produkt/arduino-uno-elementary-kit/ (tento konkr0tny nemá LCD displej)
 
alebo https://techfun.sk/produkt/arduino-uno-r3-student-kit/ (ten má toho veľa navyše).
 
  
Pri objednávaní si však dajte pozor, či má procesor a displej prispájkované vývody. Ak nie, ušetríte, ale potrebujete spájkovačku a isté skúsenosti.
+
=== Datasheety ku MIPSKitu ===
Pri objednávaní z Číny si dajte pozor, či máte v balení aj káblik, alebo ho potrebujete objednať zvlášť. Taktiež si dajte pozor na to, že dodacia doba je dlhá a od januára navyše treba platiť aj DPH (clo sa na elektroniku nevzťahuje, ale možno budete musieť tovar colne prejednať).
 
  
Prosím, vyplňte nám nasledovný dotazník, v ktorom sa vyjadrite, či dané komponenty máte doma, zaobstaráte si ich sami, alebo budete požadovať zapožičanie od nás.
+
Budeme postupne budovať:
Okrem úloh na cvičení budete robiť aj samostatný projekt, takže ak máte nejakú predstavu, zaobstarajte si vopred aj potrebné komponenty na projekt.
 
  
[[Súbor:ArduinoStarterKit.png|center]]
+
* Tlačítka https://cdn-shop.adafruit.com/datasheets/B3F-1000-Omron.pdf
  
 +
=== 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
  
  
Riadok 122: Riadok 105:
  
 
{| class="wikitable"  
 
{| class="wikitable"  
|- style="font-weight:bold; text-align:center;"
+
|- style="font-weight:bold; text-align:center; font-family:Arial, Helvetica, sans-serif !important;;"
! colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;; background-color:#96fffb;" | Port B
+
! colspan="3" style="background-color:#96fffb;" | Port B
 
! style="font-weight:normal; text-align:left;" |  
 
! style="font-weight:normal; text-align:left;" |  
! colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;; background-color:#ffffc7;" | Port C
+
! colspan="3" style="background-color:#fcff2f;" | Port C
 
! style="font-weight:normal; text-align:left;" |  
 
! style="font-weight:normal; text-align:left;" |  
! colspan="2" style="font-family:Arial, Helvetica, sans-serif !important;; background-color:#d58ce0;" | Port D
+
! colspan="3" style="background-color:#D58CE0;" | Port D
|-
+
|- style="font-family:Arial, Helvetica, sans-serif !important;;"
| style="vertical-align:middle; background-color:#CFF;" | PB0
+
| style="background-color:#CFF;" | D8
 +
| style="font-weight:bold; background-color:#96fffb;" | PB0
 
| style="font-weight:bold;" | ICP1 / CLK0
 
| style="font-weight:bold;" | ICP1 / CLK0
 
|  
 
|  
| style="vertical-align:middle; background-color:#FFC;" | PC0
+
| style="background-color:#fafad3;" | D14
 +
| style="vertical-align:middle; background-color:#fffe65;" | PC0
 
| style="font-weight:bold;" | A0
 
| style="font-weight:bold;" | A0
 
|  
 
|  
| style="vertical-align:middle; background-color:#FCF;" | PD0
+
| style="background-color:#ffccff;" | D0
 +
| style="vertical-align:middle; font-weight:bold; background-color:#d58ce0;" | PD0
 
| style="font-weight:bold;" | RxD
 
| style="font-weight:bold;" | RxD
|-
+
|- style="font-family:Arial, Helvetica, sans-serif !important;;"
| style="vertical-align:middle; background-color:#CFF;" | PB1
+
| style="background-color:#CFF;" | D9
| style="font-style:italic;" | lcd D4
+
| style="font-weight:bold; background-color:#96fffb;" | PB1
 +
| style="font-style:italic;" | lcd D0
 
|  
 
|  
| style="vertical-align:middle; background-color:#FFC;" | PC1
+
| style="background-color:#fafad3;" | D15
 +
| style="vertical-align:middle; background-color:#fffe65;" | PC1
 
| style="font-weight:bold;" | A1
 
| style="font-weight:bold;" | A1
 
|  
 
|  
| style="vertical-align:middle; background-color:#FCF;" | PD1
+
| style="background-color:#ffccff;" | D1
 +
| style="vertical-align:middle; font-weight:bold; background-color:#d58ce0;" | PD1
 
| style="font-weight:bold;" | TxD
 
| style="font-weight:bold;" | TxD
|-
+
|- style="font-family:Arial, Helvetica, sans-serif !important;;"
| style="vertical-align:middle; background-color:#CFF;" | PB2
+
| style="background-color:#CFF;" | D10
| style="font-style:italic;" | lcd D5
+
| style="font-weight:bold; background-color:#96fffb;" | PB2
 +
| style="font-style:italic;" | lcd D1
 
|  
 
|  
| style="vertical-align:middle; background-color:#FFC;" | PC2
+
| style="background-color:#fafad3;" | D16
 +
| style="vertical-align:middle; background-color:#fffe65;" | PC2
 
| style="font-style:italic;" | sw03
 
| style="font-style:italic;" | sw03
 
|  
 
|  
| style="vertical-align:middle; background-color:#FCF;" | PD2
+
| style="background-color:#ffccff;" | D2
 +
| style="vertical-align:middle; font-weight:bold; background-color:#d58ce0;" | PD2
 
| style="font-style:italic;" | lcd RS
 
| style="font-style:italic;" | lcd RS
|-
+
|- style="font-family:Arial, Helvetica, sans-serif !important;;"
| style="vertical-align:middle; background-color:#CFF;" | PB3
+
| style="background-color:#CFF;" | D11
| style="font-style:italic;" | lcd D6
+
| style="font-weight:bold; background-color:#96fffb;" | PB3
 +
| style="font-style:italic;" | lcd D2
 
|  
 
|  
| style="vertical-align:middle; background-color:#FFC;" | PC3
+
| style="background-color:#fafad3;" | D17
 +
| style="vertical-align:middle; background-color:#fffe65;" | PC3
 
| style="font-style:italic;" | led02
 
| style="font-style:italic;" | led02
 
|  
 
|  
| style="vertical-align:middle; background-color:#FCF;" | PD3
+
| style="background-color:#ffccff;" | D3
 +
| style="vertical-align:middle; font-weight:bold; background-color:#d58ce0;" | PD3
 
| style="vertical-align:middle;" | lcd R/W (?)
 
| style="vertical-align:middle;" | lcd R/W (?)
|-
+
|- style="font-family:Arial, Helvetica, sans-serif !important;;"
| style="vertical-align:middle; background-color:#CFF;" | PB4
+
| style="background-color:#CFF;" | D12
| style="font-style:italic;" | lcd D7
+
| style="font-weight:bold; background-color:#96fffb;" | PB4
 +
| style="font-style:italic;" | lcd D3
 
|  
 
|  
| style="vertical-align:middle; background-color:#FFC;" | PC4
+
| style="background-color:#fafad3;" | D18
 +
| style="vertical-align:middle; background-color:#fffe65;" | PC4
 
| style="font-weight:bold;" | SDA
 
| style="font-weight:bold;" | SDA
 
|  
 
|  
| style="vertical-align:middle; background-color:#FCF;" | PD4
+
| style="background-color:#ffccff;" | D4
 +
| style="vertical-align:middle; font-weight:bold; background-color:#d58ce0;" | PD4
 
| style="font-style:italic;" | lcd E
 
| style="font-style:italic;" | lcd E
|-
+
|- style="font-family:Arial, Helvetica, sans-serif !important;;"
| style="vertical-align:middle; background-color:#CFF;" | PB5
+
| style="background-color:#CFF;" | D13
 +
| style="font-weight:bold; background-color:#96fffb;" | PB5
 
| style="font-weight:bold;" | LED
 
| style="font-weight:bold;" | LED
 
|  
 
|  
| style="vertical-align:middle; background-color:#FFC;" | PC5
+
| style="background-color:#fafad3;" | D19
 +
| style="vertical-align:middle; background-color:#fffe65;" | PC5
 
| style="font-weight:bold;" | SCL
 
| style="font-weight:bold;" | SCL
 
|  
 
|  
| style="vertical-align:middle; background-color:#FCF;" | PD5
+
| style="background-color:#ffccff;" | D5
 +
| style="vertical-align:middle; font-weight:bold; background-color:#d58ce0;" | PD5
 
| style="font-weight:bold;" | T1 / PWM
 
| style="font-weight:bold;" | T1 / PWM
 
|-
 
|-
 +
| style="font-family:Arial, Helvetica, sans-serif !important;;" |
 +
| style="font-family:Arial, Helvetica, sans-serif !important;;" |
 +
| style="font-family:Arial, Helvetica, sans-serif !important;;" |
 +
| style="font-family:Arial, Helvetica, sans-serif !important;;" |
 
|  
 
|  
|  
+
| style="font-family:Arial, Helvetica, sans-serif !important;;" |  
|  
+
| style="font-family:Arial, Helvetica, sans-serif !important;;" |  
|  
+
| style="font-family:Arial, Helvetica, sans-serif !important;;" |  
|  
+
| style="font-family:Arial, Helvetica, sans-serif !important;; background-color:#ffccff;" | D6
|  
+
| style="vertical-align:middle; font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;; background-color:#d58ce0;" | PD6
| style="vertical-align:middle; background-color:#FCF;" | PD6
+
| style="font-style:italic; font-family:Arial, Helvetica, sans-serif !important;;" | sw01
| style="font-style:italic;" | sw01
 
 
|-
 
|-
 +
| style="font-family:Arial, Helvetica, sans-serif !important;;" |
 +
| style="font-family:Arial, Helvetica, sans-serif !important;;" |
 +
| style="font-family:Arial, Helvetica, sans-serif !important;;" |
 +
| style="font-family:Arial, Helvetica, sans-serif !important;;" |
 
|  
 
|  
|  
+
| style="font-family:Arial, Helvetica, sans-serif !important;;" |  
|  
+
| style="font-family:Arial, Helvetica, sans-serif !important;;" |  
|  
+
| style="font-family:Arial, Helvetica, sans-serif !important;;" |  
|  
+
| style="font-family:Arial, Helvetica, sans-serif !important;; background-color:#ffccff;" | D7
|  
+
| style="vertical-align:middle; font-weight:bold; font-family:Arial, Helvetica, sans-serif !important;; background-color:#d58ce0;" | PD7
| style="vertical-align:middle; background-color:#FCF;" | PD7
+
| style="font-style:italic; font-family:Arial, Helvetica, sans-serif !important;;" | sw02
| style="font-style:italic;" | sw02
 
 
|}
 
|}
  
=== Knižnica ===
 
  
* Arduino UNO V3 http://marcusjenkins.com/wp-content/uploads/2014/06/ARDUINO_V2.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]
 
  
 
=== Predchodcovia predmetu ===
 
=== Predchodcovia predmetu ===
Riadok 215: Riadok 219:
 
* Všetky stránky k predmetu [[:Category: MMP]]
 
* Všetky stránky k predmetu [[:Category: MMP]]
 
* Všetky nové stránky k predmetu [[:Category: MIPS]]
 
* Všetky nové stránky k predmetu [[:Category: MIPS]]
 
  
  
 
[[Category: AVR]][[Category: MIPS]]
 
[[Category: AVR]][[Category: MIPS]]

Verzia zo dňa a času 19:01, 25. február 2021

Ročník: 2.Bc Mechatronika
Semester: letný
Rozsah: 2-2 (z,s)
Prednášateľ: Ing. Štefan Chamraz,PhD.
Odkaz na AIS: B_MIPS - Distribuované vnorené počítačové systémy


Informácie a novinky

  • Na praktické precvičenie programovania mikropočítačových systémov budete potrebovať MIPS Kit. Ak uvedené komponenty nemáte, 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 27.50€ + poštovné.

Prednášky

V pondelok od 13:00 on-line https://meet.google.com/eaf-uggp-skd

  1. Úvod. Architektúry procesorov, rozdiel mikroprocesor - mikropočítač, pamäťové priestory, vstupy a výstupy.
    Slajdy z prednášky
  2. Inteligentné periférie - LCD zobrazovač.
    Slajdy z prednášky

  3. Prerušenia. (Resetovacie obvody. Watchdog.)
    Slajdy z prednášky
  4. Zabudované počítadlá (čítače) a časovače I.
    Slajdy z prednášky + Text
  5. Zabudované počítadlá (čítače) a časovače II - PWM, využitie ako D/A prevodník.
    Slajdy z prednášky + Text
  6. Návrh parametrov PWM signálu a spracovanie PWM signálu.
    Slajdy z prednášky, + Článok, + SMT160 datasheet
  7. Analógovo číslicový prevodník.
    Slajdy z prednášky I., Slajdy z prednášky II.
  8. Zabudované periférne obvody: sériové rozhranie - USART.
    Slajdy z prednášky, Doplňujúce materiály.
  9. Zabudované periférne obvody: I2C zbernica.
    Text, Slajdy z prednášky
  10. Obvody pripojiteľné na I2C.
    Slajdy z prednášky, RTC - hodiny reálneho času.

Cvičenia

  • MIPS Kit - opis komponentov na cvičenia

  1. MIPS Úvodné cvičenie
  2. Programovanie AVR v jazyku C

  3. Vstupy a výstupy AVR -- LEDky a tlačítka
  4. LCD displej s radičom HD44780 - inteligentné periférie
  5. Počítadlá a časovače AVR -- zobrazovanie? (displej - LCD, serial - UART - treba knižnice) ⬤ Timer0 - Generovanie tónov
  6. Šírkovo modulovaný signál PWM na AVR - frekvenčný výstup, LED intenzita, ale možno aj RC člen a pseudoanalog
  7. Prerušenia - tym padom by sme sa dostali na koniec blikania ledkou
  8. Meranie periódy -- s prerusenim, bez neho, meranie jednej periody, meranie poctu impulzov za 1sec a pod.
  9. Analógovo-číslicový prevodník
  10. Sériové komunikačné rozhranie
  11. Zbernica I2C
  12. MIPS Projekt

Podmienky absolvovania

  1. Znalosť odprezentovanej problematiky
  2. 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
  3. 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)
  • Ing. Matej Rábek, PhD. (matej.rabek @ 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.



Ostatné


Datasheety ku MIPSKitu

Budeme postupne budovať:

Utilitky a užitočnosti


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