Post on 14-Apr-2016
description
Jorge Alberto GarberoJorge Alberto GarberoJorge Alberto GarberoJorge Alberto Garbero
Ingeniería ElectrónicaIngeniería ElectrónicaIngeniería ElectrónicaIngeniería Electrónica
Email: jagelectronica@live.com
ELECTRÓ�ICA DIGITAL
Podemos decir que la “electrónica” es la ciencia que estudia la conducción eléctrica tanto en el vacío, en los
gases y en los semiconductores, utilizando dispositivos basados en estos fenómenos físicos, como por
ejemplo los bulbos de vacío (comúnmente denominados válvulas, las que actualmente son poco utilizadas),
transistores, diodos, etc.
No es necesario decir donde los componentes electrónicos toman parte de nuestra vida, basta mirar alrededor
y veremos decenas de aplicaciones de la electrónica.
La electrónica digital, al contrario de la lineal o analógica, no manipula señales, ya sea de corriente o de tensión continua; utiliza en cambio señales discretas, o sea, señales eléctricas que apenas poseen dos condiciones o estados posibles. Las señales que caracterizan la voz humana, por ejemplo, varían en amplitud y frecuencia con el tiempo. Esto
quiere decir lo siguiente: en un momento dado la señal presenta una determinada amplitud y determinada
frecuencia. Un instante después puede ocurrir la variación de esta amplitud en forma continua hasta alcanzar
un cierto nivel, después de lo cual volverá a variar en nivel y/o frecuencia, de forma también continua a
medida que transcurre el tiempo. La amplitud de esta señal (señal analógica) podrá asumir cualquier valor,
pudiendo tomar infinitos valores (al menos teóricamente). Figura 1
En las señales digitales, al contrario de las analógicas, la amplitud varía abruptamente de un valor límite a otro también límite, no existiendo estados o fases intermedias entre estos dos límites. En la Figura 2 se representa una señal digital en forma de tensión. Note como la tensión varía
repentinamente entre los dos estados: estado alto y estado bajo.
El estado alto puede ser caracterizado como la tensión más positiva de la señal y el estado bajo por la
tensión más negativa de esa señal. En este caso se está utilizando LOGICA POSITIVA.
Puede ser utilizada la inversa, es decir el estado alto puede ser caracterizado como la tensión más negativa
de la señal y el estado bajo por la tensión más positiva de esa señal. Este caso se está utilizando LOGICA �EGATIVA.
��1 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Es usual representar cada uno de los dos estados de una señal digital por dos símbolos matemáticos:
“0” y “1” nuevamente podemos aplicar una de las dos lógicas:
Lógica Positiva “1” – corresponde al mayor valor de tensión de la señal digital.
“0” – corresponde al menor valor de tensión de la señal digital.
Lógica �egativa “1” – corresponde al menor valor de tensión de la señal digital.
“0” – corresponde al mayor valor de tensión de la señal digital.
En la Figura 3 se representa lo que se acaba de afirmar sobre lógica positiva y lógica negativa.
Normalmente se identifica los dos estados lógicos de una señal digital, por las iniciales de las palabras del
idioma ingles:
“H” (high) – (alto)
“L” (low) – (bajo)
Estructura de una señal digital
Las señales digitales pueden obtenerse a partir de elementos eléctricos o electrónicos propiamente dichos.
Por ejemplo, una lámpara incandescente posee sólo dos estados bien definidos de funcionamiento:
Apagada o Encendida
A cada una de estas dos condiciones se puede asociar un estado lógico, que tanto podrá ser 0 (cero) o 1 (uno),
o sea:
Lámpara encendida – 0 o 1 Lámpara apagada – 1 o 0
Resultados semejantes se pueden obtener sustituyendo la lámpara por los contactos de un relay o por un
simple interruptor de una vía. El pasaje o no pasaje de corriente por un cable, también caracteriza los dos
estados lógicos de una señal digital.
��2 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Estos son solo algunos ejemplos de una gran cantidad de dispositivos de dos estados, capaces de caracterizar
cualquier señal digital.
Para la generación y manejo de las señales digitales se utilizan circuitos formados por componentes
electrónicos capaces de cumplir funciones lógicas, en que los símbolos 0 y 1 se traducen por dos niveles,
perfectamente definidos, de una tensión eléctrica (circuitos lógicos).
Originalmente estos circuitos eran realizados utilizando componentes discretos, esto se traducía en placas de
circuito impreso de gran tamaño y con una alta densidad de componentes. El advenimiento en los comienzos
de la década del ’60 de los circuitos integrados posibilito que actualmente un pequeño encapsulado (chip)
contenga miles de circuitos digitales capaces de administrar las señales digitales, circuitos tales como:
• Compuertas AND – NAND – OR – NOR – XOR – XNOR - NOT
• Flip-Flop de distintas características
• Registros de desplazamiento
• Contadores de distintas características
• Elementos de cálculo aritmético
• Conversores Analógicos/Digitales (A/D)
• Conversores Digitales/Analógicos (D/A)
• Memorias
• Microprocesadores
• Microcontroladores
Al tener los circuitos electrónicos digitales solo dos estados lógicos posibles de tensión o corriente perfectamente definidos (0 o1; H o L), su naturaleza es binaria, puede manejar solo dos dígitos.
Sistema Decimal
Actualmente la mayoría utilizamos el sistema decimal (de 10 dígitos) para realizar operaciones matemáticas.
Este sistema se basa en la combinación de 10 dígitos (del 0 al 9). Construimos números con estos 10 dígitos
y por eso decimos que su base o raíz es 10.
Para entender los números decimales primero debemos conocer la notación posicional. Cuando se escriben números, la posición (o "lugar") de cada número es importante.
Tomemos como ejemplo el número 428:
Observe que a partir de las unidades, cada posición que aumenta hacia la izquierda vale 10 veces más que la anterior.
El mismo número se puede escribir también con la siguiente notación:
4 x 102 + 2 x 101 + 8 x 100 = 428
��3 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
• El 8 está en la posición de las unidades , por lo que su valor es 8
• El 2 está en la posición de las decenas, su valor es dos decenas (20)
• El 4 está en la posición de las centenas, su valor es cuatro centenas (400)
Coma o Punto decimal
La coma o punto decimal es la parte más importante de un número decimal. Está exactamente a la derecha de la posición de las unidades. Sin él, es difícil determinar cuál es cada posición. Ahora podemos seguir con valores cada vez más pequeños, como décimas, centésimas, milésimas y más.
El número del ejemplo se leería como: Sesenta y siete y doscientas treinta y cinco milésimas.
o también se puede expresar como una fracción decimal:
O como un número entero y una fracción decimal:
Sistema Binario
El sistema binario en matemáticas e informática es un sistema de numeración en el que los números se representan utilizando las cifras 0 y 1, es decir solo 2 dígitos, esto en informática tiene mucha importancia ya que las computadoras trabajan internamente con 2 niveles de Tensión lo que hace que su sistema de numeración natural sea binario, por ejemplo 1 para High (alto) y 0 para Low (bajo). Se basa en la representación de cantidades utilizando los dígitos 1 y 0. Por tanto su base es 2 (número de dígitos del sistema). Cada dígito de un número en este sistema se denomina bit (contracción de binary digit). Por ejemplo el número en binario 1011 es de 4 bits. Recuerde que cualquier número binario solo puede tener ceros y unos. Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que a su vez pueden ser representados por cualquier mecanismo capaz de estar en dos estados mutuamente exclusivos.
�úmeros Binarios
• Con un dígito binario solo se pueden lograr dos combinaciones, 0 o 1.
��4 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
• Con dos dígitos binarios se pueden lograr cuatro combinaciones: 00 – 01 – 10 – 11
• Con tres dígitos binarios se pueden lograr ocho combinaciones: 00 – 01 – 10 – 11 – 100 – 101 – 110 – 111
• Con cuatro dígitos binarios se pueden lograr dieciséis combinaciones: 00 – 01 – 10 – 11 – 100 – 101 – 110 – 111 – 1000 – 1001 – 1010 – 1011 – 1100 – 1101 – 1110 -1111
• Vemos que por cada dígito que se agrega se dobla el número de combinaciones.
• Con cuatro dígitos se logra representar los primeros 16 números binarios
TABLA DE CO�VERSIÓ� DECIMAL A BI�ARIO DE 8 DÍGITOS
��5 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Para entender los números binarios, al igual que en los decimales, primero debemos conocer la notación posicional. Cuando se escriben números binarios, la posición (o "lugar") de cada número es importante.
Expresado en potencias de 2
• Como se distingue si un número está expresado en binario o en decimal Tomemos como ejemplo el número 11010 En decimal este número se lee once mil diez. Si se expresara en binario debería tener a la derecha de las unidades el sub índice 2 => 110102 En binario este número se lee U�O U�O CERO U�O CERO.
• Conversión de binario a decimal
Tomemos como ejemplo el número utilizado anteriormente 110102
��6 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
Se resuelve multiplicando cada dígito binario por la potencia de 2 correspondiente a la posición que ocupa el mismo. Los números decimales equivalentes así obtenidos se suman para lograr el número equivalente final.
También es posible resolverlo, escribiendo para cada dígito = 1 del número binario, el decimal equivalente a esa posición. Los números decimales equivalentes así obtenidos se suman para lograr el número equivalente final.
Si el número binario es fraccionario, se resuelve siguiendo el mismo método que el empleado anteriormente.
• Conversión de decimal a binario Para hacer la conversión de decimal a binario, hay que ir dividiendo el número decimal entre dos e ir
anotando el resto (un 0 si el resultado de la división es par y un 1 si es impar). Para sacar la cifra en binario se
toma el último cociente (siempre será 1) y todos los restos de las divisiones de abajo arriba, en orden
ascendente.
Tomemos como ejemplo el número decimal 45:
Otro ejemplo
SUMA DE �ÚMEROS BI�ARIOS
Tabla para sumar números binarios
Suma de dos números binarios
� Como ejemplo sumemos los números binarios 00102 (decimal 2) y 01102 (decimal 6)
La suma en decimal es 2 + 6 = 8
��7 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
Primer paso De la misma forma que hacemos cuando sumamos números del sistema
decimal, esta operación matemática la comenzamos a realizar de derecha a
izquierda, comenzando por los últimos dígitos de ambos sumandos, como en
el siguiente ejemplo:
En la tabla de suma de números binarios podemos comprobar que 0 + 0 = 0
Segundo paso
Se suman los siguientes dígitos 1 + 1 = 10 (según la tabla), se escribe el “0” y
se acarrea o lleva un “1”. Por tanto, el “0” correspondiente a tercera posición
de derecha a izquierda del primer sumando, toma ahora el valor “1”.
Tercer paso
Al haber tomado el “0” de la tercera posición el valor “1”, tendremos
que sumar 1 + 1 = 10. De nuevo acarreamos o llevamos un “1”, que
tendremos que pasar a la cuarta posición del sumando.
Cuarto paso
El valor “1” que toma el dígito “0” de la cuarta posición lo sumamos al dígito
“0” del sumando de abajo. De acuerdo con la tabla tenemos que 1+ 0 = 1.
El resultado final de la suma de los dos números binarios es: 1 0 0 0 => Decimal 8
Otros ejemplos
RESTA DE �ÚMEROS BI�ARIOS
El algoritmo de la resta en sistema binario es el mismo que en el sistema decimal. Pero conviene repasar la
operación de restar en decimal para comprender la operación binaria, que es más sencilla. Los términos que
intervienen en la resta se llaman minuendo, sustraendo y diferencia.
Tabla para restar números binarios
0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 0 - 1 = 1 (se transforma en 10 - 1 = 1) (en sistema decimal equivale a 2 - 1 = 1) La resta 0 - 1 se resuelve igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 0 - 1 = 1 y debo 1, lo que equivale a decir en el sistema decimal, 2- 1 = 1.
��8 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
Por ejemplo veamos la resta en binario de los números decimales 26 – 5 = 21
Otros ejemplos
10001 => Decimal 17 11011001 => Decimal 217 - 01010 => Decimal - 10 - 10101011 => Decimal - 171 ———- ------ ————— -------- 00111 => Decimal 7 00101110 => Decimal 46 Para simplificar las restas y reducir la posibilidad de cometer errores hay varios métodos:
Dividir los números largos en grupos. En el siguiente ejemplo, vemos cómo se divide una resta larga en tres
restas cortas:
100110011101 1001 1001 1101 -010101110010 - 0101 -0111 -0010 ——————— = ——- ——- ——-- 010000101011 0100 0010 1011
La resta de dos números binarios puede obtenerse sumando al minuendo el “complemento a dos” del sustraendo. El complemento a dos de un número binario se obtiene invirtiendo sus dígitos, es decir cambiar los 0 por 1 y los 1 por 0 y al número así obtenido sumarle 1.
Por ejemplo, buscar el complemento a 2 del número binario 10110
Ejemplos de resta de dos números binarios utilizando el complemento a dos:
La resta en decimal de los números 88 - 36 = 52, en binario utilizando el complemento a dos es:
En el resultado sobra un bit, que se desborda por la izquierda. Pero, como el número resultante no puede ser más largo que el minuendo, el bit sobrante se desprecia.
Vamos a restar 219 (110110112) – 23 (101112) = 196 (110001002), directamente y utilizando el
complemento a dos:
��9 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
11011011 11011011 -00010111 el complemento a dos de 00010111 es 11101001 +11101001 ————-- —------------ 11000100 Bit desbordado => 111000100
Despreciando el bit que se desborda por la izquierda, se llega al resultado correcto:
11000100 en binario, 196 en decimal.
PRODUCTO DE �ÚMEROS BI�ARIOS
Tabla para multiplicar para números binarios
0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 1 = 1
El producto en binario se realiza igual que en números decimales; aunque se lleva a cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el 1 es el elemento neutro del producto.
Multiplicamos:
DIVISIÓ� DE �ÚMEROS BI�ARIOS
La división binaria sigue el mismo procedimiento que el utilizado en decimales, multiplicación y resta al que estamos acostumbrados. Solo hay que entender que restar es en la forma binaría y no como la decimal que hacemos por ejemplo: 100 - 11=89, porque 1002 -112 en binario es 0012
Ejemplo
Se intenta dividir el dividendo por el divisor, empezando por tomar en ambos el mismo número de cifras
(101 entre 110, en el ejemplo siguiente). Si no puede dividirse, se intenta la división tomando un dígito más
(1010 entre 110).
��10 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
CÓDIGOS BI�ARIOS
El Código Binario es un sistema de representación de textos o de procesadores de instrucciones de una computadora, que hace uso del sistema binario, en tanto, el sistema binario puro es aquel sistema de
numeración que se emplea en matemáticas y en informática y en el cual los números se representan
usando únicamente las cifras cero y uno (0 y 1). Especialmente a instancias de las telecomunicaciones y de la informática este código se emplea con
diferentes métodos de codificación de datos como ser: cadenas de caracteres, cadenas de bits, pudiendo ser
de ancho fijo o de ancho variable.
Los sistemas de numeración de la actualidad son ponderados, lo cual significa que cada posición de una
secuencia de dígitos tendrá asociado un peso, en tanto, el sistema binario es de hecho un sistema de
numeración de este tipo: ponderado.
Otra de las características de este tipo de código es la continuidad que hace que las posibles combinaciones
del código sean adyacentes, o sea de cualquier combinación del código a la siguiente cambiará solamente un
bit (código continuo). Y el código será cíclico cuando la última combinación sea a su vez adyacente a la
primera.
Por su lado, los códigos correctores de error y los códigos detectores de error suponen una solución muy
importante y definitiva al problema de la transmisión de datos a través de impulsos eléctricos, ya que existen
una buena cantidad de factores que pueden desencadenar un cambio en la señal eléctrica en un momento
determinado ocasionando de este modo el error que mencionábamos.
Códigos binarios con peso
Los números binarios puros son difíciles de manejar.
Por ejemplo, convertir el número binario puro 101100012 a decimal : 101100012 = 17710
Hacer esta conversión sin una calculadora lleva bastante tiempo.
El Código Decimal Codificado Binario 8421 (BCD 8421) realiza la conversión a decimal de forma más fácil.
Decimal
BCD 8 4 2 1 23 22 21 20
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
��11 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
Otro ejemplo =>
La tabla de la izquierda muestra el Código BCD de cuatro bits para los dígitos
decimales del 0 al 9.
Observe que el código BCD es un código con peso. El bit más significativo tiene
un peso de 8 y el menos significativo de 1, por eso este código es denominado
BCD 8421, aunque por ser el más utilizado normalmente se lo menciona como
BCD.
Existen otros códigos BCD que asignan otros pesos a las cuatro posiciones.
El código 8421
• Es un tipo de código denominado BCD (Binary Coded Decimal)
• “Decimal Codificado a Binario” significa que cada dígito decimal (0 al 9) es representado por un
código binario de 4 bits.
• La designación 8421 indica los pesos binarios de los 4 bits (23, 2
2, 2
1, 2
0).
• Tiene como ventaja la facilidad de conversión entre 8421 y decimal.
Códigos Inválidos Con 4 bits es posible representar en binario 16 números (0000 al 1111), sin embargo en 8421 solo se utilizan
10.
Los 6 códigos no utilizados son: 1010, 1011, 1100, 1101, 1110 y 1111. Estos códigos son inválidos en BCD
8421.
Conversión de un número decimal a código BCD
Para expresar cualquier número decimal en BCD, simplemente se reemplaza cada dígito decimal con el código BCD de 4 bits correspondiente.
Conversión de un número expresado en código BCD a Decimal
Iniciar con el bit del extremo derecho y dividir el número expresado en BCD en grupos de 4 bits. Escribir el dígito decimal representado por cada grupo de 4 bits.
Si al dividir el número en grupos de 4 bits, el último grupo no contiene 4 bits se debe completar dicho grupo
agregando 0’s a la izquierda.
Por ejemplo
Suma de números expresados en BCD
1. Realizar la suma binaria de cada columna normalmente. 2. Si la suma de los 4 bits es menor o igual a 9, el resultado obtenido es un número BCD válido. 3. Si la suma de los 4 bits en alguna columna es mayor a 9 o si se genera un arrastre (carry) fuera
del grupo de los 4 bits, el resultado es inválido. En ese caso añadir 6 (0110) a la suma de 4 bits para evitar los 6 estados inválidos y regresar el código a 8421. Si resulta un arrastre (carry) cuando se suma el 6, simplemente añada el carry al siguiente grupo de 4 bits.
��12 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
Ejemplos donde la suma de los 4 bits es menor o igual a 9:
Observe que en cada caso la suma de cualquier columna de 4 bits no excede de 9, por lo que los resultados
son números BCD válidos.
Ejemplos del procedimiento a seguir en el caso de sumas inválidas:
“Decimal codificado binario (BCD)” es una denominación general que puede aplicarse a cualquiera de
diferentes códigos. Si bien el código binario BCD 8421 es un código muy utilizado, existen otros códigos
por ejemplo:
Código Octal
Decimal C B A 0 0 0 0
1 0 0 1 2 0 1 0 3 0 1 1
4 1 0 0 5 1 0 1 6 1 1 0
7 1 1 1
��13 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
El Código Octal es un código de 3 bits, se utiliza para representar los
números del 0 al 7.
En la tabla de la derecha se resume este sistema de codificación.
El bit de la izquierda (C) se denomina MSB o Bit Más Significativo. El bit de la derecha (A) se denomina LSB o Bit Menos Significativo.
Código Hexadecimal
Decimal D C B A 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1
Código ASCII
��14 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
El Código Hexadecimal es un código de 4 bits, se utiliza
para representar los números del 0 al 15.
En la tabla de la derecha se resume este sistema de
codificación.
El bit de la izquierda (D) se denomina MSB o Bit Más Significativo. El bit de la derecha (A) se denomina LSB o Bit Menos Significativo.
El Código ASCII es un código Alfa �umérico de 7 bits que se utiliza en
sistemas digitales avanzados como
computadoras. Es utilizado por ejemplo
para realizar interfaces en teclados de
computadoras, impresoras, etc.
Con el se puede representar hasta 128
caracteres de información diferentes,
incluyendo letras en mayúscula y
minúscula, números, signos de
puntuación, instrucciones y caracteres
especiales como #, $, *, [, {, }, “, etc.
Los primeros tres bits son los Más Significativos (MSB) y los cuatro últimos son los Menos Significativos (LSB). Por ejemplo el código ASCII para la letra K (mayúscula) es 1001011. El de la letra k (minúscula) es 1101011. El del número 9 es 0111001. El del número 5 es 0110101. El del signo = es 0111101. El del signo % es 0100101.
COMPUERTAS LÓGICAS
� Las computadoras digitales utilizan el sistema de números binarios, que tiene dos dígitos 0 y 1. � Un dígito binario se denomina un bit. � La información es manejada en las computadoras digitales en grupos de bits. Utilizando
diversas técnicas de codificación los grupos de bits pueden representar no solamente números binarios sino también otros símbolos discretos cualesquiera, tales como dígitos decimales o letras de alfabeto.
� Utilizando arreglos binarios y diversas técnicas de codificación, los dígitos binarios o grupos de bits pueden utilizarse para desarrollar conjuntos completos de instrucciones para realizar diversos tipos de cálculos.
� La información binaria se representa en un sistema digital por cantidades físicas denominadas señales. Las señales eléctricas utilizadas en un sistema digital son tensiones que pueden tomar cualquiera de dos valores reconocibles y que representan una variable binaria igual a 1 o 0.
Como se muestra en la figura, cada valor binario tiene una desviación aceptable del valor nominal. La región
intermedia entre las dos regiones permitidas (zona agrisada) se cruza solamente durante la transición de
estado (0 a 1 o 1 a 0). Los terminales de entrada de un circuito digital aceptan señales binarias dentro de las
tolerancias permitidas y los circuitos responden en los terminales de salida con señales binarias que caen
dentro de dichas tolerancias.
� La lógica binaria tiene que ver con variables binarias y con operaciones que toman un sentido lógico. La manipulación de información binaria se hace por circuitos lógicos que se denominan Compuertas.
� Las compuertas son circuitos integrados que generan señales en binario 1 ó 0 cuando se satisfacen los requisitos de entrada lógica.
� Las diversas compuertas lógicas se encuentran comúnmente en sistemas de computadoras digitales. Cada compuerta tiene un símbolo gráfico diferente y su operación puede describirse por medio de una función algebraica. Las relaciones entrada - salida de las variables binarias para cada compuerta pueden representarse en una tabla de verdad.
Circuitos Lógicos Básicos utilizados en Electrónica Digital denominados comúnmente
“Compuertas Lógicas” o “Logic Gates”
Todos los Sistemas Digitales se construyen utilizando tres Compuertas Lógicas Básicas que son:
Compuerta A�D Compuerta OR Compuerta �OT
��15 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
Las señales eléctricas utilizadas en un sistema digital son tensiones que pueden tomar cualquiera de dos valores reconocibles y que representan una variable binaria igual a 1 o 0. La figura muestra un ejemplo de una señal binaria
Las Compuertas Lógicas operan con Números Binarios, por lo tanto sus entradas o salidas solo pueden tomar
dos estados 1 o 0.
Se establece En términos de tensión En nomenclatura digital Presencia de tensión H ( high) 1
Ausencia de tensión L (low) 0
� Compuerta Lógica A�D de dos Entradas
En el circuito de la Figura 4 se muestra el estado que toma la Salida S de la Compuerta AND, en función de
los distintos estados que pueden adoptar sus Entradas A y B.
��16 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
El estado que toma la Salida S de la Compuerta Lógica AND, en función de los
distintos estados que pueden adoptar sus Entradas A y B se representa en la
denominada Tabla de Verdad aquí mostrada.
Existen Compuertas AND que tienen más de dos entradas, por ejemplo 4, 8, etc. Todas tienen una
característica fundamental, que es la siguiente:
La característica fundamental del Circuito Lógico A�D consiste en presentar una Salida Lógica igual a 1 cuando y solo cuando todas sus Entradas se encuentren a �ivel Lógico 1. � Compuerta Lógica OR de dos Entradas
En el circuito de la Figura 5 se muestra el estado que toma la Salida S de la Compuerta Lógica OR, en
función de los distintos estados que pueden adoptar sus Entradas A y B.
Existen Compuertas OR que tienen más de dos entradas, por ejemplo 4, 8, etc. Todas tienen una
característica fundamental, que es la siguiente:
La característica fundamental del Circuito Lógico OR consiste en presentar una Salida Lógica igual a 0 cuando y solo cuando todas sus Entradas se encuentren a �ivel Lógico 0.
��17 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
El estado que toma la Salida S de la Compuerta Lógica OR, en función de los
distintos estados que pueden adoptar sus Entradas A y B se representa en la
denominada Tabla de Verdad aquí mostrada.
� Compuerta Lógica �OT
En el circuito de la Figura 6 se muestra el estado que toma la Salida S de la Compuerta Lógica NOT, en
función de la de los dos únicos estados que puede adoptar su única Entrada A.
La característica fundamental del Circuito Lógico �OT consiste en presentar una Salida Lógica con un nivel lógico siempre opuesto al nivel en el que se encuentra su Entrada. También se dice que �iega o Invierte el nivel lógico de su Entrada.
Todos los que alguna vez hemos diseñado un circuito digital sabemos lo importante que es contar con
una herramienta virtual que nos permita realizar una simulación de funcionamiento del circuito
diseñado antes de llevarlo a la práctica. Estos software suelen ser bastante caros y muchas veces el
estudiante o técnico no tiene acceso a ellos.
Existe el Constructor Virtual de Circuitos Digitales que es completamente gratis y que no tiene nada que envidiarle a muchas de las herramientas de pago. Este programa ha sido desarrollado por Arturo Javier Miguel De Priego Paz Soldan, Ingeniero Electrónico de la Pontificia Universidad Católica de Perú.
El programa puede descargarse desde la Página WEB: www.geocities.com/tourdigital
Correo electrónico: amiguel@pucp.edu.pe
He utilizado este programa para mostrar prácticamente el funcionamiento de las compuertas AND, OR y
NOT vistas en las Figuras 4, 5, y 6 pero ahora con Circuitos Integrados Reales.
��18 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
El estado que toma la Salida S de la Compuerta Lógica NOT, en función de los dos
únicos estados que pueden adoptar su única Entrada A se representa en la
denominada Tabla de Verdad aquí mostrada.
Circuitos Integrados utilizados:
74LS08: Cuádruple compuerta AND de dos entradas
74LS32: Cuádruple compuerta OR de dos entradas
74LS04: Séxtuple compuerta NOT
*En cada caso los LED A y B muestran el estado de las entradas y el LED S muestra el estado de la salida.
*LED apagado indica la no presencia de tensión o sea un 0 Lógico.
*LED encendido indica la presencia de tensión o sea un 1 Lógico.
*Para el ejemplo, de cada circuito integrado se utiliza solo una compuerta, la 1.
��19 � JORGE A. GARBERO – INGENIERIA ELECTRONICA
Hasta este punto se analizó los operadores lógicos básicos. A partir de ellos por combinaciones o agrupaciones apropiadas, se pueden obtener todos los demás circuitos lógicos por complejos que puedan ser. Las combinaciones más simples de estos tres circuitos básicos dan como resultado otras cuatro compuertas
lógicas más, de amplia aplicación práctica.
Compuerta Lógica �A�D Compuerta Lógica �OR Compuerta Lógica OR Exclusivo Compuerta Lógica �OR Exclusivo
��20 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
� Compuerta Lógica �A�D
Una Compuerta Lógica NAND consiste en una Compuerta Lógica AND seguida por una Compuerta Lógica
NOT.
� Símbolo de una Compuerta Lógica �A�D de dos Entradas
El pequeño círculo de la Salida S indica que la señal de salida es invertida o negada.
En el circuito de la Figura 7 se muestra el estado que toma la Salida S de la Compuerta NAND, en función de
los distintos estados que pueden adoptar sus Entradas A y B.
��21 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Observe que la salida de la compuerta AND, S’, luego es invertida por la
compuerta NOT, siendo la salida final S.
El estado que toma la Salida S de la Compuerta Lógica NAND, en función de los
distintos estados que pueden adoptar sus Entradas A y B se representa en la
denominada Tabla de Verdad aquí mostrada.
Existen Compuertas AND que tienen más de dos entradas, por ejemplo 4, 8, etc. Todas tienen una
característica fundamental, que es la siguiente:
La característica fundamental del Circuito Lógico �A�D consiste en presentar una Salida Lógica igual a 0 cuando y solo cuando todas sus Entradas se encuentren a �ivel Lógico 1.
� Compuerta Lógica �OR Una Compuerta Lógica NOR consiste en una Compuerta Lógica OR seguida por una Compuerta Lógica
NOT.
Símbolo de una Compuerta Lógica �OR de dos Entradas
��22 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Comparando los resultados arrojados por las Tablas de
Verdad de las compuertas lógicas AND y NAND se llega a la
conclusión que los estados lógicos de estas compuertas son
complementarios.
Observe que la salida de la compuerta OR, S’, luego es invertida por la
compuerta NOT, siendo la salida final S.
El pequeño círculo de la Salida S indica que la señal de salida es invertida o negada.
En el circuito de la Figura
8 se muestra el estado que
toma la Salida S de la
Compuerta NOR, en
función de los distintos
estados que pueden
adoptar sus Entradas A y
B.
Existen Compuertas NOR que tienen más de dos entradas, por ejemplo 4, 8, etc. Todas tienen una
característica fundamental, que es la siguiente:
La característica fundamental del Circuito Lógico �OR consiste en presentar una Salida Lógica igual a 1 cuando y solo cuando todas sus Entradas se encuentren a �ivel Lógico 0.
Nuevamente he utilizado el programa Constructor Virtual de Circuitos Digitales para mostrar
prácticamente el funcionamiento de las compuertas NAND y NOR vistas en las Figuras 7 y 8, pero ahora con
Circuitos Integrados Reales.
Circuitos Integrados utilizados: 74LS00: Cuádruple compuerta NAND de dos entradas
74LS02: Cuádruple compuerta NOR de dos entradas
*En cada caso los LED A y B muestran el estado de las entradas y el LED S muestra el estado de la salida.
*LED apagado indica la no presencia de tensión o sea un 0 Lógico.
*LED encendido indica la presencia de tensión o sea un 1 Lógico.
*Para el ejemplo, de cada circuito integrado se utiliza solo una compuerta, la 1.
��23 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
El estado que toma la Salida S de la Compuerta Lógica NOR, en función de los
distintos estados que pueden adoptar sus Entradas A y B se representa en la
denominada Tabla de Verdad aquí mostrada.
Comparando los resultados arrojados por las Tablas de
Verdad de las compuertas lógicas OR y NOR se llega a la
conclusión que los estados lógicos de estas compuertas son
complementarios.
��24 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
� Circuito Lógico OR EXCLUSIVO
Anteriormente se planteo el funcionamiento de la Compuerta Lógica OR, su lógica de operación puede
plantearse considerando la siguiente afirmación:
Mañana iré al supermercado o al cine.
con esta afirmación nada me impide
Ir únicamente al supermercado, o
Ir únicamente al cine, o
Ir a los dos sitios
Yo no dije que solamente iría a uno de estos dos sitios
Tenemos aquí planteado el denominado OR I�CLUSIVO
Si se modifica ligeramente la afirmación planteada anteriormente digo:
Mañana iré solamente al supermercado o solamente al cine
Indudablemente se elimina la hipótesis de que ocurran los dos hechos
Tenemos aquí planteado el denominado OR EXCLUSIVO
Este nuevo operador lógico se obtiene combinando tres compuertas lógicas ya conocidas, que son:
Una compuerta OR Una compuerta �A�D Una compuerta A�D
��25 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En el circuito de la Figura 9 se muestra el estado que toma la Salida S del Circuito Lógico OR Exclusivo, en
función de los distintos estados que pueden adoptar sus Entradas A y B.
La característica fundamental del Circuito Lógico OR EXCLUSIVO consiste en presentar una salida lógica igual a 0, cuando y siempre cuando, todas sus entradas se encuentren al mismo nivel lógico, o sea que ambas estén en nivel 0 o en nivel 1.
Nuevamente he utilizado el programa Constructor Virtual de Circuitos Digitales para mostrar
prácticamente el funcionamiento del Circuito Lógico OR EXCLUSIVO visto en la Figuras 9, pero ahora
con un Circuito Integrado Real.
*En cada caso los LED A y B muestran el estado de las entradas y el LED S muestra el estado de la salida.
*LED apagado indica la no presencia de tensión o sea un 0 Lógico.
*LED encendido indica la presencia de tensión o sea un 1 Lógico.
*Para el ejemplo, del circuito integrado se utiliza solo una compuerta, la 1.
��26 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
El estado que toma la Salida S del Circuito Lógico OR EXCLUSIVO, en
función de los distintos estados que pueden adoptar sus Entradas A y B se
representa en la denominada Tabla de Verdad aquí mostrada.
Circuito Integrado utilizado: 74LS86: Cuádruple compuerta XOR de dos entradas
��27 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Asi como a las salidas de los circuitos lógicos AND y OR fueron asociados circuitos lógicos de negación
NOT para formar sus respectivos circuitos lógicos complementarios NAND y NOR, también en este caso es
posible asociar un circuito de negación a la salida del circuito lógico OR EXCLUSIVO, dando origen asi al
denominado Circuito Lógico NOR EXCLUSIVO.
� A continuación se muestran algunos ejemplos de cómo combinar una misma compuerta para lograr implementar una compuerta diferente.
• La función lógica NOT puede implementarse con una compuerta NAND o una NOR conectando las
entradas A y B entre sí en cada una de ellas. Figura 10
��28 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
• La función lógica AND puede implementarse con dos compuertas NAND. Figura 11
• La función lógica OR puede implementarse con dos compuertas NOR. Figura 12
Nuevamente he utilizado el programa Constructor Virtual de Circuitos Digitales para mostrar
prácticamente el funcionamiento de las compuertas NAND y NOR vistas en las Figuras 11 y 12, pero ahora
con Circuitos Integrados Reales.
Circuitos Integrados utilizados: 74LS00: Cuádruple compuerta �A�D de dos entradas 74LS02: Cuádruple compuerta �OR de dos entradas
��29 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
*En cada caso los LED A y B muestran el estado de las entradas y el LED S muestra el estado de la salida.
*LED apagado indica la no presencia de tensión o sea un 0 Lógico.
*LED encendido indica la presencia de tensión o sea un 1 Lógico.
*Para el ejemplo, de cada circuito integrado se utiliza dos compuertas, la 1 y la 2.
��30 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Veamos ahora como son las señales de salida de las Funciones Lógicas A�D y OR cuando en sus entradas ya no se aplican niveles lógicos (0 o 1) constantes sino trenes de pulsos compuestos por 0’s y 1’s o la combinación de ambos.
��31 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
� Señal de Salida de una Compuerta A�D, que recibe en su Entrada A un tren de pulsos, mientras su
Entrada B está a �ivel Lógico 1. Figura 13
Si la Entrada B estuviera a �ivel Lógico 0 cuando se presenta el tren de pulsos en la Entrada A, la Salida
de la función lógica A�D sería siempre 0.
� Señal de Salida de una Compuerta A�D, que recibe en sus Entradas A y B trenes de pulso diferentes.
Figura 14
��32 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
� Señal de Salida de una Compuerta OR, que recibe en su Entrada A un tren de pulsos, mientras su
Entrada B está a nivel 0. Figura 15
Si la Entrada B estuviera a �ivel Lógico 1 cuando se presenta el tren de pulsos en la Entrada A, la Salida
de la función lógica OR sería siempre 1.
� Señal de Salida de una Compuerta OR, que recibe en sus Entradas A y B trenes de pulso diferentes.
Figura 16
��33 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Funciones Lógicas utilizando compuertas lógicas simples
Las funciones lógicas son un conjunto de variables lógicas relacionadas entre sí mediante operaciones
lógicas: producto lógico, suma lógica, inversión. Un método muy utilizado para diseñar un circuito lógico a partir de compuertas lógicas y que este circuito
nos resuelva una función lógica, consiste en plantear dicha función en forma canónica. El término canónico de una función lógica es aquel en el cual aparecen todas las variables lógicas
consideradas en su forma original o invertida (negada).
Si la operación lógica es el producto lógico de las variables, al término canónico se lo denomina mintérmino. Un mintérmino es aquel donde están presentes todas las variables (directas o negadas) de la función en forma de producto lógico.
Por ejemplo, los mintérminos posibles de la función Q = f (A,B) son:
La cantidad de mintérminos que se pueden obtener de una función lógica que contenga n variables es 2n.
Una función lógica de 2 variables tiene 22 = 4 mintérminos
“ “ “ “ 3 variables tiene 23 = 8 mintérminos
“ “ “ “ 4 variables tiene 24 = 16 mintérminos
Expresiones canónicas en forma de Suma de Productos
Supongamos que deseamos construir un circuito digital que utilizando compuertas lógicas simples nos
resuelva una ecuación determinada como la siguiente:
En este ejemplo estamos planteando la suma de productos de dos variables, A y B.
Para comenzar un problema de diseño lógico es necesario construir primero una Tabla de Verdad que detalle
la operación exacta que deseamos realice el circuito digital.
Por último se dibuja el circuito lógico y se comprueba que cumpla la Tabla de Verdad. Figura 17
��34 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Suma de Productos de tres variables - (Figura 18)
En este ejemplo estamos planteando la suma de productos de tres variables, A, B, C.
Por último se dibuja el circuito lógico y se comprueba que cumpla la Tabla de Verdad. Figura 18
Si la operación lógica es la suma lógica de las variables, al término canónico se lo denomina maxitérmino. Un maxitérmino es aquel donde están presentes todas las variables (directas o negadas) de la función en forma de suma lógica.
Por ejemplo, los maxitérminos posibles de la función X = f (A,B) son:
��35 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
La cantidad de maxitérminos que se pueden obtener de una función lógica que contenga n variables es 2n.
Expresiones canónicas en forma de Producto de Sumas
Supongamos que deseamos construir un circuito digital que utilizando compuertas lógicas simples nos
resuelva una ecuación determinada como la siguiente:
En este ejemplo estamos planteando el producto de sumas de tres variables, A, B, C.
Para comenzar un problema de diseño lógico es necesario construir primero una Tabla de Verdad que detalle
la operación exacta que deseamos realice el circuito digital.
Por último se dibuja el circuito lógico y se comprueba que cumpla la Tabla de Verdad. Figura 19
��36 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Producto de sumas con cuatro variables (Figura 20)
Conversión de Códigos
��37 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Una aplicación de las compuertas lógicas en los sistemas digitales
es la de conversores de códigos. Los códigos más utilizados son los
binario BCD 8421, octal, hexadecimal, ASCII y el decimal.
Como sabemos los dispositivos digitales pueden procesar solamente
los bits 1 y 0. Para el ser humano, comprender grandes cadenas de
bits 1’s y 0’s es difícil. Por esta razón, se necesitan conversores de
código para traducir el lenguaje de alto nivel del ser humano al
lenguaje de máquina.
Veamos el diagrama de bloque de una calculadora (figura
izquierda).
Entre el teclado y la Unidad Central de Proceso (CPU) hay un codificador, este traduce el número decimal
pulsado en el teclado a código binario.
La CPU realiza su operación en binario y genera un resultado en código binario. Este resultado es procesado
por el decodificador que traduce el código binario de la CPU a un código especial que hace que se presente
en el display, en decimal, el resultado obtenido por la CPU.
• En resumen, el codificador actúa como traductor del lenguaje humano al lenguaje de máquina.
• El decodificador hace el proceso inverso, traduce el lenguaje de máquina al lenguaje humano.
� Codificador de Decimal a Decimal Codificado Binario (BCD 8421).
Como ejemplo, utilizamos uno de los tantos circuitos integrados codificadores de decimal a binario, el
74147. Este circuito se denomina codificador de prioridad de 10 a 4 líneas.
Este codificador tiene diez entradas en decimal y cuatro salidas codificadas en binario BCD 8421.
El codificador puede tener una sola entrada activa (entrada puesta a 0 lógico) que produce una única salida.
En las figuras siguientes se muestran como ejemplo algunos estados:
��38 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
� Decodificador de Binario (BCD 8421) a Decimal.
Un decodificador prácticamente puede considerarse lo opuesto a un codificador.
Como ejemplo, utilizamos uno de los tantos circuitos integrados decodificadores de binario BCD a
decimal, el 7442.
Este decodificador tiene cuatro entradas que deben ser codificadas en BCD 8421 y diez salidas, una para
cada dígito decimal (del 0 al 9). Los inversores dispuestos en cada salida se deben a que las salidas son
activas a nivel 0 lógico y para activar los indicadores es necesario un 1 lógico.
En las figuras siguientes se muestran como ejemplo algunos estados:
��39 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Decodificador BCD a Código de 7 segmentos
Como ejemplo, utilizamos uno de los tantos circuitos integrados decodificadores de binario BCD a
código de 7 segmentos, el 7447.
Este decodificador tiene cuatro entradas que deben ser codificadas en BCD 8421 y siete salidas, una para
cada segmento. Los inversores dispuestos en cada salida se deben a que las salidas son activas a nivel 0
lógico y el display utilizado es de cátodo común, por lo que para activar cada segmento se necesita un 1 lógico.
En las figuras siguientes se muestran como ejemplo algunos estados:
��40 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Un proceso común de un circuito digital es convertir el lenguaje de máquina a
números decimales y presentarlos en un display de 7 segmentos. Un
visualizador muy utilizado es el de diodos emisores de luz (LED). Estos
pueden fabricarse con Led’s rojos, verdes, azules. Pueden ser de cátodo
común (los 7 Led’s tienen los cátodos unidos) o de ánodo común (los 7 Led’s
tienen los ánodos unidos).
También existen los visualizadores LCD, son los más utilizados en
dispositivos alimentados por batería dado su bajo consumo.
Volvemos a utilizar el programa Constructor Virtual de Circuitos Digitales para mostrar prácticamente el
funcionamiento del Codificador de Decimal a Decimal Codificado Binario (BCD 8421) en conjunto con el
Decodificador BCD a Código de 7 segmentos.
El circuito planteado se muestra en la Figura 21
��41 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
��42 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Circuitos aritméticos
Los circuitos aritméticos son comunes en muchos sistemas digitales. Con simples compuertas lógicas
interconectadas entre sí, se pueden diseñar circuitos lógicos combinacionales que permiten realizar distintas
operaciones aritméticas en binario.
Como ejemplo, para diseñar un sumador completo de dos bits (Figura 22) se pueden utilizar:
2 compuertas AND => del CI 4081 (cuádruple compuerta AND de 2 entradas)
2 compuertas XOR => del CI 4070 (cuádruple compuerta XOR de 2 entradas)
1 compuerta OR => del CI 4071 (cuádruple compuerta OR de 2 entradas)
El ejemplo dado tiene una finalidad didáctica. Observe que para lograrlo se han utilizado tres circuitos
integrados distintos. Hay circuitos integrados en los que un solo chip contiene un sumador completo con más
posibilidades.
Por ejemplo el CI 74LS83, que es un sumador paralelo de 4 bits (Figura 23)
��43 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En la Figura 24 se muestran algunas sumas realizadas con el CI 74LS83
Observe que la suma mayor que es posible obtener corresponde al número binario:
1 1 1 1 => decimal 15
Utilizando dos sumadores 74LS83 conectados en cascada es posible lograr sumas cuya cifra mayor es el
binario:
1 1 1 1 1 1 1 1 => decimal 255
Esto es posible porque al utilizar dos sumadores completos de 4 bits se forma un sumador completo de 8 bits.
Con tres sumadores completos conectados entre sí, se logra un sumador completo de 12 bits.
Con cuatro sumadores se obtiene un sumador de 16 bits.
Con ocho sumadores se obtiene un sumador de 32 bits.
En la Figura 25 se muestra el sumador completo de 8 bits formado con dos CI 74LS 83.
��44 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Observe en el circuito de la Figura 25 que la Salida de Acarreo (CO) del primer sumador está conectada a la
Entrada de Arrastre (CI) del segundo sumador.
En la Figura 26 se muestran algunas sumas realizadas con el sumador paralelo de 8 bits:
��45 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Restador binario de 4 bits
Introduciendo algunos pequeños cambios en el circuito de aplicación, un sumador paralelo puede utilizarse
para realizar sustracciones binarias.
Recuerde que:
La resta de dos números binarios puede obtenerse sumando al minuendo el “complemento a dos” del sustraendo. El complemento a dos de un número binario se obtiene invirtiendo sus dígitos, es decir cambiar los 0 por 1 y los 1 por 0 y al número así obtenido sumarle 1.
En el circuito de la Figura 27 se aprecia cómo se logra el complemento a 2 del sustraendo. El complemento a
1 se logra invirtiendo los bits (B1 a B4) por medio de las compuertas lógicas inversoras (IC2a a IC2c). La
suma de 1 bit es producto de llevar la entrada CI del sumador a nivel lógico alto (+ 5V).
��46 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Sumador/Restador binario de 4 bits
Introduciendo algunos pequeños cambios en el circuito de aplicación, un sumador paralelo puede utilizarse para
realizar sumas y sustracciones binarias.
En la Figura 28 se muestra el nuevo circuito planteado. Con respecto al circuito de la Figura 27 se han substituido los
inversores lógicos por compuertas lógicas XOR y se ha agregado una entrada independiente que cumple la función de
selección de modo de operación a realizar, suma o resta.
En la Figura 29-A el CI tiene el Control de Modo a nivel lógico 0 por lo que actúa como sumador de los datos
presentes en sus entradas A y B al estar la entrada CI a nivel lógico 0. Las compuertas XOR son transparentes para los
datos de las entradas B, es decir el dato de salida es igual al de su entrada.
En la Figura 29-B el CI tiene el Control de Modo a nivel lógico 1 por lo que actúa como restador de los datos
presentes en sus entradas A y B. Las compuertas XOR funcionan como inversores para los datos de las entradas B, es
decir el dato de salida es la negación del dato de su entrada produciendo el complemento a 1 del sustraendo. Al estar la
entrada CI a nivel lógico 1 se suma 1 bit completando así el complemento a 2 del sustraendo.
��47 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Unidad de Aritmética y Lógica (ALU)
Las unidades de aritmética y lógica (ALU) constituyen dispositivos útiles y versátiles que implementan
diferentes operaciones lógicas y aritméticas, generalmente en un solo circuito integrado.
Funcionalmente, una unidad del tipo 74181 acepta como datos dos palabras de cuatro bits:
A = A3 A2 A1 A0 y B = B3 B2 B1 B0, produciendo como resultado otra palabra de 4 bits:
F = F3 F2 F1 F0 (Figura 30)
Además de estas líneas posee un acarreo de entrada Cn y un acarreo de salida Cn+4, activos a nivel bajo.
Tabla de Verdad de la ALU 74181
��48 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
La operación que se realiza sobre los datos de entrada A y B está
determinada por las entradas de selección S = S3 S2 S1 S0 y la
entrada de modo M.
Cuando M = 0 (Low) las operaciones que se realizan son aritméticas (suma, resta, etc.), mientras que: cuando M = 1 (High) las operaciones que se realizan son lógicas (A�D, OR, etc.). Los acarreos de entrada y de salida solo tienen sentido cuando se
trata de operaciones aritméticas.
La Tabla de Verdad que se muestra a continuación ilustra las
distintas operaciones que se realizan en términos del valor de las
entradas S y M.
A continuación se muestran algunos ejemplos de funcionamiento de la ALU 74181 resueltos en el
Laboratorio Virtual Electronics Workbench.
Suma de dos números binarios
Dato A: 1 0 0 0 (decimal 8) + Dato B: 0 1 0 0 (decimal 4)
Resultado: 1 1 0 0 (decimal 12)
Resta de dos números binarios
Dato A: 1 1 1 0 (decimal 14) - Dato B: 1 0 0 1 (decimal 9)
Resultado: 0 1 0 1 (decimal 5)
��49 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Función lógica A�D
Dato A: 1 0 1 1 AND Dato B: 1 0 0 1
“A” AND “B” = 1 0 0 1
Función lógica XOR
Dato A: 1 0 1 1 AND Dato B: 0 0 0 1
“A” XOR “B” = 1 0 1 0
��50 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Este tipo de ALU's tiene un número muy limitado de bits en cuanto a la longitud de las palabras sobre las que
opera (4 bits). Es posible conectar, por ejemplo, dos CI 74181 en cascada para realizar operaciones
aritmético-lógicas con palabras de un número de dígitos considerablemente mayores (8 dígitos). Esto se
consigue conectando el acarreo de salida Cn+4 de un CI con el acarreo de entrada Cn del siguiente que es el
que maneja los bits más significativos y además puenteando todas las entradas M y S de cada uno de los CI.
Ver circuito en la Figura 31
También es posible realizar prácticas de funcionamiento de la ALU 74181 utilizando el programa
Constructor Virtual de Circuitos.
Operación Aritmética Suma (F = A + B)
��51 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Función Lógica A�D (F = A.B)
Siguiendo los dos ejemplos mostrados, se sugiere realizar prácticas para entender todas las posibilidades que
brinda el circuito integrado 74181.
Multiplexores
Los multiplexores, también llamados selectores de datos son circuitos combinacionales que seleccionan una
de varias líneas de entrada y dirigen el dato presente en esa línea a una única línea de salida.
Un multiplexor opera en forma análoga a un interruptor mecánico de una vía y varias posiciones. (Figura 32)
Los multiplexores se utilizan en sistemas de transmisión de datos, generadores de funciones lógicas, etc.
Un multiplexor es un circuito lógico combinacional con un cierto número de líneas de entrada (M), un cierto número de líneas de selección (�) y una única línea de salida (Y) en la que se presenta la información disponible en una de las entradas, de acuerdo al código presente en sus líneas de selección. (Figura 33)
El multiplexor (MUX) de la Figura 33 es de M = 8 líneas de entrada con � = 3 líneas de selección.
Por ejemplo si se aplica el código S2=0; S1=1; S0=0 => (010) en las líneas de selección, en la salida Y se
tendrá la información presente en la entrada D2.
��52 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Si se selecciona el código S2=1, S1=0; S0=1 => (101), en la salida Y se tendrá la información presente en la
entrada D5. Observe que para seleccionar cada entrada, se debe poner en las entradas de selección el número
de la entrada deseada pero en números binarios, siendo siempre el bit menos significativo S0.
En la Figura 34 se muestra el multiplexor 74151 en un circuito armado en el Laboratorio Virtual
“Electronics Workbench”. Las entradas de selección son C = S2; B = S1; A = S0, se ha elegido el código
000 por lo que la información presente en la entrada D0 aparece en la salida Y.
En la Figura 35 se tiene el mismo circuito pero ahora se ha elegido el código 001, por lo que la información
presente en la entrada D1 es la que aparece en la salida Y.
Hay multiplexores integrados de 2, 4, 8, 16, 32 canales y más.
Con � líneas de selección es posible direccionar hasta M = 2� canales. Por ejemplo si � = 5 entonces M = 25
por lo que se tiene M = 32 líneas de entrada de información posibles.
��53 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Demultiplexores
Los demultiplexores son circuitos lógicos combinacionales que se utilizan en los sistemas digitales para la
distribución de datos.
Un demultiplexor realiza la función opuesta a la que efectúa un multiplexor.
Un demultiplexor opera en forma análoga a un interruptor mecánico de una vía y varias posiciones.
(Figura 36)
Los multiplexores se utilizan para la distribución de datos, circuitos lógicos, decodificadores lógicos, etc.
Un demultiplexor (también llamado DEMUX) es un circuito lógico combinacional con una línea de entrada de datos (G), un cierto número de entradas de selección (�) y un cierto número de líneas de salida (M) que, de acuerdo con un código binario aplicado a las líneas de selección, transfiere el dato presente en la línea de entrada a una de las líneas de salida. (Figura 37)
El demultiplexor (DEMUX) de la Figura 37 es de M = 8 líneas de salida con � = 3 líneas de selección.
Por ejemplo si se aplica el código S2=0; S1=1; S1=0 => (011) en las líneas de selección, el dato presente en
la entrada G se direcciona a la salida Y3.
Si se selecciona el código S2=1, S1=1; S0=1 => (111), el dato presente en la entrada G se transfiere a la
salida Y7. Observe que para seleccionar cada salida, se debe poner en las entradas de selección el número de
la salida deseada pero en números binarios, siendo siempre el bit menos significativo S0.
En la Figura 38 se muestra el demultiplexor 74138 en un circuito armado en el Laboratorio Virtual
“Electronics Workbench”. Las entradas de selección son C = S2; B = S1; A = S0, se ha elegido el código
000 por lo que la información presente en la entrada G2A’ se transfiere a la salida Y0.
��54 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En la Figura 39 se tiene el mismo circuito pero ahora se ha elegido el código 100, por lo que la información
presente en la entrada G2A’ se transfiere a la salida Y4.
Hay demultiplexores integrados de 2, 4, 8, 16, 32 canales de salida y más.
Con � líneas de selección es posible direccionar la información de la entrada “G” hasta M = 2� canales de
salida. Por ejemplo si � = 5 entonces M = 25 por lo que se tiene M = 32 líneas de salida de información
posibles.
Comparadores
Un comparador de “n” bits es un circuito combinacional que tiene por entradas dos números binarios de “n”
bits cada uno (A y B), determinando a su salida si uno es menor, mayor o igual que el otro. Para ello
dispone de tres salidas típicas:
A < B (A menor que B), A = B (A igual a B) A > B (A mayor que B)
Existen comparadores de cuatro y cinco bits, si bien mediante varios de éstos se pueden construir
comparadores mayores.
A0, A1, A2, A3: dato A de 4 bits B0, B1, B2, B3: dato B de 4 bits A<B , A=B, A>B : entradas en cascada (señales de control) A>B, A=B, A< B: salidas resultado de comparación
��55 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Un típico circuito comparador de cuatro bits es el
circuito integrado 74LS85, que se fabrica con tres
entradas adicionales de control A<B, A=B, A>B
(entradas en cascada), además de las ocho entradas
correspondientes a los dos números binarios A y B de
cuatro bits cada uno.
En las siguientes figuras vemos las tres posibilidades de comparación entre dos números binarios de 4 bits.
Es posible montar un circuito comparador de 8 bits, conectando en cascada dos CI 74LS85, tal como se
muestra en la figura siguiente:
A0, A1, A2, A3, A4, A5, A6, A7: dato A de 8 bits B0, B1, B2, B3, B4, B5, B6, B7: dato B de 8 bits
��56 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Hasta aquí se ha explicado el funcionamiento de Circuitos Digitales Combinacionales, en adelante
pasaremos a tratar Circuitos Digitales Secuenciales tales como, Flip-Flops, Contadores, Registros,
Memorias, etc.
Si se quiere estudiar el funcionamiento de estos circuitos armándolos físicamente en protoboards o circuitos
impresos experimentales, hay que tener la precaución que las llaves y/o pulsadores que se utilicen para
generar los distintos pulsos de entrada no deben conectarse directamente al pin del circuito integrado que se
trate. Esto se debe a que los interruptores mecánicos presentan un problema: son susceptibles al fenómeno de rebote. Debido a su construcción, los contactos de un interruptor mecánico rebotan varias veces antes de cerrarse o abrirse en forma definitiva, provocando que su salida oscile, generando pulsos indeseables, antes de estabilizarse en el nivel lógico 0 o 1. La presencia de rebotes es particularmente crítica en circuitos sensibles a pulsos y cambios de estado como flip-flops, contadores, registros, memorias, etc., porque ocasiona el funcionamiento erróneo de los mismos.
Existen varias formas de eliminar el fenómeno de rebote
��57 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Flip- Flop y distintos Multivibradores
Los circuitos lógicos pueden clasificarse en dos grupos.
1) Los circuitos conformados con compuertas lógicas se denominan Circuitos Lógicos Combinacionales.
2) Los circuitos conformados con Flip – Flops se denominan Circuitos Lógicos Secuenciales. Estos circuitos lógicos son muy importantes debido a su característica de memoria.
Los flip – flop se interconectan de distinta forma para formar circuitos lógicos secuenciales que almacenen datos , generen tiempos, cuenten y sigan secuencias.
Existen tres circuitos clasificados según la forma en que retienen o memorizan el estado que adoptan sus
salidas:
Circuitos Biestables o Flip-Flop (FF)
Son aquellos que cambian de estado cada vez que reciben una señal de entrada ya sea nivel bajo (0) o alto
(1), es decir retienen el dato de salida aunque desaparezca el de entrada.
Conclusión: Poseen dos estados estables
Circuitos Monoestables
Tienen un único nivel de salida estable.
Estos circuitos cambian de estado sólo si se mantiene la señal de entrada a nivel alto (1) o bajo (0). Si ésta se
quita, luego de un tiempo, determinado por los componentes del circuito la salida regresa a su estado
anterior.
Conclusión: Poseen un sólo estado estable y otro metaestable
Circuitos Astables Son circuitos gobernados por una red de tiempo R-C (Resistencia-Capacitor) y un circuito de realimentación,
a diferencia de los anteriores se puede decir que:
Conclusión: �o poseen un estado estable sino dos metaestables
Circuito Biestable o Flip - Flop
Los circuitos biestables son muy conocidos y empleados como elementos de memoria, ya que son capaces de
almacenar un bit de información. En general, son conocidos como Flip-Flop y poseen dos estados estables,
uno a nivel alto (1 lógico) y otro a nivel bajo (0 lógico).
Flip – Flop RS (Reset – Set) (Latch)
Un Flip – Flop básico se puede construir utilizando dos compuertas NAND conectadas de tal forma que se
realimente una entrada de una con la salida de la otra, quedando libre una entrada de cada compuerta, las que
serán utilizadas para control, denominadas Set y Reset. Los flip –flop tienen dos salidas complementarias denominadas:
La salida Q es normalmente la más utilizada, la otra es la salida complementaria de Q, es decir cuando
Q=1, (no Q)=0 y viceversa, cuando Q=0, =1.
En la Figura 40 tenemos un Flip – Flop RS construido con dos compuertas NAND. Observe la
realimentación de la salida de cada compuerta NAND a una de las entradas de la otra compuerta.
��58 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En el circuito mostrado en la Figura 40, las entradas SET y RESET del flip – flop no pueden estar ambas a
nivel lógico 0. Este estado no es utilizado y es denominado estado prohibido. En esta condición el flip – flop
está en una condición indeterminada y sus salidas Q y oscilan entre 0 y 1.
Un nivel bajo (0 lógico) aplicado en la entrada SET del flip-flop (Figura 40-SET), hace que la salida negada
(NAND 2) sea 0 debido a la tabla de verdad de la compuerta NAND. Al realimentar desde esta salida la
entrada de la segunda compuerta (NAND 1) y estando la otra entrada de la misma a nivel lógico 0, la salida
normal Q será 1 debido a la tabla de verdad de la compuerta NAND.
Ahora bien, esta señal realimenta la primer compuerta, por lo tanto el FF se mantendrá en este estado
indefinidamente aunque desaparezca el nivel 0 de la entrada SET y esta vuelva a nivel lógico 1.
El flip-flop cambiará de estado cuando reciba un 0 lógico en su entrada RESET, en ese instante Q pasa a
nivel 0 y toma nivel alto, 1 lógico. (Figura 40-RESET). El FF se mantendrá en este estado
indefinidamente aunque desaparezca el nivel 0 de la entrada RESET y esta vuelva a nivel lógico 1.
Conclusión: El biestable posee dos entradas Set y Reset que trabajan con un mismo nivel de señal, provee
dos salidas, una salida normal Q que refleja la señal de entrada Set y otra que es el complemento de la
anterior.
El flip-flop o cerrojo RS es un dispositivo asincrónico ya que no opera en conjunción con un pulso reloj
(clock) o temporizador. Es el único biestable asincrónico, los demás requieren de una señal de reloj para su
funcionamiento.
Cuando se activa una entrada, por ejemplo la entrada Set, se activa inmediatamente la salida normal Q.
Cuando se activa una entrada, por ejemplo la entrada Reset, se borra inmediatamente la salida normal Q.
Estas activaciones pueden realizarse en cualquier momento que se disponga dar esa orden, sin tener que estar
estar sincronizadas con otros circuitos, por lo tanto el cerrojo RS opera de forma asincrónica.
��59 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Cuando la tabla de verdad indica la condición de Set = 0, significa
poner la salida Q = 1.
La condición de Reset = 0 significa (borrar) poner la salida Q = 0.
Debido a que mantiene temporalmente los datos, el flip-flop RS se
denomina también Cerrojo RS.
El flip-flop RS es considerado un dispositivo de memoria elemental
ya que puede almacenar un solo bit como dato.
El cronograma correspondiente a un biestable R-S con compuertas NAND se muestra en la Figura 41.
Como estamos analizando un biestable asincrónico, sus salidas no dependerán de una señal de reloj, sino de
cómo se cambien las entradas R y S y del estado anterior de las mismas.
Lo que hacemos es cambiar los valores de las dos entradas R y S y observamos las señales de salida Q y .
Los estados de las entradas R y S se han elegido arbitrariamente para realizar el cronograma, partiendo de
que Q se encuentra a nivel bajo (Q=0).
La condición R=S=0 origina un modo de funcionamiento no válido del biestable, lo que es un gran
inconveniente en cualquier latch de tipo RESET-SET.
Circuito integrado 4043
En cada uno de los flip-flops, las entradas SET y RESET pueden estar referidas normalmente a nivel bajo (0
lógico). Figura 42-A
��60 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
4043 - CUATRO FLIP-FLOPS R-S (Lógica �OR) Este circuito integrado contiene cuatro flip-flops R-S asincrónicos independientes con salidas tri-state.
En la Figura 42 se muestra el funcionamiento de uno de los
cuatro flip-flop, el 2, resaltado en verde.
Si la entrada SET es llevada por un instante a nivel alto (1 lógico), la salida irá y permanecerá a nivel alto (1 lógico). Figura 42-B
Si la entrada RESET es llevada por un instante a nivel alto ( 1 lógico) la salida irá y permanecerá a nivel bajo (0 lógico).
Las dos entradas no pueden ser llevadas al mismo tiempo a nivel alto, pues eso representa un estado no
permitido.
Las salidas van al estado de alta impedancia con la entrada E0 (habilitación o ENABLE) es llevada a nivel
bajo.
Cuando el nivel de la entrada E� está a nivel alto, las salidas son conectadas a los flip-flops, transfiriendo sus
estados para los circuitos externos.
Como estos circuitos son asincrónicos, no utilizan clocks (pulsos reloj o de sincronismo), ellos no deben ser
conectados en cascada para formar contadores o shift-registers (registros de desplazamiento).
Flip – Flop RS sincrónico
El Flip-Flop RS sincrónico opera en conjunto con el reloj o dispositivo de sincronización de los circuitos
que componen el sistema.
En la Figura 43 vemos que se agregan dos compuertas NAND (compuertas 3 y 4) para construir un Flip –
Flop RS sincrónico. Las compuertas NAND 1 y 2 siguen conformando el cerrojo o flip flop RS.
Debido al efecto inversor de las compuertas 3 y 4 las entradas SET y RESET ahora son activas a nivel lógico
alto (1 lógico).
La entrada de reloj (CLOCK) habilita al flip-flop (también se dice que lo dispara) cuando el pulso de reloj
este en un determinado valor de tensión ALTO (1 lógico, por ejemplo 5V), por esto el flip-flop RS
sincrónico es un flip-flop disparado por nivel. Estando el pulso reloj a nivel ALTO, en cualquier momento, la
información de datos presentes en las entradas R y S son transferidas a las salidas del flip-flop.
��61 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Un biestable activado por nivel podrá cambiar de estado
cuando la señal de reloj esté a un determinado nivel de tensión:
"1" (nivel alto) o "0" (nivel bajo).
El cronograma correspondiente a un biestable R-S sincronizado por nivel armado con compuertas NAND
se muestra en la Figura 44.
Como estamos analizando un biestable sincrónico, sus salidas dependerán de la señal de reloj y de cómo se
cambien las entradas R y S cuando este a nivel ALTO y del estado anterior de las mismas.
Lo que hacemos es cambiar los valores de las dos entradas R y S y observamos las señales de salida Q y .
Los estados de las entradas R y S se han elegido arbitrariamente para realizar el cronograma, partiendo de
que Q se encuentra a nivel bajo (Q=0).
Flip – Flop D
El flip-flop RS sincrónico puede transformarse en un flip-flop D (también sincrónico) añadiendo un inversor
al circuito, como se muestra en la Figura 44.
En este circuito no existe la posibilidad de que las dos entradas estén a nivel alto (estado prohibido) ya que
posee un inversor entre la una y la otra de tal modo que R = .
El biestable D síncrono es un elemento típico de almacenamiento gobernado por la señal de reloj. La señal
lógica que haya en la entrada D, no modificará el estado de la salida Q hasta que se active la señal de reloj.
Esto constituye una memoria elemental de 1 bit, ya que el valor presente en la entrada D, queda
almacenado al llegar la señal de reloj.
��62 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Para cambiar el contenido de esta celda de memoria, no hay más que colocar el nuevo valor en la entrada D y activar la señal de reloj, momento en el cual el nuevo valor queda almacenado en el biestable.
Biestables sincrónicos (flip-flops)
Son los que funcionan en sincronismo con una señal de reloj. A estos también se les llama circuitos secuenciales sincronizados, y son el tipo de circuito más utilizados en la práctica.
Un circuito secuencial sincrónico emplea señales que afectan los elementos de almacenamiento sólo a
instantes discretos de tiempo.
La sincronización se logra por medio de un dispositivo de sincronización, llamado generador de reloj, que
produce un tren periódico de pulsos de reloj, a intervalos fijos.
Esto significa que en los biestables sincrónicos, la tabla de verdad solo se cumple cuando se activa la señal de
reloj. Si la señal de reloj no se activa, no se produce ninguna transición. Por tanto, aunque en las entradas
haya una combinación de señales que conduzcan a una transición de estado, ésta no se producirá hasta que se
active la señal de reloj, y no volverá a producirse una nueva transición hasta que se active de nuevo la señal
de reloj.
Biestables activados por flanco del pulso reloj
Un biestable activado por flanco ignora el pulso de reloj mientras está en un nivel constante y se dispara
sólo durante una transición de la señal de reloj, de "0" a "1" (flanco de subida) o de "1" a "0" (flanco de
bajada).
Flip – Flop D activado por flanco de subida
��63 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En el símbolo lógico del flip.flop D- 7474 se muestra las entradas D y
CLK normales denominadas entradas sincrónicas, estas operan en
conjunto con el pulso reloj. Las dos entradas restantes PR y CLR son
entradas asincrónicas y operan al flip-flop como un flip-flop RS.
Estas entradas se activan a nivel Bajo. Cuando PR=0 y CLR=1, Q=1.
Cuando PR=1 y CLR=0, Q=0 (Figura 45 A y B). Observe que estas
entradas cumplen la misma función que las entradas SET y RESET de
un flip-flop RS.
Las entradas asincrónicas anulan a las sincrónicas.
En la Figura 45-A y B, las X en las entradas D y Clock indican que, cuando el flip-flop está operando en
forma asincrónica no importa a qué nivel se encuentran estas entradas, puesto que como ya se dijo las entradas asincrónicas anulan a las sincrónicas.
En la Figura 46 se muestra al flip flop D-7474 operando en forma sincrónica.
Para que el flip-flop opere sincronizado por el reloj las entradas PR y CLR deben ser mantenidas a nivel
Alto.
Cuando la entrada de datos D este a nivel Alto (1 lógico) y en la entrada Clock se presente el flanco de
subida del pulso reloj, la salida Q ira a nivel Alto (1 lógico) y se mantendrá en ese estado. La salida Q
cambiara de estado solamente si, cuando se presente un pulso reloj (flanco de subida) la entrada D este a
nivel Bajo (0 lógico). En este estado se mantendrá hasta que se produzca la situación inversa.
��64 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Flip – Flop JK
Observe que la línea 4 de la Tabla de Verdad muestra una condición muy útil del flip-flop JK que se
denomina estado de conmutación o toggle. Cuando ambas entradas de datos están a nivel Alto, la salida
cambia de estado cada vez que se produce un pulso reloj. En esta condición la salida Q repite los pulsos de
reloj, es decir con cada pulso pasa de nivel Alto a Bajo, al siguiente pulso pasa de Bajo a Alto y asi
sucesivamente mientras se mantenga la condición J=K=1.
7476 – Doble Flip-Flop con Preset y Clear
Como en los flip-flop D, hay biestables J-K sincrónicos con entradas asincrónicas. Las dos entradas
asincrónicas adicionales, llamadas Preset (puesta a "1") y Clear (puesta a "0"), son análogas a las Set y
Reset de un biestable R-S. Estas entradas y (asincrónicas) son prioritarias sobre las entradas
sincrónicas, que se activan por nivel bajo, por lo que deben mantenerse en estado alto para el funcionamiento
sincrónico.
En la Figura 47 se muestra la Tabla de Verdad y el Cronograma del flip-flop 7476. Observe que, tal como lo indica su
símbolo lógico, este flip-flop es activado por el flanco negativo del pulso reloj (clock).
��65 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En la figura de la izquierda se muestra el símbolo lógico de un Flip-Flop JK. El flip-flop JK es considerado un flip-flop universal ya que los flip-
flop D y T pueden construirse a partir de él.
Las entradas J y K son las entradas de datos, que en este caso serán
transferidas a las salidas con el flanco de bajada del pulso reloj. En el
caso que el flip-flop se disparara por el flanco de subida la entrada de
reloj no tendría dibujado el pequeño círculo.
Tal como se cito anteriormente, el flip-flop JK es considerado un flip-flop universal ya que los flip-flop D y
T pueden construirse a partir de él.
La Figura 48-“A” muestra como conectar un flip-flop JK y un inversor para formar un flip-flop D.
En la Figura 48-“B” se muestra un flip-flop de conmutación, llamado flip-flop T. El flip-flop JK se conecta
para que opere en el modo conmutación, para ello se conectan las entradas JK a nivel Alto. Como ya se
explico, las entradas conmutan con cada pulso de reloj.
En la Figura 48-“C” se representa el símbolo lógico del flip-flop de conmutación tipo T.
Multivibradores Astables - Relojes
Un Multivibrador Astable es un circuito que genera un tren de pulsos de onda rectangular continuo.
Los mulvibradores astables, cuando se utilizan en sistemas digitales sincrónicos basados en
microprocesadores se los denomina relojes (clock).
Un multivibrador astable simétrico puede construirse con compuertas lógicas.
En la Figura 49 se muestra un circuito básico armado utilizando tres inversores del CI- 40106, circuito que
contiene 6 inversores.
El circuito se ha hecho funcionar en el Laboratorio Virtual “Livewire”, tal como se muestra en la Figura 49.
��66 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Reloj basado en el Temporizador 555
.
En la Figura 50 se aprecia el circuito CI-555 funcionando como generador de pulso reloj cuya frecuencia es:
F = 1MHz. En este caso el circuito está planteado en el Laboratorio Virtual “Workbench 5.12”
��67 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Un circuito integrado muy utilizado como generador de reloj es el
versátil temporizador 555.
Este CI puede conformarse, dentro de sus múltiples aplicaciones,
como multivibrador astable simétrico o como multivibrador monoestable.
Para tener una forma de onda cuadrada más exacta
se agrega a la salida del generador un flip-flop JK conformado como flip-flop T.(Figura 51)
Debido a que el flip-flop actúa como divisor por dos
de la frecuencia generada por el temporizador, la
frecuencia de oscilación de este es llevada al doble,
reemplazando la resistencia R=720ohm por una
resistencia de R=360ohm
Circuitos Monoestables
El monoestable es un circuito multivibrador que realiza una función secuencial consistente en que al recibir
una excitación exterior, cambia el estado de su salida y se mantiene en él durante un periodo que viene
determinado por una constante de tiempo RC. Transcurrido dicho período, la salida del monoestable vuelve
a su estado original. Por tanto, tiene un estado estable (que puede ser 1 o 0) y un estado casi estable.
La duración del pulso es función de R·C, aunque la dependencia exacta depende del modelo. Entonces, las
tolerancias de R y C aparecen directamente como errores en la duración del pulso, así como sus variaciones
con la temperatura. Además es la parte más sensible al ruido.
La parte digital les añade distintas prestaciones, produciendo diversos tipos de monoestables:
• Reseteable: Una entrada de reset permite interrumpir el pulso en cualquier momento, dejando el
dispositivo preparado para un nuevo disparo.
• Redisparable (retriggerable): Permite reiniciar el pulso con un nuevo disparo antes de completar la
temporización. Digamos que se tiene un temporizador de 4 ms, pero a los 2 ms de iniciado el pulso se
realiza un nuevo disparo; la duración que se obtiene es de 2 + 4 = 6 ms.
Los monoestables no redisparables sólo permiten el disparo cuando no existe ninguna temporización
en curso. Es decir, en el ejemplo anterior ignoraría el segundo disparo y se obtendría un pulso de 4 ms
solamente.
El uso de monoestables en circuitos digitales no es muy frecuente, ya que añaden imprecisiones debidas a los
componentes analógicos (R y C), tienen mayor sensibilidad al ruido, aumentan el consumo en niveles altos y
el tamaño es demasiado grande. En su lugar se utilizan contadores digitales que generen las temporizaciones
a partir de un reloj de referencia.
En la Figura 53 se muestra un monoestable armado con dos compuertas NOR (4001).
El circuito se ha desarrollado en el Laboratorio Virtual “Livewire”.
��68 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Características importantes del reloj de un sistema digital son
frecuencia, período del ciclo reloj, estabilidad de frecuencia,
forma de onda con rápidos tiempos de subida y bajada.
Generadores de reloj muy precisos son los basados en cristales
piezoeléctricos. En estos circuitos la frecuencia es fijada por la
frecuencia de resonancia natural del cristal utilizado. Figura 52
La salida (OUT) en su estado estable tiene el nivel lógico 0, cuando se acciona el pulsador SW1 la Entrada
I� que está a nivel lógico 0 (debido a R1=10K0hm conectada a masa) va nivel lógico 1 generando así el
pulso de disparo del monoestable. La salida de este cambia a nivel lógico 1, permaneciendo en ese estado
durante un lapso de tiempo (T) fijado por la constante de tiempo R y C.
Monoestable no redisparable basado en el temporizador 555
T (tiempo de estado alto de la salida-OUT) = 1,1.R.C
Estando expresados:
T: segundos
R: en Ohm
C: en Faradios
Los monoestables son útiles para aplicaciones de temporización cuando la precisión no es crítica, se utilizan
en circuitos digitales para introducir retardos.
Es condición imprescindible que la duración del pulso de disparo (tiempo de estado Alto o Bajo) de un
monoestable sea mucho menor que el tiempo de temporización.
Contadores
Un contador es un sistema secuencial con una entrada de impulsos u onda cuadrada, también llamada de
reloj, que va a contar el número de impulsos que le llegan por esta entrada. Los contadores están
constituidos por biestables con un circuito combinacional añadido.
��69 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Los tipos de contadores que existen están clasificados en función del tipo de señal con la que trabajen; así se
pueden encontrar contadores binarios, contadores en BCD, etc.
El tamaño del contador depende del número de terminales de salida de que dispone. Estos terminales de salida proporcionan en binario el número de impulsos que ha contado. Por ejemplo:
- Contador de 4 bits: �úmero mayor de impulsos que puede contar = 24 = 16 impulsos. Este contador tiene cuatro terminales de salida.
- Contador de 8 bits: �úmero mayor de impulsos que puede contar = 28 =256 impulsos. Este contador tiene ocho terminales de salida.
Los contadores digitales tienen las siguientes características importantes:
1. Un número máximo de cuentas (módulo del contador). 2. Pueden contar en forma ascendente o descendente. 3. Pueden operar en forma sincrónica o asincrónica. 4. Pueden ser autónomos o de auto detención.
*Los contadores digitales cuentan solo en binario o en códigos binarios. *Un contador que pueda contar desde el binario 0000 al 1111 se denomina contador de módulo 16. *El módulo de un contador es el número de cuentas que puede contar.
Contador binario asincrónico o de de rizado de 4 bits (módulo 16) Contador ascendente
En la Figura 55 se muestra un contador de rizado de módulo 16 compuesto por 4 flip-flop JK.
Observe que las entradas JK de los flip-flop están a nivel lógico 1. Esto significa que todos están en modo
conmutación, por lo que cada pulso de reloj hará que el flip-flop cambie el estado de su salida.
El pulso reloj está conectado solamente a la entrada de CLK del FF1, la salida Q de este está conectada a la
entrada de CLK del FF2 y asi sucesivamente.
El contador cuenta según la secuencia mostrada en la tabla de la Figura 55.
��70 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Para analizar el funcionamiento del contador del ejemplo, se muestra en la Figura 56 el Diagrama de Tiempo del mismo.
Inicialmente el contador binario está a 0000.
Cada pulso de reloj incrementa en 1 la cuenta binaria (ver tabla de la Figura 55).
Los flip-flop del ejemplo conmutan con el flanco posterior del pulso reloj (transición H a L del pulso).
1) Observar en el Diagrama de Tiempo el pulso reloj N° 1. La transición de H a L de este (flanco
posterior), hace cambiar el estado de la salida Q del FF1, que conmuta de Bajo a Alto (0 a 1). La
cuenta binaria por lo tanto es ahora 0001.
2) El flanco posterior del pulso reloj N° 2 dispara nuevamente al FF1, este conmuta su salida Q de 1 a 0.
Pero esta salida está conectada a la entrada de reloj (CLK) del FF2, por lo que este conmuta su salida
de 0 a 1. Después del pulso reloj N° 2, la cuenta binaria se ha incrementado en 1, siendo ahora 0010.
3) El flanco posterior del pulso reloj N° 3 dispara nuevamente al FF1, este conmuta su salida Q de 0 a 1.
Después del pulso reloj N° 3, la cuenta binaria se ha incrementado en 1, siendo ahora 0011.
4) El flanco posterior del pulso reloj N° 4 dispara nuevamente al FF1, este conmuta su salida Q de 1 a 0.
Esta transición de H a L de la salida Q del FF1 hace que conmute el FF2. La salida Q del FF2
cambia de 1 a 0. Esta transición de H a L hace que conmute el FF3. La salida Q del FF3 cambia de
nivel L a H. Después del pulso reloj N° 4, la cuenta binaria se ha incrementado en 1, siendo ahora
0100.
El resto del proceso se puede seguir analizando observando el Diagrama de Tiempo.
��71 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Prestar especial atención al pulso �° 16, cuando se produce su flanco posterior todos los flip.flop conmutan del nivel Alto a Bajo. La cuenta binaria es ese momento 0000. El contador no se detiene al llegar al máximo de su cuenta (1111), sino que la reinicia cíclicamente.
En la Figura 57 se ha utilizado para mostrar este proceso (en forma abreviada) el circuito integrado 7493, que
es un contador binario ascendente de 4 bits (módulo 16). Observe que al producirse el pulso reloj N° 16 el
contador vuelve a reiniciar su cuenta desde el binario 0000. (Funcionamiento del circuito simulado en
Laboratorio Virtual “Workbench 5.12”)
En el Diagrama de Tiempo (Figura 56), se observa que el ciclo del contador, para llegar a su cuenta máxima,
requiere 16 pulsos de reloj. Pero durante ese ciclo, en la salida Q del FF1 solamente aparecen 8 pulsos. Este flip-flop evidentemente se comporta como un Divisor de Frecuencia x 2 (16 ÷ 2 = 8). El FF2 se comporta como un Divisor de Frecuencia x 4 (16 ÷ 4 = 4). El FF3 se comporta como un Divisor de Frecuencia x 8 (16 ÷ 8 = 2). El FF4 se comporta como un Divisor de Frecuencia x 16 (16 ÷ 16 = 1).
La división de frecuencia es una función muy importante para los contadores, por ejemplo en dispositivos
como los relojes digitales.
La característica de memoria es también muy importante, ya que el contador debe recordar cuantos pulsos de
reloj han llegado a su entrada CLK.
El contador de rizado es el contador más sencillo.
��72 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Contador binario asincrónico ascendente de 3 bits (módulo 8)
En la Figura 58 se muestra el circuito integrado 7493 funcionando como contador binario de rizado de 3 bits y su Tabla de Secuencias de Conteo cíclicas.
En la Figura 59 se muestra la pantalla del osciloscopio XSC1 conectado al circuito. En ella se puede observar
la acción divisora de cada salida con respecto al pulso reloj.
La simulación de funcionamiento está hecha en el Laboratorio Virtual “Electronic Workbench Multisim
11.0.1”.
Este contador cuenta en binario desde 000 al 111, (decimal de 0 a 7) y vuelve a reiniciar el conteo.
��73 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Contador de rizado ascendente módulo 12 – (Figura 60)
Para lograr un contador binario módulo 12, cuenta de 0000 a 1011, (decimal de 0 a 11) se puede utilizar el
mismo circuito integrado empleado en los contadores módulo 16 y módulo 8 (CI 7493). Observe que en
estos dos contadores (Figuras 57 y 58) los pines 2 (R01) y 3 (R02) del circuito integrado están conectados a
masa de la fuente de alimentación (0 lógico). En el caso del contador módulo 12 estos pines se conectan,
R01 al pin 8 (QC) y R02 al pin 11 (QD). El contador inicia su conteo en el binario 0000 (decimal 0), contará sucesivamente hasta llegar al binario 1011 (decimal 11). En el siguiente pulso reloj que reciba (el
N° 12), intentará poner a nivel lógico 1 las salidas QC y QD pero, como ya se dijo, estas salidas están
conectadas a las entradas de reset R01 y R02. Al recibir estas dos entradas un nivel lógico 1 el circuito se
reinicia (resetea) y sus salidas pasan a nivel lógico 0. Con los pulsos de reloj siguientes el contador repite la
cuenta.
Contador binario asincrónico descendente de 4 bits
En la Figura 61 se muestra un contador de rizado descendente de módulo 16 compuesto por 4 flip-flop JK.
Observe que las entradas JK de los flip-flop están a nivel lógico 1. Esto significa que todos están en modo
conmutación, por lo que cada pulso de reloj hará que el flip-flop cambie el estado de su salida.
��74 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
El pulso reloj está conectado solamente a la entrada de CLK del FF1, la salida de este está conectada a la
entrada de CLK del FF2 y asi sucesivamente.
El contador cuenta en forma descendente según la secuencia mostrada en la tabla de la Figura 61. Desde el
binario 1111 (decimal 15) al binario 0000 (decimal 0).
En el pulso �° 16, cuando se produce su flanco posterior todos los flip.flop conmutan del nivel Bajo a Alto. La cuenta binaria es ese momento 1111. El contador no se detiene al llegar al mínimo de su cuenta (0000), sino que la reinicia cíclicamente.
Contadores binarios sincrónicos
La principal desventaja que presentan los contadores asincrónicos es su velocidad. Cualquier cambio en la
entrada de reloj debe propagarse a través de toda la cadena de flip-flops antes que las salidas tomen su estado
final, esto significa tiempo de retardo.
Además hay retardos de propagación entre etapas que pueden causar estados de salida inválidos.
Estos problemas se eliminan utilizando contadores sincrónicos.
*En un contador asincrónico la salida de una etapa maneja la entrada de reloj de la etapa siguiente.
*En un contador sincrónico todas las etapas del contador son manejadas por el pulso reloj, de modo
que todas las salidas cambian de estado al mismo tiempo, evitando así los efectos de propagación.
En la Figura 63 se muestra el circuito de un contador sincrónico binario de 4 bits construido con flip-flop JK.
��75 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En la Figura 62 se ilustra el
diagrama de temporización del
contador descendente de 4 bits
Observe que todas las entradas de reloj están todas conectadas entre sí y todas ellas conectadas a la entrada
del pulso reloj. También considere la presencia de dos compuertas AND, A�D1 y A�D2.
La compuerta A�D1 asegura que el flip-flop FF3 cambie de estado sólo cuando las salidas QA y QB estén
ambas a nivel lógico Alto (1).
La compuerta A�D2 asegura que el flip-flop FF4 cambie de estado sólo cuando las salidas QA, QB y QC estén a nivel lógico Alto (1).
Cuando se produce un pulso de reloj (CLK) todos los flip-flop que deben cambiar de estado lo hacen
simultáneamente.
Recordemos que en un flip-flop JK, la salida no cambia de estado cuando las entradas JK están a nivel lógico Bajo y si cambia de estado cuando dichas entradas están a nivel lógico Alto.
Inicialmente asumimos que el estado de las salidas de los cuatro flip-flop son: QD QC QB QA = 0000. En esta condición las entradas JK de los flip-flop FF2, FF3 y FF4 están a nivel Bajo (0), la aplicación de un
pulso de reloj en sus entradas de CLK no producirá ningún cambio en sus salidas. Pero las entradas JK del
flip-flop FF1 están a nivel Alto en forma permanente (están conectadas a Vcc), el primer pulso de reloj hará
que la salida QA cambie el estado de 0 a 1. La cuenta binaria registrada por el contador es ahora:
0001 (1 en decimal)
Al estar QA a nivel Alto, las entradas JK del FF2 también están a este nivel. El siguiente pulso de reloj
producirá el cambio de la salida QB del FF2 de 0 a 1 y la salida QA del FF1 retornará a 0. La cuenta binaria
registrada por el contador será ahora: 0010 (2 en decimal)
Al estar la salida QA a nivel Bajo, el único flip-flop que puede cambiar de estado con el siguiente pulso reloj
es el FF1 (tiene sus entradas JK a 1 permanente). Esto produce que la cuenta binaria de salida tome el estado:
0011 (3 en decimal)
Las salidas QA y QB están ahora a nivel 1 por lo que las entradas de la compuerta A�D1 están a ese nivel,
su salida por lo tanto es un 1, este nivel Alto pone en Alto las entradas JK del FF3. Esto posibilita que el
siguiente pulso reloj haga cambiar la salida de de este flip-flop (QC) de 0 a 1. Esto produce que la cuenta
binaria de salida tome el estado:
0100 (decimal 4)
La secuencia sigue un comportamiento similar:
0101 (decimal 5); 0110 (decimal 6)
Cuando la cuenta llegue al estado:
0111 (decimal 7)
las compuertas A�D1 y A�D2 habilitan a cambiar de estado, cuando llegue el siguiente pulso reloj, al flip-
flop FF4 al poner a 1 lógico sus entradas JK. La nueva cuenta será entonces:
1000 (decimal 8)
La secuencia sigue un comportamiento similar:
1001 (decimal9); 1010 (decimal 10); 1011 (decimal 11); 1100 (decimal 12); 1101 (decimal 13); 1110 (decimal 14).
Cuando la cuenta llegue al estado:
1111 (decimal 15)
todos los flip-flop quedan habilitados para cambiar de estado con el siguiente pulso reloj, instante en que la
cuenta tomará el estado: 0000 (decimal 0) y el contador reiniciará un nuevo ciclo de conteo.
��76 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
La característica más importante de un contador sincrónico de este tipo es su velocidad. Todos los flip-flop
cambian de estado al mismo tiempo en sincronismo con la señal de reloj. El tiempo de retardo total para
cambiar de estado es el tiempo de propagación de un solo flip-flop y no la suma de tiempos de propagación
de todas las etapas, como sucede en los contadores asincrónicos. Esta condición permite que los contadores
sincrónicos puedan operar con frecuencias de reloj mucho más altas que las empleadas en contadores
asincrónicos.
El contador binario sincrónico de la Figura 63 que se ha analizado es un contador ascendente, cuenta de 0000
a 1111 y reinicia el ciclo.
Un contador descendente que cuente de 1111 a 0000 se implementa con el mismo circuito pero, controlando
las entradas JK de cada flip-flop con la salida , en lugar de controlarlas con la salida Q. (Figura 64)
Los contadores sincrónicos en su mayoría, pueden operar a frecuencias superiores a los 20MHz.
Contadores prefijables
La acción de prefijar un contador es simplemente cargar un número binario en el mismo, antes de aplicar la
señal de reloj. Prefijado un número, el contador comenzará a contar desde este número con el primer pulso de
reloj que reciba. Por lo tanto, un contador prefijable es aquel que puede programarse para comenzar a contar
a partir de un estado específico de su secuencia de conteo.
Para lograr este efecto, el contador debe poseer de entradas de prefijación de datos a partir de los cuales
debe iniciarse el conteo y de una entrada de carga (load) que habilite la transferencia de la información de
entrada a las salidas.
La prefijación de datos puede realizarse en forma sincrónica o asincrónica. Esto solo depende del circuito
integrado utilizado.
En forma sincrónica, el dato seleccionado se carga en el contador con el flanco de subida o bajada del pulso
reloj. Esto también solo depende del circuito integrado utilizado.
En forma asincrónica, el dato seleccionado se carga en el contador sin la intervención del pulso reloj.
La mayoría de los circuitos integrados que contienen contadores prefijables son sincrónicos y existe una gran
variedad de ellos.
En la Figura 65 se muestra el circuito integrado 74191 que es un contador binario sincrónico de 4 bits
(mod16), que puede contar en forma ascendente o descendente (de 0000 a 1111 o a la inversa) y además lo
puede hacer desde un número prefijado en sus Entradas de Datos “DCBA”.
��77 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
La secuencia de conteo se muestra en los indicadores de estado “QD; QC; QB; QA”
Si se aplica un pulso negativo (0 lógico) en la entrada de carga , el contador comenzará a contar a partir
del número binario prefijado en las entradas “DCBA”. Lo hará en forma ascendente o descendente de
acuerdo a qué nivel lógico se encuentre su entrada de selección de modo (pin 5).
En el caso de la Figura 65, por estar las entradas “DCBA = 0” y = 0, lo hará en forma ascendente desde
QDQCQBQA = 0000 a 1111.
Si QDQCQBQA = 0000, pero = 1, lo hará en forma descendente desde QDQCQBQA = 1111 a 0000.
Contador prefijable de módulo variable
El pin 13 ( ) es una salida que se mantiene a nivel Alto (1 lógico) durante toda la secuencia de conteo. Al
llegar a su cuenta máxima o mínima, según el modo en el que este contando el contador, genera un pulso
Bajo (0 lógico). La duración del pulso es igual a la de un pulso de reloj.
El contador ha pasado de ser un contador de módulo 16 a un contador de módulo 8.
El número binario prefijado puede ser cualquiera, del 0000 al 1111 y todos los valores intermedios. El
número binario prefijado determina el módulo del contador.
��78 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Para que el contador cuente naturalmente,
en forma ascendente o descendente, su
entrada de carga ( -pin 11) debe estar a
nivel Alto (1 lógico). En esta condición no
importa a qué nivel lógico se encuentren
las entradas de prefijación “DCBA”.
Para que cuente en forma ascendente cada
pulso reloj que se presente en su entrada
CLK, la entrada de selección de modo
(pin 5) debe estar a nivel Bajo (0 lógico).
Para que cuente en forma descendente, la
entrada (pin 5) debe estar a nivel Alto (1 lógico).
Aprovechando la señal que brinda la salida
(0 lógico), se puede conectar a esta
con la entrada de carga (Figura 66).
Recuerde que cuando recibe un 0
lógico carga al contador con los datos
dispuestos en las entradas “DCBA”.
Como ejemplo se dispone en las entradas
prefijables el número binario 0111 (decimal 7).
El conteo ascendente será ahora 0000 al
0111 y se reiniciará el ciclo.
El descendente será 0111 al 0000 y se
reiniciará el ciclo.
Contadores BCD
Debido a que los sistemas digitales utilizan internamente el sistema binario para representar cantidades pero,
los seres humanos prefieren utilizar el sistema decimal para leer y escribir información, es que se han
desarrollado varios códigos binarios especiales para facilitar la comunicación hombre-máquina.
Uno de los códigos más utilizado es el BCD (Binary Coded Decimal = Decimal Codificado en Binario). En este código los dígitos decimales del 0 al 9 se representan mediante patrones binarios de 4 bits.
Los contadores BCD se utilizan cuando deben visualizarse o manejarse datos en formato digital.
Los contadores BCD son en realidad contadores binarios de 4 bits modificados para que el conteo
proporcione solamente diez estados, desde el 0000 (decimal 0) al 1001 (decimal 9).
Son contadores módulo 10.
El código binario BCD no es un sistema numérico como el binario o el decimal. Es un sistema de
representación que resulta conveniente para convertir información binaria en decimal o viceversa.
Para representar en código BCD un número mayor de 9, cada dígito decimal se reemplaza por su código de 4
bits correspondiente.
Tomemos como ejemplo el número en decimal 368. El equivalente en BCD es:
36810 = 0011 0110 1000BCD
El resultado obtenido (0011 0110 1000BCD), no es el equivalente en binario del número decimal 368.
El equivalente en binario de este número decimal es:
36810 = 1011100002
Contador ascendente de décadas
El contador de décadas (cuenta decenas) es uno de los contadores más utilizados.
Cuenta en binario del 0000 (decimal 0) al 1001 (decimal 9). Puede describirse también como un contador
de rizado módulo 10 o un divisor por 10.
En la Figura 68 se muestra como ejemplo el circuito integrado 74LS90N operando como contador de décadas
ascendente en código BCD. El circuito se muestra funcionando en el Laboratorio Virtual “Multisim 11.0.1”
��79 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
La tabla de la Figura 67 muestra la equivalencia entre dígitos decimales y bits del
código BCD.
Observe que en el código BCD se utiliza los diez primeros números binarios de 4
bits para representar los números decimales del 0 al 9.
Los códigos binarios: 1010 (dec.10); 1011 (dec.11); 1100 (dec.12); 1101
(dec.13); 1110 (dec.14) y 1111 (dec.15), no se utilizan y son inválidos en este
sistema.
El contador de décadas 7490 es un circuito integrado que secuencia o "cuenta" a través de diez números. Los
números van desde cero al nueve, y cada uno está representado por cuatro dígitos de decimales codificados
en binario o BCD. Cada dígito del número BCD produce una salida del 7490. Por ejemplo, un decimal "2" es
en BCD 0010 y la salida combinada 7490 es: QD=0, QC=0, QB=1, QA=0.
��80 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En la Figura 69 se muestra los osciloscopios XSC1 y XSC2 conectados al circuito de la Figura 68.
En XSC1 se observa en pantalla la señal de reloj aplicada a la entrada INA (pin 14) del CI 7490.
En XSC2 se observa en pantalla las salidas del contador QA, QB, QC, QD.
Observe que cada diez pulsos de reloj, en la salida QD se obtiene un único pulso. Esto muestra que el
contador se comporta como un divisor por 10.
Contador de rizado módulo 6 - (Figura 70)
El término "MOD-6" significa que el circuito integrado 7490 tendrá un módulo de seis y sólo secuenciará a
través de seis números, en lugar de diez. La conexión del 7490 como un contador MOD-6 exige de dos
conexiones específicas a los pines del 7490.
Conexión 1- El pin del 7490 etiquetado como "CKB" o "Input B" (pin 1) se conecta a QA (pin 12). Esta
conexión establece el contador al modo de salida en BCD.
Conexión 2- Los pines del 7490 etiquetados "RO1” (pin 2) y "RO2" (pin 3) se conectan, RO1 a QB (pin
9) y RO2 a QC (pin 8). Esto establece el módulo a seis.
En BCD, el número seis toma la siguiente forma:
QD=0 - QC=1 - QB=1 - QA=0.
El contadorn7490 se restablecerá a BCD = 0000, cuando ambos RO1 y RO2 reciban un "1 lógico" desde
QC y QB.
La secuencia de salida de MOD-6 es la siguiente, desde cero a cinco: 0000, 0001, 0010, 0011, 0100, 0101.
Contador de décadas ascendente-descendente, con prefijado asincrónico de datos de inicio de conteo
Existen distintos contadores de décadas en código BCD que permiten que el sistema cuente en forma
ascendente, es decir del 0000 al 1001 (decimal 0 al 9), o en forma descendente, o sea del 1001 al 0000
(decimal 9 al 0).
Como ejemplo se ha elegido el circuito integrado 74LS190. Este circuito además de poder contar en ambas
direcciones, permite prefijar un número cualquiera en BCD (del 0000 al 1001) como número de inicio de
conteo. El número elegido, en cualquier momento de la secuencia de conteo, se puede fijar en las salidas del
contador en forma asincrónica.
En el ejemplo (Figuras 71/72 y 73), se ha agregado el circuito integrado 74LS47 y un display de siete
segmentos para visualizar en decimal la cuenta secuencial del sistema. Recuerde que el circuito 74LS47 es un
decodificador de binario BCD a código de 7 segmentos cuyo funcionamiento se explicó en la Página 40.
��81 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Componentes utilizados en el ejemplo:
Cuenta ascendente
En la Figura 71 tenemos el circuito de prueba de funcionamiento del contador en secuencia ascendente
planteado en el Laboratorio Virtual “Live Wire”.
# Para que el sistema cuente en forma ascendente el pin 5 (dirección de conteo “U/D”) debe estar a nivel
lógico 0. Observe la posición del “Selector UP/DOW�”. # El pin 11, (“LOAD” - carga de datos), debe estar a nivel lógico 1. Observe que el pulsador “Carga de Datos” es un interruptor normal cerrado. # El pin 4, (“Enable” – habilitación de reloj) debe estar a nivel lógico 0. Si esta entrada es llevada a nivel
lógico 1 se inhabilita la entrada de pulsos reloj, el contador no cuenta.
# Las salidas QA (L1), QB (L2), QC (L3) y QD (L4) indican el estado de la cuenta en código BCD. QA
indica el bit Menos Significativo. QD indica el bit Más Significativo.
# El pin 13 (“RCO” - Ripple CLK) es salida del pulso reloj.
# El pin 12 (Max/Min) se mantiene a nivel lógico Alto (1 lógico) durante toda la secuencia de conteo (sea
ascendente o descendente), al llegar la cuenta a su Máximo o Mínimo, en este pin se produce un pulso de
nivel lógico Bajo (0 lógico).
# El sistema cuenta uno a uno los pulsos reloj recibidos en el pin 14 (CLK). El cambio de estado se produce
con el Flanco Ascendente de dicho pulso.
La secuencia de conteo es:
��82 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Cuenta descendente
En la Figura 72 tenemos el circuito de prueba de funcionamiento del contador en secuencia descendente.
# Para que el sistema cuente en forma descendente el pin 5 (dirección de conteo “U/D”) debe estar a nivel
lógico 1. Observe la posición del “Selector UP/DOW�”. El resto de los pines se mantienen a los mismos niveles lógicos, tal como se describen para la cuenta
ascendente.
La secuencia de conteo es:
Prefijación de un número en BCD de inicio de cuenta distinto de 0 o 9
El número elegido para el inicio de cuenta, sea esta en sentido ascendente o descendente, se selecciona en las
entradas (Datos) D (L8); C (L4); B (L2); A (L1).
��83 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En el circuito de la Figura 73 se ha elegido como ejemplo el número en código BCD:
En cualquier estado de la secuencia de conteo, si se aplica un nivel Bajo (0 lógico) al pin 11 (“LOAD” - carga de datos) el número establecido (en este caso el 0100) se cargará en el contador y este recomenzará la
cuenta partir de dicho número. La carga de datos en este circuito integrado es asincrónica.
En el circuito mostrado en la Figura 73, la aplicación de un nivel Bajo en el pin 11 se logra simplemente
presionando el pulsador Carga de Datos. Si el sistema está contando en forma ascendente lo hará:
desde el 0100 (decimal 4) al 1001 (decimal 9) y volverá a reiniciar la secuencia normalmente desde el 0000
(decimal 0).
Si está contando en forma descendente lo hará:
desde el 0100 (decimal 4) al 0000 (decimal 0) y volverá a reiniciar la secuencia normalmente desde el 1001
(decimal 9).
Contador Johnson o en Anillo
En la Figura 74 se muestra el CD 4017 funcionando en un circuito de prueba armado en el Laboratorio
Virtual “Electronics Workbench 5.12”.
��84 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
El circuito integrado 4017 es un contador/divisor o decorificador con 10
salidas. Estructuralmente está formado por un contador Johnson de 5 etapas
que puede dividir o contar por cualquier valor entre 2 y 9 los pulsos que se
ingresan por una de sus entradas, llamada CLOCK (reloj). En efecto, si se
cuenta con una etapa de reloj que sea capaz de entregar un tren de pulsos
regulares y estos se ingresan por el pin 14 (CLOCK) del CD 4017, se obtiene
en sus salidas un pulso por cada 2, 3, 4, 5, 6, 7, 8, 9 o 10 pulsos que se
apliquen en la entrada.
# Un grupo de 10 pines ofician de salidas del
contador. Estas salidas, indicadas como “Output Q0” a “Output Q9” van pasando de estado Bajo a
Alto con cada pulso de CLOCK (Reloj). Esta secuencia se muestra en el Diagrama de temporización visto a la derecha.
# El pin 12, indicado con ÷10 OUTPUT (divide por 10) permanece en estado Alto cuando las salidas Q0 a
Q4 están en estado Alto, y pasa a estado Bajo cuando las salidas Q5 a Q9 están en estado Alto. Esto
significa que el pin 12 generara pulsos con una frecuencia que es un décimo de la de reloj, pudiendo
aplicarse a la entrada de otro 4017 que se encargue de contar las decenas.
La función explicada anteriormente, permite utilizar el circuito integrado 4017 como un Divisor de
Frecuencia Programable (entre 2 y 10).
Siendo “F” la frecuencia del CLOCK (pulso reloj), la frecuencia “ f ” de la señal obtenida en las salidas Q1
(pin 2) a Q8 (pin 9) y el conexionado de la entrada de RESET (pin 15) necesaria en cada caso, son las que
se muestran en la Figura 76.
��85 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
#El pin 14 (CLOCK), es el que recibe los pulsos de
reloj que se desean contar.
# El pin 13 (DISABLE) permite habilitar o deshabilitar
el 4017. Una de las condiciones para que el circuito
funcione es que este pin esté conectado a 0V. Esto
permite conectar varios 4017 a una misma fuente de
pulsos, y mediante el pin DISABLE elegir en cualquier
momento cual es el que se encargara de contar/dividir.
# El pin 15 (RESET) debe conectarse a 0V (nivel lógico 0) para que el sistema cuente de 0 a 9. Si se
pone el RESET momentáneamente a +VDD (nivel lógico 1), la cuenta se reinicia (OUTPUT Q0 pasa a estado Alto y todas las demás salidas pasan a estado bajo).
Si se necesita que la cuenta sea más corta, por ejemplo
contar solo hasta cinco en lugar de hasta diez, se utiliza
para ello la función RESET.
Para lograr esta cuenta, se conecta el pin correspondiente a
la salida Q5 (pin 1) al pin RESET (pin15), de manera que
luego de contar cuatro pulsos, al introducir el pulso numero 5, en lugar de encenderse el quinto indicador
(salida Q5 = 1 lógico) se producirá el RESET del contador,
comenzando la cuenta de nuevo desde cero.
Esto vale para cualquier cuenta reducida, entre 2 y 9, que se
quiera hacer.
En las Figuras 77 y 78 se presentan como ejemplo dos circuitos armados en Laboratorio Virtual con el CI
4017 funcionando como divisor de frecuencia.
En la Figura 77 el contador está dispuesto como divisor por 2 de la frecuencia del pulso reloj.
Tal como se indica en la Figura 76, la entrada de RESET (pin 15) está conectada a la salida “Q2” (pin 4) y
la señal de salida deseada está tomada en la salida “Q1” (pin 2).
El canal CH1 del osciloscopio (traza roja) está conectado a la entrada de CLOCK (pin 14). El canal CH2 (traza azul) está conectado a “Q1” , salida en la que se obtiene la señal f = F÷2.
Viendo las dos señales en la pantalla del osciloscopio, se comprueba que cada 2 pulsos de reloj se tiene 1 pulso en la salida “Q1”, por lo tanto:
f = F ÷ 2
��86 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En la Figura 78 el contador está dispuesto como divisor por 6 de la frecuencia del pulso reloj.
Tal como se indica en la Figura 76, la entrada de RESET (pin 15) está conectada a la salida “Q6” (pin 5) y
la señal de salida deseada está tomada en la salida “Q5” (pin 1).
El canal CH1 del osciloscopio (traza roja) está conectado a la entrada de CLOCK (pin 14). El canal CH2 (traza azul) está conectado a “Q5” , salida en la que se obtiene la señal f = F÷6.
Viendo las dos señales en la pantalla del osciloscopio, se comprueba que cada 6 pulsos de reloj se tiene 1 pulso en la salida “Q5”, por lo tanto:
f = F ÷ 6
Conectando dos contadores 4017 en cascada se logra un contador que cuente de 00 a 99. En la Figura 79, se
muestra el circuito de este contador.
Con el primer pulso de reloj el contador indicará el decimal 00. (Figura 79)
Con los siguientes pulsos de reloj, el circuito IC1 (cuenta Unidades) contará normalmente de 0 a 9 (diez pulsos). Con la llegada del pulso �° 11 este contador se resetea y vuelve a 0, pero a su vez genera un pulso
en su salida Q5-9’ [(pin 12); (÷ 10 output); (ver Diagrama de Temporización)]. Observe en el circuito que
dicha salida está conectada a la entrada de reloj de IC2 (cuenta decenas). Al recibir IC2 dicho pulso avanzará
una unidad (1) en su cuenta por lo tanto el contador indicará el decimal 10. (Figura 80)
��87 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
El contador de unidades IC1 recomienza su cuenta con el pulso �° 12, por lo que en el display de
indicadores se leerá sucesivamente el decimal 11, 12, 13………… Al llegar el pulso �° 21 se reseteará
nuevamente el contador de unidades (IC1), generará un nuevo pulso en su salida Q5-9’ y se cargará otra
unidad en la cuenta del contador de decenas IC2. En el display de indicadores se leerá ahora el decimal 20.
(Figura 81)
La secuencia de conteo continuará de la misma forma tal como se explicó anteriormente llegando así los
decimales 30, 40, 50………… Al llegar el pulso �° 100 el contador indicará el decimal 99. (Figura 82)
Con el pulso �°101 los dos contadores, el de unidades y el de decenas se resetearán a 0. (Figura 83)
Con el pulso �° 102 el contador reiniciará el ciclo de conteo.
En la Figura 84 se representan Divisores de Frecuencia que son típicamente utilizados en electrónica digital.
��88 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Registros de Almacenamiento
Un registro es un conjunto de flip-flop que se utiliza para almacenar datos en forma temporaria.
Existen básicamente dos tipos de registros:
� Registros de almacenamiento (storage registers)
� Registros de desplazamiento (shift registers)
Para configurar un registro generalmente se utilizan flip-flop tipo D. Los registros se emplean en una gran
variedad de aplicaciones, por ejemplo:
Contadores
Almacenamiento de datos
Generadores de secuencias
Microprocesadores
Etc.
Un registro de almacenamiento es un conjunto de flip-flop capaz de almacenar un código o palabra binaria de
una determinada longitud. La longitud de una palabra binaria está determinada por la cantidad de bits que
posee la misma.
En los sistemas digitales normalmente estas longitudes pueden ser de:
4, 8, 16, 32 y 64 bits
Se requiere un flip-flop por cada bit de la palabra. Por ejemplo, para almacenar un byte, o sea una palabra de 8 bits, se necesitan 8 flip-flop.
Existe una variada gama de circuitos integrados dedicados para el almacenamiento temporario de datos.
A modo de ejemplo se estudia el circuito integrado 7475. (Figura 85)
Este circuito integrado puede utilizarse como dos registros de datos independientes de dos bits cada uno o
como un solo registro de cuatro bits. Para formar un registro de cuatro bits se deben conectar entre sí los
pines de habilitación (Enable) E0-1 (pin 13) y E2-3 (pin 4).
La entrada de habilitación E0-1 habilita los flip-flop FF0 y FF1 cuando está a nivel Alto (1 lógico), un 0
lógico en esta entrada inhabilita al flip-flop. La entrada E2-3 controla de la misma manera los flip-flop FF2 y FF3.
La información presente en las entradas de datos (D0 a D3) se transfiere a las respectivas salidas (Q0 a Q3)
cuando la entrada de habilitación (E) está a nivel Alto (1 lógico).
��89 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Los datos cargados quedarán almacenados mientras esta entrada se mantenga a nivel Bajo (0 lógico), sin
importar que en las entradas de datos estos varíen. Los nuevos datos que se desee almacenar solamente serán
cargados cuando en la entrada de habilitación se presente nuevamente un nivel Alto (1 lógico). En este caso
los datos cargados anteriormente se pierden.
Los datos almacenados en el registro se mantendrán indefinidamente mientras el circuito siga alimentado por
la fuente de C.C. Vcc. Si la alimentación se corta los datos almacenados se borran.
En la Figura 86 se muestra el circuito utilizado para comprobar el funcionamiento del registro de 4 bits 7475.
La palabra de entrada se fija con los interruptores “A, B, C, D”. La información de salida se visualiza en los
monitores “A, B, C, D”. “A” es el bit menos significativo, “D” es el bit más significativo.
La señal de habilitación, activa en nivel Alto, genera un pulso = 1 accionando brevemente el interruptor Habilitación, simulando así un pulso reloj.
Cuando se alimenta el circuito colocando el interruptor de encendido en la posición O�, los indicadores
lumínicos “DCBA” indicarán “0000” (decimal 0). Observe que la palabra de entrada programada es:
Esta palabra se transferirá a las salidas [4Q (D), 3Q (C), 2Q (B), 1Q (A)] cuando se presente un 1 lógico en
las entradas de “Habilitación” [(1C, 2C, pin 13), (3C, 4C, pin 4)] y quedara almacenada indefinidamente
hasta que se corte la alimentación o se cargue una nueva palabra. (Figura 86B)
Otro registro de almacenamiento de 4 bits, dentro de la gran variedad que existen, es el circuito integrado 4042.
En la Figura 87 se muestra el circuito de ensayo de este dispositivo, armado en el Laboratorio Virtual
“Electronics Workbench 5.12”.
Se incluyó en el circuito el convertidor de código BCD a código de 7 segmentos CI 7447 para visualizar
en decimal el número cargado en el registro.
Los 7 inversores dispuestos entre las salidas del convertidor de código 7447 y el display Led se deben a que
las salidas del 7447 son activas en nivel Alto y el display disponible en el laboratorio es de ánodo común.
��90 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Cuando se alimenta el circuito colocando el interruptor de encendido en la posición O�, los indicadores
lumínicos “DCBA” indicarán “0000” (decimal 0) y el display decimal también mostrará el decimal 0.
Observe que la palabra de entrada programada es:
Esta palabra se transferirá a las salidas [Q3 (D), Q2 (C), Q1 (B), Q0 (A)] cuando se presente un 1 lógico en
la entrada de “Reloj” (E0, pin 5). El display decimal indicará el número 6. (Figura 88)
La información quedará almacenada indefinidamente hasta que se corte la alimentación o se cargue una
nueva palabra.
Los flip-flop convencionales y todas las funciones que se realizan con ellos (registros, contadores, memorias RAM, etc.), son volátiles por naturaleza y pierden la información almacenada en ellos cuando se des energizan.
��91 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Registros de desplazamiento (Shift Registers)
Estos dispositivos son conjuntos de flip-flop conectados en cascada que almacenan información binaria
desplazando cada bit de una etapa a la siguiente con cada pulso de reloj.
En los sistemas digitales, los registros de desplazamiento se utilizan para almacenar datos en serie, retardar
información, convertir datos en formato serie a formato paralelo o viceversa, generar secuencias de códigos
binarios, realizar operaciones aritméticas, etc.
Los registros de desplazamiento, en general, son dispositivos claves en la operación microprocesadores y de
los sistemas que con ellos se construyen.
Estos registros están conformados por una cadena de flip-flop (pueden ser D o J-K) conectados de tal modo
que la información almacenada en ellos experimente un corrimiento hacia la izquierda o hacia la derecha
con cada pulso de reloj. Cada que se produce un pulso de reloj, el bit almacenado en cada flip-flop de la
cadena se desplaza al flip-flop adyacente.
��92 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En la Figura 89 se muestra en forma simplificada como, un registro de
desplazamiento convierte, una información que ingresa al registro en serie a
un formato paralelo.
Los bloques representan cada uno de los flip-flop del registro (formado por
4 flip-flop).
El primer pulso de reloj ingresa al registro el bit b0, el segundo pulso ingresa el bit b1 y así sucesivamente. Luego de haberse producido 4 pulsos de reloj, la palabra completa (b3b2b1b0 = 1101) ha sido completamente cargada en el registro.
En la Figura 90 se muestra en forma simplificada como, un
registro de desplazamiento convierte, una información que
ingresa al registro en paralelo a un formato serie.
En el ejemplo anterior se vio como con el 4to. Pulso de reloj el
registro a quedado cargado con la palabra completa que ha
ingresado al mismo en serie (b3b2b1b0 = 1101).
Si la entrada de datos se mantiene en 0 y se aplican otros 4 pulsos de reloj, la palabra previamente almacenada en el registro saldrá bit a bit desde el mismo. El primer pulso libera el bit b0, el segundo pulso libera el bit b1 y así sucesivamente. Al final el registro queda cargado con 0000. Esta secuencia es un ejemplo de conversión paralelo a serie.
En la Figura 91 se muestra el circuito lógico de un registro de desplazamiento de 5 etapas, formado con 5
flip-flop tipo D.
El sistema cuenta con una Entrada de Datos en Serie (D1), una Salida de Datos en Serie (Q5), cinco
Salidas de Datos en Paralelo (Q1 a Q5) y una Entrada de Reloj o desplazamiento (shift). Observe que
las entradas de reloj de los 5 flip-flop están todas conectadas entre sí.
La Entrada D1 recibe la información de entrada. La Salida Q, de cada flip-flop, actúa como Entrada de
Datos del siguiente flip-flop. Los Datos se desplazan de izquierda a derecha con cada pulso de Reloj. Cuando el sistema recibe el 1er. pulso de reloj, el dato presente en la entrada D1 (sea un 0 o 1 lógico) es
transferido a la salida del FF1 (Q1). El dato que estaba previamente en Q1 (0 o 1 lógico) y que estaba
aplicado a la entrada del FF2 (D2), se transfiere a la salida Q2 de este. El que tenía la salida Q2 y que estaba
aplicado a la entrada del FF3 (D3), se transfiere a la salida Q3 de este y así sucesivamente.
El 1 lógico se ha desplazado de posición hacia la derecha. Los 0’s también se han desplazado. El desplazamiento continúa de modo que, con los siguientes pulsos de reloj, el 1 lógico se desplaza una posición a la
derecha con cada uno de ellos, hasta que atraviesa todo el registro.
El dato resultante en las salidas es:
3er. Pulso reloj: Q1Q2Q3Q4Q5 = 00100 => (decimal 4) 4to. Pulso reloj: Q1Q2Q3Q4Q5 = 00010 => (decimal 2) 5to. Pulso reloj: Q1Q2Q3Q4Q5 = 00001 => (decimal 1) 6to. Pulso reloj: Q1Q2Q3Q4Q5 = 00000 => (decimal 0)
��93 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Para aclarar el funcionamiento de este circuito analice el diagrama de
temporización mostrado a la izquierda.
Se asume que, al comenzar la secuencia, el estado de las salidas es:
Q1 Q2 Q3 Q4 Q5 = 00000 Se aplica un 1 lógico a la entrada serie D1. Cuando se aplique el 1er. pulso de reloj, cada flip-flop se carga con el
dato que tiene en su entrada.
FF1 se carga con un 1(D1 = 1). Los demás flip-flop se cargan con 0.
Observe que al aplicar el 1er. pulso reloj todas las entradas D, salvo
D1, tienen como dato de entrada un 0.
Las salidas del registro indicaran ahora el número binario:
Q1 Q2 Q3 Q4 Q5 = 1 0 0 0 0 (decimal 16) Cuando se aplica el 2do. pulso reloj, cada flip-flop transfiere el dato
que tiene en su entrada a su salida. En la entrada serie D1 ahora hay un
0, por lo que las salidas del registro mostraran el número binario:
Q1 Q2 Q3 Q4 Q5 = 0 1 0 0 0 (decimal 8)
Vemos que con el 6to. pulso reloj el 1 lógico cargado inicialmente en el registro ha sido expulsado del
mismo.
El proceso que realiza un registro de desplazamiento permite utilizarlo para lograr otras funciones
importantes.
El 1 lógico aplicado a la entrada serie (D1) se carga en la salida serie (Q5) después que han ingresado
5 pulsos reloj al registro. El registro se ha comportado como una línea digital de retardo.
El tiempo de retardo es función de la frecuencia del reloj.
Su poniendo que F = 1 KHz => T = 0,001 seg. (1ms)
Por lo que el tiempo de retardo en este caso es:
1ms x 5 pulsos = 5ms.
Al desplazarse el 1 lógico a través del registro secuencialmente, secuencia que es controlada por el
pulso reloj, se pueden utilizar las salidas (Q1Q2Q3Q4Q5) para habilitar secuencialmente circuitos
externos al registro, de acuerdo a un patrón de bits (datos) preestablecido a ser ingresados por la
entrada serie (D1).
Si los datos (patrón de bits) que aparecen en las cinco salidas son tomados como un número binario,
cada vez que el 1 lógico se desplaza hacia la derecha, la magnitud de ese número se divide por dos.
100002 = 1610 010002 = 810 001002 = 410 000102 = 210 000012 = 110 En cada desplazamiento, el registro realiza una operación de división entera por 2.
El registro de desplazamiento también se puede comportar como un registro de almacenamiento
temporal de datos, que están siempre disponibles en las salidas en paralelo (Q1Q2Q3Q4Q5).
Clasificación de registros de desplazamiento
Los registros de desplazamiento son clasificados de acuerdo a la forma como ingresa y sale la información de
los mismos.
Básicamente se pueden dividir en cuatro grupos denominados:
� SISO (Serial In – Serial Out) => (Entrada Serie – Salida Serie)
� SIPO (Serial In – Parallel Out) => (Entrada Serie – Salida Paralelo)
� PISO ( Parallel In – Serial Out) => (Entrada Paralelo – Salida Serie)
� PIPO (Parallel In – Parallel Out) => (Entrada Paralelo – Salida Paralelo)
Registros SISO
En un registro SISO, la información entra en serie (bit a bit) y sale en serie (bit a bit). No se tiene acceso a
las salidas individuales de cada etapa.
En la Figura 92 se muestra el circuito lógico de un registro de desplazamiento SISO de cuatro etapas
formado por cuatro flip-flop D.
��94 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Como ya se explico, cada pulso de reloj desplaza el dato de entrada de cada flip-flop hacia la derecha.
Este tipo de registro es el más elemental y es uno de los más utilizados.
Puede emplearse como una memoria secuencial o como una línea digital de retardo.
Por ejemplo, un registro de este tipo que contenga 64 flip-flop o etapas, puede almacenar hasta una
información de 64 bits de datos o retardar una determinada información durante 64 pulsos de reloj.
Los bits ingresan y se desplazan en orden de izquierda a derecha, por lo que, el primer bit que ingresó al
sistema, es el primero en salir del mismo.
Registros SIPO
Este tipo de registro estructuralmente es similar a un registro SISO, la diferencia radica en que la salida de
cada etapa es accesible externamente.
En la Figura 93 se muestra el circuito lógico de un registro de desplazamiento SISO de cuatro etapas
formado por cuatro flip-flop D.
Una función importante de un registro SIPO es la de convertir datos informados en serie a datos disponibles
en paralelo. Observe que en el ejemplo dado, una palabra de 4 bits que ingresa al registro bit a bit (ingresa
por D1- flip-flop 1), estará disponible en las líneas de salida cuando hayan transcurrido 4 pulsos de reloj.
Esta propiedad permite utilizarlo también como una memoria temporal.
Registros PISO
��95 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Un registro PISO, se carga en paralelo con una palabra
(información) determinada. Dicha información se
desplazará hacia la derecha con cada pulso de reloj.
En la Figura 94 se muestra el circuito lógico de un registro
de este tipo de cuatro etapas.
La información a cargar es la palabra D4D3D2D1 y su
carga es habilitada cuando se aplica un 1 lógico a la entrada LOAD. El pulso de habilitación puede o no estar
sincronizado con el reloj.
Estos registros son utilizados normalmente para convertir
información recibida en formato paralelo a formato serie.
Registros PIPO
Un registro PIPO es un tipo de registro Universal. Puede operar como un registro de almacenamiento normal
o como un registro de desplazamiento del tipo:
SISO SIPO PISO
En la Figura 95 se muestra el circuito lógico de un registro de desplazamiento PIPO de 4 etapas.
Registros de desplazamiento recirculantes
En la Figura 96 presenta el circuito SISO cumpliendo la función de un registro de desplazamiento de datos
recirculantes. Para lograr que el registro cumpla esta función, se agrega al mismo una lógica de control formada con, dos compuertas A�D de dos entradas, una compuerta OR de dos entradas y una compuerta
�OT, conectadas debidamente.
La lógica de control mencionada y que está conectada a la entrada de datos serie del registro (D1), permite
dos modos de operación del mismo.
1 - Cuando la línea de control de recirculación (REC) está a nivel lógico Alto (1 lógico), el dato presente en
la entrada de datos (Din) se transfiere al FF1 con cada pulso de reloj y se desplaza a través del mismo, en la
forma normal para un registro de desplazamiento SISO. En el ejemplo, la palabra a cargar en el registro es
1010. Observe que luego de haber sucedido 4 pulsos de reloj el dato completo se cargó en el registro.
��96 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Como se puede ver en el circuito, la estructura de
este registro es similar a la de un registro PISO. La
diferencia radica en que la salida de cada etapa es
accesible exteriormente (salidas en paralelo
DCBA).
Los registros PIPO son utilizados normalmente
para realizar operaciones matemáticas.
Si luego del pulso reloj �° 4 se lleva la línea de control de recirculación (REC) a nivel Bajo (0 lógico), el
registro ignora el dato presente en Din y retorna a la entrada D1, con cada pulso reloj, el bit que sale por la
salida serie Q4 (Figura 97).
La información almacenada se mantiene circulando permanentemente entre la entrada y la salida del registro, sin perderse. Estos registros pueden utilizarse como, sistemas de almacenamiento de datos en serie, líneas de retardo de
tiempos largos, en generadores de caracteres, etc.
Contador Jonhson
Un contador Jonhson es una variante de un registro de desplazamiento recirculante. (Figura 98)
Registros de desplazamiento Bidireccionales
Los registros vistos hasta ahora son registros de desplazamiento unidireccionales, puesto que solo desplazan
la información entrante en un solo sentido. Existen también registros de desplazamiento bidireccionales.
Estos registros pueden desplazar la información entrante, hacia la derecha o hacia la izquierda, de acuerdo a
la orden que reciban.
��97 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En la Figura 98 se muestra un contador Jonhson de 3 etapas formado por 3 flip-flop tipo D. La diferencia con el
registro de desplazamiento recirculante anteriormente
explicado radica en que, la salida Q’ realimenta a la entrada
D1 del FF1.
El contador cuenta los sucesivos pulsos reloj y va
memorizando los pulsos contados. Al tener 3 etapas el
contador llega a su cuenta máxima con el 3er. pulso.
Una vez lleno el contador, con el próximo pulso reloj
(4to. pulso), comienza a decrementar su estado hasta
llegar a tener todas sus salidas Q=0. Con el 7mo. pulso
se reinicia el ciclo.
El dato entra en serie por la entrada SinR y sale en serie por la salida SoutR.
Cuando el nivel lógico de esta entrada es L/R=0, el desplazamiento se produce hacia la izquierda.
El dato entra en serie por la entrada SinL y sale en serie por la salida SoutL.
Registros de desplazamiento universales
Este versátil dispositivo puede operar de 4 modos distintos:
� Carga sincrónica de datos en paralelo.
� Desplazamiento de datos hacia la derecha.
� Desplazamiento de datos hacia la izquierda.
� Inhibición de pulso reloj.
��98 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En la Figura 98 vemos el símbolo lógico representativo
de un registro de desplazamiento bidireccional.
La entrada L/R determina la dirección del
desplazamiento (izquierda o derecha). Cuando el
nivel lógico de esta entrada es L/R=1, el
desplazamiento se produce hacia la derecha.
Un registro de desplazamiento universal puede operar como
cualquiera de los 4 registros vistos. Posee entrada y salida de datos
en serie, desplazamiento de datos hacia la derecha o izquierda,
entrada y salida de datos en paralelo, borrado de datos almacenados
(clear), puede inhibirse el pulso reloj entrante, etc.
En la Figura 99 se muestra el diagrama lógico representativo de un
registro de desplazamiento universal de 4 bits. Este dispositivo puede
operar como registro SISO, SIPO, PISO, PIPO, bidireccional y
recirculante
En la Figura 100 se muestra el circuito integrado 74SL194 y
su diagrama lógico funcional. Este integrado es un registro universal bidireccional de 4 bits, que posee:
* 4 entradas de carga de datos en paralelo (A, B, C, D).
* 4 salidas de datos en paralelo (QA, QB, QC, QD).
* 2 entradas de datos en serie [SR (Right), SL (Left)]. * 1 entrada de borrado (CLR’). * 2 entradas de control de modo de operación (S0, S1).
La carga de datos en paralelo (Figura 101) se realiza aplicando a las entradas de
datos en paralelo (A, B, C, D) el dato de 4 bits que se necesita almacenar. Las
entradas de control (S0 y S1) y la entrada de borrado (CLR’) deben estar a nivel Alto (1 lógico). El dato elegido (en el ejemplo 1010), se carga en el registro y se
transfiere a las salidas (QA, QB, QC, QD) con los flancos ascendentes del pulso
reloj y quedan almacenados en el registro. Si la entrada de borrado (CLR’) es
llevada a nivel lógico Bajo (0 lógico), el dato almacenado se elimina del registro.
Si las entradas de control (S1 y S0) son llevadas al estado lógico ALTO (1 Lógico), se inhibe la entrada de
reloj. En esta condición no es posible realizar carga de datos ni realizar desplazamiento de los datos ya
cargados en al registro por lo que, en las salidas se mantendrá el dato previo.
Cuando la entrada de Borrado (CLR-pin 1) se lleva a nivel lógico Bajo (0 lógico), todas las salidas (Qa,
QB, QC, QD) se resetean a nivel lógico Bajo (0 lógico), es decir QAQBQCQD = 0.
Cuando se analizo registros de desplazamiento hacia la derecha (Página 94) se vio que, si los datos
(patrón de bits) que aparecen en las salidas son tomados como un número binario, cada vez que el 1 lógico se desplaza hacia la derecha, la magnitud de ese número se divide por dos.
Observe ahora el registro de desplazamiento hacia la izquierda de la Figura 103.
El dato a cargar es: 0001 Al producirse el 1er. pulso reloj el dato que aparece en las salidas es:
La secuencia hasta el cuarto pulso es:
En cada desplazamiento hacia la izquierda, el registro realiza una operación de multiplicación entera por 2.
��99 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
El desplazamiento hacia la derecha (Figura 102) se produce con los
flancos ascendentes de los pulsos reloj. El sistema se programa para esta
función llevando a nivel lógico Alto la entrada de control (S0) y a nivel lógico Bajo la entrada de control (S1). El dato serie ingresa al registro
por la entrada de datos serie (SR - (desplazamiento hacia la derecha).
El desplazamiento se realiza en la dirección QA => QD.
El desplazamiento hacia la izquierda (Figura 103) se produce con los
flancos ascendentes de los pulsos reloj. El sistema se programa para esta
función llevando a nivel lógico Bajo la entrada de control (S0) y a nivel lógico Alto la entrada de control (S1). El dato serie ingresa al registro por
la entrada de datos serie (SL - (desplazamiento hacia la izquierda). El desplazamiento se realiza en la dirección QD => QA.
Memorias
Una de las partes más importantes de los sistemas digitales es la dedicada a almacenar la información con la
que está tratando el sistema. A la parte del sistema que se dedica al almacenamiento de información se le
denomina memoria.
En las memorias se almacenan distintos tipos de información, tales como instrucciones a ejecutar por un
microcontrolador, resultados parciales de operaciones, datos de entrada a un sistema digital, etc.
Sobre las memorias se pueden realizar dos tipos de operaciones. Se puede leer la información que tiene
almacenada, o bien se puede escribir nueva información para que quede almacenada en ella. Por lo tanto, a
una memoria se accede de dos formas:
para leer o para escribir información en ella.
A estas dos formas de acceder a la memoria se les denomina modos de acceso.
Una memoria está dividida en celdas (casilleros) en las que se guarda la información. Las celdas son las células elementales que conforman una memoria y son denominadas posiciones de memoria.
� Las memorias a las que se puede acceder para leer y escribir datos son las denominadas memorias RAM (Random Access Memory).
� Las memorias que sólo permiten el acceso para la lectura de datos, son las denominadas memorias ROM (Read Only Memory).
Atendiendo a la clasificación de memorias, tomando como punto de referencia el modo de acceso permitido,
las memorias se dividen en dos grupos:
*Lectura y escritura (RAM): - RAM estáticas FRAM: Memorias ferroeléctricas - RAM dinámicas
*Solo Lectura (ROM): - ROM (Read Only Memory) - EEPROM (Electrically Erasable PROM) - PROM (Programmable ROM) - FLASH - EPROM (Erasable PROM) - FRAM
LECTURA Y ESCRITURA (RAM)
Las memorias RAM (Random Access Memory) son memorias de acceso aleatorio, se puede acceder a ellas
para escribir, o grabar datos en binario o en hexadecimal.
Las memorias RAM pueden ser estáticas, o dinámicas:
- Statics RAM o memorias estáticas son memorias en las que la información grabada permanece inalterable
hasta que se retire la alimentación.
- Dinamics RAM o memorias dinámicas en las que la información debe ser refrescada cada cierto tiempo.
��100 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
La información almacenada en las memorias está codificada en
binario. Recuerde que la unidad básica del código binario es el
bit; un grupo de ocho bits se denomina byte.
A la cantidad de bits que caben en cada posición de memoria se
le denomina palabra.
Por ejemplo, una memoria de un “ancho” de palabra de 16 bits
quiere decir que en cada una de sus celdas de memoria caben 2
bytes, es decir, 16 bits.
CARACTERISTICAS DE LAS MEMORIAS
Las memorias, independientemente del modo de acceso, tienen características comunes a todas ellas. Estas
características determinan la elección de una determinada memoria en una determinada aplicación.
Las características generales de una memoria son:
� Capacidad: es la cantidad de información que se puede almacenar en una memoria expresada en bits o en bytes. La información está almacenada en las celdas o posiciones de memoria y en cada celda hay una
cantidad de bits que se denomina “ancho” de palabra.
La capacidad viene determinada por el producto del número de palabras o posiciones de memoria
(M) por el tamaño en bits de la palabra (�).
Por ejemplo, una memoria con un tamaño de palabra de 16 bits y un número de posiciones de memoria (palabras) de 2048, la capacidad de esa memoria es:
� = 16 bits
M = 2048
Capacidad de almacenamiento = número de palabras (M) x número de bits por palabra (�). Capacidad de almacenamiento = 2048 x 16 = 32768 bits = 4096 bytes = 4 Kilobytes
o La memoria del ejemplo se indica como una memoria de 4KB x 16.
� Volatilidad: una memoria se dice que es volátil cuando la información almacenada en ella se pierde cuando se corta la alimentación.
� Tiempos de lectura y escritura: los tiempos de acceso a la información, ya sea para leer o para escribir, son características importantísimas de una memoria. Los tiempos de acceso van a marcar la rapidez a la que va a poder funcionar el sistema electrónico.
RAM ESTATICA
Las memorias RAM estáticas se caracterizan porque, mientras están alimentadas, la información en ellas
almacenada no se modifica a menos que se realice una operación de escritura.
La célula elemental de almacenamiento (celda o posición de memoria) es un biestable o flip-flop.
La aplicación más importante de las RAM estáticas es en sistemas en los que no se requieren grandes
capacidades de memoria y se necesitan tiempos de acceso muy rápidos.
��101 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En la Figura 105 se ha representado el Diagrama Funcional
generalizado de una RAM Estática.
La función de cada terminal es la siguiente:
-Vcc/G�D: alimentación del circuito.
-Entrada de direcciones (A0 a An): los terminales de direcciones,
desde el terminal A0 hasta el terminal An , sirven para indicar la
posición dentro de la memoria sobre la que vamos a efectuar una
operación de lectura o escritura. El número de terminales de
dirección mantiene una relación directa con el número de posiciones
de la memoria. Por ejemplo, una memoria con 16 posiciones, o
celdas de memoria, requiere para su acceso un número de líneas de direcciones igual a 4.
Cada bit, en el direccionamiento, es aportado por un terminal cuyo orden se corresponde con el peso del bit
en el código. Por ejemplo, para la memoria de 16 posiciones, la posición 16 es direccionada con el código
binario correspondiente al número decimal 16, es decir:
el código binario 1111 El terminal de direcciones número cero (A0) se encarga de aportar el primer bit o bit de menor peso (20
). Así
se opera con todos los terminales.
La cantidad de posiciones de memoria que se pueden direccionar tiene relación directa con la cantidad de terminales de dirección. La fórmula matemática que relaciona las dos magnitudes es:
2�° de terminales = �º de posiciones de memoria direccionables
Por ejemplo, con una memoria de 16 posiciones:
24 terminales = 16 posiciones de memoria
Para una memoria que tiene capacidad de 2048 posiciones de memoria el número de terminales es de:
�úmero de terminales = 11 => (211 = 2048).
- Entrada / Salida de datos (D0 - Dn): los terminales de entrada / salida son bidireccionales. En el proceso de lectura se comportan como salidas, mientras que en el proceso de escritura se comportan como entradas. Cuando el circuito no está activo, en estos terminales hay un estado de alta impedancia o de desconexión
de la línea por la que circulan los datos del sistema (Bus de Datos).
El número de terminales de datos coincide con el del número de bits que conforma la palabra, o grupo de
bits, guardada en cada posición de memoria.
Organizaciones comunes son 1, 4, 8 y 16 bits por palabra. Una memoria memoria de 1 KB x 4, es decir,
1Kilobyte (número de posiciones) x 4 (bits por palabra) tiene cuatro terminales de datos.
- Terminal de selección de lectura / escritura (R/W): a través de este terminal la memoria recibe
información exterior del tipo de operación que se desea efectuar.
Generalmente un nivel Alto (1 lógico) en este terminal indica operación de lectura, mientras que un nivel Bajo (0 lógico) en el terminal R/W indica operación de escritura.
- Entrada de selección de chip (CS): este terminal actúa principalmente sobre los terminales de entrada/salida de datos. Cuando este terminal es llevado al estado lógico Alto (1 lógico), los terminales de entrada/salida toman el
estado de alta impedancia. Este estado equivale a estar desconectados de la línea por donde circulan las
direcciones y los datos ( Bus de Direcciones y Bus de Datos) dentro del sistema.
También impide realizar a la memoria operaciones de lectura y de escritura.
Si el nivel lógico en este terminal es Bajo (0 lógico), la memoria puede operar normalmente.
CS = 1 integrado inhibido del sistema
CS = 0 integrado activo
- Control de salida de datos (WE): este terminal permite poner las salidas de datos en estado de alta
impedancia (inactivas) durante un proceso de escritura, o de baja impedancia (activas) durante un proceso de
lectura.
Los modos de funcionamiento son los distintos procesos u operaciones que se pueden realizar con una memoria. En el caso de una memoria RAM estática hay dos posibles tipos de operaciones, operación de lectura y operación de escritura.
��102 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Una operación de lectura consiste en dar salida, por las líneas de datos, al contenido de la posición de memoria o celda de memoria seleccionada. Para iniciar un ciclo de lectura primero se sitúa en los terminales de direcciones (A0 - An) la
dirección en binario de la posición o celda de memoria que se quiere leer, después se le indica a la
memoria que la operación es de lectura poniendo a nivel Alto (1) el terminal R/W.
El chip de memoria se activa poniendo en el terminal CS un nivel Bajo (0 lógico).
Una vez activado el sistema, se inicia la lectura de la celda de memoria. En los terminales de entrada / salida (D0 - Dn) se sitúa el dato correspondiente a la celda leída.
Una operación de escritura consiste en dar entrada por las líneas de datos a un dato que debe ser grabado en una posición de memoria o celda de memoria seleccionada. Para iniciar un ciclo de escritura primero se sitúa en los terminales de direcciones (A0 - An) la
dirección en binario de la posición o celda de memoria sobre la que se quiere escribir o grabar,
después se le indica a la memoria que la operación es de escritura poniendo a nivel Bajo (0) el
terminal R/W.
El chip de memoria se activa poniendo en el terminal CS un nivel Bajo (0 lógico).
Una vez activado el sistema, se inicia la lectura de los terminales de datos (A0 - An). En la posición
de memoria seleccionada se escribe el dato situado en los terminales de entrada / salida de datos.
Memoria RAM capaz de almacenar en código binario 4 palabras de 4 bits cada una
Para explicar el funcionamiento de esta memoria se ha armado el siguiente circuito en el “Simulador
Digital_095” desarrollado por el Ing. Arturo Javier Miguel De Priego Paz Soldan. Recuerde que el programa puede descargarse libremente desde la Página WEB:
www.geocities.com/tourdigital
��103 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Almacenamiento de Datos en la Posición de Memoria 00 (decimal 0)
Alimentar el circuito (interruptor de encendido en la posición ON).
Poner a los siguientes niveles lógicos los selectores de dirección de memoria para almacenar datos:
WA= 0; WB= 0 Escribir en las entradas de datos el número binario a almacenar, por ejemplo:
D4=0; D3=0; D2=0; D1=1.
Pulsar el interruptor .
El número binario 0001 queda almacenado en la posición de Memoria 00.
Almacenamiento de Datos en la Posición de Memoria 01 (decimal 1)
Poner a los siguientes niveles lógicos los selectores de dirección de memoria para almacenar datos:
WA= 0; WB= 1 Escribir en las entradas de datos el número binario a almacenar, por ejemplo:
D4=0; D3=0; D2=1; D1=1.
��104 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Pulsar el interruptor .
El número binario 0011 queda almacenado en la posición de Memoria 01.
Almacenamiento de Datos en la Posición de Memoria 10 (decimal 2)
Poner a los siguientes niveles lógicos los selectores de dirección de memoria para almacenar datos:
WA= 1; WB= 0 Escribir en las entradas de datos el número binario a almacenar, por ejemplo:
D4=0; D3=1; D2=1; D1=1.
Pulsar el interruptor .
El número binario 0111 queda almacenado en la posición de Memoria 10.
Almacenamiento de Datos en la Posición de Memoria 11 (decimal 3)
Poner a los siguientes niveles lógicos los selectores de dirección de memoria para almacenar datos:
WA= 1; WB= 1 Escribir en las entradas de datos el número binario a almacenar, por ejemplo:
D4=1; D3=1; D2=1; D1=1.
Pulsar el interruptor .
El número binario 1111 queda almacenado en la posición de Memoria 11.
El almacenamiento de datos en las distintas posiciones de memoria no necesariamente debe realizarse en el orden que se ha seguido en esta explicación. El acceso a cualquier posición puede efectuarse indistintamente sin seguir un orden establecido.
��105 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
� Lectura de los datos almacenados en las distintas posiciones de memoria
Lectura de los datos almacenados en la Posición de Memoria 00 (decimal 0)
Poner a los siguientes niveles lógicos los selectores de dirección de memoria para leer datos almacenados:
RA= 0; RB= 0
Pulsar el interruptor
El número binario 0001 que fue almacenado en la posición de Memoria 00 aparece indicado en el conjunto
de LED’s - Q4=0; Q3=0; Q2=0; Q1=1.
Lectura de los datos almacenados en la Posición de Memoria 01 (decimal 1)
Poner a los siguientes niveles lógicos los selectores de dirección de memoria para leer datos almacenados:
RA= 0; RB= 1
Pulsar el interruptor
El número binario 0011 que fue almacenado en la posición de Memoria 01 aparece indicado en el conjunto
de LED’s - Q4=0; Q3=0; Q2=1; Q1=1.
��106 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Lectura de los datos almacenados en la Posición de Memoria 10 (decimal 2)
Poner a los siguientes niveles lógicos los selectores de dirección de memoria para leer datos almacenados:
RA= 1; RB= 0
Pulsar el interruptor
El número binario 0111 que fue almacenado en la posición de Memoria 01 aparece indicado en el conjunto
de LED’s - Q4=0; Q3=1; Q2=1; Q1=1.
Lectura de los datos almacenados en la Posición de Memoria 11 (decimal 3)
Poner a los siguientes niveles lógicos los selectores de dirección de memoria para leer datos almacenados:
RA= 1; RB= 1
Pulsar el interruptor
El número binario 1111 que fue almacenado en la posición de Memoria 11 aparece indicado en el conjunto
de LED’s - Q4=1; Q3=1; Q2=1; Q1=1.
La lectura de datos almacenados en las distintas posiciones de memoria no necesariamente debe realizarse en el orden que se ha seguido en esta explicación. El acceso a cualquier posición puede efectuarse indistintamente sin seguir un orden establecido. Los datos almacenados en las distintas posiciones de memoria se borran solamente si se corta la alimentación del circuito integrado. Si se almacena un nuevo número en alguna posición de memoria, el dato anterior almacenado será borrado.
RAM Dinámica
��107 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
La memoria RAM Dinámica o DRAM (Dynamic RAM) utiliza una
tecnología diferente a la empleada en la RAM Estática para lograr el
almacenamiento de datos.
En una RAM Dinámica, la unidad básica de memoria es un condensador. (Figura 106)
Cada celda DRAM puede almacenar solamente 1 bit (1 o 0) cargando o no el condensador a través de un
transistor MOS. (1= condensador cargado; 0= condensador descargado)
Es dable ver la diferencia de tecnología con una memoria RAM Estática, ya que esta última utiliza un flip-
flop para almacenar un bit de datos.
Para permitir la actualización frecuente del dato almacenado, cada celda de una DRAM debe ser capaz de
cambiar de estado instantáneamente. Esto solo es posible si el condensador empleado como almacenador del
dato tiene un valor de capacidad muy pequeña. Los condensadores de estas memorias tienen un valor de
capacidad tan bajo que no pueden retener su carga más allá de unos pocos mili segundos. Esto implica que, el
dato almacenado en cada celda de una DRAM deba ser refrescado cada 2 mili segundos aproximadamente.
Si una celda no es refrescada a tiempo, pierde el dato almacenado.
El refresco del dato almacenado en cada celda requiere, adicionalmente, circuitería externa a la memoria y
una circuitería más compleja dentro de la misma memoria.
La complejidad adicional y el costo de los circuitos de refresco es la principal desventaja de las DRAM.
A pesar de esta desventaja, las DRAM ofrecen varias ventajas sobre las SRAM. La capacidad de
almacenamiento de una DRAM es mucho mayor que el que se puede almacenar en una SRAM.
Son comunes DRAM con capacidad de almacenar:
64 Megabits => 226 = 67.108.864 bits
El consumo de potencia es otro factor importante en esta comparación. Las DRAM requieren una intensidad
de corriente menor para operar que las SRAM. Esto se debe porque tienen menos componentes por celda que
disipen potencia. La disminución en el consumo de potencia es fundamental en aplicaciones que necesitan
una gran cantidad de memoria.
Las DRAM también tienen un modo de reposo, llamado standby, que inhibe todas las funciones de la
memoria salvo el modo refresco. Este modo solo requiere unos pocos miliwatts para que la memoria
mantenga la información almacenada en ella.
La SRAM también tiene un modo standby pero, en este estado, para mantener la información almacenada
en ellas consumen generalmente más de 100 miliwatts.
FRAM: Ferroelectric Random Access Memories
El efecto ferroeléctrico es la propiedad de un material de conservar una polarización eléctrica en ausencia de
un campo eléctrico aplicado.
Una celda de memoria FRAM se crea depositando un film de material ferroeléctrico en forma cristalina
entre dos placas, formando un capacitor, de forma similar a como se realiza en una DRAM. En vez de
almacenar carga eléctrica en este capacitor, como en una DRAM, las memorias ferroeléctricas almacenan la
información en forma de uno de dos estados estables de esa estructura cristalina. Dichos estados son estables,
de modo que la FRAM no necesita refresco ni presencia de ningún campo eléctrico para retener la
información grabada.
Con esta tecnología estas memorias se pueden construir en tamaños reducidos y gran capacidad de
almacenamiento. Presentan una desventaja, la operación de lectura resulta destructiva del dato acumulado, ya
que para realizarla, se debe aplicar un campo eléctrico. Para mantener el dato almacenado se debe volver la
celda a su estado anterior, lo cual es realizado por el dispositivo en sí.
��108 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
SOLO LECTURA (ROM)
En general se denomina a este tipo de memorias como memorias ROM (Read Only Memory), las diferentes
nomenclaturas vienen determinadas por la conjunción del tipo de acceso (memoria de solo lectura ROM )
con la manera de programarlas y borrarlas.
Una memoria de sólo lectura puede ser:
- ROM: memoria sólo para lectura. La programación de datos la realiza el fabricante.
- PROM: memoria sólo para lectura. La programación la puede realizar el usuario, pero sólo puede ser
programada una vez.
- EEPROM: es similar a una memoria EPROM, la diferencia radica en el método de borrado, que en este
caso se realiza de manera electrónica.
��109 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Los chips de memoria con tecnología FRAM de la firma
Ramtron están agrupados en dos grandes familias:
acceso paralelo, y acceso serie.
Acceso paralelo Los chips de acceso paralelo están orientados a ser conectados al
bus de un microprocesador. Son pin a pin compatibles con las
memorias RAM estáticas de similar capacidad, por ejemplo la
FM1808 puede reemplazar a una KM62256, de 32KB (32Kx8).
Acceso serie Son compatibles pin a pin con memorias EEPROM normales
con la diferencia que consumen mucha menor energía y tienen
muy bajos tiempos de escritura. Por ejemplo, para borrar un
byte en un chip EEPROM se requiere de alrededor de 10ms,
mientras que una FRAM se borra en 75us.
-EPROM: memoria sólo para lectura. Programable por el
usuario. Puede ser programada unas diez mil veces, los datos
grabados en la memoria se pueden borrar mediante rayos
ultravioleta (estas memorias ya casi no se utilizan).
Fue muy utilizado en la década de los 90 por la industria
automotriz, en las computadoras de a bordo.
Memoria EEPROM 24LC256 - CMOS 32K x 8 (256 Kbit) – (Serial Electrically
Erasable PROM)
Fabricante: Microchip Technology Inc.
Este pequeño chip (EEPROM 24LC256) de bajo consumo de potencia puede almacenar hasta 32.000
palabras de 8 bits. Esta familia de memorias es utilizada, entre otras aplicaciones, en distintas computadoras
de a bordo de automóviles.
Algunas características técnicas:
-Puede operar con tensiones de alimentación comprendidas entre Vcc = 1,8V a 5,5V.
-Máxima corriente en el modo “escritura” = 3mA con Vcc=5,5V.
-Máxima corriente en el modo “lectura” = 400µA con Vcc=5,5V.
-Pueden ser conectados en cascada hasta 8 integrados.
-Soporta hasta 1.000.0000 de ciclos de borrado/escritura.
-Protección ante descargas electro estáticas >4000V.
-Retención de datos almacenados >200 años
- FLASH: es una variación de las memorias EEPROM. Son más veloces que estas, tienen mayor capacidad
y menor consumo de potencia.
Vista de algunas memorias SD y microSD
Discos Rígidos (Figura 107)
Es un disco magnético en el que se almacenan los datos del ordenador.
Es el dispositivo del ordenador que contiene la información electrónica y en el que se almacenan todos los
programas (software).
Es uno de los componentes del hardware más importantes dentro del PC.
Existen distintos estándares para comunicar un disco rígido con la computadora. Las interfaces más comunes
son las denominadas “ATA” y “SATA”.
��110 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Técnicamente, el pendrive es un dispositivo portátil de
almacenamiento compuesto por una memoria FLASH, accesible
a través de un puerto USB.
Debido al bajo costo de las memorias FLASH en comparación a
sus similares EEPROM, su utilización se ha masificado y hoy se
utilizan en cientos de dispositivos, por ejemplo en los Pendrive.
También se emplean en memorias como las “SD”, “mini SD” y
“micro SD”, entre otras.
Estas memorias soportan generalmente hasta 1.000.000 de ciclos
de borrado/reprogramación y hasta 100 años de retención de
datos.
Figura 107
El disco rígido es una memoria de gran capacidad de almacenamiento a la que se puede acceder
aleatoriamente para leer, escribir o borrar datos indistintamente.
Microprocesadores
Las computadoras se han utilizado de forma general desde los años 50's. En un principio las computadoras
digitales eran sistemas grandes y costosos utilizados por el gobierno, universidades y grandes empresas. El
tamaño y forma de las computadoras digitales cambiaron gracias a la invención del circuito integrado (IC). El
cual permitió tener todo un procesador en una sola pastilla denominándolo microprocesador. El
microprocesador es un pequeño, pero extremadamente complejo dispositivo LSI (“Large Scale Integration” Alta Escala de Integración) o VLSI (“Very Large Scale Integration” –“Muy Alta Escala de
Integración”). Las computadoras utilizan un programa almacenado. Una computadora utiliza un
microprocesador y algún tipo de memoria semiconductora.
Las computadoras habitualmente son unidades de propósito general. Normalmente se programan muchas
veces y se utilizan para realizar varias tareas. Las computadoras dedicadas o sistemas incrustados o
empotrados (Embedded Systems) se emplean cada vez más debido al uso de los microprocesadores que
actualmente son pequeños y de bajo costo. Un sistema incrustado se programa para realizar solo pocas
tareas, como ocurre en los juguetes, automóviles, máquinas herramientas, sistemas automatizados etc.
Debido a que los sistemas incrustados son computadoras dedicadas, su organización es igual a la de una
computadora y la base que conforma una computadora es:
� La Unidad Central de Procesamiento o CPU (Central Processing Unit) � La Sección Memoria � La Sección de Entrada Salida de datos o E/S.
Estas tres secciones están interconectadas por tres conjuntos de líneas paralelas llamados buses.
Estos tres buses son :
� El Bus de Direcciones � El Bus de datos � El Bus de control
��111 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Las partes esenciales de un microprocesador son los registros, la sección de control que decodifica los programas, los buses que transportan la información digital y la unidad de aritmética/lógica (ALU) que proporciona la capacidad de cálculo y toma de decisiones lógicas. (Figura 109)
-En la Figura 110 se muestra el diagrama de bloques de un sistema basado en microprocesador.
��112 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
-En la Figura 108 se muestra un diagrama de
bloques simplificado de una microcomputadora.
-Unidad Central de Procesamiento (CPU) La unidad central de procesamiento o CPU controla las
operaciones del sistema computarizado. Este trae el código
binario de la instrucción desde la memoria, decodifica las
instrucciones a una serie de acciones simples y lleva acabo
tales acciones.
EL CPU contiene una unidad aritmética y lógica o ALU, la
cual realiza operaciones como sumar, restar, or, and, xor, not,
etc. sobre palabras binarias, cuando las instrucciones así lo
requieran.
El CPU también contiene un contador de direcciones o contador de programa el cual se utiliza para retener la
dirección de la próxima instrucción o dato a ser traído desde
la memoria, además contiene registros de propósito general
los cuales se utilizan para almacenar temporalmente
datos binarios y una circuitería de control que genera las
señales del Bus de Control.
Unidad Aritmética y Lógica La unidad aritmética y lógica o ALU (Arithmetic Logic Unit) es una sección de la unidad central de
procesamiento (CPU) que realiza operaciones aritméticas y lógicas sobre datos llevados a ella. La ALU
típicamente opera sobre uno o dos valores llamados operandos y los cambia de alguna manera de acuerdo a
un operador que se especifica.
Por ejemplo, la instrucción:
C <= A + B
“A y B” son los operandos, “C” el resultado, “+” es un operador lógico OR y “<=” es un operador de devolución.
La resolución de esta instrucción se muestra gráficamente en la Figura 110.
La ALU puede realizar multiplicaciones de operandos, esto seleccionando esta operación particular mediante
las líneas de control.
Unidad de Entrada/Salida (E/S)
La sección de entrada y salida (E/S) permite a la computadora tomar datos del mundo real o mandar datos al
mundo real. Los periféricos tales como teclados, pantalla, impresores y modems se conectan a la sección de
E/S. Esta sección permite que el usuario y la computadora se comuniquen en diferentes direcciones, es decir
usuario => computadora y computadora => usuario.
Los dispositivos físicos utilizados para conectar los buses de la computadora a sistemas externos se les
denomina puertos. Un puerto de entrada permite que la información de un teclado o un convertidor analógico
digital (ADC - Analog to Digital Converter) o alguna otra fuente pueda ser leído por la computadora bajo el
control del CPU.
Un puerto de salida se utiliza para mandar información de la computadora a algún periférico como una
pantalla, impresora o un convertido digital analógico (DAC Digital to Analog Converter).
Físicamente un puerto de entrada o de salida es un conjunto de flip-flops tipo D los cuales permiten el paso
de la información cuando son habilitados o activados por una señal de control del CPU.
Unidad de Memoria La unidad de memoria generalmente de una mezcla de RAM (Random Access Memory) y ROM (Read Only Memory). También puede tener dispositivos de memoria diferentes a RAM y ROM (memorias de
estado sólido) como lo son los discos óptico, discos duros y discos flexibles (estos últimos ya están fuera de
uso) .
La memoria tiene dos propósitos principales, los cuales se indican a continuación:
� Almacenar códigos binarios de la secuencia de instrucciones que se quiere ejecutar por el sistema.
� Almacenar el código binario de los datos con los cuales se trabajará.
La unidad de memoria almacena información binaria en grupos de bits denominados palabras.
Una palabra en la memoria es una entidad de bits que se introducen o se sacan del almacenamiento como una
unidad.
Una palabra de memoria es un grupo de unos (1's) y ceros (0's) que puede representar un número, caracter o
código de instrucción, etc., es decir información para el CPU. Un grupo de ocho bits se denomina byte.
��113 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Unidad Aritmética y Lógica básica que muestra dos valores de
entrada, señales de control para seleccionar la operación a realizar y
su salida.
La mayoría de las computadoras utilizan palabras cuyo número de bits es múltiplo de 8, por lo tanto, una
palabra de 16 bits contiene dos bytes, una de 32 bits se forma con 4 bytes y una de 64 bits contiene 8 bytes.
La capacidad de memoria en las computadoras comerciales se define como la cantidad total de bytes que
puede almacenar.
Hardware, Software y Firmware
Cuando se trabaja en el ambiente del las computadoras constantemente se utilizan los términos hardware,
software y firmware.
-Hardware es el nombre que se le da a los dispositivos físicos y circuitos de la computadora.
-Software se refiere a los programas escritos para la computadora.
-Firmware es el término que se le da a los programas almacenados permanentemente (programas en ROM).
Anteriormente la unidades centrales de procesamiento de las computadoras eran un conjunto de circuitos
integrados interconectados para trabajar en conjunto y realizar las funciones de dichas unidades.
Ahora los procesadores están diseñados en un solo microcircuito, es por ello que se le denomina
microprocesador, pero aun no son computadoras de un solo circuito integrado, debido a que carece de
memoria y de puertos de entrada/salida (E/S).
Buses del Microprocesador
Existen dos conjuntos de buses distintos que pueden ser identificados en un microprocesador.
Uno de estos conjuntos son los buses internos que forman parte de la organización interna del
microprocesador y este es poco importante para los diseñadores de aplicaciones con microprocesadores.
Estos buses internos no tienen efecto sobre la interfaz del circuito integrado con el exterior y solo afectan
sobre la velocidad efectiva del microprocesador.
El segundo conjunto de buses se refiere a la estructura de los buses externos del microprocesador.
Existen alternativas para ser diferenciados, las cuales son el número de direcciones o número de bits que
simultáneamente puede presentar (ancho del bus), el tipo de interacción del bus con el CPU y los dispositivos
externos, y la dedicación o función del bus.
Generalmente las microprocesadores y computadoras poseen tres tipos de bus, los cuales son:
-Bus de Direcciones - Bus de Datos -Bus de Control
Bus de Direcciones El bus de direcciones consiste de 16, 20, 24 o más líneas de señales en paralelo.
Por estas líneas el CPU envía la localidad de memoria en la cual va escribir o leer.
El número de localidades que el CPU puede direccionar o acceder se determina por el número de líneas del
bus de direcciones. Si el CPU tiene N líneas de dirección entonces puede direccionar 2� localidades.
Cuando el CPU lee o manda datos hacia o desde un puerto, la dirección del puerto también se envía por el
bus de direcciones.
Bus de Datos El bus de datos consiste de 8,16, 32 o más líneas de señales en paralelo, estas líneas son bidireccionales.
Esto significa que el CPU puede leer datos por estas líneas desde la memoria o un puerto, así también puede
mandar datos a una localidad de memoria o a un puerto.
Muchos dispositivos en un sistema pueden tener sus salidas conectadas al bus de datos, pero las salidas de
solamente un dispositivo pueden estar habilitadas.
��114 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Cualquier dispositivo conectado al bus de datos debe ser de tres estados (tristate) así estos dispositivos
pueden estar flotados cuando no estén en uso.
Bus de Control El bus de control consta de 4 a 10 líneas de señales en paralelo.
El CPU manda señales sobre el bus de control para habilitar las salidas de los dispositivos de memoria o
puertos direccionados.
Generalmente las señales del bus de control son leer memoria, escribir en memoria, leer E/S y escribir E/S. Por ejemplo para leer un dato de un byte de una localidad de memoria, el CPU manda la dirección de la
localidad de memoria deseada por el bus de direcciones y después manda la señal de lectura de memoria por
el bus de control. La señal de lectura habilita al dispositivo de memoria direccionado para proporcionar el
dato de un byte en el bus de datos de donde es leído por el CPU.
Microntroladores – Microcomputadoras en un solo circuito integrado
En una microcomputadora de un solo circuito integrado, el microprocesador es un sub conjunto dentro del
mismo.
Una computadora de un solo circuito integrado es un circuito que contiene los elementos esenciales de una
computadora los cuales son:
-Sección de entrada y salida (E/S) -Un CPU (el cual contiene una ALU) y memoria
Esta computadora opera con una sola fuente de poder de 5 volts. La principal diferencia de los diferentes
modelos de la familia es el tipo de almacenamiento del programa dentro de la pastilla. En la tabla adjunta se
muestra los miembros más importantes de esta familia.
��115 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Un ejemplo de la primera computadora de un
solo circuito integrado, es el 8048 de Intel el
cual fue introducido al mercado en 1976.
Esta familia de computadoras de un solo IC
tiene el nombre de MCS-48 y existe una
variedad de modelos que difieren solo en
cantidad de memoria y capacidad de E/S.
Los microcontroladores están presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en general. Se
pueden encontrar controlando el funcionamiento de los ratones (mouse) y teclados de los computadores, en
los teléfonos, en los hornos microondas, los televisores, en las máquinas industriales, en los automóviles, etc.
Pero la invasión acaba de comenzar y el siglo XXI será testigo de la conquista masiva de estos diminutos
computadores, que gobernarán la mayor parte de los aparatos que fabriquemos y usemos los seres humanos.
Controlador y microcontrolador
Recibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios procesos. Por
ejemplo, el controlador que regula el funcionamiento de un horno eléctrico dispone de un sensor que mide
constantemente su temperatura interna y actúa sobre las resistencias para mantener la temperatura dentro del
rango establecido.
Aunque el concepto de controlador ha permanecido invariable a través del tiempo, su implementación física
ha variado frecuentemente. Hace tres décadas, los controladores electrónicos se construían exclusivamente
con componentes de lógica discreta, posteriormente se emplearon los microprocesadores, que se rodeaban
con chips de memoria y E/S sobre una tarjeta de circuito impreso. En la actualidad, todos los elementos del
controlador se han podido incluir en un solo circuito integrado, el cual recibe el nombre de
microcontrolador. Realmente consiste en un sencillo pero completo ordenador contenido en un circuito
integrado.
Un microcontrolador es un circuito integrado de alta escala de integración que incorpora la mayor parte de
los elementos que configuran un controlador y que contiene todos los componentes fundamentales de un
ordenador, aunque de limitadas prestaciones y que se suele destinar a gobernar una sola tarea.
En su memoria sólo reside un programa que controla en funcionamiento de una tarea determinada, sus líneas
de entrada/salida se conectan a los sensores y actuadores del dispositivo a controlar y, debido a su pequeño
tamaño, suele ir integrado en el propio dispositivo al que gobierna.
Un microcontrolador dispone normalmente de los siguientes componentes:
� Procesador o CPU (Unidad Central de Proceso).
� Memoria RAM para contener los datos.
� Memoria para el programa tipo ROM/EPROM/EEPROM/Flash.
� Líneas de E/S para comunicarse con el exterior.
� Diversos módulos para el control de periféricos (temporizadores, puertos serie y paralelo).
� CAD: Conversores Analógico/Digital.
� CDA: Conversores Digital/Analógico.
� Generador de pulsos de reloj que sincronizan el funcionamiento de todo el sistema.
Debido a su reducido tamaño es posible montar el microcontrolador en el propio dispositivo al que gobierna.
En este caso el controlador recibe el nombre de controlador empotrado (embedded controller).
Si sólo se dispusiese de un modelo de microcontrolador, éste debería tener muy potenciados todos sus
recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta potenciación supondría en
muchos casos un despilfarro. En la práctica cada fabricante de microcontroladores oferta un elevado número
de modelos diferentes, desde los más sencillos hasta los más poderosos. Es posible seleccionar la capacidad
de las memorias, el número de líneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad
de funcionamiento, etc. Por todo ello, un aspecto muy destacado del diseño es la selección del
microcontrolador a utilizar.
��116 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Ejemplo de aplicación de un microcontrolador en el automóvil:
Uno de los sectores que más demanda del mercado del microcontrolador es el mercado automovilístico. De
hecho, algunas de las familias de microcontroladores actuales se desarrollaron pensando en este sector,
siendo modificados posteriormente para adaptarse a sistemas más genéricos. El mercado del automóvil es
además uno de los más exigentes: los componentes electrónicos deben operar bajo condiciones extremas de
vibraciones, choques, ruido, etc. y seguir siendo fiables. El fallo de cualquier componente en un automóvil
puede ser el origen de un accidente.
Arquitectura básica
Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clásica de von Neumann, en el
momento presente se impone la arquitectura Harvard.
La arquitectura de von Neumann se caracteriza por disponer de una sola memoria principal donde se
almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema de
buses único (direcciones, datos y control), esta condición puede producir un cuello de botella cuando el
tráfico de información es grande.
La arquitectura Harvard dispone de dos memorias independientes, una que contiene sólo instrucciones y otra
sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones
de acceso (lectura o escritura) simultáneamente en ambas memorias.
En la Figura 111 se muestra en bloques un microcontrolador con arquitectura Harvard.
��117 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
El procesador o CPU
Es el elemento más importante del microcontrolador y determina sus principales características, tanto a nivel
hardware como software.
Se encarga de direccionar la memoria de instrucciones, recibir el código OP de la instrucción en curso, su
decodificación y la ejecución de la operación que implica la instrucción, así como la búsqueda de los
operandos y el almacenamiento del resultado.
Juego de instrucciones para la programación de un microcontrolador
� CISC: Un gran número de procesadores usados en los microcontroladores están basados en la
filosofía CISC (Computadores de Juego de Instrucciones Complejo). Disponen de más de 80
instrucciones máquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes,
requiriendo muchos ciclos para su ejecución. Una ventaja de los procesadores CISC es que ofrecen al
programador instrucciones complejas que actúan como macros.
� RISC: Tanto la industria de los computadores comerciales como la de los microcontroladores están
decantándose hacia la filosofía RISC (Computadores de Juego de Instrucciones Reducido). En estos
procesadores el repertorio de instrucciones máquina es muy reducido y las instrucciones son simples
y, generalmente, se ejecutan en un ciclo. La sencillez y rapidez de las instrucciones permiten
optimizar el hardware y el software del procesador.
� SISC: En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones,
además de ser reducido, es "específico", o sea, las instrucciones se adaptan a las necesidades de la
aplicación prevista. Esta filosofía se ha bautizado con el nombre de SISC (Computadores de Juego de
Instrucciones Específico).
Memoria En los microcontroladores la memoria de instrucciones y datos está integrada en el propio circuito integrado.
Una parte debe ser no volátil, tipo ROM, y se destina a contener el programa de instrucciones que gobierna la
aplicación. Otra parte de memoria será tipo RAM, volátil, y se destina a guardar las variables y los datos.
Hay dos peculiaridades que diferencian a los microcontroladores de los PC's:
� No existen sistemas de almacenamiento masivo como disco duro o disquetes.
� Como el microcontrolador sólo se destina a una tarea en la memoria de programa, sólo hay que
almacenar un único programa de trabajo.
La memoria de datos (RAM) en estos dispositivos es de poca capacidad pues sólo debe contener las variables
y los cambios de información que se produzcan en el transcurso del programa. Por otra parte, como sólo
existe un programa activo, no se requiere guardar una copia del mismo en la RAM pues se ejecuta
directamente desde la memoria de programa (ROM).
El usuario de PC está habituado a manejar Megabytes de memoria, pero los diseñadores con
microcontroladores trabajan con capacidades de memoria de programa de 512 bytes, 1K, 2K (hasta unos
64K) y de RAM de 20 bytes, 68 bytes, 512 bytes (hasta unos 4K).
Según el tipo de memoria de programa que dispongan los microcontroladores, la aplicación y utilización de
los mismos es diferente. Se describen las cinco versiones de memoria no volátil que se pueden encontrar en
los microcontroladores del mercado:
1) ROM con máscara Es una memoria no volátil de sólo lectura cuyo contenido se graba durante la fabricación del chip.
Máscara viene de la forma cómo se fabrican los circuitos integrados. Estos se fabrican en obleas que
contienen varias decenas de chips. Estas obleas se obtienen a partir de procesos fotoquímicos, donde se
impregnan capas de silicio y oxido de silicio, y según convenga, se erosionan al exponerlos a la luz.
��118 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Como no todos los puntos han de ser erosionados, se sitúa entre la luz y la oblea una máscara con
agujeros, de manera que donde deba incidir la luz, esta pasará. Con varios procesos similares pero más
complicados se consigue fabricar los transistores y diodos que componen un circuito integrado.
El elevado coste del diseño de la máscara sólo hace aconsejable el empleo de los microcontroladores con
este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades.
2) OTP El microcontrolador contiene una memoria no volátil de sólo lectura programable una sola vez por
el usuario. (OTP - One Time Programmable). Es el usuario quien puede escribir el programa en el
chip mediante un sencillo grabador controlado por un programa desde un PC. La versión OTP es
recomendable cuando es muy corto el ciclo de diseño del producto, o bien, en la construcción de
prototipos y series muy pequeñas.
Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptación mediante fusibles
para proteger el código contenido.
3) EPROM Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy
Memory) pueden borrarse y grabarse muchas veces. La grabación se realiza, como en el caso de los
OTP, con un grabador gobernado desde un PC. Si, posteriormente, se desea borrar el contenido,
disponen de una ventana de cristal en su superficie por la que se somete a la EPROM a rayos ultra
violeta durante varios minutos. Las cápsulas son de material cerámico y son más caros que los
microcontroladores con memoria OTP que están hechos con material plástico. Hoy día se utilizan
poco, siendo sustituidas por memorias EEPROM o Flash.
4) EEPROM Se trata de memorias de sólo lectura, programables y borrables eléctricamente EEPROM (Electrical
Erasable Programmable Read OnIy Memory). Tanto la programación como el borrado, se realizan
eléctricamente desde el propio grabador y bajo el control programado de un PC. Es muy cómoda y
rápida la operación de grabado y la de borrado. No disponen de ventana de cristal en la superficie.
Los microcontroladores dotados de memoria EEPROM una vez instalados en el circuito, pueden
grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito. Para ello se usan
grabadores en circuito que confieren una gran flexibilidad y rapidez a la hora de realizar
modificaciones en el programa de trabajo.
El número de veces que puede grabarse y borrarse una memoria EEPROM es finito, por lo que no es
recomendable una reprogramación continua. Hoy día están siendo sustituidas por memorias de tipo
Flash.
Se va extendiendo en los fabricantes la tendencia de incluir una pequeña zona de memoria EEPROM
en los circuitos programables para guardar y modificar cómodamente una serie de parámetros que
adecuan el dispositivo a las condiciones del entorno.
Este tipo de memoria es relativamente lenta.
5) FLASH Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar. Funciona como
una ROM y una RAM pero consume menos y es más pequeña.
A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es más rápida y de mayor
densidad que la EEPROM.
La alternativa FLASH está recomendada frente a la EEPROM cuando se precisa gran cantidad de
memoria de programa no volátil. Es más veloz y tolera más ciclos de escritura/borrado. Son idóneas
para la enseñanza y la Ingeniería de diseño.
Las memorias EEPROM y FLASH son muy útiles al permitir que los microcontroladores que las
��119 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
incorporan puedan ser reprogramados "en circuito", es decir, sin tener que sacar el circuito integrado
de la tarjeta. Así, un dispositivo con este tipo de memoria incorporado al control del motor de un
automóvil permite que pueda modificarse el programa durante la rutina de mantenimiento periódico,
compensando los desgastes y otros factores tales como la compresión, la instalación de nuevas piezas,
etc. La reprogramación del microcontrolador puede convertirse en una labor rutinaria dentro de la
puesta a punto.
Puertos de Entrada y Salida La principal utilidad de los terminales de conexión (pines) que posee la cápsula que contiene un
microcontrolador es soportar las líneas de E/S que comunican al computador interno con los periféricos
exteriores y según los controladores de periféricos que posea cada modelo de microcontrolador, se destinan a
proporcionar el soporte a las señales de entrada, salida y control.
Todos los microcontroladores destinan algunas de sus pines a soportar líneas de E/S de tipo digital, esto es,
todo o nada.
Por lo general, estas líneas se agrupan de ocho en ocho formando Puertos.
Las líneas digitales de los Puertos pueden configurarse como Entrada o como Salida cargando un 1 ó un 0
en el bit correspondiente de un registro destinado a su configuración.
Reloj principal Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta
frecuencia, que configura los impulsos de reloj usados en la sincronización de todas las operaciones del
sistema. Esta señal del reloj es el motor del sistema y la que hace que el programa y los contadores avancen.
Generalmente, el circuito de reloj está incorporado en el microcontrolador y sólo se necesitan unos pocos
componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos componentes suelen
consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador cerámico o una red R-C.
Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero lleva
aparejado un incremento del consumo de energía y de calor generado.
Recursos especiales Cada fabricante oferta numerosas versiones de una arquitectura básica de microcontrolador. En algunas
amplía las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las prestaciones
al mínimo para aplicaciones muy simples, etc. La labor del diseñador es encontrar el modelo mínimo que
satisfaga todos los requerimientos de su aplicación. De esta forma, minimizará el coste, el hardware y el
software.
Los principales recursos específicos que incorporan los microcontroladores son:
� Temporizadores o "Timers".
� Perro guardián o "Watchdog".
� Protección ante fallo de alimentación o "Brownout".
� Estado de reposo o de bajo consumo.
� Conversor Analógico/Digital (A/D).
� Conversor Digital/Analógico) (D/A).
� Comparador analógico.
� Modulador de anchura de impulsos o PWM.
� Puertos de comunicación.
Temporizadores o "Timers" Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de acontecimientos
que suceden en el exterior (contadores).
Para la medida de tiempos se carga un registro con el valor adecuado y a continuación dicho valor se va
incrementando o decrementando al ritmo de los impulsos de reloj o algún múltiplo hasta que se desborde y
llegue a 0, momento en el que se produce un aviso.
��120 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de los
pines del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos
impulsos.
Perro guardián o "Watchdog" Cuando un ordenador personal se bloquea por un fallo del software u otra causa, se pulsa el botón del reset y
se reinicializa el sistema.
En la mayoría de los casos y a diferencia de un ordenador personal, un microcontrolador funciona sin el
control de un supervisor y de forma. El Perro guardián consiste en un temporizador que, cuando se desborda
y pasa por 0, provoca un reset automáticamente en el sistema.
Se debe diseñar el programa de trabajo que controla la tarea de forma que refresque o inicialice al Perro
guardián antes de que provoque el reset. Si falla el programa o se bloquea, el programa no refrescará al Perro
guardián y, al completar su temporización, provocará el reset del sistema.
Protección ante fallo de alimentación o "Brownout" Se trata de un circuito que resetea al microcontrolador cuando el voltaje de alimentación (VDD) es inferior a
un voltaje mínimo ("brownout"). Mientras el voltaje de alimentación sea inferior al de brownout el
dispositivo se mantiene reseteado, comenzando a funcionar normalmente cuando sobrepasa dicho valor. Esto
es muy útil para evitar datos erróneos por transiciones y ruidos en la línea de alimentación.
Conversor A/D (CAD) Los microcontroladores que incorporan un Conversor A/D (Analógico/Digital) pueden procesar señales
analógicas, tan abundantes en las aplicaciones. Suelen disponer de un multiplexor que permite aplicar a la
entrada del CAD diversas señales analógicas desde las patillas del circuito integrado.
Conversor D/A (CDA) Transforma los datos digitales obtenidos del procesamiento del computador en su correspondiente señal
analógica que saca al exterior por una de las patillas de la cápsula. Existen muchos dispositivos de salida que
trabajan con señales analógicas.
Comparador analógico Algunos modelos de microcontroladores disponen internamente de un Amplificador Operacional que actúa
como comparador entre una señal fija de referencia y otra variable que se aplica por una de las patillas de la
cápsula. La salida del comparador proporciona un nivel lógico 1 ó 0 según una señal sea mayor o menor que
la otra.
También hay modelos de microcontroladores con un módulo de tensión de referencia que proporciona
diversas tensiones de referencia que se pueden aplicar en los comparadores.
Modulador de anchura de impulsos o PWM Son circuitos que proporcionan en su salida impulsos de anchura variable, que se ofrecen al exterior a través
de las patillas del encapsulado. Resulta útil para sistemas de control de potencia, como por ejemplo motores.
Puertos de comunicación Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos externos,
otros buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con otros elementos
bajo otras normas y protocolos. Algunos modelos disponen de recursos que permiten directamente esta tarea,
entre los que destacan:
• UART, adaptador de comunicación serie asíncrona.
• USART, adaptador de comunicación serie síncrona y asíncrona
• Puerto paralelo esclavo para poder conectarse con los buses de otros microprocesadores.
��121 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
• USB (Universal Serial Bus), el conocido bus serie para los PC.
• Bus I2C, que es un interfaz serie de dos hilos desarrollado por Philips.
• Interface SPI, un puerto serie síncrono.
• CAN (Controller Area Network), para permitir la adaptación con redes de conexionado multiplexado
desarrollado conjuntamente por Bosch e Intel para el cableado de dispositivos en automóviles. En
EE.UU. se usa el J185O.
• TCP/IP, ya existen microcontroladores con un adaptador de comunicación para este protocolo.
El protocolo de comunicación Bus CA� en automóviles, fue diseñado para simplificar la circuitería que
supone un bus paralelo de 8 líneas. Este tipo de bus permite librar de la carga que supone una cantidad
ingente de cables en un vehículo.
Microcontroladores en el automóvil
Microcontroladores en un automóvil:
� Control del motor
� Consumo, gases de escape, etc.
� Climatización
��122 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
En la década de los 80 había unos 5
dispositivos electrónicos instalados en los
automóviles.
En la actualidad hay unos 30 en los
automóviles de gama media, siendo bastante
superior en los de gama alta, 100 o más.
Para cada tipo de dispositivo se necesita un microcontrolador.
� Climatización
� Seguridad (Airbag)
� Control de frenado (ABS)
� Instrumentación
� Control de velocidad
� Sistemas de seguridad
� Antirrobo
� Mantenimiento
� Sistema de navegación
� Control luces
� Ordenador de viaje, reproductor multimedia, etc.
Los componentes electrónicos y el software suponen en torno al 20% del costo total de un automóvil, hasta
llegar al 50% en los vehículos híbridos. En este costo están incluidos:
� Diferencia de lenguajes utilizados en los fabricantes, subcontratistas y terceras partes.
� Un software para gestionar cada controlador del automóvil:
� Controlar cantidad de combustible inyectado.
� Control de frenos.
� Manejo de airbags.
� Control multimedia, etc…
� En los sistemas electrónicos es fundamental que estos trabajen en tiempo real de forma rigurosa, ya
que de ellos depende la seguridad de los ocupantes del vehículo.
OSEK-VDX
Diseñado para requerir un mínimo de recursos de hardware y funciona incluso con microprocesadores de 8
bits.
Este sistema constituye la base para permitir la integración de módulos de software realizados por diferentes
fabricantes, lo que permite la portabilidad de los mismos.
Tiene como principales finalidades:
� Conseguir un ahorro en costes y tiempo de desarrollo.
� Aunar el control de todos los dispositivos electrónicos bajo un mismo software.
��123 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Consorcio germano-francés creado en el 1993 por la unión de las
empresas alemanas BMW, Bosch, DaimlerChrysler, Opel y
Siemens entre otros (en el proyecto 'Open Systems and the
Corresponding Interfaces for Automotive Electronics') y el
consorcio francés formado por Renault y PSA Peugeot Citroën (en
el proyecto llamado 'Vehicle Distributed eXecutive').
Actualmente controla el 70 % del mercado de sistemas operativos
para automoción.
JASPAR (Japan Automotive Software Platform Architecture)
Prototipo del software de Toyota
JASPAR
Componentes que deberá controlar el SO.
Partes implicadas en el proyecto
��124 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
A principios de 2007 TOYOTA comunica la
intención de desarrollar un software único. JASPAR (Japan Automotive Software Platform JASPAR (Japan Automotive Software Platform JASPAR (Japan Automotive Software Platform JASPAR (Japan Automotive Software Platform
Architecture)Architecture)Architecture)Architecture):
nace impulsada por el gobierno japonés y
reúne a diez compañías japonesas de
automóviles e informática como Toyota,
Nissan, Honda, Denso y Toshiba entre otros.
Consiste en desarrollar un sistema operativo
propio para vehículos que incluye módulos
específicos para cada uno de los modelos,
que son gobernados por un sistema operativo
central común.
Microsoft
Desde 1995, Microsoft apunta al mercado automotriz con una unidad especial, Automotive Business Unit,
para proporcionar tecnología diseñada para la información avanzada dentro del coche, sistemas de
navegación y entretenimiento.
Las principales empresas americanas (Microsoft e IBM) trabajan en sistemas operativos propios para la
industria de la automoción, no sólo para el control del vehículo, sino de todos los dispositivos de
comunicación que integran los automóviles de nueva generación dotados de GPS, dispositivos móviles,
reproductores multimedia, etc.
Microsoft y Fiat hicieron reciente el lanzamiento global de Fiat 500, concretada en un sistema denominado
"Blue&Me", que permite la conexión y la integración de una gama de dispositivos de almacenamiento
masivo y teléfonos móviles.
En la última feria tecnológica CES (celebrada en las Vegas), el fabricante de automóviles Ford y Microsoft
presentaron un nuevo sistema de comunicaciones y entretenimiento para vehículos denominado 'Sync'.
Sync
Incluye las siguientes funcionalidades:
� Llamadas telefónicas “manos libres”: pulsando el botón de teléfono en el volante y diciendo su
nombre.
� Conexiones continuas: no es necesario cortar la llamada si entramos en el coche, pulsando el botón
teléfono se realiza la conexión Bluetooth.
� Lectura de mensajes (SMS, mail): Sync convierte el texto a voz y lee el mensaje, proporcionando
además 20 respuestas predefinidas. Esto es lo único que echo yo de menos a mi sistema manos libres.
� Servicios avanzados de llamada: identificador de llamada, llamada en espera, conferencia, registro de
llamadas, lista de contactos, estado de la cobertura y batería, se pueden consultar en el display del
coche.
� Música activada por voz: podemos pedir por voz “música rock”, una pista en concreto o un artista, de
los que tengamos disponibles en el reproductor conectado (iPod, Zune, etc).
� Tonos de llamada personalizados, incluso para cada número.
� Multilenguaje: Sync habla inglés, francés y español.
En la actualidad, las marcas protegen celosamente sus electrónicas por motivos competitivos y de seguridad, lo que acarrea enormes dificultades para los talleres y para el desarrollo de piezas y productos compatibles.
��125 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Desarrollado por Microsoft y Ford.
Consiste en un conjunto de funcionalidades para las
comunicaciones y el entretenimiento en el automóvil.
Compuertas SCHMITT- TRIGGER
Este tipo de compuertas se utiliza para convertir señales imperfectas, lentas o con ruido en señales digitales
bien definidas. Realizan las mismas funciones lógicas de las compuertas comunes pero poseen ciertas
características especiales.
Por su naturaleza binaria, los circuitos digitales operan eficientemente cuando son manejados por señales de
entrada perfectamente cuadrada.
Si una entrada, debido a a lentitud de la señal aplicada, permanece algún tiempo indecisa entre los niveles
Alto y Bajo válidos, se corre el riesgo de que el circuito se torne inestable y genere señales de salida falsas.
Lo mismo puede ocurrir si la señal de entrada no es una onda cuadrada o tiene ruido.
Para solucionar estos inconvenientes se recurre a las compuertas Schmitt-Trigger.
Las compuertas Schmitt-Trigger funcionan como las compuertas comunes, pero poseen una propiedad
llamada Histéresis que las hace inmunes al ruido y les permite operar con señales digitales no ideales.
Estas compuertas entregan siempre una onda cuadrada a su salida, sin importar la forma de onda de la señal
de entrada.
La característica de Histéresis significa que estos dispositivos solo responden cuando los voltajes de la señal
aplicada a sus entradas superan valores límites preestablecidos. Estos valores límites son denominados
Umbrales.
Funcionamiento de un inversor Schmitt-Trigger - (Figura 112)
Figura 112
A medida que la señal de entrada aumenta su nivel desde 0V, la señal de salida permanece constante en nivel lógico Alto (1 lógico). Cuando la señal de entrada supera ligeramente el valor de tensión VTH, la señal de
salida cambia a nivel lógico Bajo (0 lógico). (Figura XX)
La señal de entrada alcanzará su nivel máximo y luego comenzará a decrecer. Cuando su nivel disminuya
ligeramente por debajo de la tensión límite VTL, la señal de salida cambia su estado a nivel lógico Alto (1
lógico).
Observe que los cambios de estado de la salida del inversor Schmitt-Trigger, no se producen para el mismo
nivel de tensión de la señal de entrada. La diferencia de tensiones para los niveles límites VTH y VTL es
denominado Voltaje de Histéresis.
• Una aplicación de estos dispositivos en el automóvil es la conformación de las señales provenientes
de los sensores inductivos de velocidad de giro de cigüeñal y PMS, de posición del árbol de levas, de
velocidad de giro de ruedas. Estos sensores generan señales de corriente alternada cuasi sinusoidal.
(Figura 113)
��126 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Figura 113
Conversor Analógico/Digital (A/D)
En las Figuras 114 y 115 se ha tomado como ejemplo la señal que genera un sensor de posición de mariposa
(TPS), la conversión digital a binario de 8 dígitos del nivel de tensión que genera para dos posiciones
distintas de dicho sensor.
También se muestra la reconversión del binario obtenido a señal analógica por medio de un conversor
Digital/Analógico (DAC), para que se pueda apreciar la exactitud de todo el proceso.
Figura 114
��127 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Varios de los sensores que informan a la Unidad Electrónica de
Control de Motor (ECU), generan una señal analógica que
consiste en una tensión de C.C. variable. Este tipo de información
no puede ser interpretada por el sistema digital de la ECU, por lo
que deben ser convertidos a palabras digitales binarias (sucesión
de 0’s y 1’s organizados de acuerdo a un código determinado).
Esta función es cumplida por Conversores A/D. Estos
Conversores pueden ser externos al circuito integrado del
microcontrolador que procesa la información o pueden estar
contenidos en el mismo microcontrolador.
Figura 115
En el ejemplo anterior vemos que el TPS está conectado entre masa (0V) y una tensión de referencia de +5V.
¿Cuál será la resolución de la información que brinda, al recorrer su cursor la pista de un extremo a otro?
Con una palabra binaria de 8 dígitos se puede lograr 256 combinaciones diferentes:
Decimal => 0 => Binario 00000000
al
Decimal => 255 => Binario 11111111
Teniendo una Tensión de Referencia de 5Volt la resolución es:
5V ÷ 256 = 0,01953V = 19,53mV
Esto indica que cada 19,53mV de variación de la tensión de información (en más o en menos) que entra al conversor A/D, este producirá el cambio de un dígito en su salida. Por ejemplo:
-Cuando la salida del TPS es 1,494V (Figura 114), la salida del conversor es en binario:
01001100 => decimal 76 -Si el cursor cambia de posición y su salida es 1,5135V (1,494V + 0,01953V), la salida del conversor en
binario será:
01001101 => decimal 77 -Si el cursor cambia de posición y su salida es 1,474 (1,494V - 0,01953V), la salida del conversor en binario
será: 01001011 => decimal 75
El tiempo de conversión empleado por un conversor A/D, puede ser aproximadamente 12µs. (micro
segundos)
• En las páginas siguientes se incluye una tabla que contiene las 256 informaciones posibles que brinda
un conversor A/D para una tensión analógica que varíe entre 0V y +5V.
��128 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
��129 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
��130 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
��131 � JORGE A. GARBERO – INGENIERIA ELECTRONICA AUTOMOTRIZ
Resumen sobre un trabajo publicado en Internet por: Hanna Abdelfatah Escuela Técnica Superior de Ingenieros de Telecomunicación - ULPGC
- MCUS E� LA I�DUSTRIA DEL AUTOMÓVIL
1. Introducción El objetivo de este trabajo es el presentar algunas de las familias de microprocesadores y microcontroladores
que se usan en los automóviles hoy en día. También se va a hacer mención a los principales fabricantes
relacionando cada familia de MCUs y MPUs con su correspondiente marca. El trabajo se ha enfocado
básicamente en estos microprocesadores y microcontroladores y sus aplicaciones dejando un poco al margen
la parte mecánica de la industria automotriz.
En la última década se ha producido un incremento considerable en el uso de los microprocesadores y
microcontroladores en la industria del automóvil. La razón de este incremento es la demanda del consumidor
de sistemas de seguridad mejores y reforzados, sistemas de entretenimiento, funciones de comodidad
incorporadas al automóvil y la preocupación por el cumplimiento de las leyes de control de emisiones.
2. Fabricantes y productos
2.1 RE�ESAS
Este fabricante ofrece soluciones de microcontroladores para diferentes aplicaciones en la industria del
automóvil. Los campos para los que trabaja son los siguientes:
Tren de potencia y chasis, seguridad pasiva, seguridad activa, control de mantenimiento de dirección, tablero,
cuerpo del coche y confort.
El presente escrito se centra principalmente en los microcontroladores usados en el tren de potencia y chasis.
2.1.1 Tren de potencia y chasis:
La demanda de sistemas de control de alta precisión para el tren de potencia está creciendo en respuesta al
incremento de estrictas leyes de regulación de emisiones y a la necesidad de aumentar la eficiencia en el
consumo de carburante. También como respuesta a la tendencia en la industria del automóvil hacia la
estandarización y los esfuerzos en un control de las cooperativas están aumentando la demanda de un mayor
rendimiento de los MCUs.
RENESAS ofrece además de la ya establecida serie de MCUs SH705x, diseñada para aplicaciones de tren de
potencia, una nueva línea de microrcontroladores elaborada para el core SH-2A1 transreceptores que siguen
el protocolo CAN.2
Para tren de potencia y chasis RENESAS facilita las siguientes soluciones: sistemas para motor de gasolina,
sistemas para motor diesel, sistemas de control de transmisión, sistemas para vehículos híbridos, dirección
asistida electrónica, freno por cable/FlexRay y dirección por cable.
Figura 1. Mapa de familias de MCUs para tren de potencia en RENESAS:
En la figura 1 se puede observar el mapa de familias de MCUs que se utilizan en Renesas para el tren de
potencias. A continuación se explican los detalles más importantes de cada una de ellas.
2.1.1.1 Familia SH705x: La familia SH705x de microcontroladores de 32 bits está dedicada íntegramente a los sistemas de gestión del
motor. Incorpora periféricos específicos para aplicaciones de tren de potencia y ofrecen la memoria flash
empotrada más grande y rápida disponible actualmente. La componen los microcontroladores SH7055,
SH7059 y SH7058SC.
2.1.1.1.1 MCU SH7055: El MCU SH7055 es un microcomputador de un solo chip RISC que contiene como núcleo una CPU RISC de
RENESAS e incluye también funciones de periféricos necesarias para la configuración del sistema.
La CPU del SH7055 contiene un set de instrucciones RISC, con las instrucciones básicas ejecutadas en un
ciclo del reloj del sistema, para una mayor velocidad de ejecución de instrucciones. Emplea una
configuración interna de 32 bits, y ofrece mayor rendimiento en el procesamiento de datos. Esta CPU hace
posible que se puedan crear sistemas de alto rendimiento y alta funcionalidad a un bajo coste, incluso para
aplicaciones que requieren alta velocidad como el control en tiempo real, lo cual no sería realizable con
microcomputadoras convencionales.
El SH7055 está también equipado con funciones de periféricos on-chip para la configuración del sistema,
incluyendo una unidad de coma flotante (FPU), una RAM y ROM de gran capacidad, un controlador de
acceso directo a memoria(DMAC), temporizadores, un interfaz serie de comunicación (SCI), un controlador
de redes de área de RENESAS (HCAN), un conversor D/A, un controlador de interrupciones y puertos de
entrada/salida.
Además, un acceso externo a las funciones de soporte de la memoria permite la conexión directa entre la
ROM y la SRAM haciendo que los costes se vean considerablemente reducidos.
El SH7055 es una versión F-ZTAT™( Flexible Zero Turn-Around Time) con una memoria flash en su ROM
on-chip. Los programas de la memoria flash pueden ser escritos con un programador que soporte la
programación SH7055, y la memoria flash puede ser programada y borrada por software.
Esto permite la portabilidad al usuario pudiendo reprogramar el chip sobre una placa.
Características Principales:
• Un chip RISC de alto rendimiento con un núcleo SH-2E o 52 MIPS/40 MHz/3.3 V
• Operaciones de multiplicación/acumulación de alta velocidad. o Multiplicador de 32 bits interno
•Unidad de coma flotante single precisión interna
• Memoria flash de gran capacidad con auto alimentación y una RAM de gran capacidad
•Operaciones de escritura y borrado permitidas con la fuente de alimentación interna
•512 kB Flash ROM/32 kB RAM
Aplicaciones principales:
Control del motor del automóvil, AF, equipos industriales, terminales de comunicación, y fotocopiadoras en
color.
2.1.1.1.2 MCUs SH7059 y SH7058SC:
Al igual que el anterior microcontrolador el SH7058S y el SH7059 están formados por un chip de un solo
RISC de 32 bits que integra una CPU RISC con núcleo SH-2E y que contiene instrucciones de periféricos
para la configuración del sistema.
El SH7058S y el SH7059 son completamente compatibles con el SH7058. La diferencia entre ambos en
cuanto a bloques que los conforman es que el controlador de redes de área en este caso es la versión 2 del que
se usaba en el SH7058.
Características Principales:
• Un chip RISC de alto rendimiento con un núcleo SH-2E o 104 MIPS/80 MHz/3.3 V(I/O: 5V)
• Operaciones de multiplicación/acumulación de alta velocidad.
� Multiplicador de 32 bits interno
� Unidad de coma flotante single precisión interna
• Memoria flash de gran capacidad con auto alimentación y una RAM de gran capacidad
• Operaciones de escritura y borrado permitidas con la fuente de alimentación interna
� 1 MB Flash ROM/48 kB RAM(SH7058SC)
� 1.5MB Flash ROM/80 kB RAM(SH7059)
Aplicaciones principales:
Control del motor del automóvil, AF, equipos industriales, terminales de comunicación, y fotocopiadoras en
color.
2.1.1.2 Familia SH725xx:
Esta familia de microcontroladores está diseñada principalmente para motores de gama alta y media. Aún se
encuentra en fase de desarrollo.
2.1.1.2.1 SH72544R:
Este microcontrolador de 32 bits formado por un solo chip RISC contiene una CPU con núcleo basado en el
SH-2A de RENESAS.
Características principales
• CPU de alto rendimiento que opera a 200MHz
• Set de funciones de periféricos diseñadas para sistemas de transmisión y control del motor.
• Logra alcanzar las 400 MIPS(Millones de instrucciones por segundo)
• Memoria flash de 2.5Mbytes on-chip.
• Incorpora una caché que necesita baja alimentación que optimiza el uso de la memoria flash.
• Para almacenamiento de datos tiene 128 Kbytes de memoria flash lo que permite no tener que usar una
EEPROM externa.
• Compatibilidad con el software ya existente
• Aplicaciones típicas
Sistemas de automoción: Control del tren de potencia, incluyendo motor y sistemas de transmisión.
2.1.1.2.2 SH72531:
El SH72531 está fabricado en torno al mismo núcleo de CPU de alto rendimiento de 32 bits (SH-2A) que
usaba su predecesor, el SH752544R.
Características principales
• CPU de alto rendimiento que opera a 120 MHz
• Dos fuentes de alimentación: 3.3 V/5 V
•Set de funciones de periféricos diseñadas para sistemas de transmisión y control del motor.
• Logra alcanzar las 240 MIPS(Millones de instrucciones por segundo)
• Memoria flash de alta velocidad de 1.5 Mbytes on-chip.
• Incorpora una caché que necesita baja alimentación que optimiza el uso de la memoria flash.
• Para almacenamiento de datos tiene 32 Kbytes de memoria flash lo que permite no tener que usar una
EEPROM externa.
• Compatibilidad con el software ya existente.
Aplicaciones típicas Sistemas de automoción: Control del tren de potencia, incluyendo motor y sistemas de transmisión.
2.1.1.3 GRUPO 32186:
El grupo 32186 es un microcontrolador RISC de 32 bits de un solo chip con una memoria flash interna.
Incorpora una FPU single precisión y una amplia variedad de funciones para periféricos.
Características principales
• CPU: núcleo M32R-FPU3 (Set de instrucciones de la familia M32R y una FPU single precisión para
manipulación de bits )
• Estructura pipeline con 6 niveles
• Instruction set: 100 instrucciones/ 6 modos de direccionamiento
• Formato de instrucciones: longitud de 16 bit/32-bit
• Multiplicador interno (instrucciones de funciones DSP)
• Mínimo tiempo de ejecución de instrucciones: 12.5ns (con una frecuencia de reloj de 80MHz)
• Memoria flash interna
• Memoria RAM interna
Aplicaciones típicas
Control de equipamiento del automóvil (Motor, ABS, AT, cámara CCD, cámara CMOS y aplicaciones de
detección radar), sistemas de control de equipamiento industrial, etc.
2.1.1.4 GRUPO 32176:
El grupo 32176 es un microcomputador RISC de 32 bits de un solo chip con una memoria flash interna que
fue desarrollado para aplicaciones que incluyen industria general y los equipos del hogar. Incorpora una FPU
single precisión y una amplia variedad de funciones para periféricos.
Características principales
• CPU: núcleo M32R-FPU (Set de instrucciones de la familia M32R y una FPU single precisión para
manipulación de bits )
• Estructura pipeline con 5 niveles
• 16 registros de propósito general
• Formato de instrucciones: longitud de 16 bit/32-bit
• Acumulador de 56 bits en las sumas de los productos calculados en el multiplicador (instrucciones de
funciones DSP)
• Programa de arranque en la memoria flash
• Memoria flash interna
• Memoria RAM interna
Aplicaciones principales:
Control de equipamiento del automóvil (Motor, ABS,AT,cámara CCD, cámara CMOS y aplicaciones de
detección radar), sistemas de control de equipamiento industrial, etc.
2.2 FREESCALE
Freescale ofrece diferentes soluciones en microcontroladores para la industria del automóvil. Las familias de
microcontroladores que aporta son las siguientes: MPC56xx, MPC55xx, MPC51xx y MPC52xx, S12 y S12x
y los microcontroladores de 8 bits a los que no se hará mención en este trabajo.
2.2.1 Familia MPC56xx y MPC55xx:
La familia de microcontroladores de 32 bits MPC56xx fabricados usando la tecnología de Power
Arquitecture 4, ha sido diseñada para aplicaciones de gestión del motor. Esta familia al igual que la
MPC55xx ofrece significativos beneficios a los diseñadores de automóviles:
• Compatibilidad software y hardware para gamas baja, media y alta.
• Escalabilidad hacia diferentes versiones y características del producto.
• Experiencia de flash empotrada en tecnología de puerta flotante de alta densidad.
• Eficiencia sin igual de procesamiento paralelo en conjunción con sofisticados periféricos que aprovechan
las herramientas de software de Power Arquitecture y software de ecosistema.
• Diseñados para adaptarse a las presentes y futuras leyes de regulación de emisiones.
2.2.2 Familias MPC51xx y MPC52xx:
Las familias de microprocesadores de 32 bits MPC51xx y MPC52xx están diseñadas para unidades de
control telemáticas y sistemas de seguridad y vigilancia.
Las características principales de la familia MPC51xx son las siguientes:
• Núcleo e300 (de Power Arquitecture)
• Reloj de 400 MHz como máximo y 760 MIPS como máximo
• Caché de 32 Kbytes
• FPU de doble precisión
• MMU(unidad de manejo de memoria) para datos e instrucciones
• Motor de gráficos PowerVR MBX
• Interfaz PCI 2.3
• 12 PSCs (Controladores serie programables)
Figura 6. Diagrama de bloques del MPC5121e
Las características principales de la familia MPC52xx son las siguientes:
• Núcleo e300 (de Power Arquitecture)
• Reloj de 400 MHz como máximo y 760 MIPS como máximo
• Caché de instrucciones de 16 KB
• Caché de datos de 16 KB
• Controlador de memoria DDR
• MMU(unidad de manejo de memoria) para datos e instrucciones
• Interfaz PCI 2.2
• 6 PSCs (Controladores serie programables)
Figura 7. Diagrama de bloques del MPC5200B
2.2.3 Familias S12 y S12X:
Freescale S12 and S12X MCUs provide high-performance 16-bit control for automotive and industrial
applications. The S12X MCUs feature the innovative XGATE module, designed specifically to handle
interrupt events without CPU intervention. As a result, the S12X controller has the high-performance
capabilities you would normally expect of a 32-bit controller.
Las familias de microcontroladores de 16 bits S12 y S12X ofrecen control de alto rendimiento para
aplicaciones de la industria del automóvil. Los microcontroladores S12X incorporan el novedoso módulo
XGATE, diseñado específicamente para tratar las interrupciones sin la intervención de la CPU. Como
resultado, un controlador S12X tiene la misma capacidad de mayor rendimiento que se pueden esperar de un
microcontrolador de 32-bits. La familia S12 está enfocada principalmente a la instrumentación del automóvil
mientras que la familia S12X ha sido pensada más bien para el control del consumo del automóvil.
Algunos ejemplos de microcontroladores de esta familia son el S12A, EL S12HZ y el S12XE. Sus
principales características se enumeran a continuación:
Tabla 1. Características familias S12 y S12X
2.3 ST Microelectronics
ST ofrece una gama de microcontroladores para aplicaciones de automoción de 8, 16 y 32 bits. Este
fabricante abarca en la industria del automóvil aplicaciones de información para el conductor y
entretenimiento, coches híbridos y soluciones para los mismos, tren de potencia y de transmisión de los
vehículos, seguridad y chasis y tronco del coche.
Las familias de microcontroladores para automoción se clasifican según el número de bits teniendo en los
MCUs de 8 bits las familias STM8A, ST7, ST6 y ST9. Como familia de 16 bits ST ofrece la ST10 y para 32
bits existen las familias SPC56 y ST30. A continuación se van a dar los detalles principales algunas de las
familias antes mencionadas:
2.3.1 Familia STM8A:
ST Microelectronics introdujo la nueva familia de microcontroladores STM8A de 8 bits con memoria Flash
dedicados a necesidades específicas en las aplicaciones de automoción. Ofrecen una EEPROM para datos, y
software y pins de salida de compatibilidad para una capacidad de memoria de 8Kbytes hasta 256Kbytes y de
24 a 128 pins. Todos los dispositivos operan de 3 a 5.5 V. Estos microcontroladores son particularmente
adecuados para aplicaciones que requieren almacenamiento de datos de forma no volátil sino que
permanente. El núcleo STM8 que incorporan es tan eficiente que permite la máxima velocidad de ejecución
incluso a bajas frecuencias de reloj de la CPU. Esta familia es una solución económica y buena en el
creciente mercado de aplicaciones de 8 bit en automoción.
2.3.2 Familia SPC56xx:
La familia SPC56 de microcontroladores de 32 bits se diseñó tomando como base la tecnología Power
Arquitecture y la tecnología empotrada flash de ST de 90nm. El núcleo usado es el e200 o núcleos
compatibles con el mismo con un set de periféricos que está optimizado para llevar a cabo aplicaciones
eficientes en gestión del motor, chasis del coche, seguridad, cuerpo del coche y panel de instrumentos. El
rango de frecuencias de trabajo va entre 30 y 300 MHz, existen diferentes módulos internos como DSPs,
MMUs (unidades de manejo de memoria) y FPUs. Todos los microcontroladores de esta familia han sido
diseñados para AUTOSTAR (Automotive Open System Architecture).
2.3.3 Familia ST9
La serie ST9 es una familia de microcontroladores de 8 bits de alto rendimiento que ofrecen un uso de
memoria eficiente, ejecución programada, soporte para datos a altas velocidades, flexibilidad en entradas y
salidas y son fácilmente escalables.
Esta serie consta de una memoria flash con características de EEPROM, un concepto patentado por ST
Microelectronics, que elimina la necesidad de una memoria EEPROM externa de datos.
Características principales:
• Núcleo o Núcleo orientado a registros de 8/16 bits.
•224 registros de propósito general.
• Memorias
� Memoria Flash de 256 Kbytes
� RAM de 8 Kbytes.
� EEPROM de 1 Kbyte emulada por software
• Reloj y suministro de energía
� Suministro de energía entre: 4.5/5.5 V
� Frecuencia de reloj de 24 Mhz.
• 80 puertos de entrada/salida totalmente programables.
2.4 Infineon
Infineon tiene una gama de microcontroladores diseñados para la industria del automóvil que cubren las
siguientes aplicaciones: cuerpo del coche y comodidad, tren de potencia, seguridad, GPS, coches híbridos,
coches de gama muy alta y camiones y vehículos destinados a la agricultura.
Las familias de microcontroladores de 32 bits para automoción que ofrece son: XC2200 (también para 16
bits) XC2700 y XC2300. Las familia de microcontroladores de 8 bits para automoción que ofrece es XC800
A continuación se enumeran las características principales para cada una de ellas:
Las familias de MCUs XC2200, XC2700 y XC2300 son subfamilias de la familia escalable XC2200 y son
las series de la misma que se ofrecen para la industria del automóvil.
2.4.1 Familia XC2700:
Esta familia de microprocesadores ha sido diseñada para el tren de potencia de los automóviles. Está
conformada por MCUs de 32 bits y permitirá hacer sistemas muy efectivos para el control del motor
orientados a ciclomotores.
Esta familia está basada principalmente en el núcleo C166SV2 con una frecuencia de reloj de 100 MHz.
Integra periféricos clave como memoria, regulador de voltaje e interfaz para reducir el coste del sistema.
Además todo el software desarrollado para los controladores C166 puede ser fácilmente reutilizado en esta
familia.
Características principales:
• La memoria flash va de 128 a 1600 Kbytes.
• La memoria RAM va de 16 a 138 Kbytes.
• Los interfaces serie pueden ser de 4 a 8.
2.4.2 Familia XC2300:
Esta familia ha sido diseñada aplicaciones de seguridad en el automóvil tales como el airbag o dirección
asistida. Sus microcontroladores son de 32 bits con un amplio set de periféricos que ayudan al rendimiento
del sistema y con vistas a sistemas de seguridad futuros.
Características principales: • La memoria flash va de 128 a 1600 Kbytes.
• La memoria RAM va de 10 a 138 Kbytes.
• Los interfaces serie pueden ser de 2 a 8.
2.4.3 Familia XC2200:
Esta familia ha sido pensada para aplicaciones de interior del automóvil y puertas de enlace. Está diseñada
con la tecnología de 130 nm de Infineon y ofrece un aumento del rendimiento a un precio competitivo. El
hardware está diseñado y elaborado de forma independiente al desarrollo del software. Soporta aplicaciones
para puertas de enlace de tamaño pequeño y medio integradas en controladores internos.
Características principales:
• La memoria flash va de 128 a 1600 Kbytes.
• La memoria RAM va de 10 a 138 Kbytes.
• Los interfaces serie pueden ser de 2 a 10.
2.4.4 Familia XC800 A:
Diseñada para aplicaciones del tablero de mandos del automóvil, de seguridad y de tren de potencia.
2.5 FUJITSU
Las familias de microprocesadores que ofrece Fujitsu para la automoción se presentan a continuación según su
aplicación:
2.5.1 Familia F2MC-16FX:
Combina las ventajas de las arquitecturas de 32 y 16 bits ya que tiene de la arquitectura de 16 bits el código
C y sus beneficios en eficiencia y de la de 32 bits tiene el pipeline de instrucciones, algo muy usual en
aplicaciones RISC. Las instrucciones terminan en menor tiempo con un consumo menor de potencia.
Características principales:
• Reloj de 56 MHz.
• Suministro de energía de 3/5.5 V.
• Funciones de seguridad para la memoria flash.
2.5.2 Familia MB91460:
Basada en la familia FR (32 bits) es sucesora de la serie MB91360G.
Características principales:
• Núcleo FR70 que opera a 700 MHz.
• Flash empotrada de 2Mbytes con sectores de 64 y 48 Kbytes.
• Arquitectura caché para optimizar el acceso a la memoria flash.