Beágyazott információs rendszerek
A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
Beágyazott információs rendszerek
Embedded Information Systems
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIMIAD04 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | félévközi érdemjegy | ||||||||||||
| Tantárgy kreditértéke | 5 | ||||||||||||
| Tantárgyfelelős |
DR. Kovácsházy Tamás
beosztás: egyetemi docens
elérhetőség:
kovacshazy.tamas@vik.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
Mesterséges Intelligencia és Rendszertervezés Tanszék
|
||||||||||||
| Kar | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Tantárgy weboldala | https://www.mit.bme.hu/oktatas/targyak/vimiad04 | ||||||||||||
| Tantárgy elsődleges mintatantervi jellege | — | ||||||||||||
| Közvetlen előkövetelmények – Erős előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Gyenge előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Párhuzamos előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Mérföldkő előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Kizáró feltétel | nincs |
Célkitűzés
1. hét: Bevezetés. A beágyazott rendszerek alkalmazásai, alkalmazási példák. A beágyazó fizikai környezet jellegzetes tulajdonságai, az azokból származó speciális követelmények. Valós-idejű (real-time) rendszer és biztonságkritikus rendszer fogalmak bevezetése, és az azokkal kapcsolatos HW és SW elvárások, következmények. Kiberfizikai rendszer koncepció. A beágyazott rendszer, mint erőforrás korlátozott környezet, erőforrásokkal történő hatékony gazdálkodás, beleértve az energiát (low-power).
2. hét: A beágyazott információs rendszerek jellegzetes rendszerarchitektúrái, komponensek, elosztott beágyazott rendszerek. Fizikai kapcsolat a külvilággal (interdiszciplináris, multidomén, pl. mechanika, fizika, kémia, biológia, stb.), szenzorok és beavatkozók, humán interfész (user interface, szerviz interfész, stb.). Kapcsolat a fizikai beágyazó környezettel rendszerszinten, ANSI/IEC 60529-2004 és MIL-STD-810. Fizikai beágyazó környezetből származó információ jellegzetes tulajdonságainak elemzése.
3. hét: A beágyazott rendszerekben alkalmazott végrehajtó egységek. Mikrovezérlők, alkalmazás processzorok, azok összehasonlítása a mobil, asztali (desktop) és szerver processzorokkal. Homogén és heterogén többprocesszoros rendszerek és SW támogatásuk, rendszerchipek (System on a Chip, SoC). Memória alrendszer, fizikai memória és virtuális tárkezelés, cache szerepe beágyazott környezetben, Linux példákkal. Spekulatív végrehajtás és a memória alrendszer hatása a végrehajtási időre, worst-case végrehajtás fontosságának kiemelése.
4. hét: Jellegzetes beágyazott perifériák és azok alkalmazásai. GPIO, A/D és D/A, I2C/SPI/I2S buszok, timerek. GPIO alkalmazásai, jelszint-illesztési megoldások nagyteljesítményű perifériák vezérlésére. Jel-integritás és elektromágneses-interferencia elkerülésének a fontossága.
5. A beágyazott rendszerek tipikus szoftver komponensei, periféria könyvtárak és Board Support Package (BSP), beágyazott operációs rendszer (típusaik, típusra jellegzetes felépítésük), köztes rétegek (middleware). Beágyazott Linux és FreeRTOS összehasonlítása, használati-esetek. Beágyazott virtualizáció különböző formái és megvalósítása Linux példákkal.
6. hét: Periféria kezelés tipikus SW megoldásai, GPIO, A/D és D/A átalakító, I2C/SPI/I2S chipek közötti kommunikációs megoldások SW alrendszerei beágyazott Linux-ban. Jellegzetes beágyazott perifériák bemutatása és kezelése magas szinten (user-space). A user-space és kernel-space beágyazott periféria kezelése összehasonlítása, elemzése. A kernel programozás előnyei és hátrányai, kerülésének indokai.
7. hét: Polling és interrupt alapú perifériakezelés, és azok összehasonlítása, jellegzetességeik ezek megjelenése a beágyazott Linux-ban. Valós-idejű periféria kezelés megoldásai, elemzése és vizsgálata. Esemény-vezérelt szoftver architektúrák, és azok megjelenése a Linux operációs rendszerben. Esemény-vezérelt és többszálú programozás mintái (select, poll rendszerhívások), szálak közötti szinkronizáció a gyakorlatban, közös erőforrások kezelése.
8. hét: Ütemező, ütemező választás, ütemező befolyásolása, valós-idejű ütemezés. Folyamatok és szálak használata és alkalmazásának a következményei. Rendszerindítás és folyamatmenedzsment alapjai (systemd és alternatívái, hosszú távú ütemezés).
9. hét: Hálózatba kapcsolt beágyazott rendszerek, szenzorhálózatok, biztonságkritikus és valós-idejű működés nehézségei elosztott rendszerekben. Elosztott rendszerek idő-vezérelt működése, az idő-vezérelt működés összehasonlítása az esemény-vezérelt megközelítéssel. Valós-idejű kommunikációs megoldások beágyazott rendszerekben.
10. hét: Idő kezelése elosztott rendszerben, óra- és frekvencia szinkronizáció problémái, szükségessége és megoldásai. Globális óraszinkronizáció (GNSS). Network Time Protocol (NTP) működése és korlátai. Óraszinkronizáció a telephelyen (pl. lokális hálózatban), IRIG és IEEE 1588, valamint annak a profiljai.
11. hét: Időérzékeny hálózatok (Time-Sensitive Networks, TSN), alapműködés, szolgáltatások. Valós-idejű köztesrétegek, alkalmazási réteg protokollok beágyazott információs rendszerekben. Publish-Subscribe megoldások és azok vizsgálata biztonságkritikus, valós-idejű beágyazott rendszerekben. MQTT és a valós-idejűség, OPC-UA és annak a TSN leképzése, Data Distribution Service (DDS).
12. hét: Heterogén többprocesszoros rendszerek alkalmazástechnikája, aszimmetrikus többprocesszoros rendszerek ütemezése. Edge rendszerek, edge és cloud kapcsolata. Edge compute HW és SW lehetőségei, számábrázolás hatása a számítási teljesítményre és a fogyasztásra. MI Edge Compute esettanulmány.
13. hét: Beágyazott rendszerek fejlesztése, hibakeresés beágyazott rendszerekben. Keresztplatformos fejlesztés, programletöltés és program nyomkövetése beágyazott rendszerekben. Oszcilloszkóp és logikai analizátor alkalmazása szoftver hibakeresés során, műszere programozott elérése esettanulmány.
A laborok részletes tematikája
1. hét: A laborok során használt fejlesztőkörnyezettel történő ismerkedés.
2. hét: Ismerkedés a valós-idejűség fogalmával Linux alatt egyszerű példaprogramokon keresztül, teljesítmény vizsgálat.
3. hét: Tárkezelés, és azon belül is a virtuális tárkezelés tulajdonságaival történő ismerkedés Linux alatt, memória alrendszer hatása a valós-idejűségre, teljesítmény vizsgálat.
4. hét: GPIO és A/D periféria villamos tulajdonságainak a vizsgálata kész szoftver felhasználásával.
5. hét: I2C periféria villamos működésének a vizsgálata kész szoftverrel.
6. hét: GPIO periféria interfész programozása beágyazott Linux alatt, a különböző megoldások időzítési viszonyainak vizsgálata.
7. hét: Eseménykezelés (pl. poll() rendszerhívás) és többszálú programozás mintáinak vizsgálata beágyazott alkalmazásban.
8. hét: Linux ütemezés befolyásolása, a valós-idejű ütemezési osztályok használata, és azok alkalmazásának hatása GPIO kezelés esetén.
9. hét: Rendszerindítási folyamat vizsgálata, egyszerű systemd script készítése beágyazott Linux program indítására.
10. hét: Beágyazott alkalmazási-réteg protokollok vizsgálata valós-idejűség szempontjából (MQTT és DDS összehasonlítása), késleltetés mérés az alkalmazási rétegben.
11. hét: Időkezelés Linux alatt, Linux rendszerórák és timerek használata. Időbélyegek kezelése.
12. hét: NTP és IEEE 1588 óraszinkronizációs megoldások a gyakorlatban.
13. hét: RemoteProc és RPMsg alkalmazása heterogén többprocesszoros környezetben egyszerű példával.
Tanulmányi eredmények
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Tudás
Nincsenek rögzített tanulási eredmények.
Képességek
Nincsenek rögzített tanulási eredmények.
Attitűd
Nincsenek rögzített tanulási eredmények.
Autonómia és felelősség
Nincsenek rögzített tanulási eredmények.
Oktatási módszertan
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Szorgalmi időszakban végzett teljesítményértékelések részaránya
Nincs megadva részarány.
Vizsgaidőszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Vizsgarészek részaránya
Nincs megadva részarány.
Érdemjegy megállapítása
Nincs megadva érdemjegy határ.
Jelenléti és részvételi követelmények
Nincs megadva jelenléti követelmény.
Javítás, ismétlés és pótlás különös szabályai
Nincs megadva.
Rövid leírás
Nincs megadva.
Részletes leírás
Ajánlott tantárgyak
Nincs megadva.
A tantárgy elvégzéséhez szükséges tanulmányi munka
Nincs megadva munkaidő bontás.
Tantárgykövetelmények hatályossága
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.