Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat Tájékoztatás és bevezetés Mingesz Róbert
Tűz és munkavédelem 2
Tűzvédelem Tilos: tűz és robbanásveszélyes anyagot behozni nyílt láng használata dohányozni Tűzveszély: elektromos műszerek Használat előtt meggyőződni hibátlan állapotukról! 3
Tűz esetén Szólni Tűzoltók hívása (105 / 112) Központi rendészeti ügyelet hívása ( ) Áramtalanítás Tűz oltása (poroltó) Elektromos tüzek esetén: áramütés veszélye Menekülés 4
Munkavédelem Nem nyúl semmihez Munkavégzésre alkalmas állapot (nem: betegség / tudatmódosítók) Berendezések ismerete (használati útmutatók) Működőképes a berendezés? Nem javít (csak villanyszerelő / villamos mérnök) Földelés! 5
Áramütés esetén Áramkört megszakít (főkapcsoló) Elsősegély (lélegeztetés, stabil oldalfektetés,...) Szólni Mentők hívása (104 / 112) 24 órás megfigyelés korházban Szívritmuszavarok → halál Szövetsérülés → vérrög → halál 6
Laborrend Csak az dolgozhat a laborban, aki ismeri a tűz és munkavédelmi szabályzatot, valamint a laborrendet, és ezt aláírásával igazolta is Felelősségvállalás a használt eszközökért Tilos enni/inni Óra végén mindent a helyére kell pakolni 7
Számítógép használata Csak engedéllyel szabad bármit telepíteni, beállításokat módosítani Munkakönyvtár (példa): Asztal/KissK (kerüljük a szóköz valamint az ékezetek használatát) Óra végén: mindent visszaállítani eredeti állapotába (saját fájlok törlése) 8
Tájékoztató 9
Laboratóriumi gyakorlat Valódi hardver programozása → rengeteg hibalehetőség (beállítások, hardver konfiguráció, hardver hibák, hibás kód...) Korlátozott hibakeresés → helyes programok írása Figyelembe kell venni a hardver képességeit 10
CooSpace / Honlap Honlap címe: Elérhető anyagok: tájékoztató ppt-k házi feladatok minta jegyzőkönyvek 11
Előfeltételek Előadás teljesítése Ajánlott: Angol nyelvismeret Alapszintű C programozói tudás Alapszintű áramköri ismeretek 12
Követelmények Nem lehet igazolatlan hiányzás Igazolt hiányzások száma legfeljebb 3 Az összes gyakorlat elvégzése Értékelés alapja: házi feladatokra adott pontszám jegyzőkönyvekre adott pontszám vizsgafeladatokra adott pontszám Legalább 50%-os eredmény 13
Tájékoztató ponthatárok %Jegy ∞5 14
Gyakorlatokon való részvétel Igazolt hiányzás: Utólag igazolás bemutatása Előzetes egyeztetést követően a gyakorlatvezető engedélyével hiányzik Pótlás: Előzetes megbeszélés alapján, a többi időpontban Késés: Max 5 perc Utána pontlevonás 15
Előzetes felkészülés Anyagok: Honlap Internet CooSpace Előadás jegyzet Dolgozat, számonkérés: bármikor Előzetesen megoldandó és beküldendő feladatok 16
Egyéni munka Elsősorban egyéni munka Az órák egy részében pármunka Az egy padban lévők segíthetnek egymásnak Oktatók segítsége 17
Jegyzőkönyv A sablon jegyzőkönyvet kell kitölteni Beadási határidő: az óra végén (1 óra 30-kor) Késve beküldött jegyzőkönyv: -1p/perc pdf formátum, Max 5 MB, + mellékletek zip-ben (pdf mindig külön csatolva!) Fájlnév: KissK.A1.pdf (mellékletek KissK.A1.zip) 18
Vizsgafeladat A feladatsor nincs előzetesen publikálva Nem használható semmilyen segítség Órán kell bemutatni az elkészült eredményt Kb. 3x súlyozás 19
Plágium, valótlanság Tilos sajátként feltűntetni azt, amit más készített Tilos valótlant állítani pl. hogy egy feladat elkészült, közben nem Súlyos büntetés Pontlevonás Pluszfeladat Kurzus nem teljesítése Nincs figyelmeztetés, ejnye-bejnye 20
Gyakorlat menete Óra elején tájékoztatás Leltárellenőrzés Feladatok megoldása Programozás Kapcsolások elkészítése Mérés Bemutatás Dokumentálás Jegyzőkönyv elkészítése, elküldése Rendrakás, leltárellenőrzés 21
Levelek tárgya Jegyzőkönyv: MicLab 02 Lev Hiányzás: MicLab - Hiányzás (dec 3) Pótlás: MicLab - Pótlás (dec 5) Levelek küldéséhez nem csak a stud-os címek használhatók 22
Reklamáció Minél hamarabb Legfeljebb UV időszak végéig Beadott anyagok megőrzése: UV időszak végéig 23
Mennyit „kell” készülni? EU irányelvek (ECTS): 1 kredit megszerzése: 30 óra Tanórán belüli tevékenységek Tanórán kívüli tevékenységek (irányszám) Kurzus: 2 óra lab./hét, 2 kr. Összesen: 60 óra Tanórán: 12 óra Tanórán kívül: 48 óra (kb. 8 óra / alkalom felkészülés) 24
Gyakorlási lehetőség Ugyanitt Csütörtök 13:00-15:00 A felügyelőszemély nem feltétlenül ért a konkrét feladatokhoz (a kapcsolásokat ellenőrzi) 25
Gyakorlási lehetőség otthon Toolstick 850-B-SK Kaució fejében kölcsönözhető (7000 Ft) Megvásárolható ( Ft + áfa + szállítás) Segédanyagok 26
Hallgatói értékelések 27
28 A feladatok egy része szorgalmi, hogy a jól haladók se unatkozzanak. A feladatok száma jó így, az óra kicsit rövid..
29 Elkészült egy jegyzet Előadás anyaga hozzá tartozik a gyakorlathoz is Ahol szükséges, több anyagot fogunk biztosítani Kevés a felkészüléshez biztosított anyag..
30 Ez szándékos Célszerű, hogy ha az ember magától jön rá a megoldásra. Így könnyebben boldogul, ha nem pont ezt a mikrovezérlőt használja. Ahol szükséges, több útmutató lesz. Nincsenek részletes útmutatók..
31 Valóban. A kurzus csak az alapok elsajátítására elegendő, ugyanakkor ez alapján akár önállóan is el lehet sajátítani egy tetszőleges mikrovezérlő programozását. Egy félév kevés egy ilyen tudás megszerzéséhez..
32 A számlálók és megszakítások használata valóban nem egyszerű, de ezek képezik a mikrovezérlő programozás alapját Ha elakadsz, kérj segítséget! Nem könnyű feladatokkal kezdünk, hanem egyből a közepébe vágunk..
33 Evvel a kijelentéssel teljes egészében egyetértünk Sok a hibalehetőség, így megtévesztő,mert lehet a jó programot átírjuk rosszra közben, nem is a programban van a baj..
34 Valóban Célszerű többet fordítani az előzetes felkészülésre A követelményeket a lehetőségeknek megfelelően állapítjuk meg Lehetőség otthoni gyakorlásra Levelezősként nagyon kevés idő áll rendelkezésre.
35 Célszerű megfelelő szakdolgozattémát választani: – PLC: Pletl Szilveszter / Kincses Zoltán – Mikrovezérlő: Gingl Zoltán / Mingesz Róbert – Robotkar: Pletl Szilveszter / Szépe Tamás – FPGA: Kincses Zoltán Érdekel a PLC a mikrovezérlő és a robotkar programozás. Szeretnék még hasonló műszaki berendezéseket megismerni, működtetni..
A 8051 architektúrája Bevezetés 36
Irodalom Roland Dilsch: A 8051 mikrokontroller család (Műszaki Könyvkiadó 1992) szeged.hu/~mingesz/Education/MicLab/ szeged.hu/~mingesz/Education/MicLab/ szeged.hu/~mingesz/Info/Micro/C8051F410DK.php szeged.hu/~mingesz/Info/Micro/C8051F410DK.php 37
8051 vs ARM cortex M3/M4 8 bit Adatlap: 150 oldal Könnyen konfigurálható Egyszerű programozás ASM / C 32 bit Adatlap: 1500 oldal Bonyolult konfiguráció Csak függvénykönyvtáron keresztül programozható perifériák 38
Miért nem arduino? Elterjedt Olcsó Sok kiegészítő Pontatlan, kis felbontású mérések Korlátozott feszültség- kimenet Korlátozott megbízhatóság Magas szintű programozás -> nehéz megérteni az alapokat 39
8051 mikrovezérlő család 8 bit ALU 8 bit adatbusz 16 bit címbusz Beépített RAM: 128/256 byte Beépített programmemória I/O portok Számlálók Két prioritású szintű megszakításkezelés Alacsony fogyasztású üzemmódok 40
41
Gyártók Atmel Infineon Technologies Maxim NXP Microchip ST Silicon Laboratories Texas Instruments Ramtrom International Silicon Storage Technology Cypress Semiconductor Analog Devices 42
Előnyök-hátrányok Nagy választék Integrált perifériák Minimális külső alkatrészigény Alacsony fogyasztás Alacsony számítási teljesítmény Limitált memória 43
A C8051F410 architektúrája 44
8051-es mag Számos beépített periféria Kiváló minőségű A/D, D/A konverterek PCA kommunikáció Változatos kiépítés Fejlesztést segítő eszközök Egyciklusos mikrovezérlők (1 órajel ~ 1 utasítás*) Gyors, alacsony fogyasztású On-chip debug 45
C8051F410 46
C8051F410 47
C8051F410 - Memória 48
C8051F410 - Memória 49
SFR regiszterek 50
CrossBar 51
Port I/O cella felépítése 52
Config Wizard – mikrovezérlő konfigurálása 53
CrossBar konfigurálása: Config Wizard 54
Oszcillátor felépítése 55
Példa oszcillátort vezérlő regiszterre 56
Példa útmutató oszcillátor felfüggesztésere 57
Watchdog Timer Cél: ha a főprogram lefagy, újraindítja a mikrovezérlőt Rendszeresen törölni kell (a védeni kívánt programrészből), különben RESET Ki lehet kapcsolni RESET után aktív! Ha nem használjuk, ki kell kapcsolni! 58
A C8051F410DK fejlesztőkit 59
C8051F410DK - Fejlesztőkit 60
Kit tartalma C8051F410 Target Board C8051Fxxx Development Kit Quick-Start Guide Silicon Laboratories IDE and Product Information CD-ROM AC to DC Power Adapter USB Debug Adapter (USB to Debug Interface) USB Cable 61
C8051F410-Target Board 62
C8051F410-Target Board P1 – Power connector (accepts input from 7 to 15 VDC unregulated power adapter) J1 – 22-pin Expansion I/O connector J3 – Port I/O Configuration Jumper Block J4 – DEBUG connector for Debug Adapter interface J5 – DB-9 connector for UART0 RS232 interface J6 – Analog I/O terminal block J7 – Connector for IDAC0 voltage circuit J8 – USB Debug Adapter target board power connector J9, J10 – External crystal enable connectors J11 – Connector for IDAC1 voltage circuit J12 – Connector block for Thermistor circuitry J13, J14 – ADC external voltage reference connectors 63
Target Board – Mikrovezérlő 64
Target Board – Debug Adapter, Kvarc 65
Target Board – Tápfeszültség 66
Target Board - Tápfeszültség 67
Target Board – Analóg I/O 68
Target Board – LED, Nyomógomb, UART 69
Kit üzembe helyezése Jumperek ellenőrzése Szalagkábel csatlakoztatása USB kábel csatlakoztatása AC/DC adapter csatlakoztatása 70
Kit kikapcsolása AC/DC adapter leválasztása USB kábel leválasztása Szalagkábel leválasztása 71
Jumperek #LeírásAlaphelyzet J1AIN0 bemenet bekötése P1.7-reZárt J2Analóg csatlakozók- J3AIN1 bemenet bekötése a P1.6-raZárt J4Debug adapter csatlakozó- J5Nyomógombok és LED-ek engedélyezéseMind zárt J6IDAC1V kimenet bekötése az AIN1-reNyitott J7Tápfeszültségek kivezetése- J8RS232 port- J93,3 V-os stab IC tápjának kiválasztása: VUNREG/5VEC3 5VEC3: Debug adapterről jön VUNREG J103VD engedélyezéseZárt 72
Jumperek #LeírásAlaphelyzet J11Portok kivezetése- J12VREGIN forrásának kiválasztása (+3VD. 5VEC3. VREG); engedélyezés Zártak: VREG, VREGIN_EN J13P0.0 bekötése az IDAC0V-re (Akkor van rá szükség, hogy ha az analóg kimenetet használni kívánjuk) Nyitott J14P0.1 bekötése az IDAC1V-re (Akkor van rá szükség, hogy ha az analóg kimenetet használni kívánjuk) Nyitott J15VDD rákötése a potencióméterre (Akkor van rá szükség, ha a potenciómétert használjuk) Nyitott J16IDAC0V rákötése az AIN0-raNyitott J17VIO kiválasztása (5VEC3, +3VD, VREG, VDD); engedélyezés Zártak: VREG, VIO_EN J18P0.1 port engedélyeése a csatlakozón Ha kvarc van beforrasztva, le kell szedni a jumpereket Zárt 73
Jumperek #LeírásAlaphelyzet J19VREG bekapcsolása, kikapcsolásaNem GND J20Tápfeszültség kivezetés- J21VREG engedélyezése és beállításaZártak: VREG_, 5.25V J22VREFIN bekötése a P1.2/VREf-reNyitott J23VDD LEDZárt J24VREGIN LEDZárt J25Poti rákötése az AIN1-re (Akkor van rá szükség, ha a potenciómétert használjuk) Nyitott J26Óra kvarcNyitott J27UART bekötéseNyitott: CTS, RTS Zárt: TX, RX 74
Jumperek #LeírásAlaphelyzet J28VREF pufferkondikVezeték J29VBAT engedélyezéseZárt J30VBAT forrásaHold J31Nem beforrasztottNyitott J32VDD engedélyezéseZárt J33VIO LEDZárt 75
Fejlesztőkörnyezet használata 76
Új projekt létrehozása Project/New Project Az útvonal nem tartalmazhat ékezetes karaktert! 77
Új projekt létrehozása Üres c fájl létrehozása a projekt könyvtárban File/New File... -> C source file Létrehozott fájl hozzáadása a source könyvtárba Jobb gomb a fájlra, majd "Add *** to build" 78
Új projekt létrehozása "C8051F410.h" fájl bemásolása a projekt könyvtárba Helye: C:\Program Files\SDCC\include\mcs51 Szükség esetén a Tool Chain Integration-ban kiválasztani az SDCC 3.x fordítót Assembler: C:\Program Files\SDCC\bin\sdas8051.exe Compiler: C:\Program Files\SDCC\bin\sdcc.exe Linker: C:\Program Files\SDCC\bin\sdcc.exe 79
Mikrovezérlő konfigurálása Config Wizard 2 indítása 80
Mikrovezérlő konfigurálása Watchdog kikapcsolása (Peripherals/PCA) 81
Mikrovezérlő konfigurálása Port IO konfigurálása Push-Pull: P2.1 és P2.3 82
Mikrovezérlő konfigurálása Mentés Generált kód beszúrása a forrás fájlba (Vagy generált kód mentése include fájlba) C8051F410_defs.h cseréje erre: C8051F410.h Az Init_Device() meghívása a main() függvényből 83
Program írása Speciális portlábak definiálása a fájl elején #define LED1 P2_1 #define LED2 P2_3 #define SW2 P1_4 #define SW3 P1_5 Nincs pontosvessző a sorok végén! 84
Program írása Főprogram void main() { Init_Device(); while(1); // végtelen ciklus a végén, hogy ne menjen tovább… } 85
Program fordítása Fordítás: Rebuild all Az összes fájl törlődik, biztosan nem tudunk kódot letölteni, ha hiba volt Hiba esetén javítás, majd ismétlés 86
Csatlakozás a kit-hez Debug adapter kiválasztása Csatlakozás 87
Program letöltése OMF fájl kiválasztása Letöltés: Download code Futtatás: Go 88
Feladatok 89
1. feladat Első projekt létrehozása Konfigurálás Első program: P2.1 = 1, P2.3 = 0 Első program letöltése, futtatása Melyik LED világít, és miért? Generált ASM kód Debuggolás, lépésenkénti végrehajtás 90
2. feladat Program módosítása: nyomógombok használata Valami kezdőérték beállítása SW2 -> P2.1 = 1, P2.3 = 0 SW3 -> P2.1 = 0, P2.3 = 1 91
Következő óra Jegyzet anyaga (Laboratory practicals) korábbi anyag, különösen a megszakításkezelés, továbbá: 6 – 61 oldal 111 – 112 oldal 121 – 124 oldal Van előzetes feladat Lesz jegyzőkönyvkészítés 92