Computing">
Nothing Special   »   [go: up one dir, main page]

Apuntes Digital TIN

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 16

Definición

La electrónica digital se encarga de sistemas electrónicos en los cuales la


información está codificada en dos únicos estados. A estos estados se les puede llamar
"verdadero" o "falso", HIGH (H) o LOW(L) o más comúnmente 1 y 0. Realmente lo que
estamos haciendo es transformar las señales del circuito (sonido, luz, temperatura,… ) en
números, por lo que una vez conseguido, es muy sencillo compararlas, operar, contar,
almacenar, tratar, etc las señales, bien usando el sistema binario, el código BCD (Binary
Codex Decimal), el hexadecimal o el ASCII, dependiendo de la función digital a realizar.

Como vemos en el esquema, la electrónica digital parte de una señal analógica que
convierte en digital (código binario) para tratarla y finalmente la vuelve en convertir en
analógica.

Si convierto una señal analógica en digital, en función del número de bits que utilice
tendré mejor o peor calidad en la digitalización. Por ejemplo, al hacer una foto con una
cámara digital podemos guardar el color de cada pixel de la foto con cuatro bits, ocho,
dieciséis, … y en función de esto podremos almacenar 16 colores diferentes, 256 o incluso
16 millones. En contrapartida cuantos más bits utilice mayor complejidad tendrá el circuito
para guardarlos, operar con ellos, etc.
De un modo análogo cuando convierto digital en analógico ocurrirá lo mismo.

Rocío Leira Rodríguez

Jorge Gómez Suárez 1


Conversión analógica-digital

Para entender como se puede realizar la conversión de analógico a digital usaremos
como ejemplo el circuito integrado analógico, el amplificador operacional, que es un
comparador y amplificador de voltajes, aunque en este caso nos interesa su función como
comparador. Sabemos que si V1 es mayor que V2 el circuito se activa:

Si usamos varios comparadores de este tipo que tengan diferentes voltajes de


referencia podremos convertir una señal analógica, por ejemplo la cantidad de luz que
incide sobre una LDR, en una señal digital binaria. Ejemplo:

Si la LDR recibe una cantidad de luz tal que ofrece una resistencia de 11,7 KΩ hará
que las entradas no inversoras(+) de los amplificadores operacionales reciban 2,3 V que
compararán con los voltajes de referencia generados por las cincos resistencias en serie de 1
KΩ. Se encenderán los diodos LED en los que el voltaje de la entrada no inversora(+) sea
mayor que la entrada inversora(-).

Rocío Leira Rodríguez

Jorge Gómez Suárez 2


La luz recibida por la LDR se transforma en el código de cuatro bits: 1100, ya
hemos digitalizado la señal analógica. En este ejemplo la cantidad de luz podemos
codificarla en cinco posibles niveles: 0000 - 1000 - 1100 - 1110 - 1111, por lo que tenemos
una digitalización bastante básica, solo podríamos determinar cinco niveles de luz, pero si
usáramos más comparadores, tendríamos más bits y por lo tanto mayor precisión.
Hoy en día ya existen unos circuitos integrados específicos para convertir las señales
analógicas en digitales y viceversa, por lo que no es necesario montar circuitos tan
complejos.

Por ejemplo, en la placa Arduino, cuando conectamos un sensor a alguna de sus


entradas analógicas digitaliza la señal de entrada (0 a 5 v) a un valor entre 0 y 1023 ya que
utiliza 10 bits al convertir la señal. Además es capaz de hacer una lectura cada 100
microsegundos, o lo que es lo mismo, realizar 10.000 lecturas por segundo.

Conversión analógica-digital

También se puede hacer la conversión de una señal digital a analógica usando el
amplificador operacional. Para ello usaremos el circuito amplificador sumador:

Rocío Leira Rodríguez

Jorge Gómez Suárez 3


Con este montaje lo que hacemos es variar la ganancia (a) que nos da el amplificador
operacional con la relación entre las dos resistencias R2 y R1, tal y como se ve en el esquema
anterior.
Si a este montaje básico le añadimos unas resistencias y pulsadores que simulan las
entradas digitales, tendremos:

