Digitális technika 2
VIIIAA05 | Villamosmérnök BSc | Kredit: 6
A tantárgy célkitűzése
A tantárgy részletes tematikája
1. hét: Követelmények ismertetése, előzmények összefoglalása, ismétlés: vezérlés és adatszerkezet szétválasztás, aritmetika, előjel kezelés, előjel kiterjesztés, túlcsordulás kezelése.
2. hét: Általános célú végrehajtóegység felépítése funkcionális
elemekből.
ALU, PC, utasításdekóder, regiszter fájl, utasításmemória, adatmemória.
3. hét: Busz fogalma. Vezérlőbusz, címbusz, adatbusz. Tri-state fogalma. Időmultiplexálás. I/O és memóriatartomány.
4. hét: Memóriák bemutatása, használata, egyszerű memória interfészek (SRAM, ROM, PROM, EPROM, EEPROM, FLASH)
5. hét: Konkrét mikrokontroller bemutatása (CPU-mag és utasításkészlet), órajel, reset előállítása. Külső sín előállítása.
6. hét: Programozói modell bemutatása (regiszterstruktúra, utasításfelépítés, címzési módok). Aritmetikai és logikai műveletek, feltétel flag-ek és feltételes elágazások megvalósítása, példákkal.
7. hét: Memóriaszervezés, stack, pointerek és szubrutinhívás, paraméterátadás.
8. hét: Megszakításkezelés, környezet mentése/visszaállítása, egymásba ágyazott megszakítások, prioritások; Időzítési probléma tárgyalása: a SW időzítés és problémái. HW interrupt.
9. hét: Periféria fogalma. Címdekódolás. I/O portok, időzítők, időzítőn alapuló perifériák (Input capture, output compare, PWM).
11. hét: UART periféria működése és használata. Puffer kezelés, ellenőrző összeg számítás.
12. hét: Master, slave, arbitráció fogalma. DMA vezérlő. DMA vezérlő példa UART perifériával.
13. hét: Korszerű memóriaáramkörök (NVRAM, FRAM, MRAM, DRAM, DDRAM, NAND és NOR FLASH memóriák).
14. hét: Programozható logikák: PAL, GAL, CPLD, FPGA, CLC periféria.
1: Jelszintillesztések különböző feszültség logikák között, nyitott kollektoros áramkörök alkalmazása.
2: Egyszerű konstrukciós feladatok aritmetika, komparátor, számláló, multiplexer építő elemek felhasználásával. Többfunkciós aritmetikai egység tervezése.
4: Asm programozás alapjai, memóriamodell, egyszerű program elkészítése.
5: Egyszerű szubrutinok készítése, aritmetikai műveletek különböző méretű operandusokkal, ciklus szervezés, bin2hex átváltás kódolással és táblázattal.
6: I/O kezelés (gomb kezelés) programmal ellenőrzött készenléttel és megszakítással. Pergésmentesítés. Egyszerű vezérlési szekvencia mikrokontrolleres megvalósítása.
1: Mikrokontrolleres fejlesztői környezet kipróbálása, alapvető programfejlesztést és hibakeresést támogató funkciók használatának elsajátítása. Adott egyszerű aritmetikai műveletet végző kód lépésenkénti vizsgálata.
2: I/O kezelés mikrokontrolleres környezetben, portlábak figyelése, éldetektálás, impulzus előállítás szoftveres időzítéssel. Léptető regiszter feltöltése az elkészített rutinokkal (szoftveres SPI – 7 szegmens kijelző kezelés).
3: Komplex mikrokontroller alapú feladat megoldása (megszakításkezelés, perifériakezelés, timer használata)