Mikrokontroller alapú rendszerek

A tantárgy angol neve: Microcontroller Based Systems

Adatlap utolsó módosítása: 2022. december 27.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Villamosmérnöki szak, BSc képzés          
Beágyazott és irányító rendszerek specializáció           
Számítógép-alapú rendszerek ágazati főtantárgy          

 

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIAUAC12 5 2/2/0/v 5  
3. A tantárgyfelelős személy és tanszék Dr. Tevesz Gábor,
A tantárgy tanszéki weboldala https://www.aut.bme.hu/Course/VIAUAC12
4. A tantárgy előadója
 Név:
 Beosztás: Tanszék, intézet:
 Dr. Tevesz Gábor
 c. egyetemi tanár
 Automatizálási és Alkalmazott
 Informatikai Tanszék
 Szabó Zoltán
 mérnöktanár
 Automatizálási és Alkalmazott
 Informatikai Tanszék
5. A tantárgy az alábbi témakörök ismeretére épít Digitális technika 1-2, Programozás alapjai 1, Informatika 1-2, Elektronika 1, Méréstechnika, Szabályozástechnika
6. Előtanulmányi rend
Ajánlott:
-
7. A tantárgy célkitűzése A tárgy célja, hogy a hallgatókat megismertesse az iparban legelterjedtebben használt mikrokontroller architektúrákkal, azok kiválasztási szempontjaival. A megszerzett ismeretek segítségével a hallgatók képessé válnak mikrokontroller alapú rendszerek hardver tervezésére és alacsonyszintű szoftver rendszerének megvalósítására. A kettő közötti elválaszthatatlan kapcsolatot példák és rövid esettanulmányok mutatják be.
8. A tantárgy részletes tematikája

I. Az előadások részletes tematikája:

Architektúrális alapok (3 hét)

Digitális rendszerek központi egységei: mikroprocesszorok és mikrokontrollerek architektúrális összehasonlítása, kiválasztási szempontjai. 8/16/32 bites rendszerek, CISC/RISC architektúra. A megfelelő architektúra kiválasztásának jelentősége és hatása a rendszer legfontosabb jellemzőire (sebesség, bitkezelés, törtszámok kezelése, belső memória, regiszterbankok). A 8 bites és a 32 bites mikrokontroller-architektúrák egy-egy neves képviselőjének megismerése (8051, ARM Cortex M4 mikrokontrollerek, DSP). Programozási modell, megszakítási rendszer.

Hardverközeli programok fejlesztése (4,5 hét)

Assembly, C és blokkorientált hardver-közeli programfejlesztés. A szoftverfejlesztés folyamata. Programozási nyelvek, szoftverfejlesztés PC-re és beágyazott rendszerre. Programozási modell, utasításkészlet tulajdonságai. Tipikus ASM/C fejlesztő környezetek bemutatása (SiLabs, Keil, STM), a firmware szerkezete (konfigurálás, startup kód, megszakítási rendszer, gyors megszakításkezelés bankváltásokkal.) ASM betétek és ASM függvények használata.

Mikrokontrollerek tipikus integrált perifériái (3 hét)

Órajel-generátorok (belső, külső, PLL áramkörök), reset-, watch-dog áramkörök. Időzítő és számláló egységek (üzemmódok, kvadratúra-enkóder, capture modul, PWM). Integrált aszinkron és szinkron kommunikációs egységek és protokollok (SCI, SPI, I2C, CAN). Digitális be- és kimenetek, a mikrokontroller I/O portok speciális kialakítása. Analóg be- és kimenetek. Memória elemek (OTP ROM, flash, RAM, EEPROM) tulajdonságai, illesztésük.

Mikrokontrollerek kapcsolódása környezetükhöz, tipikus illesztések (2,5 hét)

Külső órajel generátorok, külső memóriák illesztése (párhuzamos/soros, váróciklus-problémák – cache, gyorsítási lehetőségek). Analóg és digitális be- és kimenetek illesztési problémái, speciális perifériák. Jelkonvertálás fizikai rétegre (RS232, RS422, RS485, CAN, USB). EMC szempontok, leválasztások.

A hardvertervezés alapelvei és lépései (1 hét)

CAD rendszerek használata a hardver tervezésben: kapcsolási rajz, szimuláció, nyomtatott áramkör tervező rendszerek és ezek legfontosabb tulajdonságai. Formai és tartalmi követelmények, alkatrészek és áramkörök technológiai kérdései (hagyományos/felületszerelt, rétegszám megválasztása, forrasztási technológia választása, stb.). EMC kérdések. Élesztés, programozás, tesztelés interfészei. ISP jelentősége. Egyedi és szabványos (JTAG) felületek. Belső és külső boot loader, firmware update lehetősége és megoldásai.

II. A gyakorlatok részletes tematikája

