Digitális technika 2

A tantárgy angol neve: nincs megadva

Adatlap utolsó módosítása: 2021. november 4.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Villamosmérnök szak, alapképzés
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIIIAA05 2 2/1/1/v 6  
3. A tantárgyfelelős személy és tanszék Dr. Rácz György,
A tantárgy tanszéki weboldala https://www.iit.bme.hu/targyak/BMEVIIIAA05
4. A tantárgy előadója
  • Dr. Horváth Tamás
  • Dr. Pilászy György
  • Dr. Rácz György
5. A tantárgy az alábbi témakörök ismeretére épít

Számábrázolási módok, átváltás számrendszerek között

Logikai függvények

Kombinációs és sorrendi hálózatok 

Integrált áramköri építőelemek (multiplexer, dekóder, számláló, összeadó, komparátor)

6. Előtanulmányi rend
Ajánlott:
-
7. A tantárgy célkitűzése

A tárgy rendeltetése, hogy egyszerű példákon keresztül megadja mindazokat az alapfogalmi és rendszertechnikai alapismereteket, amelyek a mikroprocesszor és mikrokontroller alapú digitális berendezések logikai tervezési szintjén szükségesek. A tervezői szemlélet kialakítása érdekében az előadásokon gyakorlati példákat mutatunk és a hallgatók a házi feladatok révén tervezési részfeladatok önálló megoldásával mélyítik el a tananyagot. Ennek keretében

  • módszereket ismernek meg és készséget szereznek a mikroprocesszoros és mikrokontrolleres rendszerek analízisében és szintézisében,
  • egy mikrokontroller és egy assembly nyelv alapszintű megismerése révén olyan alapismereteket kapnak, amelyek birtokában további mikroprocesszor és mikrokontroller rendszerek megismerése és alkalmazása könnyen elsajátítható.
8. A tantárgy részletes tematikája

Előadások:

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).

10. hét: Aszinkron és szinkron soros adatátvitelek. UART, SPI.

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.

 

Gyakorlatok:

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.

3: Külső memória illesztése az előadáson definiált sínre.

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.

7: Vizsgagyakorlás

 

Laborok:

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)

 

 

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Heti 2 óra előadás és kéthetenként 2 óra gyakorlat tanulókörönkénti szervezésben, valamint 3x4 órás (plusz pótmérés) laboratóriumi foglalkozás.
10. Követelmények

a. A szorgalmi időszakban:

Három kis házi feladat elkészítése és beadása rendszeres időközökkel.

Az aláírás megszerzéséhez szükséges minimum kettő házi feladatban, egyenként az elérhető pontok 50%-ának megszerzése, illetve az előadásokon és gyakorlatokon való megfelelő számú részvétel, és a laborgyakorlatok teljesítése.

b. A vizsgaidőszakban:

A vizsga írásbeli. A vizsgán elérhető maximális pontszám 60, ebből 20 a belépő rész és 40 pont a nagyfeladatok megoldásával szerezhető meg. Az elégséges osztályzathoz a belépő kérdésekből legalább 12 pontot, a vizsgán összesen legalább 24 pontot kell elérni. A vizsgajegy a kapott pontszám alapján megállapításra.

A kreditpont megszerzésének feltétele legalább elégséges vizsgaosztályzat elérése.

c. Elővizsga: nincs

Minden egyéb kérdésében a TVSZ rendelkezései irányadók.

11. Pótlási lehetőségek A házi feladatok pótlására nincs lehetőség.
12. Konzultációs lehetőségek

A gyakorlatokon, vagy egyéni jelentkezés alapján az előadóknál, vagy a gyakorlatvezetőknél.


13. Jegyzet, tankönyv, felhasználható irodalom

Ajánlott:

  • A tárgy weblapján elérhető segédanyagok
  • Robert Bryan Reese, Bryan A. Jones, J. W. Bruce: Microcontrollers: From Assembly Language to C Using the PIC24 Family, Cengage Learning, 2014, ISBN: 1305076559, 9781305076556
  • D. M. Harris, S.L. Harris: Digital Design and Computer Architecture
  • dr. Gál Tibor: Digitális rendszerek I-II. Egyetemi jegyzet (J5-1429)
  • Dr. Selényi Endre - Benesóczky Zoltán: Digitális technika - Példatár, BME, Budapest, 1991
  • M. Morris Mano, Charles R. Kime: Logic and Computer Design Fundamentals, Prentice Hall, 2001, ISBN 0-13-031486-2
  • John F. Wakerly: Digital Design, Prentice Hall, 2001, ISBN 0-13-089896-1
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ákra42
Felkészülés laborfoglalkozásokra6
Házi feladat elkészítése16
Kijelölt írásos tananyag elsajátítása0
Vizsgafelkészülés60
Összesen180
15. A tantárgy tematikáját kidolgozta
Név:Beosztás:Tanszék, Int.:
Dr. Pilászy GyörgyEgyetemi docensIrányítástechnika és Informatika
Dr. Horváth TamásTudományos munkatársIrányítástechnika és Informatika
Dr. Rácz GyörgyEgyetemi adjunktusIrányítástechnika és Informatika
IMSc tematika és módszer A programban résztvevő hallgatóknak szeparált gyakorlatot tartunk. A gyakorlatok anyaga a törzsanyag szempontjából nem tér el a programban nem résztvevő hallgatókétól. Az eltérések az alábbiakban foglalhatók össze: alapszintű feladatokkal nem, vagy csak röviden foglalkozunk. A hallgatók több, ill. nagyobb mérnöki gondolkodást igénylő feladatot kapnak.
IMSc pontozás

IMSc pontokat a hallgatók csak a vizsgán szerezhetnek. A pontszerzés lehetősége mindegyik vizsgán adott. A pontszerzés feltételei:

  • A tárgy követelményeinek teljesítése során összesen 30 IMSc pont (IP) szerezhető.
  • Az IMSc pontokért a vizsgán 6 extra pont (XP) szerezhető, amelyekért külön feladatokat kell megoldani. A jegyek ponthatárát ezen plusz feladat nélkül határozzuk meg. A normál vizsgafeladatokra kapott pontszám (VP) és az extra feladatokra kapott pontszám (XP) alapján képezzük az IMSC pontot.
  • IP abban az esetben szerezhető, ha a hallgató a vizsgán jeles osztályzatot ért el.

 

A megszerzett IP-ok számítása az alábbiak alapján történik:

IP = (VP-51+XP)*2

Az IMSc pontok megszerzése a programban nem résztvevő hallgatók számára is biztosított.