Lo que conseguiremos es que según pulsemos A, B, C y/o D obtendremos diferentes


voltajes de salida. Por ejemplo, si pulso A la ganancia sería de 0,1333, que multiplicada por
el voltaje de entrada (3 v) nos da una salida de 0,4 v:

Rocío Leira Rodríguez

Jorge Gómez Suárez 4


Si pulsamos B y C debemos primero calcular la resistencia equivalente a ambas al
estar en paralelo y calcular la ganancia correspondiente:

En este caso la tensión de salida sería 2,4 v. Si hiciésemos lo mismo con todas las 16
combinaciones posibles obtendríamos:

En función de la combinación digital de entrada obtenemos


diferentes voltajes de salida. Arduino también tiene esta posibilidad en
las salidas digitales marcadas como PWM. Por ejemplo, en los robots
mbot podemos ajustar la velocidad de un motor a valores entre 0 y
255 (salida de 8 bits) que transforma en voltajes de entre 0 y 6 v que
hacen que el motor gire más rápido o más despacio.

Rocío Leira Rodríguez

Jorge Gómez Suárez 5


Circuitos digitales

Una vez que ya sabemos como se puede convertir una señal analógica en digital y
viceversa tenemos que saber que tipo de operaciones se les pueden hacer a esos datos
digitales. Los sistemas digitales pueden realizar diferentes funciones: aplicar lógica,
operar, memorizar, comparar, contar… y son clasificados en:

• Sistemas digitales combinacionales: Un circuito combinacional es aquel que está


formado por funciones lógicas elementales en los que el valor de la salida o salidas
dependen exclusivamente de las entradas. Son circuitos sin memoria, la salida solo
depende de lo que ocurre en ese momento, no de lo que pasó con anterioridad. Dentro de
los circuitos combinacionales tenemos:

• puertas lógicas: realizan las operaciones lógicas si-no-y-o


• codificadores/decodificadores: modifican las señales binarias de manera que de
una señal de 4 bits pasamos a tener una de 9 bits (codificador) o al revés
(decodificador).
• multiplexor/demultiplexor: son un tipo especial de codificadores y
decodificadores.
• comparador: son capaces de comparar dos señales digitales del mismo número de
bits indicando si son iguales o cual es mayor.
• Sistemas digitales secuenciales: el valor de la salida no solo depende del estado de
las entradas, sino también de los valores y estados almacenados anteriormente. Son
circuitos con memoria. Ejemplos de este tipo de circuitos son:
• biestables: flip-flop en inglés, circuito utilizado como memoria en electrónica digital.
• contadores: construido a partir de biestable y puertas lógicas capaz de almacenar y
contar los impulsos.
• Sistemas digitales microprogramables: Un sistema microprogramable es un
sistema electrónico digital capaz de interpretar y ejecutar secuencialmente las órdenes
contenidas en un programa y a una velocidad muy elevada. Diferenciamos el hardware
o parte física y el software, conjunto de instrucciones. Un ejemplo de este tipo de circuito
es la placa Arduino. Este tipo de circuitos está compuesto por puertas lógicas,
comparadores, contadores, conversores analógico- digital, memorias, codificadores, etc, y
simplemente se activan unos u otros en función del programa introducido. Además llevan
un software especial, denominado firmware, que traduce el programa a código máquina
(binario).

Rocío Leira Rodríguez

Jorge Gómez Suárez 6


Puertas lógicas

Claude Elwood Shannon demostró en 1938 cómo el álgebra de Boole, estructura


algebraica que esquematiza las operaciones lógicas (Y, O, NO y SI) se podía utilizar en los
circuitos digitales. Las puertas lógicas son los circuitos integrados capaces de realizar
dichas operaciones lógicas, que combinadas entre sí nos permiten construir circuitos
realmente complejos.
Las puertas lógicas son:
SI - NO
OR - NOR
AND - NAND
XOR - XNOR

