- Basisprincipe van decoder:
- Nadelen van standaard decoders:
- Prioriteitsdecoder:
- 3: 8 decoders:
- 4:16 Decoder:
- Toepassingen:
Decoder is een type combinatiecircuit dat een kleine bitwaarde decodeert in een grote bitwaarde. Het wordt normaal gesproken gebruikt in combinatie met encoders die precies het tegenovergestelde doen van wat een decoder doet, dus lees hier over Encoders voordat u verder gaat met Decoders. Net als Encoders zijn er ook vele soorten Decoders, maar het aantal outputlijnen in een decoder zal altijd meer zijn dan het aantal inputlijnen. In deze tutorial zullen we leren hoe een decoder werkt en hoe we er een kunnen bouwen voor ons project.
Basisprincipe van decoder:
Zoals eerder verteld, is de decoder slechts een tegendeel van een encoder. Het neemt een bepaald aantal binaire waarden als invoer en decodeert vervolgens in meer regels met behulp van logica. Hieronder ziet u een voorbeelddecoder die 2 lijnen als invoer gebruikt en deze omzet naar 4 lijnen.
Een andere vuistregel met Decoders is dat, als het aantal ingangen wordt beschouwd als n (hier n = 2), het aantal uitgangen altijd gelijk zal zijn aan 2 n (2 2 = 4), wat in ons geval vier is. De decoder heeft 2 ingangslijnen en 4 uitgangslijnen; vandaar dat dit type decoder wordt genoemd als 2: 4 decoders. De twee invoerpinnen worden genoemd als I1 en I0 en de vier uitvoerpinnen worden genoemd van O0 tot O3, zoals hierboven weergegeven.
Het is ook belangrijk om te weten dat een gewone decoder zoals hier getoond het nadeel heeft dat hij geen onderscheid kan maken tussen de toestand van beide ingangen die nul zijn (niet verbonden met andere circuits) en beide ingangen laag zijn (logisch 0). Dit nadeel kan worden opgelost met behulp van een Priority Decoder, die we later in dit artikel zullen leren. De waarheidstabel van een gewone decoder wordt hieronder weergegeven
Vanuit de waarheidstabel van de decoder kunnen we de Booleaanse uitdrukking voor elke uitvoerregel schrijven, volg gewoon waar de uitvoer hoog wordt en vorm een EN-logica op basis van de waarden van I1 en I0. Het lijkt erg op de Encoder-methode, maar hier gebruiken we de AND-logica in plaats van de OR-logica. De Booleaanse uitdrukking voor alle vier de regels wordt hieronder gegeven, waarbij het symbool (.) EN-logica vertegenwoordigt en het symbool (') NIET-logica vertegenwoordigt
O 0 = I 1 '.I 0 ' O 1 = I 1 '.I 0 O 2 = I 1.I 0 ' O 3 = I 1.I 0
Nu we alle vier de uitdrukkingen hebben, kunnen we deze uitdrukkingen omzetten in een combinationeel logisch poortcircuit met behulp van de EN-poorten en NIET-poorten. Gebruik gewoon de EN-poorten in plaats van (.) En een NIET-poort (omgekeerde logica) in plaats van een (') en je krijgt het volgende logicaschema.
Laten we het 2: 4 decoderschakelschema op breadboard bouwen en kijken hoe het in het echt werkt. Om het als hardware te laten werken, moet je de logische poort IC gebruiken, zoals 7404 voor de NIET-poort en de 7408 voor de EN-poort. De twee ingangen I0 en I1 worden geleverd door middel van een drukknop en de uitgang wordt geobserveerd door middel van LED-lampjes. Zodra u de verbinding op breadboard hebt gemaakt, ziet het er ongeveer zo uit in de onderstaande afbeelding
Het bord wordt gevoed door een externe + 5V voeding, die op zijn beurt de Gate IC voedt via de Vcc (pin 14) en aarde (pin 7) pinnen. De invoer wordt gegeven door drukknoppen, wanneer erop wordt gedrukt, is het logisch 1 en wanneer niet ingedrukt, geeft het logica 0, een pull-downweerstand met waarde 1k wordt ook toegevoegd langs de invoerlijnen om te voorkomen dat de pinnen zweven. De outputlijnen (O0 tot O3) worden gegeven door deze rode LED-lampjes, als ze gloeien is het logisch 1, anders is het logisch 0. De volledige werking van dit decodercircuit wordt getoond in de onderstaande video
Merk op dat de waarheidstabel voor elke ingang in de linkerbovenhoek wordt weergegeven en dat de LED ook op dezelfde ordelijke manier oplicht. Op dezelfde manier kunnen we ook een logisch combinatiediagram maken voor alle soorten decoders en ze op dergelijke hardware bouwen. U kunt ook kijken in de direct verkrijgbare decoder-IC's of uw project daar bij past.
Nadelen van standaard decoders:
Net als een Encoder heeft ook de standaard Decoder hetzelfde probleem, als beide ingangen niet zijn aangesloten (logische X) zal de uitgang niet op nul blijven. In plaats daarvan beschouwt de decoder het als logische 0 en wordt bit O0 hoog gemaakt.
Prioriteitsdecoder:
Dus gebruiken we de Priority Decoder om dat probleem op te lossen, dit type decoder heeft een extra input pin gelabeld als "E" (Enable) die zal worden verbonden met de geldige pin van de Priority Decoder. Het blokschema voor een prioriteitsdecoder wordt hieronder weergegeven.
De waarheidstabel voor een Priority Encoder wordt ook hieronder getoond, hier staat X voor geen verbinding en '1' staat voor logisch hoog en '0' staat voor logisch laag. Merk op dat de activeringsbit 0 is als er geen verbinding is op de invoerlijnen en dat de uitvoerlijnen daarom ook nul zullen blijven. Op deze manier kunnen we het bovengenoemde nadeel overwinnen.
Zoals altijd vanuit de waarheidstabel kunnen we de Booleaanse uitdrukking aansturen voor de uitvoerlijnen O0 tot O3. De Booleaanse uitdrukking voor de bovenstaande waarheidstabel wordt hieronder weergegeven. Als je goed kijkt, zie je dat de uitdrukking hetzelfde is als die van een normale 2: 4-decoder, maar dat het Enable-bit (E) is gemaakt naar AND met de uitdrukking.
O 0 = EI 1 '.I 0 ' O 1 = EI 1 '.I 0 O 2 = EI 1.I 0 ' O 3 = EI 1.I 0
Het logische combinatiediagram voor de bovenstaande Booleaanse uitdrukking kan worden gebouwd met behulp van een aantal omvormers (GEEN poorten) en EN-poorten met 3 ingangen. Vervang gewoon het (') -symbool door omvormers en het (.) -Symbool door EN-poort en je krijgt het volgende logische diagram.
3: 8 decoders:
Er zijn ook enkele decoders van hogere orde, zoals de 3: 8-decoder en de 4:16- decoder die vaker wordt gebruikt. Deze decoders worden vaak gebruikt in IC-pakketten om de complexiteit van het circuit te vergroten. Het is ook heel gebruikelijk om decoders van lagere orde, zoals de 2: 4 decoders, te combineren om een decoder van hogere orde te vormen. We weten bijvoorbeeld dat een 2: 4-decoder 2 ingangen (I0 en I1) en 4 uitgangen (O0 tot O3) heeft en een 3: 8-decoder drie ingangen (I0 tot I2) en acht uitgangen (O0 tot O7) heeft. We kunnen de volgende formules gebruiken om het aantal decoders van lagere orde (2: 4) te berekenen dat nodig is om een decoder van hogere orde zoals een 3: 8-decoder te vormen.
Vereist aantal lagere orde decoder = m2 / m1 Waar, m2 -> aantal uitgangen voor lagere orde decoder m1 -> aantal uitgangen voor hogere orde decoder
In ons geval is de waarde van m1 4 en de waarde van m2 8, dus het toepassen van deze waarden in de bovenstaande formules krijgen we
Vereist aantal 2: 4 decoder voor 3: 8 decoder = 8/4 = 2
Nu weten we dat we twee 2: 4-decoders nodig hebben om een 3: 8-decoder te vormen, maar hoe moeten deze twee worden verbonden om te verzamelen. Het onderstaande blokschema laat precies dat zien
Zoals je kunt zien zijn de ingangen A0 en A1 aangesloten als parallelle ingangen voor beide decoders en vervolgens wordt de Enable-pin van de eerste decoder gemaakt om te fungeren als A2 (derde ingang). Het omgekeerde signaal van A2 wordt gegeven aan de activeringspin van de tweede decoder om de uitgangen Y0 naar Y3 te krijgen. Hier worden de uitgangen Y0 tot en met Y3 de vier lagere minterms genoemd en de uitgangen Y4 tot en met Y7 de vier hogere minterms. De minterms van lagere orde worden verkregen van de tweede decoder en de minterms van hogere orde worden verkregen van de eerste decoder. Hoewel een opvallend nadeel van dit type combinatorisch ontwerp is dat de decoder geen inschakelpin zal hebben, waardoor hij vatbaar is voor de problemen die we eerder hebben besproken.
4:16 Decoder:
Vergelijkbaar met een 3: 8 Decoder een 04:16 decoder kan ook zijn uitgevoerd door twee 3: 8 decoder. Voor een 4:16 decoder hebben we vier ingangen (A0 tot A3) en zestien uitgangen (Y0 tot Y15). Terwijl we voor een 3: 8-decoder slechts drie ingangen hebben (A0 tot A2).
We hebben de formules al gebruikt om het aantal benodigde decoders te berekenen, in dit geval is de waarde van m1 8 omdat de 3: 8-decoder 8 uitgangen heeft en de waarde van m2 16 omdat de 4:16-decoder 16 uitgangen heeft, dus het toepassen van deze waarden in de bovenstaande formules krijgen we
Vereist aantal 3: 8 decoder voor 4:16 decoder = 16/8 = 2
Daarom hebben we twee 3: 8-decoders nodig om een 4:16-decoder te bouwen, de opstelling van deze twee 3: 8-decoders zal ook vergelijkbaar zijn met degene die we eerder deden. Het blokschema voor het met elkaar verbinden van deze twee 3: 8-decoders wordt hieronder weergegeven.
Hier worden de uitgangen Y0 tot en met Y7 beschouwd als lagere acht minterms en de output van Y8 tot Y16 als hogere acht minterms. De minterms rechtsonder worden rechtstreeks aangemaakt met behulp van de ingangen A0, A1 en A2. Dezelfde signalen worden ook gegeven aan de drie ingangen van de eerste decoder, maar de inschakelpin van de eerste decoder wordt gebruikt als de vierde ingangspen (A3). Het geïnverteerde signaal van de vierde ingang A3 wordt gegeven aan de vrijgavepin van de tweede decoder. De eerste decoder voert de hoogste waarde van acht minuten uit.
Toepassingen:
Een decoder wordt meestal gebruikt in combinatie met een encoder en daarom delen ze allebei dezelfde applicaties. Zonder decoders en encoders zou moderne elektronica zoals mobiele telefoons en laptops niet mogelijk zijn geweest. Enkele belangrijke toepassingen van Decoders worden hieronder vermeld.
- Toepassing van sequentiesignalen
- Timingsignaaltoepassingen
- Netwerklijnen
- Geheugenelementen
- Telefoonnetwerken