- A kódoló alapelve:
- Kódolók készítése kombinációs logikai tervek segítségével
- 8: 3 kódolók:
- A normál kódolók hátránya:
- Prioritás kódoló:
A kódolók, amint a neve is sugallja, egy nagyobb információt bitbe kódolnak kisebb bit értékbe. A kódolóknak sokféle típusa van a be- és kimenetek száma, valamint a működése alapján. De minden kódolónak egy alapszabálya van, a kódoló kimeneti sorainak száma mindig kevesebb lesz, mint a bemeneti sorok száma. Ebben a cikkben többet megtudhatunk a kódolókról, arról, hogy mi az a kódoló, hogyan és miért használják őket a digitális áramkörökben.
A kódoló alapelve:
Képzeljünk el egy kódolót egy fekete doboznak, amint az alábbiakban látható, amely varázslatosan csökkenti a bemeneti sorok számát 4-ről csak 2 kimeneti sorra, de továbbra is ugyanazt az információt szolgáltatja adatvesztés nélkül.
Először határozzuk meg, hogy mi legyen ennek a kódolónak a neve. Négy bemenettel és két kimenettel rendelkezik, így ennek az Encodernek a neve 4: 2 Encoder lesz. Ha egy kódolónak „ n ” kimeneti sora van, akkor a bemeneti sorok száma 2 lesz n, esetünkben a kimeneti vonalak száma kettő (n = 2), ezért a bemeneti sorok számának (2 2 = 4) négynek kell lennie, pontosan így van. A négy bemeneti érintkező I0-tól I3-ig, a két kimeneti tű O0-tól O1-ig van jelölve
Tehát hogyan alakíthatja az Encoder négy jelet ketté, meg lehet érteni, ha megnézzük az alábbi igazságtáblát. Fontos tudni azt is, hogy az itt bemutatotthoz hasonló közönséges kódolónak van olyan szabálya, hogy adott időben csak egy bemeneti tűnek kell magasnak lennie, így a következő igazságtáblázatban csak egy bemenet lesz magas.
A kimenet minden lehetséges feltételét a fenti igazságtáblázat mutatja. Például, ha csak O1 magas (1), és az összes többi bemenet alacsony (0), akkor mindkét kimeneti tüske alacsony lesz (0). Minden esetben hasonlóan a kimeneti csapok is megváltoztatják az állapotát. Ennek a kimeneti bit állapotnak a használatával a felhasználó visszavezetheti, hogy milyen bemeneti jelet kapott volna az Encoder.
Oké, mi a divat, ha 4 sort 2 sorra konvertálunk, miért is van rá szükségünk?
A megértés érdekében elmagyaráztunk egy 4: 2 kódolót, de vannak más kódolók is, amelyek nagyobb számú bemenetet képesek átalakítani alacsonyabb kimenetekre, mint például a 8: 3 kódoló, 16: 4 kódoló stb. A kódoló nagyon hasznos, ha csökkentenünk kell az MCU / MPU-n használt csapok számát, vagy csökkentenünk kell a jelet továbbító vezetékek számát a PLC-ben és más rendszerekben, ahol kapcsoló vagy LED tömb található. Kisebb vezetékek használatával is hatékony adatátvitelre használják. Bizonyos alkalmazásokban előfordulhat olyan helyzet, hogy egynél több bemenet lehet magas (1), ebben az esetben valami Priority Encoder nevet fogunk használni, amelyet ebben a cikkben tovább megvitatunk.
Kódolók készítése kombinációs logikai tervek segítségével
Most, hogy tudjuk, hogyan működik az Encoder és hol használják. Tanuljuk meg, hogyan építsünk ilyet egyszerű logikai kapuk segítségével. Bár az olyan kódolók, mint a 8: 3, tiszta egycsomagú IC- ként érhetők el, mint az SN74LS148, fontos tudni, hogyan épülnek fel, hogy egyedi kódolókat készítsünk projektjeinkhez a szükséges igazságtábla alapján.
Logikai kifejezés:
A kombinációs logikai eszköz megtervezésekor az első az, hogy megtalálja az igazságtáblázat logikai kifejezését. Nagyon egyszerű, és egyszerűen meg lehet állapítani, ha megnézzük az igazságtáblát. Ugyanaz az igazságtáblázat, amelyet korábban láttunk, alább látható néhány illusztrációval, hogy jobban megértsd.
A kifejezések száma megegyezik a kimeneti sorok számával, itt két kimenetünk van, ezért két kifejezésünk van. Az első O0 kimenetnél csak ellenőrizze, hogy melyik állapotban van magas (1), és kövesse a megfelelő bemeneti tű számát, amely szintén magas marad (1). Hasonlóképpen, az O0 összes nagy értéke esetén jegyezze meg, melyik bemeneti pin száma magas, és adja hozzá a csapokat. Az O0 kimeneti tűnek megfelelő bemeneti tüskék fent piros színnel, O1 esetén kék színnel vannak kiemelve. Tehát az O0 és O1 kifejezése az lesz
O 1 = I 3 + I 2 O 0 = I 3 + I 1
4: 2 kódoló áramkör diagram:
Miután megszereztük a Boole-kifejezést, csak meg kell rajzolnunk Gates formájában. Mivel összeadás (+) műveletünk van, az OR kapukat fogjuk használni áramköreink felépítéséhez. Egyszerűsítheti vagy módosíthatja a logikai kifejezést az Ön igényeinek megfelelően. A fenti kifejezés kapcsolási rajza az alábbiakban látható
Az áramkör könnyen felépíthető egy 7432 OR kapu IC segítségével. A kódoló áramkört egy kenyérlapra építettem, az alábbiak szerint
A négy bemeneti vonalat (I0, I1, I2 és I3) a négy nyomógomb biztosítja, amikor a gombot lenyomják, + 5 V csatlakozik a csaphoz, logikussá téve azt 1, és ha a gombot nem nyomják meg, akkor a csapot a földhöz tartják 10k lehúzható ellenálláson keresztül, hogy logikussá váljon. A kimenetek (O0 és O1) vörös LED párral vannak ábrázolva. Ha a LED világít, az azt jelenti, hogy a kimeneti logika 1, és ha ki vannak kapcsolva, akkor ez azt jelenti, hogy a kimeneti logika 0. A kódoló áramkör teljes működését az alábbi videó mutatja.
Amint láthatja az első gomb megnyomásakor, az I0 bemenetet magasra teszik, így mindkét kimenet alacsony marad. A második gomb megnyomásakor az I1 bemenet bekapcsol, és így az egyik LED magasra emelkedik, jelezve, hogy az O0 magas. Végül a negyedik gomb megnyomásakor az I3 bemenet magasra kerül, és így mindkét LED magasra emelkedik. Ez egy nagyon egyszerű áramkör, ezért könnyen felépítettük egy kenyérlapra, de a praktikus kódolók számára az áramkör kissé összetettebb lesz. Az enkóderek azonban IC-csomagként is elérhetőek, amelyeket megvásárolhatunk, ha az megfelel a projektünknek.
8: 3 kódolók:
A 8: 3 kódoló működése és használata szintén hasonló a 4: 2 kódolóhoz, kivéve a bemeneti és kimeneti csapok számát. A 8: 3 kódolót oktális és bináris kódolóként is hívják. Az alábbiakban látható egy 8: 3 kódoló blokkvázlata
Itt a kódolónak 8 bemenete és 3 kimenete van, ismét csak egy bemenet legyen magas (1) adott pillanatban. Mivel 8 bemenet van, oktális bemenetnek hívják, és mivel három kimenet van, bináris kimenetnek is hívják. Az Encoder igazságtáblázata alább látható.
8: 3 kódoló igazság táblázata:
Logikai kifejezés:
Mivel kimeneteink vannak, három kifejezésünk lesz, az alábbiak szerint
O 2 = I 7 + I 6 + I 5 + I 4 O 1 = I 7 + I 6 + I 3 + I 2 O 0 = I 7 + I 5 + I 3 + I 1
8: 3 kódoló áramkör diagram:
Amint a logikai kifejezést megkapjuk, mint mindig, elkészíthetjük az áramköri ábrát az OR kapuk segítségével, az alábbiak szerint.
Az áramkör 4 bemenetű VAGY kapu IC-t használ, egyszerűsítheti a Boole-kifejezést más normál 2 bemeneti kapu IC-k használatára is.
A normál kódolók hátránya:
Az ilyen típusú kódolók a következő fő hátrányokkal küzdenek
- Ha egyik bemenet sem magas, akkor a kimenet nulla lesz, de ez a feltétel ütközik azzal is, hogy az első bit magas (MSB). Ezért mindig ügyelni kell arra, hogy legalább egy bit mindig BE legyen kapcsolva
- Ha egynél több bemenet van magasan, a kimenet összeomlik, és bármelyik bemenet eredményét eredményezheti, ami zavart okoz.
E nehézségek leküzdésére egy másfajta kódolót használunk, az úgynevezett Priority Encoder-t, amely egy további kimenetet használ annak megállapítására, hogy a kimenet érvényes-e, és ha egynél több bemenet segít magasan, akkor csak az LSD-ből kiinduló magasat vesszük figyelembe, figyelmen kívül hagyva a többi bemenetet.
Prioritás kódoló:
Elemezzünk példaként egy 4: 2 prioritású kódolót, hogy megértsük, miben különbözik a normál kódolótól, és képes leküzdeni a fent említett két hátrányt. A 4: 2 prioritású kódoló blokkvázlata az alábbiakban látható
A 4: 2 prioritású kódolónak szintén van 4 bemenete és 2 kimenete, de hozzáadunk egy másik V nevű kimenetet, amely érvényes bitet jelent. Ez az érvényes bit ellenőrzi, hogy mind a négy bemeneti tű alacsony (0)-e, ha alacsony, akkor a bit is alacsonyra teszi magát, kijelentve, hogy a kimenet nem érvényes, így leküzdhetjük a fent említett első hátrányt.
4: 2 prioritású kódoló igazságtáblázata:
A következő hátrány elkerülhető azáltal, hogy elsőbbséget adunk az MSB biteknek, az Encoder ellenőrzi az MSB-től, és amint megtalálja az első olyan magas bitet (1), ennek megfelelően generálja a kimenetet. Tehát nem számít, hogy a többi csap magas vagy alacsony. Ezért az alábbi igazságtáblázatban az 1-es érték elérésekor az „X” jelzi a nem érdekel értékeket.
Logikai kifejezés:
Most három kifejezést kell levezetnünk, amely O0, O1 és V-re vonatkozik. Mivel az igazságtáblázat nem törődik az elemekkel, ehhez a K-map metódust kell használnunk a Boole-kifejezés levezetésére. Nem foglalkozunk azzal, hogy miként lehet megoldani a K-térképeket, mivel ez nem tartozik a cikk hatálya alá. De a Térkép az alábbiakban látható, hogy beavatkozhasson és saját maga tanulhasson.
A fenti térképeken a bal O1-re, a jobb O0-ra vonatkozik. A kimeneti sorokat y, a bemeneti sorokat x. Tehát az egyenlet ennek megfelelő elrendezése a következőket fogja kapni.
O 1 = I 3 + I 2 O 0 = I 2 I 1 '+ I 3
Hasonlóképpen, az érvényes „V” bit esetében a logikai kifejezés megadható
V = I 3 + I 2 + I 1 + I 0
Kördiagramm:
Ennek a projektnek a kapcsolási rajza elkészíthető a logikai kifejezések segítségével.
Az áramkör felépíthető az alap NOT, AND és OR kapuk használatával. Itt az O0 és O1 biteket tekintjük kimeneteknek, míg az V bitet használjuk a kimenet érvényesítésére. Csak akkor, ha az V bit magas, a kimenetet akkor vesszük figyelembe, ha V értéke alacsony (0), a kimenetet figyelmen kívül kell hagyni, mivel ez azt jelenti, hogy az összes bemeneti tű nulla.