Puerta SI o BUFFER
La puerta lógica SI, realiza la función booleana igualdad. Tiene solo una entrada y una
salida, siendo ambas siempre iguales. En la práctica se suele utilizar para mantener la
tensión sin variaciones.

Puerta NOT o inversora


Realiza la función negación lógica. La función toma valor lógico “1” cuando la
entrada a vale “0” y toma el valor “0” cuando la entrada a vale “1”. También se
conoce como función inversión. Es la contraria a la SI.

Rocío Leira Rodríguez

Jorge Gómez Suárez 7


Puerta OR
Realiza la función suma lógica o función OR. La función toma valor lógico “1”
cuando alguna de las entradas vale “1” y toma el valor “0” cuando las entradas valen “0”.

Puerta NOR
Realiza la función suma lógica negada o función NOR. Es la función contraria a la OR, por
lo tanto la salida siempre es “0” a no ser que las entradas sean todas “0”.

Puerta AND
Realiza la función producto lógico o función AND. La función toma valor lógico
“1” cuando todas las entradas valen “1” y toma el valor “0” cuando alguna de las entradas
vale “0”.

Rocío Leira Rodríguez

Jorge Gómez Suárez 8


Puerta NAND
Realiza la función producto lógico negado o función NAND. Es la función contraria a la
AND. La función toma valor lógico “0” cuando todas las entradas valen “1” y toma el valor
“1”en el resto de los casos.

Puerta XOR
Realiza la función OR EXCLUSIVA. La función toma valor lógico “1” cuando las
entradas tienen distinto valor y toma el valor “0” cuando las entradas son iguales.

Puerta XNOR
Realiza la función NOR EXCLUSIVA. Es la función contraria a la XOR. La función toma
valor lógico “1” cuando las entradas tienen el mismo valor y toma el valor “0” cuando las
entradas son distintas.

Rocío Leira Rodríguez

Jorge Gómez Suárez 9


Las puertas lógicas se usan en forma de circuitos integrados, por ejemplo, un circuito
de puertas NAND sería el 4011BE, que está formado por cuatro puertas NAND de dos
entradas. Interiormente este chip contiene resistencias y transistores conectados de tal modo
que se cumplen eléctricamente la función lógica correspondiente.

Equivalencia puertas lógicas

Las puertas lógicas NAND y NOR se denominan puertas universales, ya que pueden
sustituir al resto de puertas. Esto es algo muy útil a la hora de montar los circuitos, ya que los
simplifica mucho, y nos permite reducir el número de circuitos integrados necesarios para el
montaje.

Las equivalencias con las puertas NAND y NOR son:

Rocío Leira Rodríguez

Jorge Gómez Suárez 10


En el siguiente ejemplo vamos a ver como podríamos sustituir las puertas lógicas por
las NAND. Partimos del siguiente esquema:

Para montar el circuito necesitaríamos tres circuitos integrados, uno de puertas NOT,
otro de AND y otro de OR, aunque solo usaríamos algunas puertas de cada uno:

¿Pero qué ocurre si sustituimos las puertas NOT, AND y OR por las NAND?:

En principio parece que estamos complicando el circuito, pero realmente lo estamos


simplificando, ya que si negamos dos veces es como si afirmamos:

Rocío Leira Rodríguez

Jorge Gómez Suárez 11


Al final nos queda un circuito más sencillo, que podríamos montar con solo un
circuito integrado, por ejemplo el 4011BE:

Esta es la gran ventaja de usar puertas universales, simplifican el circuito y ahorran


costes en el montaje.

Diseño de circuitos combinacionales con puertas lógicas Práctica puertas lógicas

Cuando diseñamos circuitos combinaciones a partir de puertas lógicas partimos de unas


condiciones iniciales y obtenemos un esquema que nos indica qué elementos hay que
utilizar, así como la interconexión que hay entre ellos. Los pasos que seguiremos para el
diseño son los siguientes:

1. Estudio de las condiciones iniciales y planteamiento del problema.


