6. Tétel — Szekvenciális logikai hálózatok és webes technológiák
Ez a tétel két nagyobb témakört fed le: a szekvenciális logikai hálózatokat (tárolók, számlálók, léptető regiszterek, memóriák), valamint a webes technológiákat (HTML5, CSS3, JavaScript vezérlési szerkezetek, szenzorleolvasás és távoli felügyeleti rendszerek).
Témák
I. Témakör: Digitális rendszerek és szekvenciális hálózatok
- Szekvenciális logikai hálózatok: Tárolók
- Számlálók
- Léptető regiszterek
- Memóriák
II. Témakör: Webes technológiák (HTML5, CSS3), Scriptvezérlés, Szenzorleolvasás és Távoli Felügyeleti Rendszerek
- A HTML5 új elemei
- A CSS3 új lehetőségei
- Vezérlési szerkezetek web scriptben
- Szenzorleolvasás webfelületen keresztül
- Távoli felügyeleti rendszerek megvalósítása webfelületen
I. Témakör: Digitális rendszerek és szekvenciális hálózatok
1. Bevezetés: Szekvenciális logikai hálózatok fogalma és elhatárolása a kombinációs hálózatoktól
A digitális rendszerek logikai hálózatait alapvetően két nagy csoportra oszthatjuk: kombinációs és szekvenciális hálózatokra. A kettő közötti legélesebb különbség a memória, vagyis a belső állapot tárolásának képességében rejlik.
- Kombinációs hálózatok: Ezek memóriamentes áramkörök. Kimenetük kizárólag a bemenetek pillanatnyi, aktuális értékétől függ. Ha a bemenet megváltozik, a kimenet szintén megváltozik, de a rendszernek nincs "emlékezete" a korábbi bemeneti értékekről. Tipikus példák a logikai kapuk, összeadók, multiplexerek.
- Szekvenciális hálózatok: Ezzel szemben a szekvenciális hálózatok kimenete nemcsak a bemenetek aktuális állapotától, hanem a hálózat belső, tárolt állapotától is függ. Ez a belső állapot a múltbeli bemeneti sorozatok eredményeként alakult ki. A működés kulcsa a visszacsatolás, amelynek során a hálózat kimeneti jeleit vagy belső állapotait visszavezetjük a bemeneti logikába, lehetővé téve az információ tárolását. Ezen tárolóelemek alkotják a rendszer memóriáját.
2. Tárolók
- Aszinkron tárolók: Ezek szintvezérelt elemek, ami azt jelenti, hogy amíg a vezérlőjel (engedélyező bemenet) aktív, a kimenetük folyamatosan követi a bemeneti változásokat. A legegyszerűbb az SR-latch, amely két keresztbe kötött NOR vagy NAND kapuból épül fel. Két bemenete a Set (S) és a Reset (R). Az S=1 beállítására a tároló 1-be, R=1-re 0-ba billen. Az S=1, R=1 kombináció tiltott állapot, mivel a kimenet viselkedése nem definiált.
- Szinkron tárolók: Ezek élvezérelt elemek, ami a gyakorlatban sokkal stabilabb működést garantál. A bemeneti értékeket csak egy központi órajel felfutó vagy lefutó élének pillanatában veszik át, és ezt az állapotot a következő órajel-élig stabilan tartják.
- D (Data) flip-flop: A legegyszerűbb szinkron tároló. Az órajel aktív élénél a D bemeneten lévő logikai érték megjelenik a Q kimeneten.
- T (Toggle) flip-flop: A T bemenet vezérli, hogy a tároló váltson-e állapotot. Ha T=1, az órajel élére a kimenet az ellenkezőjére vált. Ha T=0, az állapot változatlan marad.
- JK flip-flop: A legsokoldalúbb tároló. Két bemenete, J és K, az SR-latch Set és Reset funkcióihoz hasonlóan működik, de kiküszöböli a tiltott állapotot.
- J=0, K=0: Az órajelre az állapot nem változik (tartás).
- J=0, K=1: Az órajelre a kimenet 0 lesz (Reset).
- J=1, K=0: Az órajelre a kimenet 1 lesz (Set).
- J=1, K=1: Az órajelre a kimenet az előző állapot ellenkezőjére vált (váltó üzemmód).
3. Számlálók (Counters)
A számlálók flip-flopok összekapcsolásával létrehozott szekvenciális áramkörök, amelyek előre meghatározott sorrendben lépkednek a különböző állapotok között, jellemzően órajel-impulzusok hatására.
- Aszinkron (Ripple) számlálók: Itt csak az első flip-flop kapja a külső órajelet. Minden további flip-flop órajelét az előző flip-flop kimenete vezérli. Előnye az egyszerű felépítés, hátránya viszont a jelentős terjedési késleltetés, mivel az állapotváltás végig "gyűrűzik" a láncon, ami korlátozza a maximális működési frekvenciát.
- Szinkron számlálók: Itt minden flip-flop ugyanazt a központi órajelet kapja. Azt, hogy egy adott flip-flopnak váltania kell-e, egy kombinációs logikai hálózat dönti el a J, K vagy T bemenetek vezérlésével. Bonyolultabb a felépítésük, de sokkal gyorsabbak és megbízhatóbbak, mivel minden állapotváltás egyszerre, az órajel élére történik.
- Modulo-N számlálók: Olyan számlálók, amelyek N állapotot tudnak megkülönböztetni (0-tól N-1-ig számolnak), majd a ciklus újraindul. Például egy modulo-10 számláló 0-tól 9-ig számol.
- Fel/Le (Up/Down) számlálók: Egy irányvezérlő bemenet segítségével eldönthető, hogy a számláló növelje vagy csökkentse a belső értékét az órajel hatására.
4. Léptető regiszterek
A léptető regiszterek olyan több bites tároló egységek, amelyek flip-flopok láncolatából állnak, és képesek a bennük tárolt bináris adatokat az órajel ütemére bitenként eltolni (léptetni) a szomszédos cellák felé.
Főbb típusok:
- SISO (Serial-In, Serial-Out): Soros bemenetű, soros kimenetű regiszter. Az adatok bitenként érkeznek be, és bitenként távoznak. Késleltetési vonalakként és soros adatátviteli pufferként használatos.
- SIPO (Serial-In, Parallel-Out): Soros bemenetű, párhuzamos kimenetű regiszter. Soros adatfolyamot alakít át párhuzamos byte-tá.
- PISO (Parallel-In, Serial-Out): Párhuzamos bemenetű, soros kimenetű regiszter. Párhuzamos adatokat olvas be egyszerre, majd soros bitfolyamként továbbít.
- PIPO (Parallel-In, Parallel-Out): Párhuzamos bemenetű, párhuzamos kimenetű regiszter. Ideiglenes adattárolásra, ALU regiszterekként alkalmazzák.
5. Memóriák (Memory Arrays)
A digitális rendszerekben a memóriák nagyméretű, strukturált tárolóhálózatok, amelyek tömeges adatok megőrzésére szolgálnak. Címzés alapján teszik lehetővé az olvasási és írási műveleteket.
Főbb memóriatípusok:
- RAM (Random Access Memory): Írható és olvasható, illékony memória; a tárolt adatok a tápfeszültség megszűnésekor elvesznek.
- SRAM (Static RAM): Flip-flop alapú cellákból épül fel. Gyors, de drága és nagy helyigényű.
- DRAM (Dynamic RAM): Tranzisztor és kondenzátor kombinációjából álló cella. Olcsó, nagy sűrűségű, de folyamatos frissítést igényel.
- ROM (Read-Only Memory): Csak olvasható, nem illékony memória. Tartalmát a gyártás során vagy speciális programozóval rögzítik. Változatai: PROM, EPROM, EEPROM, Flash memória.
II. Témakör: Webes technológiák (HTML5, CSS3), Scriptvezérlés, Szenzorleolvasás és Távoli Felügyeleti Rendszerek
1. A HTML5 új elemei
A HTML5 (HyperText Markup Language 5) a világháló standard jelölőnyelvének modern verziója, amely radikálisan kiterjesztette a webes alkalmazások képességeit, feleslegessé téve a korábbi külső beépülő modulokat.
Strukturális elemek: A korábbi, <div> alapú "korszak" helyett a HTML5 egyértelmű, beszédes címkéket vezetett be a főbb oldalszerkezeti egységekre:
<header>: A bevezető tartalmak (pl. logó, főcím, navigáció) gyűjtőhelye.<footer>: Az oldal vagy egy szekció lábléce, amely jellemzően szerzői jogi információkat, kapcsolati adatokat tartalmaz.<main>: Az oldal központi, egyedi tartalma. Egy dokumentumban csak egy main elem lehet.<nav>: A fő navigációs linkek csoportosítására szolgál.<section>: A dokumentum egy tematikus csoportját jelöli, amelynek általában saját címsora van.<article>: Önálló, önmagában is értelmezhető tartalmi egységet definiál, mint egy blogbejegyzés, fórumposzt vagy újságcikk.<aside>: Olyan tartalmat jelöl, amely lazábban kapcsolódik a körülötte lévő tartalomhoz.
2. A CSS3 új lehetőségei
A CSS3 (Cascading Style Sheets 3) a stíluslapok modularizált fejlesztési formája, amely függetlenné tette a vizuális megjelenítést a tartalomtól, és modern tervezési eszközöket adott a fejlesztők kezébe.
Főbb új lehetőségek:
- Modern elrendezési modellek (Layouts):
- Flexbox (Flexible Box Module): Egyirányú elrendezési rendszer, amely rendkívül hatékonyan kezeli az elemek elosztását, igazítását és sorrendjét egy adott tengelyen.
- CSS Grid Layout: Kétirányú rács alapú elrendezési rendszer, amely komplex webes keretrendszerek nélkül teszi lehetővé precíz weboldalstruktúrák kialakítását.
- Vizuális effektek és díszítések: Lekerekített sarkok, árnyékok elemeken (és szövegeken is), valamint átlátszóság.
- Transzformációk, Átmenetek és Animációk:
- Transitions: Sima vizuális átmenetet biztosít két CSS-állapot között (pl. gombszín változás hover hatásra).
- Transforms: Elemek elforgatása, skálázása, eltolása 2D-ben vagy 3D-ben.
- Animations & Keyframes: Komplex, időzített, több lépéses animációk definiálása tiszta CSS-ben.
- Reszponzív Webdesign (RWD) és Media Queries: A media szabályok segítségével a stíluslapok képesek alkalmazkodni a képernyő felbontásához, méretéhez vagy orientációjához.
3. Vezérlési szerkezetek web scriptben (JavaScript)
A webes scriptnyelv, a JavaScript teljes körű programozási logikát biztosít a böngészőben futó alkalmazások számára. A vezérlési szerkezetek szabályozzák a kód futásának irányát:
- Feltételes elágazások:
if...elseés a többszörös elágaztatásra szolgálóswitch...caseszerkezetek.feltétel ? igaz_ág : hamis_ág: rövidített feltételekhez.
- Ciklusok:
- Hagyományos számlálós ciklus:
for (let i = 0; i < 10; i++) { ... }. - Feltételes ciklusok:
whileésdo...while. - Kollekciók iterálására:
for...of(tömbök elemeihez) ésfor...in(objektumok kulcsaihoz).
- Hagyományos számlálós ciklus:
- Aszinkron vezérlés: A modern webalkalmazások alapja az aszinkron kommunikáció, amely lehetővé teszi adatok háttérben történő lekérdezését a szerverről az oldal újratöltése nélkül.
- AJAX (Asynchronous JavaScript and XML): A
XMLHttpRequestobjektummal megvalósított technológia, amely a háttérben képes HTTP kéréseket küldeni és fogadni. - Fetch API: Az AJAX modernebb, ígéret (Promise) alapú alternatívája, amely egyszerűbb és rugalmasabb szintaxist biztosít a hálózati kérések kezelésére.
- AJAX (Asynchronous JavaScript and XML): A
4. Szenzorleolvasás webfelületen keresztül
A modern IoT (Internet of Things) rendszerekben elterjedt igény, hogy a fizikai környezet adatait közvetlenül egy webes felületen jelenítsék meg és dolgozzák fel.
Fizikai réteg (Szenzor és Mikrokontroller)
- Adatgyűjtés: A folyamat egy fizikai szenzorral indul, amely az érzékelt környezeti fizikai mennyiséget mérhető jellé alakítja.
- Jelfeldolgozás: A szenzor analóg vagy digitális jelét egy mikrokontroller olvassa be különféle hardveres interfészeken keresztül.
- Előkészítés: A mikrokontroller feladata a nyers szenzoradatok helyi szintű feldolgozása, valamint azok hálózati továbbításra való előkészítése.
Logikai réteg (Szerver és API)
- Adattovábbítás: A mikrokontroller egy hálózati protokollon keresztül továbbítja a feldolgozott adatokat egy központi szervernek. Ez történhet hagyományos protokollon alapuló kérésekkel egy alkalmazásprogramozási interfész végpontján keresztül, vagy egy dedikált, kis sávszélességű, IoT-specifikus üzenetkezelési protokoll alkalmazásával.
- Szerveroldali kezelés: A szerveroldali szoftveres környezet fogadja, ellenőrzi és validálja az adatokat, majd egy relációs vagy nem-relációs adatbázisban tárolja azokat.
- Interfész biztosítás: A szerver egy szabványos programozási interfészt (API) biztosít, amelyen keresztül a kliensek lekérdezhetik a tárolt adatokat. A kommunikáció kiterjedhet kétirányú, valós idejű kapcsolatot biztosító protokollokra is a szerver és a kliens között.
Prezentációs réteg (Webes Kliens)
- Kliensoldali kérés: A felhasználó a böngészőjében megnyitja a grafikus felületet biztosító dokumentumot, amelynek kliensoldali programkódja aszinkron hálózati kéréseket intéz a szerver API-jához a legfrissebb szenzoradatok beszerzése érdekében.
- Megjelenítés: A szerver által visszaküldött adatokat (jellemzően strukturált formátumban) a kliens feldolgozza, majd a dokumentumobjektum-modell programozói felületén keresztül dinamikusan frissíti a felhasználói felület elemeit.
- Időzítés: Ez a lekérdezési és frissítési ciklus periodikusan, ütemezetten ismétlődik, ezáltal biztosítva a szenzorok állapotának közel valós idejű megjelenítését a felhasználó számára.
5. Távoli felügyeleti rendszerek megvalósítása webfelületen
A távoli felügyeleti rendszerek (SCADA / IoT Dashboards) lehetővé teszik ipari vagy otthoni berendezések távoli monitorozását és vezérlését egy böngészőn keresztül.
- A rendszer kétirányúvá tehető. A webes felületen elhelyezett gombokkal a felhasználó eseményeket indíthat.
- Egy gombnyomásra a JavaScript egy POST kérést küld egy másik API végpontra.
- A szerver fogadja a parancsot, és egy megfelelő mechanizmuson keresztül továbbítja azt a cél mikrokontrollernek, amely végrehajtja a kért műveletet.
Hasznosnak találtad ezt a tételt?
Ezek a kidolgozások minden hallgató számára ingyenesek. Ha időt spóroltál vele, fontold meg egy borravaló hagyását.
☕ Hívj meg egy kávéra