- Principi bàsic del codificador:
- Creació de codificadors mitjançant dissenys de lògica combinacional
- 8: 3 Codificadors:
- Inconvenient dels codificadors normals:
- Codificador de prioritat:
Els codificadors, com el seu nom indica, codifiquen una mica d’informació més gran en un valor de bits més petit. Hi ha molts tipus de codificadors basats en el nombre d’entrades i sortides i en funció de com funciona. Però tots els codificadors tenen una regla subjacent, el nombre de línies de sortida d’un codificador sempre serà inferior al nombre de línies d’entrada. En aquest article aprendrem més informació sobre els codificadors, què és un codificador, com i per què s’utilitzen en circuits digitals.
Principi bàsic del codificador:
Imaginem que un codificador és un quadre negre, tal com es mostra a continuació, que redueix màgicament el nombre de línies d'entrada de 4 a només 2 línies de sortida, però que encara proporciona la mateixa informació sense cap pèrdua de dades.

Primer determinem quin seria el nom d’aquest codificador. Té quatre entrades i dues sortides, de manera que el nom d’aquest codificador serà el codificador 4: 2. Si un codificador té un " n " nombre de línies de sortida, el nombre de línies d'entrada serà de 2 n, en el nostre cas, el nombre de línies de sortida és de dos (n = 2), per tant, el nombre de línies d'entrada hauria de ser (2 2 = 4) quatre, exactament així. Els quatre pins d’entrada s’etiqueten d’I0 a I3 i els dos pins de sortida s’etiqueten d’O0 a O1
Llavors, com converteix el codificador quatre senyals en dos, es pot entendre fent una ullada a la taula de veritat següent. També és important saber que un codificador normal com el que es mostra aquí té una regla que en un moment determinat només hauria de ser alt un pin d'entrada, de manera que a la taula de veritat següent només hi haurà una entrada.

Totes les condicions possibles de l'entrada de sortida es mostren a la taula de veritat anterior. Per exemple, quan només O1 és alt (1) i totes les altres entrades són baixes (0), els dos pins de sortida seran baixos (0). De manera similar, per a cada cas, els pins de sortida també canviaran el seu estat. En utilitzar aquest estat de bits de sortida, l'usuari podrà rastrejar fins a quin senyal d'entrada s'hauria donat al codificador.
D’acord, què té de més convertir quatre línies en dues línies, per què fins i tot ho necessitem?
Per tal de comprendre, hem explicat un codificador 4: 2, però hi ha altres codificadors que poden agafar un nombre més gran d’entrades i convertir-les en un nombre inferior de sortides com el codificador 8: 3, el codificador 16: 4, etc. dels codificadors són molt útils quan hem de reduir el nombre de pins utilitzats en una MCU / MPU o reduir el nombre de cables que transporten senyals en PLC i altres sistemes on hi hagi un interruptor o un LED. També s’utilitza per transmetre dades de manera eficient mitjançant cables menors. En algunes aplicacions podríem tenir una situació en què més d'una entrada podria ser elevada (1), en aquest cas tindrem alguna cosa anomenat Codificador de prioritat que parlarem més endavant en aquest article.
Creació de codificadors mitjançant dissenys de lògica combinacional
Ara que ja sabem com funciona un codificador i on s’utilitza. Aprenguem a construir-ne una mitjançant portes lògiques senzilles. Tot i que els codificadors com el 8: 3 estan disponibles com a IC de paquet únic com SN74LS148, és important saber com es construeixen per tal de poder fabricar codificadors personalitzats per als nostres projectes basats en la taula de veritat requerida.
Expressió booleana:
El primer en dissenyar el dispositiu de lògica combinacional és trobar la taula d'expressió booleana per a la veritat. És molt fàcil i es pot determinar fàcilment només mirant la taula de la veritat. A continuació es mostra la mateixa taula de veritat que hem vist anteriorment amb algunes il·lustracions per fer-vos entendre millor.

El nombre d’expressions serà igual al nombre de línies de sortida, aquí tenim dues sortides i, per tant, tenim dues expressions. Per a la primera sortida O0, només cal comprovar en quina condició és alta (1) i traçar el número de pin d'entrada corresponent que també es manté elevat (1). De la mateixa manera, per a tots els valors elevats d’O0, observeu quin número de pin d’entrada és alt i afegiu-los. Els pins d'entrada corresponents al pin de sortida O0 es ressalten en vermell a la part superior i per a O1 es ressalten en blau. Així doncs, l’expressió per a O0 i O1 serà
O 1 = I 3 + I 2 O 0 = I 3 + I 1
Diagrama de circuits del codificador 4: 2:
Un cop obtinguda l’expressió booleana, només hem de dibuixar-la en forma de Gates. Aquí, ja que tenim operació addicional (+), utilitzarem les portes OR per construir els nostres circuits. També podeu simplificar o modificar l’expressió booleana segons les vostres necessitats. A continuació es mostra el diagrama de circuits per a l’expressió anterior

El circuit es pot construir fàcilment mitjançant un IC de porta 7432 OR. He construït el meu circuit de codificació sobre una placa de configuració, tal com es mostra a continuació