Por ejemplo, vamos a diseñar un circuito para que se active el sistema de riego de un
invernadero en función de las condiciones de luz, temperatura y humedad de la tierra.
Queremos que el sistema active el riego de manera automática cuando se den las siguientes
condiciones:
• Siempre que la tierra esté seca, a no ser que sea de noche y haga frío.
• Siempre que haga calor, si es de noche.
Debemos establecer cuántas entradas tenemos y cuántas salidas, nombrarlas y definir
cuándo consideramos que son 1 y cuándo 0. En este caso tendremos tres entradas y una
salida, y establecemos que:
• Entrada A (luz): si hay luz el valor 1 y oscuridad 0
• Entrada B (temperatura): calor es 1 y frío 0
• Entrada C (humedad tierra): tierra seca es 1 y húmeda 0
• Salida (riego): regar es 1 y no regar es 0

Rocío Leira Rodríguez

Jorge Gómez Suárez 12


2. Obtención de las tablas de verdad y expresiones booleanas necesarias.
La tabla de verdad es la representación de todas las posibles combinaciones de las entradas y
las posibles salidas.

Vemos que tenemos cuatro combinaciones que activan el riego, y dentro de cada
combinación deben darse 3 condiciones simultáneamente. Ahora tenemos que transformar
la tabla de verdad en expresiones booleanas que sintetizan lo que queremos expresar:

Podemos juntar las cuatro condiciones en una sola expresión:

Qué nos dice esta expresión, que cuando se cumpla la primera condición “o” la segunda “o”
la tercera “o” la cuarta el sistema se debe activar. Para que se cumplan cualquiera de las
condiciones deben ocurrir simultáneamente tres condiciones, por ejemplo, en el primer caso
Rocío Leira Rodríguez

Jorge Gómez Suárez 13


debe ser de noche “y” hacer calor “y” la tierra está húmeda. Cada “o” es una puerta OR y
cada “y” es una puerta AND, para negar las entradas usaremos las puertas NOT.

3. Simplificación de las funciones booleanas.


Antes de montar nuestro circuito tenemos que comprobar si podemos simplificarlo, es decir,
eliminar puertas lógicas en su construcción. Si analizamos el ejemplo anterior vemos que el
riego se activará siempre sea de noche, hace calor y la tierra está húmeda, pero también
cuando es de noche, hace calor y la tierra esta seca. Podemos concluir que para nuestro
circuito es indiferente que la tierra este seca o húmeda, siempre que sea de noche y haga
calor el sistema regará.

Pero para no cometer errores a la hora de simplificar no debemos hacerlo


intuitivamente, sino que debemos usar un método más preciso, es el método de
Karnaugh, que es un método gráfico en el que utilizaremos unas tablas y siguiendo una
serie de reglas, nos permitirá simplificar nuestra función lógica.
Si nuestro circuito tiene tres entradas la tabla será la siguiente:

Colocaremos 1 y 0 en las celdas correspondientes siguiendo lo que nos indica la


función lógica que queremos simplificar:

Rocío Leira Rodríguez

Jorge Gómez Suárez 14


Asociamos los 1 que sean adyacentes en horizontal o vertical, e incluso en esquinas
opuestas en la misma fila o columna, siempre en grupos de potencias de 2, es decir, grupos
de dos, cuatro u ocho:

También podemos agrupar los otros dos unos que aparecen en horizontal:

Así la función anterior nos quedaría simplificada de la siguiente manera:

Rocío Leira Rodríguez

Jorge Gómez Suárez 15


4. Implementación de las funciones booleanas utilizando puertas lógicas.
Una vez que tenemos la función lógica simplificada ya podemos implementar el circuito, es
decir, representarlo con las puertas lógicas correspondientes. En este caso necesitaremos
puertas NOT, AND y OR:

También podríamos sustituir estas puertas lógicas por puertas lógicas universales tipo
NOR o NAND como se explicó anteriormente.

5. Construcción.
El último paso es llevar este circuito a la realidad, realizando físicamente el montaje. Para
ello debemos adquirir los circuitos integrados correspondientes a las puertas lógicas que
vamos a usar y conectarlas correctamente:

Rocío Leira Rodríguez

Jorge Gómez Suárez 16

También podría gustarte