A gyakorlatokon példák és esettanulmányok formájában kerül elmélyítésre az előadásokon elhangzott elméleti tananyag.
1.    Példák, esettanulmányok a megfelelő mikrokontroller architektúra kiválasztására (1 hét)
2.    Egész és törtszámok ábrázolása, szabványok, áttérések különböző számábrázolási méretek között. ASM és C programrészletek egyszerűbb részfeladatok megoldására (2 hét)
3.    Assembly és C szintű programpéldák egyszerűbb illesztési és perifériakezelési  megoldásokra (2 hét)
4.    Példák a C program ASM modulokkal történő használatára (1 hét)
5.    Komplett esettanulmány:  egy valósidejű irányító rendszer szoftver rendszerterve szabadon konfigurálható mikrokontrollerek (SiLabs EFM8BB3, STM32Fxxx Cortex-M4) alkalmazásával (2 hét)
6.    Illesztési kérdések beágyazott rendszerek néhány érzékelési és beavatkozási feladatának megoldására. Feladatok megosztása a rendszer hardver és szoftver komponensei között (3 hét)
7.    Komplett esettanulmány: konkrét hardver tervezési példa a feladat megfogalmazásától a kapcsolási rajzig, a hardver-szoftver rendszer kapcsolata (2 hét)
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) A tárgy anyaga előadásokon és gyakorlatokon kerül ismertetésre. Az előadások és a gyakorlatok az anyag ütemében váltogatják egymást, a gyakorlatokon példák és esettanulmányok formájában kerül elmélyítésre az előadásokon elhangzott elméleti tananyag.
10. Követelmények

Szorgalmi időszakban:

(1) Az ismeretek alkalmazását és készségszintű megértését a félév során folyamatosan tartott gyakorlati foglalkozások segítik.
(2) Személyre szóló ASM programozási feladat megoldása a kapott fejlesztő kit segítségével.
(3) Az ismeretek átfogó és részletes áttekintését a szorgalmi időszak alatt egy alkalommal nagyzárthelyivel mérjük.

Az aláírás feltételei:

  • A zárthelyi elfogadható (legalább elégséges szintű) teljesítése.
  • A gyakorlati foglalkozáson kötelező a jelenlét (a hiányzások száma nem haladja meg a TVSz szerint megengedett mértéket)
  • A 6. oktatási héten kiadott feladat működőképes megoldása és dokumentálása. A feladat akkor tekinthető elfogadottnak, ha a tanszéki portálra a szorgalmi időszak végéig feltöltött anyagokat (program forráskód + dokumentáció) az ugyanitt kapott visszajelzéseket követő esetleges javítások után az oktató legkésőbb a pótlási hét végéig elfogadottnak jelzi vissza.
Vizsgaidőszakban:

A vizsga írásbeli. A kreditpont megszerzésének feltétele: legalább elégséges vizsgaosztályzat elérése. A tárgyból szerzett érdemjegy 25%-ban a zárthelyin, 75%-ban a vizsgán elért eredményből (pontszámból) kerül kialakításra.
11. Pótlási lehetőségek A sikertelen zárthelyi a szorgalmi időszakban tartott pótzárthelyi dolgozat legalább elégséges szintű megírásával pótolható. A pótzárthelyi anyaga megegyezik a zárthelyi anyagával.
A házi feladat késedelmesen (különeljárási díj ellenében) legkésőbb a pótlási hét végéig adható be.
A vizsgák a TVSz-nek megfelelően pótolhatók.
12. Konzultációs lehetőségek Órák előtt és után, valamint a számonkérésekhez kapcsolódóan egyeztetés szerint.
13. Jegyzet, tankönyv, felhasználható irodalom
  • Tevesz G.: Mikrokontroller alapú rendszerek (Elektronikus jegyzet). BME AUT, 2022.
  • Ganssle, J. et al.: Embedded Hardware: Know It All. Elsevier/Newnes, 2007.
  • Labrosse, J.J. et al.: Embedded Software: Know It All. Elsevier/Newnes, 2007.
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra56
Félévközi készülés órákra 14
Felkészülés zárthelyire 16
Házi feladat elkészítése 20
Kijelölt írásos tananyag elsajátítása 12
Vizsgafelkészülés 32
Összesen 150
15. A tantárgy tematikáját kidolgozta
 Név:
 Beosztás: Tanszék, intézet:
 Dr. Tevesz Gábor
 c. egyetemi tanár
 Automatizálási és Alkalmazott
 Informatikai Tanszék
 Szabó Zoltán
 mérnöktanár
 Automatizálási és Alkalmazott
 Informatikai Tanszék
IMSc tematika és módszer A tantárgy egyes részei (fejezetek vagy fejezetrészek) elmélyülést tesznek lehetővé a tananyaghoz kapcsolódó összetettebb problémák, feladatok megértésében és megoldásában. Ezeket részben a tantárgy írásos tananyaga kitekintő fejezeteinek önálló feldolgozása, részben a tananyaghoz kapcsolódó összetettebb feladatok opcionális konzultációval segített önálló megoldása támogatja.
IMSc pontozás A tantárgyból 25 IMSc pont szerezhető.
IMSc pontot emelt szintű otthoni feladat, plusz zárthelyi és plusz vizsgafeladat elvégzésével lehet szerezni. Max. 13 pont szerezhető az otthoni feladat emelt szintű részének megoldásával, amennyiben az otthoni feladat kötelező részét sikeresen és jó minőségben elvégezte a hallgató. Részpontszám is szerezhető a kijelölt bíráló értékelése alapján. A zárthelyin és a vizsgán plusz („csillagos”) IMSc feladatért max. 6-6 pont szerezhető, amennyiben a zárthelyi ill. a vizsga normál része jeles osztályzatú értékelést kapott. Az IMSc pontok megszerzése az IMSc programban nem résztvevő hallgatók számára is biztosított.