Les quatre línies d’entrada (I0, I1, I2 i I3) les proporcionen els quatre botons, quan es prem el botó, s’enllaça + 5V amb el pin fent que sigui lògic 1 i quan no es prem el botó el pin es manté a terra mitjançant una resistència de 10k cap avall per fer-lo lògic zero. Les sortides (O0 i O1) es representen mitjançant un parell de LED vermells. Si el LED s'encén significa que la lògica de sortida és 1 i si estan apagats significa que la lògica de sortida 0. El funcionament complet del circuit del codificador es mostra al vídeo següent
Com podeu veure quan es prem el primer botó, l'entrada I0 es fa alta i, per tant, les dues sortides es mantenen baixes. Quan es prem el segon botó, l’entrada I1 s’encén i, per tant, un LED augmenta per indicar que O0 és alt. Finalment, quan es prem el quart botó, l'entrada I3 augmenta i, per tant, el LED augmenta. Es tracta d’un circuit molt senzill, per tant, l’hem construït fàcilment sobre una taula de treball, però, per als codificadors pràctics, el circuit es tornarà una mica més complex. Tot i això, els codificadors també estan disponibles com a paquets IC que es poden comprar si s’adapta al vostre projecte.
8: 3 Codificadors:
El funcionament i ús del codificador 8: 3 també és similar al codificador 4: 2, excepte el nombre de pins d'entrada i sortida. El codificador 8: 3 també s’anomena codificador octal a binari; el diagrama de blocs d’un codificador 8: 3 es mostra a continuació.

Aquí el codificador té 8 entrades i 3 sortides, de nou només una entrada hauria de ser alta (1) en un moment donat. Com que hi ha 8 entrades, es diu entrada octal i, com que hi ha tres sortides, també es diu sortida binària. A continuació es mostra la taula de veritat del codificador.
Taula de veritat del codificador 8: 3:

Expressió booleana:
Com que tenim sortides, tindrem tres expressions com es mostra a continuació
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
Diagrama del circuit del codificador 8: 3:
Un cop obtinguda l'expressió booleana, com sempre, podem construir el diagrama del circuit utilitzant les portes OR, tal com es mostra a continuació.

El circuit utilitza un IC de porta O de 4 entrades, també podeu simplificar l'expressió booleana per utilitzar altres IC de porta d'entrada normals de 2 entrades.
Inconvenient dels codificadors normals:
Aquest tipus de codificadors pateixen els principals inconvenients següents
- Quan cap de les entrades és alta, la sortida serà igual a zero, però això també entra en conflicte amb el primer bit que és alt (MSB). Per tant, sempre s’ha de tenir precaució que, com a mínim, una mica quedi sempre ACTIVADA
- Quan hi ha més d'una entrada alta, la sortida es reduirà i pot donar el resultat de qualsevol de les entrades que provoca confusió.
Per superar aquestes dificultats, fem servir un tipus diferent de codificador anomenat codificador de prioritat que utilitza una sortida addicional per determinar si la sortida és vàlida i, quan més d’una entrada és alta, només es considera la que puja a partir del LSD. ignorant les altres entrades.
Codificador de prioritat:
Analitzem un codificador de prioritat 4: 2 com a exemple per entendre com difereix d’un codificador normal i pot superar els dos inconvenients esmentats. A continuació es mostra el diagrama de blocs d’un codificador de prioritat 4: 2

Un codificador de prioritat 4: 2 també té 4 entrades i 2 sortides, però afegirem una altra sortida anomenada V que significa bit vàlid. Aquest bit vàlid comprovarà si els quatre pins d'entrada són baixos (0) si és baix, el bit també es farà baix afirmant que la sortida no és vàlida, de manera que podem superar el primer inconvenient esmentat anteriorment.
Taula de veritat del codificador de prioritat 4: 2:
El següent inconvenient es pot evitar donant prioritat als bits MSB, el codificador comprovarà des del MSB i un cop trobi el primer bit tan alt (1) generarà la sortida en conseqüència. Per tant, no importa si els altres pins són alts o baixos. Per tant, a la taula de veritat següent, un cop assolit l'1, els valors no importats es presenten amb "X".

Expressió booleana:
Ara hem de derivar tres expressions que són per a O0, O1 i V. Atès que la taula de veritat no té ítems importants, hem d'utilitzar el mètode K-map per obtenir l'expressió booleana. No anem a tractar com resoldre amb mapes K, ja que està fora de l'abast d'aquest article. Però el mapa es mostra a continuació perquè pugueu interferir i aprendre vosaltres mateixos.

Als mapes anteriors, l’esquerra és per a O1 i el dret per a O0. Les línies de sortida s’esmenten amb y i les línies d’entrada s’esmenten amb x. Així, organitzant l’equació en conseqüència obtindrem el següent.
O 1 = I 3 + I 2 O 0 = I 2 I 1 '+ I 3
De la mateixa manera, per al bit vàlid "V", l'expressió booleana es pot donar com a
V = I 3 + I 2 + I 1 + I 0
Esquema de connexions:
El diagrama de circuits d’aquest projecte es pot construir utilitzant les expressions booleanes.

El circuit es pot construir utilitzant les portes bàsiques NOT, AND i OR. Aquí els bits O0 i O1 es consideren sortides mentre que el bit V s’utilitza per validar la sortida. Només si el bit V és alt, es tindrà en compte la sortida si el valor de V és baix (0), s’hauria d’ignorar la sortida, ja que implica que tots els pins d’entrada són nuls.
