Documentos de Académico
Documentos de Profesional
Documentos de Cultura
electrónica digital
2ª edición
Luis Gil Sánchez | Javier Ibáñez Civera
Eduardo García Breijo
Luis Gil Sánchez
Javier Ibáñez Civera
Eduardo García Breijo
Para referenciar esta publicación utilice la siguiente cita: Gil Sánchez, L.; Ibáñez Civera, J.;
García Breijo, E. (2019). Problemas de electrónica digital. 2ª ed. Valencia: Editorial Universitat
Politècnica de València
III
EDUARDO GARCÍA BREIJO
Ingeniero Técnico Industrial en la Universitat Politècnica de València (UPV),
Ingeniero en Electrónica (Universitat de València) y doctor por la UPV (2004).
Catedrático de Universidad adscrito al Departamento de Ingeniería Electrónica de
la Universitat Politècnica de València. Lleva impartiendo docencia hace más de 25
años en asignaturas relacionadas con la electrónica digital. Es autor de varios libros
sobre electrónica digital, microcontroladores y simulación de circuitos digitales en
editoriales tanto de la UPV como nacionales e internacionales. Además, ha
participado en proyectos de innovación docente en el área de la electrónica digital.
También ha publicado artículos de divulgación científica y ha participado en
congresos de innovación docente en el área de la electrónica digital.
RESUMEN
IV
Prólogo
Los autores del libro deseamos ofrecer a los estudiantes de electrónica digital una
amplia colección de problemas resueltos y de preguntas de tipo test sobre la ma-
teria. Este material surge como resultado de la amplia experiencia docente a lo
largo de varios años en la asignatura de Electrónica Digital en el Grado en Ingenie-
ría Electrónica Industrial y Automática de la Universitat Politècnica de València
(UPV), pero el libro se ha enfocado y redactado para que sea útil para estudiantes
de otras titulaciones y universidades donde se impartan conocimientos de elec-
trónica digital. Como esta publicación incluye únicamente problemas, al inicio de
cada tema se ha incorporado una amplia y detallada bibliografía donde el alumno
podrá aprender o ampliar los conocimientos teóricos necesarios para que pueda
entender y resolver los ejercicios y problemas desarrollados en esta publicación.
La publicación se divide en diversos temas, desde los conceptos generales de elec-
trónica digital utilizando circuitos integrados estándar hasta los dispositivos pro-
gramables por hardware (PLD) e introducción a los microcontroladores. Dentro de
los conceptos de electrónica digital se da un especial énfasis en resolución de
problemas de conexión de elementos de entrada y salida a dispositivos digitales,
al desarrollo de sistemas secuenciales síncronos y la programación en lenguaje
VHDL.
Para cada tema se ofrecen una serie de preguntas de tipo test con cuatro respues-
tas alternativas donde se indican las soluciones después de la última pregunta y
por otra parte se presentan problemas resueltos. Además, al final del libro se ha
V
Problemas de electrónica digital
VI
Índice
VII
Capítulo 1
Funciones lógicas
En este tema se realiza una introducción a las bases de la electrónica digital, es decir los
sistemas de numeración binario decimal y hexadecimal, las funciones y puertas lógicas,
simplificación de funciones Para conocer y profundizar en los conceptos de este tema
existe una amplia bibliografía ya que esta parte es la más básica de la electrónica digital.
A continuación, se enumeran algunos libros de electrónica digital escritos en castellano,
indicando los temas en donde se desarrollan los aspectos referentes a funciones lógicas.
• Floyd, Thomas L. (2016) Fundamentos de Sistemas Digitales. 11º ed. Pearson Edu-
cación. Temas: 2, 3 y 4.
• Tocci, Ronald J. y otros. (2016). Sistemas Digitales: Principios y Aplicaciones. 10ª
ed. Pearson Educación. Temas: 2 y 3.
• Mandado, Enrique; Martín, José Luis. Sistemas Electrónicos Digitales”. 10º ed.
Marcombo. Temas: 1, 2 y 4.
• Mano, M. Morris (2016). Diseño Digital. 3ª ed. Pearson. Temas: 1, 2 y 3.
• Hermosa, Antonio (2010). Electrónica Digital Fundamental y Programable. 4ª ed.
Marcombo. Temas: 1, 2, 3 y 4.
• Toledo, José Fco.; Esteve, Raúl (2005). Fundamentos de Electrónica Digital. Edito-
rial Universitat Politècnica de València. Temas: 1 y 2.
• Gil Sánchez, Luis (1999). Introducción a la Electrónica Digital. Editorial Universitat
Politècnica de València. Temas: 1, 2 y 3.
1
Problemas de electrónica digital
DC 00 01 11 10 a)
BA
b) A+D
00 0 0 x x
c) ∙ + ̅∙
01 1 x 1 1
11 1 x 1 1 d) ∙ + ⋅ ̅∙
10 0 0 x x
2
Funciones lógicas
a) F = ( A ⊕ B) ⋅ C
b) F = ( A ⋅ B) + C
c) F = ( A + B) ⋅ C
d) F = ( A ⊕ B) ⊕ C
DC 00 01 11 10 a) ∙ ̅∙ + ∙ ∙
BA
b) + ̅
00 x 0 x x
c) ∙ ̅+ ∙
01 x 0 1 x
11 1 0 1 x d) ∙ ̅+
10 1 0 x x
3
Problemas de electrónica digital
a) L1 = D·B + C·A
b) L1 = (D+B)·(C+A)
c) L1 = ((D·B) +C)·A
d) L1 = A·(D+B)·C
Soluciones
1. a) El número decimal 16 en binario es 10000. Para pasar de binario a hexadeci-
mal se agrupan cada cuatro bits empezando por el LSB.
2. b) B=1010 y 2=0010. Siempre en grupos de 4 bits binarios.
3. b) Se toman grupos de 4 bits: 0010=2 y 1000=8
4. c) Se intercambian unos por ceros y se suma uno: 1101 ↔ 0010 + 1= 0011
5. a) Las dos celdas centrales con x se toman como 1 y el resto de celdas con x se
toman como 0. De esta forma se obtiene un grupo de 8 celdas con 1.
6. d) = ⨁ = ∙ + ∙
7. = ∙ + ∙ = ∙( + )= ∙1=
8. a) Aplicación de la ley de Morgan e involución. = ̿+ = +
9. a) Combinación de puertas XOR, NOT y AND
10. b) + ̅ = 1, y 1+B=1
4
Funciones lógicas
11. b) En una función incompleta los valores indeterminados (X) se pueden sustituir
de forma independiente por 1 o por 0. En este caso vale la pena sustituirlos to-
dos por1 para así obtener la expresión final más sencilla y se obtiene dos gru-
pos de 8 celdas.
12. d) Todas las X se substituyen por 1
13. c) Contactos en serie corresponde a producto lógico. Contactos en paralelo co-
rresponde con suma lógica.
Solución
a) = ̅∙ ∙ + ̅∙ ∙ + ∙ ∙ + ∙ ∙ ̅+ ∙ ∙
b) = ̅∙( + )∙ + ∙( + )∙ + ∙ ∙ ̅ = ̅∙( + )∙ + ∙( + )∙
+ ∙ ∙ ̅
F= ( ̅ + ) ∙ + ∙ ∙ ̅= + ∙ ∙ ̅=( + ∙ )∙( ̅+ )= + ∙
En el penúltimo paso se ha aplicado la propiedad distributiva dual del algebra de Boole:
A·B+C=(A+C)·(B+C)
5
Problemas de electrónica digital
c)
AB 00 01 11 10 A·B
C
0 0 0 1 0
C
1 1 1 1 1
F = C+A·B
Problema 1.2
En el siguiente circuito, ¿Cuál es la función lógica de F?
En el mismo circuito ¿Cuál es el estado lógico de P cuando las entradas (A, B, C y D)
toman los valores que indica la figura?
Solución
a) =( + )∙( + )
b) = (0 ∙ 1) ∙= 1
6
Funciones lógicas
Problema 1.3
Diseñar el circuito lógico de un sistema de votación de un jurado de 3 miembros (A, B
y C). Cada miembro vota 0 ó 1. La salida del circuito es una lámpara (F), esta lámpara
estará encendida (1) cuando la mayoría de los miembros del jurado vote 1 y estará
apagada (0) cuando la mayoría vote 0.
Realizar:
a) Tabla de verdad y función lógica canónica.
b) Simplificar mediante cuadros de Karnaugh. Escribir la función lógica.
c) Dibujar el circuito lógico simplificado.
Solución
a)
A B C F Fijándose en las combinaciones en las que
0 0 0 0 F vale 1
0 0 1 0
0 1 0 0 = ̅∙ ∙ + ∙ ∙ + ∙ ∙ ̅+ ̅∙ ∙
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
7
Problemas de electrónica digital
b)
AB 00 01 11 10 Función simplificada (suma de los
grupos de la tabla)
C
0 0 0 1 0 A·B
= ∙ + ∙ + ∙
1 0 1 1 1
A·C
B·C
c)
Problema 1.4
Diseñar un circuito lógico para la selección de 2 alarmas (A y B) en una salida F me-
diante una entrada de selección (S), Si C=0 entonces F vale lo mismo que A y si C=1
entonces F vale lo mismo que B.
Alarma A
(0 ó 1) A Alarma A o B
Circuito F
Alarma B a
(0 ó 1) Diseñar Si C=0 → F = Alarma A
B Si C=1 → F = Alarma B
Selector
S
Realizar:
a) Tabla de verdad y función lógica canónica.
b) Simplificar mediante cuadros de Karnaugh. Escribir la función lógica.
8
Funciones lógicas
Solución
a)
S A B F Fijándose en las combinaciones en las que
0 0 0 0 F vale 1
0 0 1 0
0 1 0 1 = ̅∙ ∙ + ̅∙ ∙ + ∙ ̅∙ + ∙ ∙
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
b)
AB 00 01 11 10 Realizando la suma lógica de la
expresión de cada grupo:
S
0 0 0 1 1
/S·A = ̅∙ + ∙
1 0 1 1 1
S·B
= ̅∙ + ∙ = ̅∙ + ∙ = ̅∙ ∙ ∙
9
Capítulo 2
Circuitos
combinacionales
11
Problemas de electrónica digital
12
Circuitos combinacionales
a) ̅ ̅
b) ̅ ̅
c) ̅ ̅ ̅ ̅
d)
13
Problemas de electrónica digital
8. ¿Para qué se utiliza la entrada Latch Enable / Strobe del decodificador BCD – 7
segmentos (74HC4511)?
a) Para activar todas las salidas y
encender todos los segmentos
del visualizador de 7 segmentos.
b) Para desactivar todas las salidas
y apagar todos los segmentos
del visualizador.
c) Para bloquear todas las salidas y
mantener la información del vi-
sualizador.
d) Para elegir un visualizador en
ánodo o cátodo común.
10. El circuito integrado comparador de dos números de 4 bits (7485) posee 3 entra-
das auxiliares. ¿Cuál es su misión?
a) Comparar más de dos números.
b) Comparar dos números de más de 4 bits.
c) Sumar el acarreo a los números a comparar.
d) Seccionar los números a comparar.
14
Circuitos combinacionales
Soluciones
1. d) Todos los circuitos son combinacionales.
2. b) El resto de circuitos son secuenciales.
3. b) 24=16
4. a) Dicho C.I. está formado por cuatro multiplexores de dos entradas de datos cada
uno con una entrada de selección común.
5. c) Entradas de datos de X0 y X1 conectadas a nivel alto (Vcc).
6. c) Aunque esas patillas no se dibujen en esquema en el circuito real no hay que
olvidar conectarlas.
7. c) El multiplexor selecciona una de varias entradas de datos, como es analógico
permite trabajar con sensores.
8. c) La entrada LE/STB: 1= Lath Enable; 0= Strobe (bloquea).
9. a) Un codificador realiza tarea de entrada de datos. La salida necesitará dos en-
tradas para obtener las cuatro combinaciones.
10. b) En este caso se utilizan dos C.I., uno para los cuatro bits de menor peso y el otro
para los de mayor peso.
11. b) Solo suma dos bits.
12. c) El acarreo final es bit más significativo del resultado.
15
Problemas de electrónica digital
Solución
Se puede utilizar un multiplexor de dos números de cuatro bits cada uno (74HC157).
Para la salida se utilizará un circuito decodificador de BCD a 7 segmentos
(74HC4511) y un visualizador de 7 segmentos con sus resistencias limitadoras de co-
rriente. Este decodificador posee una entrada LE/STB donde se conecta la entrada E
de forma que si E=0 habilita las entradas y si E=1 las bloquea.
16
Circuitos combinacionales
Problema 2.2
Diseñar un circuito lógico que permita seleccionar 2 magnitudes: Temperatura (A) y
Hora (B) de DOS dígitos (BCD) cada una para mostrarlo en dos visualizadores de 7
segmentos (F) mediante una entrada de selección (S), de forma que si S=0 entonces F
corresponde con A y si S=1 entonces F corresponde con B.
Solución
Es una extensión del problema anterior, simplemente hay que utilizar dos multiplexo-
res dobles de 4 bits (74HC157), pero con el control (S) común a ambos multiplexores.
En este caso no hay entrada de bloqueo por lo que no se ha incorporado un circuito
decodificador de BCD a 7 segmentos (74HC4511).
17
Problemas de electrónica digital
Problema 2.3
Diseñar el circuito lógico para el control de una máquina fotocopiadora. Esta máquina
tiene una selección del número de copias a realizar (Preset) de un máximo de 9 copias
y un contador del número de copias realizadas. El sistema determinará cuando la
máquina tiene que parar. Además, indicará el número de copias realizadas y las que
faltan por realizar, ambos datos se mostrarán en un visualizador de 7 segmentos.
Solución
Se realizará una comparación entre el número de selección de copias (preset) y el del
contador, para ello se utilizará un circuito comparador 7485, donde la salida A=B
servirá para indicar Stop.
Para saber el número de las copias que faltan por realizar es necesario un circuito
restador (resta el valor de la selección menos el valor del contador). Para lograr una
resta hay que sumar el minuendo con el complemento a dos del sustraendo. El com-
plemento a dos de un número se obtiene intercambiando unos por ceros y al resultado
se suma uno.
Para obtener el circuito restador se utiliza un circuito sumador (7483) y cuatro puertas
inversoras para invertir el valor de contador. La entrada de acarreo inicial se conecta a
tensión de alimentación (Vcc) para sumar uno. Se añaden dos visualizadores de 7 seg-
mentos para conocer el número de copias realizadas y las que faltan por realizar.
18
Circuitos combinacionales
Problema 2.4
Diseñar un circuito lógico para el control de la dirección del motor de un ascensor
(arriba, abajo o paro) de un edificio de 8 plantas (0 a 7).
• F0…F7 es el sensor de presencia del ascensor en una planta (final de carrera).
• B0...B7 es el botón de llamada al ascensor desde rellano.
• Deberá haber un visualizador de siete segmentos donde se indica la posición (plan-
ta) donde se encuentre el ascensor y otro del piso de llamada.
• Utilizar bloques de circuitos digitales combinacionales.
19
Problemas de electrónica digital
Solución
1ª opción. La entrada de cada pulsador y de cada posición del ascensor se codificará
a binario mediante codificador de 8 a 3. Posteriormente se realizará una compara-
ción entre ambos números y en función del resultado se sabe si el ascensor tiene
que subir, bajar o permanecer parado.
2ª opción. Comparar directamente los dos números de 8 bits. Para ello se utiliza dos
C.I. comparadores de 4 bits cada uno (7485) conectados en cascada.
20
Capítulo 3
Circuitos integrados
digitales
21
Problemas de electrónica digital
• Toledo, José Fco.; Esteve, Raúl (2005). Fundamentos de Electrónica Digital. Edito-
rial Universitat Politècnica de València. Tema: 3.
• Gil Sánchez, Luis (1999). Introducción a la Electrónica Digital. Editorial Universitat
Politècnica de València. Tema: 4.
2. La tensión de entrada a nivel bajo de una puerta lógica está comprendida entre:
a) 0 y VILmax
b) VILmax y VIHmin
c) VIHmin y Vcc
d) 0 y Vcc
3. ¿Cuál es margen de ruido a nivel alto de las puertas lógicas que tienen los si-
guientes datos de catálogo? VIHmin= 3V; VOHmin= 4V; VILmax= 0,6V; VOLmax= 0,2V
a) 1V b) 0,6V c) 0,4V d) 0,2V
22
Circuitos integrados digitales
6. A las puertas lógicas que poseen una salida en alta impedancia se denominan:
a) Colector abierto
b) Buffer
c) Histéresis
d) Triestado
7. ¿Cuál debe ser el valor máximo de R para asegurar un nivel bajo de tensión en la
entrada de la puerta TTL de la figura, cuando el interruptor esté abierto?
Datos de la puerta lógica:
VILmax = 1 V; VIHmin = 2,2 V; IIL = - 0,5 mA
a) 1,2 KΩ
b) 2 KΩ
c) 3 KΩ
d) 5 KΩ
23
Problemas de electrónica digital
10. En las puertas lógicas con tecnología TTL, las corrientes de entrada IIH e IIL (en
valores absolutos) suele ser:
a) IIH > IIL
b) IIH < IIL
c) IIH = IIL
d) Ninguna de las anteriores
11. ¿Cuál es el valor más adecuado de RB para activar el motor del circuito de la figu-
ra con I=400 mA? Siendo los datos del transistor: VBE=1 V; hFEmin=40 (βsat) y utili-
zando una puerta lógica con VOHmin=4V.
a) 300 Ω
b) 400 Ω
c) 7,5 Ω
d) 1 KΩ
24
Circuitos integrados digitales
15. Por el LED se desea que circule una corriente de I=20mA, si Vcc=5V, VD=1,6V y
VOL=0,4V. ¿Cuál debe ser el valor más adecuado de R?
a) 250 Ω
b) 230 Ω
c) 170 Ω
d) 150 Ω
25
Problemas de electrónica digital
Soluciones
1. c) Cargabilidad a nivel bajo = |IOLmax/ IILmax| = |25 mA /-1 mA| = 25
2. a) VIL es rango de tensión entre 0V y VILmax
3. a) Margen ruido nivel alto: NMH= VOHmin - VIHmin = 4V-3V = 1V
4. d) Sin resistencia de base se aplica la tensión de salida directamente a la base del
transistor y el circuito no funciona adecuadamente.
5. b) TTL: Transistor-Transistor Logic.
6. d) La salida de las puertas triestado pueden encontrarse a nivel alto, nivel bajo o
alta impedancia.
7. b) Rmax=VILmax / IIL = 1V/0,5mA = 2 KΩ.
8. c) Las corrientes que entran en un C.I. se consideran positivas y las que salen del
C.I. negativas
9. c) Q1 es un transistor de canal P luego conducirá cuando en su puerta (G1) se
aplique una tensión negativa respecto al surtidor S1.
10. b) En cambio en tecnología CMOS estos valores son iguales para nivel alto y bajo.
11. a) = = = 300Ω.
/
26
Circuitos integrados digitales
Solución
R1: Resistencia debajo del interruptor
Para determinar el valor máximo de R hay tener en cuenta que cuando el interrup-
tor esté abierto por la R circula una corriente procedente de la entrada de la puerta
lógica que provocará una caída de tensión en la R.
Para que la entrada (Vi) se mantenga un nivel bajo (L) la tensión en la resistencia
deberá ser menor que la VILmáx=0,8V. Por otro lado, la corriente de entrada puede
ser hasta IILmax=0,4 mA.
Luego la Rmáx= VILmáx/IILmax = 0,8V/0,4mA= 2KΩ. (Valor bajo).
En cuanto al valor mínimo, hay que tener en cuenta que afectará al consumo cuan-
do el interruptor esté cerrado ya que: I=Vcc/R.
27
Problemas de electrónica digital
Problema 3.2
De forma similar al ejercicio 1, determinar los valores máximos de las resistencias (R1
y R2) para el control de entrada una puerta de tecnología CMOS (74HCT04) por medio
de interruptor.
Solución
R1: Resistencia debajo del interruptor
De forma similar al ejercicio 1, para que en la entrada (Vi) se mantenga un nivel ba-
jo (L) cuando el interruptor está la tensión en la resistencia deberá ser menor que la
VILmáx=0.8V. Por otro lado, la corriente de entrada puede ser hasta IILmax = ±1µA.
28
Circuitos integrados digitales
Problema 3.3
Se desea diseñar el control de entrada de un garaje mediante un sensor óptico de
barrera de forma que, cuando pasa un vehículo (corta la barrera) se debe generar una
señal de nivel de tensión alto (H) a un circuito digital formado dispositivos de tecnolo-
gía HCT. El sensor óptico está formado por LDR de modo que cuando no hay vehículo
(llega luz) la resistencia es R = 500Ω y cuando se corta la barrera (oscuridad) es
R = 10KΩ.
29
Problemas de electrónica digital
Solución
a) Circuito de entrada. La LDR junto con la resistencia R forma un divisor de tensión
Vcc ⋅ LDR
que aplica una tensión a la entrada de la puerta NOT: VI = →
R1 + LDR
LDR ⋅ (Vcc − VI )
RI =
VI
De esta forma, cuando haya luz la resistencia de LDR disminuye y la Vi disminuye y
cuando haya oscuridad la resistencia de LDR aumenta y la Vi aumenta.
Oscuridad: : la salida debe ser un “1” lógico (>VIHmín):
Vcc ⋅ LDRosc →
VI > VIH min =
R1 + LDRosc
LDRosc ⋅ (Vcc − VIH min ) 10 K ⋅ (5 − 2)
RI = = = 15 KΩ
VIH min 2
Problema 3.4
Determinar valor de R1 y R2 en cada uno de los circuitos de la figura para que circule
por LED rojo una corriente ID=15mA, sabiendo que la caída de tensión en el LED es:
VD=1,6V. Puertas 74LS04 y 74HCT04.
30
Circuitos integrados digitales
Solución
74LS04.
74HCT04.
31
Problemas de electrónica digital
Problema 3.5
Diseñar un circuito necesario para activar un pequeño motor de continua que funcio-
na a 12V y que necesita una corriente de 400 mA mediante una puerta inversora
74LS04 y 74HCT04 con la salida a nivel “H”.
Utilizar el transistor bipolar BD135 (IC-max=2A; βsat=40 (hFEmin); .VBEmax=1V).
Solución
La corriente de colector del transistor será 400mA (menor que ICmáx (BD135)=1,5A).
IC 400 mA
La de base: I B = = = 10 mA
β sat 40
Puerta 74LS04. IOHmax=-0,4mA es inferior a la que necesita la base del transistor
luego no es valida para esta aplicación.
Puerta 74HCT04. IOHmax= -25mA > IB=25mA. Sí que es válida para esta aplicación.
VOHmín − VBEsat 4V − 1V
RB = = = 300Ω
IB 10mA
Como valor normalizado se puede tomar RB=270Ω
(inferior al valor calculado para así asegurar la saturación del transistor)
32
Circuitos integrados digitales
Problema 3.6
Se desea controlar el encendido y apagado de una lámpara incandescente (L1) de
12V/2W mediante un sensor de luz (LDR) de forma que en claridad (LDRluz = 200 Ω) la
lámpara permanezca apagada y en oscuridad (LDRosc = 10 kΩ) la lámpara permanezca
encendida.
Se utiliza el circuito de la figura que consiste en un adaptador de señal de la LDR de tal
forma que, en cada uno de los extremos de luminosidad posible (Claridad/Oscuridad)
suministre una tensión que sea compatible con los niveles lógicos de una puerta in-
versora de tecnología HCT.
Determinar el rango de variación de la resistencia RB y elegir un valor.
A. La salida de la puerta lógica debe controlar la lámpara L1.
B. Comprobar que hace una falta una etapa de amplificación de corriente (Q1).
Utilizar un transistor BD135 (datos en problema anterior: βsat=40; VBEmax=1V;
ICmax =1,5A).
C. Calcular un valor adecuado de RB.
33
Problemas de electrónica digital
Solución
b) Circuito de entrada. La LDR junto con la resistencia R forma un divisor de tensión
5 ⋅ R1
que aplica una tensión a la entrada de la puerta NOT: VI =
R1 + LDR
De esta forma, cuando haya luz la resistencia de LDR disminuye y la Vi aumenta y
cuando haya oscuridad la resistenci de LDR aumenta y la Vi disminuye.
5 ⋅ R1
VI < VIL max = ; VIL max ⋅ R1 + VIL max ⋅ LDRosc = 5 ⋅ R1
R1 + LDRosc
c) Circuito de salida
La corriente de colector del transistor será Ic=P/V=2/12=166mA (<Iomax=25mA).
IC 166mA
La de base: I B = = = 4,15mA (<IOHmín)
β sat 40
VOHmín − V BEsat 4V − 1V
Así, R B = = = 722 Ω . Como valor normalizado se puede
IB 4,15 mA
tomar RB=390Ω.
34
Circuitos integrados digitales
Problema 3.7
Diseñar un circuito necesario para activar un pequeño motor de continua que funcio-
na a 12V y que necesita una corriente de 200mA mediante una puerta inversora
74LS06 (COLECTOR ABIERTO) con la salida a nivel “H”. Utilizar el transistor bipolar
BD135.
Solución
La corriente de colector del transistor será Ic = P/V = 2/12 =166mA.
IC 200 mA
La corrient de base: I B = = = 5mA
β sat 40
VCC − VBEsat 12V − 1V
R1 = = = 2200Ω
IB 5mA
Problema 3.8
Se pretende diseñar un sistema de transporte de objetos formado por:
a) Un pequeño motor de C.C. (12V, 300 mA) que hace girar una cinta transporta-
dora.
b) Dos barreras fotoeléctricas (A y B) formadas cada una por una lámpara y
un sensor de luz (LA-SA y LB-SB). Los sensores son LDR con Rluz = 200 Ω y
Roscuridad = 5 KΩ.
c) Un interruptor P que determina el funcionamiento del sistema.
35
Problemas de electrónica digital
Se pide:
1) Diseñar un circuito para el interruptor P de forma que cuando esté abierto pro-
porcione un “0” lógico y cuando esté cerrado un “1” lógico.
2) A partir de las características de las puertas lógicas, diseñar el circuito de pola-
rización de las LDR para que en ausencia de objeto proporcionen un “1” lógico
y cuando detecten un objeto proporcionen un “0” lógico.
3) Diseñar el circuito de excitación del motor para que gire con un “1” lógico. Uti-
lizar, si es necesario, transistores bipolares de propósito general (βsat = 40,
ICmáx = 2A, VBEsat = 1V).
4) Utilizando el mínimo número de puertas NAND cuyas hojas características se
adjuntan, diseñar el circuito de control para el funcionamiento previsto. Dibujar
el esquema completo. Se considera una alimentación de +5V para los circuitos
lógicos y de +12V para el motor.
36
Circuitos integrados digitales
Los fabricantes pueden ofrecer gran variedad de valores de cada parámetro según las
condiciones de test del circuito. En las tablas las condiciones para la tensión de salida
(Vo) son la corriente de salida y la temperatura. Se ha elegido los valores para
condiciones desfavorables (temperatura <85ºC y corriente más cercana a la del
problema). Estos valores son los que se han marcado en las tablas.
37
Problemas de electrónica digital
Solución
a)
Como la IILmax =1μA es muy pequeña, para hacer los cálculos
se desprecia respecto a la que puede circular por la R.
Para determinar el valor máximo de R hay que tener en cuen-
ta que cuando el interruptor esté abierto por la R circula una
corriente que provocará una c.d.t. que deberá ser menor que
la VILmáx=0.8V; para así estar seguro que en la entrada hay
un nivel bajo (L). Esta tensión se produce por una corriente
que como máximo es IILmax=1μA.
Luego la Rmáx= VILmáx / IILmax = 0,8V/1μA= 800KΩ. Valor
muy elevado, común para la tecnología CMOS.
En cuanto al valor mínimo, hay que tener en cuenta que afectará al consumo cuando el
interruptor esté cerrado ya que: I=5V/R.
Suele ser válido cualquier valor de R entre 1KΩ y 100KΩ.
b)
La primera decisión es determinar si la LDR va arriba o
debajo de la R.
Como el enunciado indica que debe haber un 1 lógico
cuando haya luz en la LDR y o lógico cuando haya
oscuridad, la LDR debe conectarse entre Vcc y entrada
(arriba) porque así el divisor de tensión es:
5 ⋅ R1
VI =
R1 + LDR
De esta forma, cuando haya luz la resistencia de LDR
disminuye y la Vi aumenta y cuando haya oscuridad la
resistencia de LDR aumenta y la Vi disminuye.
Datos
LDRluz=0.2K; LDRosc=5K; VILmáx=0.8V.; VIHmín=2V.
Se calculan los valores extremos de R1 que cumpla esas condicines y se elege un valor
intermedio:
38
Circuitos integrados digitales
39
Problemas de electrónica digital
Mapa de Karnaught
SA,SB 00 01 11 10
M = P ⋅ SA + P ⋅ SB
P
0 0 0 1 1 M = P ⋅ S A ·P ⋅ S B
1 0 1 1 0
40
Circuitos integrados digitales
Problema 3.9
Se desea realizar una instalación de seguridad para un aula-laboratorio. Se dispone
para ello de tres elementos sensores y un actuador:
Sensores:
• Detector de presencia (DP). Sensor PIR que actúa sobre un contacto que está
normalmente cerrado y al detectar la presencia de un ser vivo se abre.
• Detector de apertura de puerta (AP). Contacto magnético que activa un inte-
rruptor. Si la puerta está cerrada el interruptor está cerrado. Si la puerta está
abierta el interruptor está abierto.
• Detector de día/noche (DN). Se utiliza una LDR para detectar si es de día
(RLDR=1KΩ) o de noche (RLDR=50KΩ).
Actuador:
• Sirena eléctrica (S) de 12V, 3W.
La alarma se debe activar en las siguientes condiciones:
Si es de día, la puerta está cerrada y hay presencia de gente.
Si es de noche y hay presencia de gente.
Para la realización del circuito electrónico se utilizarán puertas NAND de dos entradas
74LS00 de la familia TTL cuyas características se adjuntan.
Se pide:
a) Diseñar los circuitos de adaptación del sensor PIR para que en presencia de
gente proporcione un “1” lógico y del detector magnético para que con la puer-
ta cerrada proporcione un “0” lógico.
41
Problemas de electrónica digital
Solución
a. Sensores de presencia
Los interruptores abiertos deben comportarse como
“1” lógico.
Cálculo de R1 y R2
Despreciando la corriente de entrada a la puerta.
VCC - R1·II >VIHmín ; por tanto: R1 < (5 - VIHmín)/II , siendo
II=20μA y VIHmín=2V
Con ello, 1 < = 150 . El mismo valor que R2.
42
Circuitos integrados digitales
b) Sensor Día-Noche
Cálculo de R. VDN= Vcc · LDR/(R3+LDR);
Día: LDR=1K y VDN < VILmax (0,8V), o sea:
∙ ∙( , )
< 0,8 , con ello → 3 > = 5,25
,
RB < 340Ω
DN AP DP S
0 0 0 0 DN: Día =0 / Noche=1
43
Problemas de electrónica digital
AP-DP
DN 00 01 11 10
0 1
1 1 1
Problema 3.10
Se desea controlar una estación de riego compuesta por un depósito de agua y una
bomba de impulsión (B). El circuito a diseñar deberá activar la bomba (señal B) con un
nivel lógico alto cuando se necesite realizar el riego. Con el fin de controlar el proceso,
se incluyen los siguientes elementos:
1.- Detector de nivel del depósito (D). Proporciona un nivel lógico bajo (L) si el depó-
sito de agua está vacío y un nivel alto (H) si el depósito está lleno.
2.- Sensor de humedad (H). Para controlar el estado del suelo se dispone de un sen-
sor de humedad que proporciona un nivel lógico alto si el campo necesita ser re-
gado y un nivel bajo (L) si el terreno está húmedo.
44
Circuitos integrados digitales
3.- Interruptor de estación (E). El interruptor se coloca en una de sus dos posiciones
en función de la estación del año (interruptor abierto = primavera-verano = “1” ló-
gico; interruptor cerrado = otoño invierno = ”0” lógico).
4.- Detector de día/noche (N). Se utiliza una LDR que presenta una resistencia en
oscuridad > 10 KΩ y de día < 1 kΩ. Proporciona un “1” lógico durante el día y un
“0” lógico durante la noche.
La bomba B se deberá activar si el suelo está seco y hay agua en el depósito (con el fin
de evitar que se averíe la bomba al funcionar en vacío). En las estaciones cálidas solo
se podrá regar de noche, mientras que en el resto de las estaciones se podrá hacer en
cualquier momento.
Se pide:
a) Obtener el circuito lógico para la activación de la bomba (utilizar puertas NAND
de dos entradas).
b) Diseñar las conexiones del interruptor de estación para que cumpla las especi-
ficaciones dadas.
c) Diseñar el circuito de la LDR para que cumpla las especificaciones dadas.
d) Si la bomba utilizada es de 24V, 1A, Diseñar el circuito de activación necesario
utilizando un transistor bipolar de propósito general con βsat = 50 y VBEsat = 1 V.
Utilizar las puertas NAND de la familia 74HCT cuyas principales características eléctri-
cas (T=25ºC) son:
Entrada: VIHmin= 2V; VILmax=2V, IImax=±0,1µA.
Salida: VOHmin=3,98V; VOLmax=0,26V, IOmax=±25mA.
45
Problemas de electrónica digital
Solución
a)
46
Circuitos integrados digitales
47
Problemas de electrónica digital
Problema 3.11
Diseñar un circuito electrónico digital para el control automático de la dirección de un
coche de juguete que debe circular siguiendo una pista guía negra entre las ruedas.
Vista frontal:
El coche posee un interruptor (P) para la puesta en marcha (P=1) y pararlo (P=0).
Para lograr el control, el vehículo dispone de ruedas de tracción independiente, iz-
quierda y derecha (RI y RD) activadas por sendos motores, y de dos sensores ópticos
junto a las ruedas formados por: fotocélula de reflexión y de LDR (SI y SD).
Una vez puesto en marcha el vehículo, avanza siguiendo la guía con tracción en las
dos ruedas, pero si alguno de los 2 sensores detecta la pista negra actúa frenando su
rueda correspondiente. Cuando el sensor deje de detectar la pista negra volverá a
poner en marcha la rueda correspondiente. En caso de que los dos sensores detecten
la pista negra el coche debe pararse. Para realizar el circuito digital se va a utilizar
circuitos integrados de la subfamilia HCT, (temperatura 25º).
48
Circuitos integrados digitales
Determinar:
a) Circuito de acoplamiento del interruptor al circuito digital. Parado (P=0), mar-
cha (P=1).
b) Circuito de acoplamiento de las fotocélulas al circuito digital por medio de LDR.
La resistencia de la LDR cuando el sensor detecta la zona blanca es RLDR=400 Ω
y cuando no la detecta (toca la línea negra) es RLDR=5 KΩ.
c) Circuito de control de los motores del coche de juguete MI y MD (característi-
cas motores: I=400mA, V=12V. Transistor: βsat=40, VBE=1).
d) Circuito lógico digital para el control de los motores de las ruedas (MI y MD) a
partir de los sensores SI y SD y del interruptor P.
Solución
a) Circuito de acoplamiento del interruptor al circuito digital.
Parado (P=0), marcha (P=1)
VI = Vcc⋅LDR/(R2+ LDR)
R2 = LDR⋅(Vcc-VI)/VI
∙( ) ∙( , )
Luz: 2 < = = 2736
,
∙( ) ∙( )
Oscuridad: 2 > = = 4500
49
Problemas de electrónica digital
d) Circuito lógico digital para el control de los motores de las ruedas (MI y MD) a
partir de los sensores SI y SD y del interruptor P.
P SI SD MI MD
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
= ∙ = ∙ = + = +
0 1 1 0 0
1 0 0 1 1 = ∙ = ∙ = + = +
1 0 1 1 0
1 1 0 0 1
1 1 1 0 0
50
Circuitos integrados digitales
Problema 3.12
Se desea construir un contador de vueltas para un circuito de coches de carreras de
juguete. Para ello se dispone en cada pista de una barrera fotoeléctrica formada por
una bombillita de tensión 5V y corriente 100mA y una LDR con Rluz=150Ω y
Rosc=12KΩ. El sistema se basa en el contador ascendente-descendente (U/D) de la
figura. Su funcionamiento es el siguiente:
El usuario, mediante cuatro microinterruptores selecciona el número de vueltas tota-
les de la carrera (hasta un máximo de 9). Tras pulsar el botón de inicio, el contador
carga el número total de vueltas a realizar, lo muestra en un visualizador de 7 seg-
mentos y está preparado para funcionar: cada vez que se cruce la barrera fotoeléctri-
ca, el contador desciende una unidad, mostrando en el visualizador las vueltas que
faltan para finalizar la carrera. Cuando se llegue a la última vuelta, (en el visualizador
aparece el número 0) y se activa una lámpara indicadora (5V, 100mA). Al cruzar ME-
TA, el contador vuelve a cargarse con el número total de vueltas y se desactiva la lám-
para indicadora de última vuelta.
Utilizar circuitos integrados tecnología TTL
Se pide:
a) Diseñar el circuito necesario de la barrera fotoeléctri-
ca (suponer la bombillita encendida), de forma que
cada vez que un coche la cruce proporcione un pulso
de nivel lógico alto. (SUB1).
b) Diseñar los circuitos de los microinterruptores y botón
de INICIO para el funcionamiento descrito. (SUB2 y
Bloque A).
c) Diseñar el circuito de activación de la lámpara indicadora de última vuelta. Utilizar,
si es necesario, transistores bipolares de características generales.
(hFEmín = 40 (βsat), ICmáx = 1 A, VCEmáx= 40 V, VBEmáx = 1 V) (SUB3).
d) Si se desea que durante la última vuelta la lámpara parpadee, en lugar de estar
permanentemente encendida, ¿Cuál sería el circuito necesario para el SUB3? Dibu-
ja, al menos, los bloques necesarios.
51
Problemas de electrónica digital
Datasheet de MOTOROLA
52
Circuitos integrados digitales
Solución
Circuito total de control
b.- Botón de inicio que actúa sobre PL. Además, cuando el contador finaliza (llega a
cero) al siguiente pulso de reloj se pone a “9”, debiendo ser detectado este caso
para iniciar la cuenta desde el valor preestablecido en los microinterruptores.
(Puertas U6:A y U7:A del esquema). El cálculo de R8 debe de contemplar en la en-
trada de la puerta un nivel H, por tanto:
Vcc-VINIT = R8·IIH ; con VINIT>VIHmin se obtiene R8< (Vcc- VIHmin)/ IIH; R8<150KΩ.
Se elige R8=10KΩ
En el caso de los microinterruptores, cuando están abiertos proporcionan un nivel
lógico bajo. Para ello, las resistencias R3 a R6, deben cumplir la condición:
R3·IIL < VILmáx, siendo IIL = -0,4mA y VILmáx=0,8V, se obtiene: R3<2KΩ.
Se eligen R3 a R6 = 1KΩ
53
Problemas de electrónica digital
c.- El circuito lógico debe cumplir que cuando todas las salidas del contador estén a
“0”, se active el transistor (se activará a nivel “H”).
S = Q0·Q1·Q2·Q3 = Q0 + Q1 + Q2 + Q3 , circuito que se materializa mediante las puertas
lógicas U3 y U4.
La salida a nivel alto no es suficiente para activar la lamparita (100mA). Por ello,
se usa un transistor en la configuración del esquema. Será necesario diseñar la re-
sistencia de base R7 con las siguientes condiciones:
VOHmin=2,7V; IBsat = ICsat/hFEmin = 100mA/40 = 2,5mA; VBEsat = 1V
IB > IBsat; (VOHmin- VBEsat)/R2 > IBsat; o sea:
R2 < (VOHmin- VBEsat) /IBsat; R7 < 0.68KΩ
Se elige R2 = 0.47K
d) Este apartado permite varias soluciones. En todas ellas es necesario utilizar una
señal nueva de reloj de baja frecuencia para el parpadeo. En el esquema de la figu-
ra anterior se propone una solución utilizando un biestable. Se puede utilizar, asi-
mismo, una puerta AND de dos entradas, una para el nuevo reloj y otra para la se-
ñal de fin de cuenta (detección del “0”), atacando su salida a la resistencia de base
del transistor.
54
Capítulo 4
Astable y monoestable
Este breve tema sirve de transición entre la electrónica digital combinacional y la se-
cuencial. Se realiza un estudio de los circuitos astables (generador de señal cuadrada)
y monoestable (temporizador). Se toma como base el C.I. 555 donde se aplican los
circuitos y expresiones propuestos por el fabricante.
La bibliografía sobre este tema es relativamente escasa, algunos ejemplos:
• Floyd, Thomas L. (2016) Fundamentos de Sistemas Digitales. 11º ed. Ed. Pearson
Educación. Tema: 7.
• Hermosa, Antonio (2010). Electrónica Digital Fundamental y Programable. 4ª ed.
Marcombo. Apén. 2.
• Gil Sánchez, Luis (1999). Introducción a la Electrónica Digital. Editorial Universitat
Politècnica de València. Tema: 2.
55
Problemas de electrónica digital
56
Astable y monoestable
8. Calcular el valor más aproximado de RA, RB y C del circuito astable con C.I. 555
para que la frecuencia de la señal de salida sea de 1Hz.
57
Problemas de electrónica digital
Soluciones
1. c) Circuito oscilador utilizando una puerta inversora con histéresis y R y C externo.
2. d) C=10 nF equivale a C=0,01µF, luego se toma la segunda línea vertical y se busca el cruce
con la línea de R=1MΩ..
3. d) CT% = tH/ (tH + tL) = 20 ms/ (20 ms + 60 ms) x100 = 25%.
4. a) El C.I. 74HC4538 tiene aplicación específica como monoestable y el 555 tiene varias apli-
caciones, entre ellas también monoestable.
5. c) Los circuitos astable y biestable no necesitan señal de disparo.
6. d) El funcionamiento de basa en la carga y descarga de un condensador a través de una resis-
tencia externa.
7. b) Una vez realizado el disparo al monoestable se mantiene la señal de salida durante el tiem-
po determinado por el valore de C y de R.
8. d) El punto de coordenada C=1μF y f=1Hz pasa cerca de la línea: RA+2RB=1MΩ. El resto
de opciones no coincide la suma de las resistencias.
Problema 4.1
Se desea generar una señale de reloj de frecuen-
cia 100Hz y con un ciclo de trabajo (duty) del
75%. Para ello, utilizaremos el circuito 555 confi-
gurado como astable. En el laboratorio solo se
dispone de condensadores de C=100μF.
Hallar el valor de R1 y R2 del circuito.
Solución
El valor del ciclo de trabajo determinará la relación entre resistencias R1 y R2
R + R2
CT = 1 ⋅100% = 75
R1 + 2 ⋅ R2
R1 + R2 = 0,75 ⋅ ( R1 + 2 ⋅ R2 ) → 0,25 ⋅ R1 = 0,5 ⋅ R2 → R1 = 2 ⋅ R2
58
Astable y monoestable
Problema 4.2
Se pretende diseñar un circuito que, mediante un pulsador P, controle la temporiza-
ción de una lámpara de 12V y 12W de forma que justo en el momento de pulsar P se
encienda durante 7 segundos. No se establecerá otra temporización hasta que no
acabe la que esté en curso. Además, el encendido de la lámpara puede habilitarse o
deshabilitarse mediante un interruptor S. Se pide:
a) Completar el cableado del circuito de la figura.
b) Hallar valores de: Rx (para CX = 100μF), R1MAX (valor máximo de R1) y R2.
Datos del transistor BJT: βsat=50; VBEsat=1V
59
Problemas de electrónica digital
Solución
Al pulsar P se aplica una señal de nivel bajo luego el
circuito monoestable debe activarse por flanco de
bajada. El enunciado indica que debe ser NO redis-
parable. Las conexiones vienen determinadas en
hojas características del dispositivo:
a)
b)
Cálculo de Rx: T = 0,7·Rx·Cx → Rx = T/0,7·Cx=7/0,7·100·10-9 = 1MΩ
Cálculo de R1MAX = VILmax/IILmax=0,8V /1mA = 800KΩ
Cálculo de R2 = (VOHmin-VBE)/IB = (3,98-1)/IB
Ic = P/V = 12/12=1A; IB = Ic/βsat= 1/50= 20mA
R2 = (3,98-1)/20mA = 149Ω
60
Capítulo 5
Biestables
61
Problemas de electrónica digital
a) Indeterminado
b) 0
c) 1
d) Depende del es-
tado previo
3. ¿Cuál de los siguientes cronogramas del biestable J-K con Clear activo a nivel bajo
y reloj activo por flanco de bajada es correcto?
a) b)
Clear Clear
CLK CLK
J J
K K
Q Q
62
Biestables
c) d)
Clear Clear
CLK CLK
J J
K K
Q Q
c) d)
63
Problemas de electrónica digital
c) d)
6. ¿Cuál de los cronogramas de la salida Q del biestable D activo por flanco de subida
con entrada asíncrona Clear es correcto?
a) b)
c) d)
7. ¿Qué tipo de biestable tiene como aplicación inmediata la división por dos de la
frecuencia de la señal de reloj?
a) R-S b) T c) latch D d) D
64
Biestables
Soluciones
1. a) Es un dispositivo asíncrono.
2. c) Al estar J=1, K=0 y entradas asíncronas a 1 se produce un SET cuando llegue
el pulso de reloj.
3. b) Inicialmente la señal de Clear=0 está activada (Q=0), luego los cronogramas
c) y d) no pueden ser correctos. Hasta que Clear esté desactivada no puede ser
Q=1, luego el cronograma a) tampoco es correcto. De esta forma el crono-
grama correcto es b).
4. b) Inicialmente está activada la señal Set asíncrono que ocasiona que la salida
Q=1, luego la gráfica D) no puede ser correcta. En el momento que la señal
de Clear (asíncrona) pasa a nivel bajo la salida Q pasa a nivel bajo, luego no
puede ser correcta la gráfica A). Cuando la señal de Clear vuelve a nivel alto
la salida dependerá de las señales síncronas y el reloj, luego no puede ser co-
rrecta la gráfica C). Por lo tanto, la solución es B).
5. a) La señal asíncrona Set=0 provoca que la salida Q=1 independientemente del
resto de señales síncronas. El cronograma a) es la único que durante este pe-
riodo siempre Q=1.
65
Problemas de electrónica digital
PROBLEMAS DE BIESTABLES
Problema 5.1
Al biestable de la figura se le aplica las señales que se muestran en el cronograma.
Dibujar las trazas de la salida Q
66
Biestables
Solución
Reloj activo por flanco de bajada y Reset activo por nivel bajo. Inicialmente el Reset
está activo, luego la salida Q=0. En el flanco de bajada del pulso nº 2 J=K=0, luego Q
permanece estable (Q=0). En el flanco de bajada del pulso nº 3 J=K=1, luego Q vol-
tea (Q=1). En el flanco de bajada del pulso nº 4 J=K=1, luego Q voltea (Q=0).
Problema 5.2
Al biestable de la figura se le aplica las señales que se muestran en el cronograma.
Dibujar las trazas de la salida Q.
Solución
Biestable con reloj activo por flanco de bajada y Reset y Set asíncronos activos por
nivel bajo. Inicialmente el Reset está activo luego la salida Q=0. En los pulsos 1, 2 y 3
tienen el control del biestable las entradas síncronas J y K según la tabla de funciona-
miento. Cuando la señal de Set=0 la salida Q=1 de forma asíncrona.
67
Problemas de electrónica digital
Problema 5.3
Completa el cronograma correspondiente al circuito formado por biestables JK y D.
Q0 Q1
D D Q J Q
CLK CLK CLK
Q K Q
Cronograma
Solución
Hay que fijarse que en este caso el biestable D es activo por flanco de bajada mientras
que el biestable JK lo es por flanco de subida. Además la señal D coincide con la señal
J del biestable JK y la salida del biestable D (Qo) coincide con la señal K del biestable
JK. Como no hay señales asíncronas el control del biestable lo tienen las entradas
síncronas J-K y D según la tabla de funcionamiento.
68
Biestables
Problema 5.4
A los biestables de la figura se le aplican las señales que se muestran en el cronograma.
Dibujar las trazas de la salida Q1 y Q2, justificando cada una de sus variaciones.
69
Problemas de electrónica digital
Solución
Hay que fijarse que el biestable D es activo por flanco de SUBIDA mientras que el
biestable JK lo es por flanco de BAJADA. Además la salida del biestable D (Q1)
coincide con la señal K del biestable JK. Inicialmente Reset=0 entonces Q1=Q2=0. A
partir del pulso nº 2 el control del biestable lo tienen las entradas síncronas J-K y D
según la tabla de funcionamiento. En el pulso nº 7 Reset vuelve a nivel bajo, luego
Q1=Q2=0.
70
Capítulo 6
Contadores
En este tema se estudian los contadores electrónicos digitales como una aplicación
básica de los biestables. Se analiza el desarrollo de contadores asíncronos realizados
con biestables independientes y los contadores síncronos utilizando dispositivos co-
merciales de contadores.
Es un tema común en los libros de electrónica digital general. Ejemplos:
• Floyd, Thomas L. (2016) Fundamentos de Sistemas Digitales. 11º ed. Pearson Edu-
cación. Tema: 8.
• Tocci, Ronald J. y otros. (2016) Sistemas Digitales: Principios y Aplicaciones. 10ª ed.
Pearson. Tema: 7.
• Roth, Charles H. (2004) Fundamentos de Diseño Lógico. 5ª ed. Paraninfo. Tema: 12.
• Mandado, Enrique; Martín, José Luis. Sistemas Electrónicos Digitales. 10º ed. Mar-
combo. Tema: 4.
• Mano, M. Morris (2016) Diseño Digital. 3ª ed. Pearson. Tema: 6.
• Roth, Charles H. (2004) Fundamentos de Diseño Lógico. 5ª ed. Paraninfo. Tema: 12.
• Hermosa, Antonio (2010). Electrónica Digital Fundamental y Programable. 4ª ed.
Marcombo. Tema: 7.
• Toledo, José Fco.; Esteve, Raúl (2005). Fundamentos de Electrónica Digital. Edito-
rial Universitat Politècnica de València. Tema: 4.
• Gil Sánchez, Luis (1999). Introducción a la Electrónica Digital. Editorial Universitat
Politècnica de València. Tema: 9.
71
Problemas de electrónica digital
72
Contadores
a) 12
b) 9
c) 11
d) 15
73
Problemas de electrónica digital
8. Se conecta tres contadores decimales BCD (74190) de la forma que indica la figura,
la frecuencia de reloj del contador de la derecha es 100 Hz ¿Cuál debe ser la fre-
cuencia del reloj externo (CLOCK)?
a) 1 Hz
b) 100 Hz
c) 1 KHz
d) 10 KHz
Soluciones
1. d) Por ejemplo, el contador binario de 4 bits cuenta desde 0 a 15.
2. a) Biestable J-K con las dos entradas unidas para formar un biestable T y conectada a nivel
alto (H), actúa como divisor de frecuencia por dos.
3. a) Para pasar de 4 (0100) a 5 (0101) solo cambia el bit de menor peso luego no se producen
valores de transición.
4. b) Según la tabla de funcionamiento la carga de entradas en paralelo (Preset) es asíncrona.
Entonces, si se quiere que cuente hasta 8, hay que detectar el número 9 (1001). Por lo tanto,
las entradas de la puerta NAND hay que conectarlas a Q3 y Q0 y cuando estén ambas a ni-
vel alto (9) entonces la salida pasará a nivel bajo ocasionando una carga del contador.
5. c) Las entradas de paralelo D[3..0] deben estar conectadas a 0100 para realizar una carga
del 4.
6. c) De ahí su nombre.
7. c) La puerta NAND está conectada a las salidas Q3 y Q2 del contador, luego detecta el núme-
ro 12 (1100). Como el contador posee el preset (carga) asíncrono, cuando se detecte ese
número se cargara las entradas D[3..0] que están a cero. Entonces el número 12 no llegará
a apreciarse por lo que el último es el 11.
8. d) Conexión de tres contadores decimales en cascada. El contador de la derecha corresponde
a las centenas, luego la frecuencia de reloj debe ser 100 mayor, que actuará sobre el conta-
dor de las unidades.
74
Contadores
PROBLEMAS DE CONTADORES
Problema 6.1
Realizar las conexiones necesarias en el contador BCD de la figura (74160) cuya tabla
de funcionamiento se facilita para que realice la secuencia de conteo: 3, 4, 5, 6 y 7 de
forma cíclica. Utilizar, si es necesario, las puertas lógicas que se consideren oportunas.
Solución
Se desea obtener un contador de 3 a 7. Como la carga en paralelo es síncrona habrá
que detectar el número 7 y entonces realizar una carga 3 (0011) en las entradas de
paralelo. Hará falta la conexión de una puerta NOR de tres entradas.
Problema 6.2
Con el C.I. contador bidireccional BCD 74190 (y otros dispositivos necesarios) realizar
un contador de módulo 10 que realice la cuenta de forma alternativa ascendente y
descendente de forma automática. Es decir que cuando llegue la cuenta al 9, al si-
guiente pulso de reloj, cuente hacia atrás hasta llegar a cero, y en este momento
vuelva a cambiar de sentido volviendo a ascender la cuenta hasta 9, y así sucesiva-
mente.
75
Problemas de electrónica digital
Solución
a) Para indicar el sentido de la cuenta habrá que actuar sobre la entrada D/U del
circuito contador, de forma que cuando D/U= 0 asciende y cuando D/U= 1
desciende.
b) Para saber que ha llegado a fin de cuenta habrá que utilizar la salida RC0 (RC en
el símbolo lógico) del contador, que genera un nivel bajo (L) cuando llega a 9
(ascendente) o a 0 (descendente). En otros casos esta salida es nivel alto (H).
c) Para cambiar el valor de la señal D/U y dejarla fija cuando cambiar el valor de
RCO hará falta un elemento de memoria de 1 bit, que se puede lograr con un
biestable de tipo T con la entrada a nivel alto, donde la salida RCO se conecta a la
entrada de reloj del biestable (activo por flanco de bajada) y la salida Q se conecta
a la entrada D/U del contador. Ver esquema (CE en el símbolo lógico corresponde
a E en el circuito).
76
Contadores
Problema 6.3
Obtener un contador en código Gray de tres bits (G2, G1 y G0) utilizando un circuito
contador binario de tres bits (Q2, Q1 y Q0).
Solución
Hay que determinar el circuito combinacional de salida que relaciona las entradas
Q2, Q1 y Q0 procedentes del contador con las salidas en código Gray (G2, G1 y G0)
Q2 Q1 Q0 G2 G1 G0 Q2 00 01 11 10
Q1
0 0 0 0 0 0 Q0
0 0 0 1 1
0 0 1 0 0 1 1 0 0 1 1
0 1 0 0 1 1 G2=Q2
Q2 Q1 00 01 11 10
0 1 1 0 1 0 Q0
0 0 1 0 1
1 0 0 1 1 0
1 0 1 0 1
1 0 1 1 1 1 1= 2∙ 1+ 2∙ 1= 2⊕ 1
1 1 0 1 0 1 Q2 00 01 11 10
Q1
1 1 1 1 0 0 Q0
0 0 1 1 0
1 1 0 0 1
0 =∙ 1 ∙ 0 + 1 ∙ 0 = 1⨁ 0
77
Problemas de electrónica digital
Problema 6.4
Diseñar el circuito de control de un semáforo cuya secuencia de encendido “1” y apa-
gado “0” de las luces roja, amarilla y verde (R, A, V) se indican en la siguiente tabla de
verdad.
Diseñar el circuito de control de un semáforo cuya secuencia de encendido “1” y apa-
gado “0” de las luces roja, amarilla y verde (R, A, V) se indican en la siguiente tabla de
verdad.
El circuito estará formado por un contador binario
de 4 bits (Q3, Q2, Q1, Q0) y puertas lógicas que
actúen como decodificador de las tres luces (R, A, V)
a partir de las salidas del contador (Q).
A partir de la tabla de verdad dada,
1. Obtener las ecuaciones lógicas simplificadas de
las funciones R, A y V.
2. Dibujar circuito lógico completo y comprobar
funcionamiento.
78
Contadores
Solución
R A
Q3Q2 00 01 11 10 Q3Q2 00 01 11 10
Q1Q0 Q1Q0
00 0 0 1 0 00 0 0 0 1
01 0 0 1 0 01 0 0 0 1
11 0 0 1 1 11 0 1 0 0
10 0 0 1 1 10 0 1 0 0
= 3∙ 2+ 3∙ 1 = 3∙ 2∙ 1+ 3∙ 2∙ 1
: = 3 ∙ 2 + 3 ∙ 1
Circuito completo
Problema 6.5
Se desea obtener un circuito electrónico que realice el rellenado al azar de quinielas
(1 X 2), pero de forma que, la opción “1” tenga el doble de posibilidades de salir que la
“X” y el “2”. Las opciones “X” y “2” deben de tener las mismas posibilidades. El circui-
to utiliza el C.I. contador 74LS190 y las puertas lógicas necesarias. Completar todas las
conexiones de la siguiente figura.
79
Problemas de electrónica digital
Solución
= 0 = 0∙ 1 DOS= 0 ∙ 1
80
Capítulo 7
Registros de
desplazamiento
81
Problemas de electrónica digital
a) S1
b) S0
c) CP
d) MR
Fuente: 74LS194 de Philips Semiconductors
82
Registros de desplazamiento
a) PE b) CE c) Ds d) D0-D7
83
Problemas de electrónica digital
Soluciones
1. d) Cuando la señal MR=L las salidas Q pasan a nivel bajo (L) independiente-
mente del estado del resto de las señales de entrada.
2. a) Primero la carga de entradas en paralelo (S1=1 y S0=1) y luego desplaza-
miento de la información de las salidas hacia izquierda (S1=1 y S0=0).
3. a) Al realimentar la salida del último biestable (Q3) con la entrada serie del
primero cada n pulsos de reloj vuelve a empezar la secuencia.
4. b) Hay que realizar una realimentación entre el último biestable (Q3) y la entra-
da serie (DSR) para desplazamiento a la derecha.
5. c) Permite la conversión de paralelo a serie.
6. b) Cuando CE=h se produce el mantenimiento “hold” de las salidas sin importar
el estado del resto de la entradas.
7. d) La señal CP (reloj) de este dispositivo actúa por flanco de subida ( ↑).
Problema 7.1
Se desea implementar un convertidor paralelo-serie de 8 bits. Para ello se utilizan dos
registros de desplazamiento de 4 bits (74194) cuya tabla de funcionamiento es la
siguiente:
84
Registros de desplazamiento
Se pide:
a) Terminar de cablear el circuito para que cumpla con el modo de funcionamiento
planteado teniendo en cuenta que en la entrada del dispositivo U1 se establecen
los valores D0,D1,D2,D3 = ‘0001’ y en la entrada de U2 se establecen los valores
D0,D1,D2,D3 = ‘1001’.
CLK
MR
S0
S1
Salida
85
Problemas de electrónica digital
Solución
a) Para obtener un registro de desplazamiento de 8 bits mediante dos registros de 4
bits la salida Q3 del primer circuito (U1) se conecta a la entrada serie por la de-
recha (SR) del segundo circuito (U2).
La salida serie del registro total se realizará por el pin Q3 del circuito U2.
Para lograr D0,D1,D2,D3 = ‘0001’ y D0,D1,D2,D3 = ‘1001’ se conectan los pi-
nes correspondientes de U1 y U2 a masa cuando sea el valor lógico sea 0 y Vcc
cuando el valor lógico sea 1.
86
Registros de desplazamiento
Problema 7.2
Teniendo en cuenta el circuito de la figura y
la tabla de verdad del registro de despla-
zamiento universal 74LS194.
CLK
S0
U1:Q0
87
Problemas de electrónica digital
Solución
a) La salida Q0 del circuito U2 está conectado a la entrada serie hacia la izquierda
(SL= del circuito U1). Luego es un registro de desplazamiento de entrada parale-
lo-salida serie de 8 bits con desplazamiento a la izquierda.
Entradas de Control: S1 fija a Vcc luego solo hay dos posibilidades:
S1-S0=11 Carga Paralelo.
S1-S0=10 Desplazamiento Serie a la izquierda.
88
Capítulo 8
Máquinas de estado
En este tema se desarrollan las máquinas de estados finitos para obtener cualquier
sistema secuencial síncrono. En los problemas se plantea el diseño de un circuito elec-
trónico a través de unas especificaciones en donde hay que obtener un diagrama de
estados (de tipo Moore o Mealy) y en ocasiones también el circuito digital que lo im-
plementa. Para realizar esta tarea se utiliza el software educativo Boole-Deusto
(http://weblab.deusto.es/website/boole_deusto.html).
Una de las originalidades de esta publicación es la proliferación de problemas sobre
diseño de máquina de estados, que no es demasiado habitual en los libros de electró-
nica digital.
• Mandado, Enrique; Martín, Jose Luis. Sistemas Electrónicos Digitales. 10º ed.
Marcombo. Tema: 4.
• Mano, M. Morris (2016). Diseño Digital. 3ª ed. Pearson. Tema: 5.
• Roth, Charles H. (2004). Fundamentos de Diseño Lógico. 5ª ed. Paraninfo. Te-
mas: 13, 14, 15 y 16.
• Hermosa, Antonio (2010). Electrónica Digital Fundamental y Programable. 4ª
ed. Marcombo. Temas: 7 y 8.
• Toledo, José Fco.; Esteve, Raúl (2005). Fundamentos de Electrónica Digital. Edi-
torial Universitat Politècnica de València. Tema: 5.
• Gil Sánchez, Luis (1999). Introducción a la Electrónica Digital. Editorial Universi-
tat Politècnica de València. Tema: 10.
89
Problemas de electrónica digital
3. Según la tabla de excitación del biestable J-K, si salida Q = 1 y se desea que al si-
guiente pulso de reloj permanezca Q = 1 es necesario que:
a) J=0 y K=0
b) J=1 y K=0
c) J indiferente y K=0
d) No se puede lograr esta opción
90
Máquinas de estado
91
Problemas de electrónica digital
Soluciones
1. a) Es la definición de máquina de Mealy.
2. b) Número máximo de estados con 4 biestables: 24=16.
3. c) Tercera opción de la tabla de excitación.
4. c) El doble del número de entradas (para valor 0 y para valor 1).
5. c) Cada estado de una máquina de Moore tienen asignado unas salidas (por ello se
dibujan dentro del círculos) y por cada entrada se dibujan dos flechas (para va-
lor 0 y para valor 1).
6. a) Todos los estados tienen distinta combinación de salidas luego no puede haber
estados equivalentes.
7. d) El resto de opciones de la pregunta no es motivo de error en un diagrama de
estados.
8. b) Q0 y Q1 tienen las mismas salidas (01) y el destino de las flechas es el mismo
para cada valor de la entrada, (cuando es 0 el destino es Q1 y cuando es 1 el
destino es Q3).
9. b) Para implementar cuatro estados hacen falta dos biestables.
10. d) El resto de opciones son ciertas, pero no son errores del diagrama de estados.
92
Máquinas de estado
Solución
Diagrama de estados (Moore). Una entrada (P), tres salidas (ABC)
93
Problemas de electrónica digital
El circuito digital utilizando biestables J-K resulta más simple que si se utiliza biesta-
bles de tipo D.
Problema 8.2
Diseñar un sistema secuencial síncrono para controlar un indicador luminoso intermi-
tente con dos lamparitas (L1 y L0) que pueden funcionar de dos maneras según una
entrada de control ( C).
Si C = 0 el encendido y apagado de las luces es simultaneo según el diagrama.
Si C = 1 el encendido y apagado de las luces es alternativo según el diagrama.
Una vez empezado el un ciclo de periodo T debe acabarse, aunque se cambie el valor
de la entrada C.
L1
C=0 t
L0
CLK
L1 t
T
C L0
L1
t
C=1
L0
t
T
94
Máquinas de estado
Solución
• Se parte de un estado inicial (E0) en que ambos ciclos tienes las dos salidas a
nivel bajo.
• Cuando C=0 el ciclo posee el nivel alto una duración doble que el nivel bajo por
que se necesitan dos estados (E3 y E4) con las mismas salidas.
J0=(~q2*~q1) D0=(~q2*~q1*~q0)
K0=(1) D1=(~C*~q2*~q1)+(~q1*q0)
J1=(~C*~q2)+(q0) D2=(q1*q0)
K1=(1) Salidas
J2=(q1*q0) L0=(q1)+(q2)
K2=(1) L1=(q0)+(q2)
95
Problemas de electrónica digital
Problema 8.3
Obtener un generador de señal cuadrada en donde la relación entre el tiempo a nivel
alto (H) y a nivel bajo (L) sea programable por medio de una señal de control (C).
Las dos opciones de la forma de señal de salida (SAL) queda indicada en el siguiente
diagrama de tiempos:
CLK
C
SAL
CIRCUITO
A C=0
DISEÑAR
CLK SAL
C=1
Solo se permite el cambio de tipo de ciclo cuando la salida esté a nivel bajo (L). Utilizar
máquina de Moore. Utilizar el circuito con biestables J-K
96
Máquinas de estado
Solución
Se parte de un estado inicial (E0) en que ambos ciclos tienes las dos salidas a nivel
bajo.
Se necesitan solo tres estados (dos biestables).
97
Problemas de electrónica digital
Problema 8.4
Diseñar un generador de señal cuadrada (SAL) para el control PWM de un motor, en
donde la relación entre el tiempo en nivel alto (H) y el nivel bajo (L) es programable
por medio de dos entradas de control C1 y C0, según el siguiente diagrama de tiem-
pos (4 opciones):
CLK
C1 00
SAL
C0 CIRCUITO 01
A
DISEÑAR
CLK C1,C0 10
11
Solo se permite el cambio de tipo de ciclo cuando la salida esté a nivel bajo (L).
Utilizar máquina de Moore. Utilizar el circuito con biestables J-K.
Solución
El estado inicial (E0) es común para los cuatro ciclos porque en todos ellos la salida
está a nivel bajo.
Según la combinación de entradas el sistema entra en un ciclo que no sale hasta que
vuelve al estado inicial (combinación XX).
98
Máquinas de estado
A su vez, los estados E2 y E5 también son equivalentes entre sí porque tienen la misma
salida (1) y el mismo destino (porque al ser E3 y E6 equivalentes se han reducido a
uno solo). Luego finalmente se obtiene un diagrama con solo cuatro estados.
Ecuaciones:
J0=q1+C0
K0=1
J1=C1·q0’
K1=q0’
SAL=q0+q1
99
Problemas de electrónica digital
Problema 8.5
Diseñar un circuito secuencial síncrono tal que al pulsar en P (P=”1”) encienda un LED
con la siguiente secuencia:
• 8 segundos el LED encendido.
• 1 segundo apagado.
• 1 segundo encendido.
• Se apaga el LED y queda a la espera de una nueva pulsación de “P”.
Notas
Utilizar una señal de reloj de 1seg. de periodo.
Mantener P en “1” hasta que se encienda el LED.
Solución
Dos opciones de diseño:
a) Utilizar solo una máquina de estados
100
Máquinas de estado
Se obtiene una máquina de estados demasiado grande para realizar una tarea muy
sencilla (solo tiene una entrada y una salida). Posee 11 estados por lo que se necesitan
4 biestables. Pero se observa que casi toda la tarea consiste en obtener un contador de
ocho, luego puede ser conveniente utilizar para esta tarea un contador comercial y
obtener un sistema mixto (máquina estados y contador)
b) Combinación de máquina de estados + circuito contador (74161)
• Cuando se pulse la entrada P se pone en marcha un circuito contador (IC)
que cuenta hasta 8 (1000).
• Cuando llega a este número (8) se utiliza una salida del contador (Q3) que
indica fin de cuenta y sirva para activar una entrada del diagrama de esta-
dos que bloquee la cuenta y apague el LED.
• Otro estado vuelva a encender el LED (y permanezca el contador bloqueado).
• Vuelta al estado inicial (LED apagado).
Nueva máquina de estados. Se añade una entrada más (inicio de cuenta) y una salida
más (fin de cuenta). Por lo tanto, posee dos entradas y dos salidas:
101
Problemas de electrónica digital
Problema 8.6
Diseñar el CIRCUITO DE CONTROL para el arranque y paro de un motor por medio de
dos pulsadores (P1 y P2) de forma que, el primer pulsador actúa como interruptor
general y el segundo pone en marcha el motor (M). El pulsador P1 servirá, además
para parar el motor.
El proceso de arranque y paro será el siguiente:
- Al presionar P1 se enciende un LED rojo.
- Si después de pulsa P2, el motor (M) entra en funcionamiento, se enciende un
LED verde y se apaga el LED rojo.
- El motor se detendrá si se pulsa de nuevo P1, con lo cual también se apagará el
LED verde.
102
Máquinas de estado
Nota: tener en cuenta que el mismo pulsador (P1) sirve para parar el motor y para
volver a iniciar el sistema de arranque.
Solución
El estado E3 hay que ponerlo para esperar a que se suelte P1. Sino al pulsar P2 en E2
se pararía rápidamente a E3 y a E0.
103
Problemas de electrónica digital
1) Expresiones simplificadas
Utilizando el programa Boole-Deusto se obtienen las siguientes expresiones simpli-
ficadas del circuito.
Biestable JK Biestable D
J0=(P1) D0=(~P2*~q1*q0)+(P1*~q0)+(P1*q1)
K0=(P2*~q1)+(~P1*q1) D1=(q1*~q0)+(P1*q1)+(P2*~q1*q0)
J1=(P2*q0)
K1=(~P1*q0)
LR=(~q1*q0)
LV=(q1)
M=(q1)
Problema 8.7
Obtener el diagrama de estados de un sistema secuencial síncrono para controlar
unas luces intermitentes con dos lamparitas (L1 y L0) que pueden funcionar de distin-
ta forma según la posición de una entrada de control C de la siguiente forma:
Si C=0 -> L1 y L0 parpadean de forma simultánea (periodo encendido y apagado igua-
les).
Si C=1 -> L1 y L0 parpadean de forma alternativa (periodo encendido y apagado igua-
les).
104
Máquinas de estado
Solución
a) Máquina de Moore
Una entrada C y dos salidas (L1 y L0).
Cuatro estados para cada una de las cua-
tro combinaciones de encendido de las
luces.
Se forman dos bucles, uno para C=0 y otro
para C=1. Cada vez que C cambia de valor
se cambia de bucle
b) Máquina de Mealy
Como las salidas no van asiganadas a un
estado solo son necesarios dos estados
formando siempre un bucle entre ello pero
en función del valor de la entrada va cam-
biando el valor de las salidas.
105
Problemas de electrónica digital
c) Máquina de Moore
De forma similar al apartado a), la má-
quina tiene cuatro estados para cada una
de las cuatro combinaciones de salida.
Pero ahora tiene dos entradas por lo que
hay cuatro combinaciones de entrada.
En caso de C1=C0=0 la máquina se blo-
quea en estado E0 (salidas 00). En caso de
C1=C0=1 la maquina se bloquea en en el
estado E3 (salidas 11).
De cada estado salen cuatro flechas para
cada una de las combinaciones de entra-
das.
Máquina de Mealy
De forma similar al apartado b) solo son necesarios dos estados. Ahora se forma un
bucle cerrado con luces encendidas fijas (11) y otro para luces apagadas fijas (00)
Problema 8.8
Se desea obtener un circuito electrónico síncrono para activar tres lámparas (A, B, y C)
de manera que solo una de ellas esté encendida al mismo tiempo y el encendido varíe
en forma de vaivén, es decir siguiendo la secuencia:
100 -> 010 -> 001 -> 010 -> 100 -> 010 etc. (contador en “anillo” alternativo)
Dos casos:
a) El tiempo de encendido es igual para las tres lámparas.
b) El circuito posee otra entrada de control de tiempo (T) de manera que:
T = 0 el tiempo encendido de la lámpara A y C es el doble que la de B
T = 1 el tiempo de encendido de las tres lámparas es el mismo.
106
Máquinas de estado
Solución
• Hay que tener presente que debe haber dos estados con las salidas 010, uno para
cada sentido de la secuencia, luego hace falta cuatro estados.
• La máquina de estados no tiene entradas, la secuencia es fija
b)
• Máquina de estado con una entradas (T) y tres salidas (A,B,C).
• Cuando T=0 la máquina pasa por dos estados con la misma combinación de sa-
lidas (100 y 001) y cuando T=1 solo por un estado con estas combinaciones de
salida. En ambos casos, son necesarios dos estados con la combinación 010,
uno para la ida y otro para la vuelta.
107
Problemas de electrónica digital
Problema 8.9
Un sistema secuencia síncrono está formado por una entrada de datos en serie (X),
una entrada de reloj que permite la entrada de datos y unas salidas. Se desea obtener
la suma de los dos últimos bits que han entrado por el termina de entrada de datos
(X) a cada pulso de la entrada de reloj (CLK). Realizar el diagrama de estados del sis-
tema secuencial síncrono.
b) Modificar el diagrama para que el valor de la salida sea la suma del bit presente en
X más el anterior.
XT-1: Dato en X en el pulso anterior.
XT-2 : Dato en X dos pulsos anteriores.
Solución
Máquina de Moore
Como el número máximo es dos necesitamos dos salidas. Máquina de estados con una
entrada (X) y dos salida: SAL1 y SAL0.
108
Máquinas de estado
Mealy. Es la suma del número anterior con el actual en X. Solo se precisan dos estados.
Problema 8.10
Mediante el circuito de la figura se pretende controlar un semáforo. Se utiliza para
ello:
Una señal de reloj de 1 segundo.
Un contador síncrono decimal (BCD) 74LS191.
Un circuito secuencial a diseñar.
El circuito secuencial realizará el control de cada uno de los estados del semáforo. La
secuencia cíclica y la temporización de cada uno de los colores Rojo (R), Amarillo (A) y
Verde (V) son las siguientes:
Verde (18 segundos) -> Amarillo (1 segundo) -> Rojo (9 segundos)
Circuito Secuencial
Entradas Salidas
FC R A V CE
(Final de Cuenta) (Rojo) (Amarillo) (Verde) (Habilitación)
109
Problemas de electrónica digital
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
CP
FC
PL
b) Implementar el diagrama de estados MOORE del circuito secuencial. Para las sali-
das utiliza el mismo orden que el descrito en la tabla anterior, es decir: R, A, V y PL.
Solución
a) La señal FC (fin de cuenta) se activa a nivel alto cuando Q3=1, es decir en la
cuenta del número 8.
La señal PL (Parallel Load) se activa a nivel bajo (puerta NAND) cuando Q3=1 y
Q0=0, es decir en la cuenta número 9. Esta señal provocará una carga asíncrona
de las entradas en paralelo que está conectadas a masa. Esta señal equivale a un
reset que hace desactivar la puerta NAND y hace que el contador cuente hasta 9.
110
Máquinas de estado
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
CP
FC
PL
b) Cada estado tiene cuatro salidas (Rojo, Amarillo, Verde, CE) y una entrada FC. La
entrada servirá para mantener mediante un bucle el estado activo durante 8 segun-
dos.
La máquina de estados está formada por cuatro estados, dos para la luz verde, uno
para la amarilla y otro para la luz roja.
El estado de la luz amarilla (E2) no tiene bucle, solo está un segundo en ella y la
salida CE=1 para que el contador no cuente (HOLD).
Problema 8.11
Dibuja un diagrama de estados tipo MOORE de un circuito secuencial síncrono que
controle el proceso de secado de piezas industriales.
El proceso es el siguiente:
• El operario deposita la pieza dentro del radio de acción del detector A.
• Entonces, la cinta transportadora se pondrá en marcha desplazando la pieza
hacia la derecha dirigiéndose hacia la cámara climática.
• Cuando el detector B detecte la pieza (dentro de la cámara climática) la cinta se
parará y se pondrá en marcha la cámara comenzando el proceso de secado.
111
Problemas de electrónica digital
Cámara
Climática
Pieza a secar
Sensor Tª
Motor
Detector A Detector B
Resumen de los elementos. (Utiliza este orden para diseñar el diagrama de estado)
Entradas Salidas
DA DB ST MD MI CC
Sensor de Motor a Motor a Cámara
Detector A Detector B
Temperatura derechas izquierdas climática
• El motor puede girar a derechas o a izquierdas. Para ello se utilizan dos líneas
diferentes (MD y MI). El nivel de activación es por nivel alto.
• El nivel de activación de la cámara es por nivel alto.
• Los detectores proporcionan un nivel alto cuando la pieza entra dentro de su
radio de acción.
• El sensor de temperatura proporciona un nivel alto cuando se alcanza la tem-
peratura programada.
112
Máquinas de estado
Solución
Máquina de estados con tres entradas (DA, DB y CC) y tres
salidas (MD, MI y CC)
E0: estado inicial. Sistema parado. Cuando DA se activa
pasa a estado siguiente.
E1: cinta transportadora en marcha hacia la derecha.
Cuando detecta DB se pasa a estado siguiente.
E2: cinta parada y cámara climática en marcha. Cuando sensor temperatura detecta
la temperatura programada pasa al estado siguiente.
E3: Cámara climática apagada. Cinta transportadora en marcha hacia la izquierda.
Cuando se vuelva a activar el detector A pasa al estado Q0 (estado inicial).
Problema 8.12
Se desea realizar el control de un proceso de secado por infrarrojos de objetos que
llegan a una cámara en una cinta transportadora. El esquema del proceso se muestra
en la siguiente figura:
113
Problemas de electrónica digital
El funcionamiento es el siguiente:
1.- Un operario sitúa el objeto en la posición “A”. Al pulsar el botón “P” el motor “M”
(M=1) se pone en movimiento hacia la derecha en dirección a la Cámara de secado
(D/I=1).
2.- Cuando el objeto llega al final de carrera “Int”, se detiene el motor (M=0) y activa
con una señal “ON” la emisión infrarroja de la cámara. El tiempo de emisión es
controlado por un reloj (anexo al sistema) que proporciona la señal “OFF” a nivel
alto al finalizar el tiempo de radiación.
3.- Una vez finalizado el secado, el motor se pone otra vez en movimiento en sentido
contrario (D/I=0) para detenerse al interrumpir la barrera fotoeléctrica “F” (F=0).
NOTA: las situaciones del proceso no definidas en los puntos anteriores, se definirán
según libre criterio del alumno.
Se pide:
Realizar una tabla de variables, siguiendo el ejemplo:
Nombre de variable Tipo Descripción Actividad
P entrada Pulsador Pulsador = “1”
M salida Motor En marcha M=”1”
114
Máquinas de estado
115
Capítulo 9
Memorias
117
Problemas de electrónica digital
118
Memorias
a) 8
b) 10
c) 16
d) 20
119
Problemas de electrónica digital
11. Cuándo una memoria no está seleccionada a través del terminal de CS (Chip
Select), ¿Cómo se encuentran sus salidas?
a) A nivel Alto.
b) A nivel Bajo.
c) En alta impedancia.
d) Indeterminadas.
120
Memorias
Soluciones
1) a) DRAM almacena la información por medio de la carga de condensadores
internos.
2) b) El resto son memorias RAM, luego son volátiles.
3) d) 214=16384=16Kbytes.
4) c) 211=2048
5) c) El circuito es un duplicador del tamaño de la palabra de la memoria, luego
2∙n=2x8=16.
6) b) Circuito de recarga de los diminutos condenadores que forman celda de me-
moria.
7) c) UVPROM: Ultra Violet PROM (solo borrar).
8) b) EEPROM: Electrical Erase PROM.
9) a) Memorias Flash son memorias no volátiles de alta capacidad.
10) d) Diez entradas de dirección (A9 a A0). 210=1024. Tamaño palabra 4 bits (I/O3
a I/O0).
11) c) Para desconectarse con bus de salida.
121
Capítulo 10
Dispositivos lógicos
programables
123
Problemas de electrónica digital
124
Dispositivos lógicos programables
A a) F = A⋅ B ⋅ C
B b) F = A⋅ B ⋅ C + B ⋅ C
C c) F = A⋅ B ⋅C + A⋅ B ⋅C
d) F = A⋅ B ⋅C + A⋅ B ⋅C
F
4. ¿Cuál de los siguientes dispositivos programables posee una estructura interna más
compleja?
a) FPGA
b) CPLD
c) PAL22V10
d) PAL16L8
125
Problemas de electrónica digital
7. Según el esquema de la PAL de la figura, ¿Cómo pueden ser las salidas, combinacio-
nales o secuenciales?
a) Solo combinacional.
b) Solo secuencial.
c) Cada salida se puede con-
figurar como secuencial o
como combinacional.
d) La mitad de las salidas
combinacional y la otra
mitad secuencial.
8. ¿Cómo se denomina el formato del fichero necesario para grabar las conexiones de
una PAL (GAL22V10)?
a) Intel HEX (*.HEX).
b) JEDEC (*.JED).
c) Ensamblador (*.ASM).
d) Motorola S19.
a) 1 b) 6 c) Ninguna d) 32
126
Dispositivos lógicos programables
LENGUAJE VHDL
10. ¿Cuantos terminales de entrada y salida posee en total el circuito que tiene la si-
guiente expresión en VHDL?
ENTITY comparador IS
PORT (A,B: IN std_logic_vector (3 Downto 0);
igual, mayor, menor: OUT std_logic);
END comparador;
11. En VHDL, ¿cómo se denomina a la sección que describe las entradas y salidas de un
dispositivo?
a) Entity
b) Architecture
c) PORT
d) Library
12. En VHDL ¿Con qué sentencia se indica que una señal actúa con un reloj activo por
flanco de BAJADA?
a) Clock DOWN.
b) Clock = ‘0’.
c) Clock’EVENT AND Clock=’1’.
d) Clock’EVENT AND Clock=’0’.
127
Problemas de electrónica digital
13. ¿Cuantos terminales de entrada y de salida posee en total el circuito que tiene la
siguiente expresión en VHDL?
port a) Una entradas y dos salida
(w: in std_logic_vector (3 downto 0);
b) Tres entradas y una salida
y: out std_logic_vector (1 downto 0);
z: out std_logic); c) Tres entradas y dos salida
d) Cuatro entradas y tres salidas
14. ¿Qué valores puede tomar cada entrada y salida del programa VHDL de la pregunta
anterior (std_logic)?
a) TRUE, FALSE.
b) Enteros -(231) hasta +(231 - 1).
c) Números en coma flotante.
d) '0', '1' 'U' = no inicializado, 'X' = desconocido, 'Z' = flotante, '-' = no importa.
128
Dispositivos lógicos programables
Soluciones
1. b) En el funcionamiento de las PAL no hay programa que se esté ejecutando en su
interior.
2. a) El caso contrario corresponde a las memorias.
3. b) Hay que fijarse en las conexiones que permanecen integras de la matriz AND.
4. a) FPGA (Field Programmable Gate Array).
5. d) La letra V significa Versatil (programable).
6. d) El último número significa el número de salidas máximas.
7. d) Tiene cuatro salidas combinacionales y cuatro registradas (con biestables).
8. b) El resto de opciones corresponden a formatos para memorias o microcontrola-
dores.
9. d) Número de líneas que lo cruza (0 a 31).
10. d) Dos vectores de cuatro entradas cada uno y tres salidas simples.
11. a) Es el primer bloque de un programa VHDL.
12. d) El evento pasa a valor 0.
13. d) Un vector de entrada de 4 bits, un vector de salida de dos bits más una salida
simple.
14. d) Tiene que estar incorporada la sentencia: use ieee.std_logic_1164.all;
15. a) Actúa como una señal parcial.
16. d) No se cumple ninguna de las condiciones y se sale del bloque “process” dejan-
do la salida Q como estaba.
129
Problemas de electrónica digital
Problema 10.1.
A partir del siguiente programa fuente de VHDL contestar a las siguientes preguntas:
library ieee;
use ieee.std_logic_1164.all; a) Dibujar un bloque del circuito,
indicando todas las entradas y
salidas. ¿Qué tipo de circuito
ENTITY circuito IS
digital implementa?
PORT (reloj, reset : in std_logic;
b) Dibuja un posible diagrama de
sal : out std_logic_vector(2 downto 0));
estados del circuito
END circuito;
c) ¿El reset es síncrono o asín-
crono? ¿Por qué?
ARCHITECTURE arq_circuito OF circuito IS
d) ¿Cuándo es activa la señal de
BEGIN
reloj? ¿Qué sucede al circuito
PROCESS (reloj) si no hay señal activa de reloj?
BEGIN
IF (reloj 'EVENT AND reloj ='1') THEN
IF reset='0 ' THEN sal <='0 ';
ELSIF sal < 6 THEN sal <= sal + 1;
ELSE sal <= 1;
END IF;
END IF;
END PROCESS;
END arq_circuito;
130
Dispositivos lógicos programables
Solución
a)
b)
Problema 10.2
Se desea diseñar el sistema de control de monedas de una máquina expendedora que
admite monedas de 10, 20 y 50 céntimos de euro. El bloque electrónico tiene tres en-
tradas que indica si se ha introducido una de las monedas válidas: la entrada D indica si
ha sido de 10 céntimos, la V de veinte y la C de cincuenta. Solo una de las tres entradas
puede estar activa en un instante dado. La salida del bloque debe ser un bus de datos
con el valor binario de la moneda que ha sido introducida.
131
Problemas de electrónica digital
Solución
Programa del sistema diseñado en lenguaje VHDL
library ieee;
use ieee.std_logic_1164.all;
Entity moneda is
port ( d, v, c : in std_logic ;
valor: out integer range 0 to 50);
end moneda;
Problema 10.3
Diseñar un sistema de control de temperatura que tenga tres salidas independientes
conectadas a un led cada una. La entrada al sistema de control es un bus de datos de 4
bits procedente de un convertidor analógico-digital encargado de convertir el valor
analógico de temperatura de un sensor a un valor binario de 4 bits. El sistema debe
responder de tal forma que si la señal de entrada esta entre 0000 y 1000 se activará una
de las salidas correspondientes al estado “Frio”, si el valor se encuentra entre 1001 y
1010 se activará la salida del estado “Templado” y por último entre 1011 y 1111 se acti-
vará la salida del estado “Calor”.
132
Dispositivos lógicos programables
Solución
Programa del sistema diseñado en lenguaje VHDL
library ieee;
use ieee.std_logic_1164.all;
entity sistema is
port ( dig_val : in integer range 0 to 15;
frio, templ, calor : out bit);
end sistema;
Problema 10.4
Diseñar el control de un teclado 3x4 con visualización de la tecla pulsada mediante un
display de 7 segmentos codificada en BCD.
El sistema se basa en utilizar un contador en anillo de 4 bits conectado a las filas del
teclado funcionando a una frecuencia suficientemente alta para que al pulsar cualquier
tecla ésta sea leída utilizando las columnas del teclado. El sistema responde, por ejem-
plo, a la secuencia del siguiente esquema:
133
Problemas de electrónica digital
134
Dispositivos lógicos programables
El sistema tiene una entrada de inicialización (IR) y un reloj (CLOCK) para el control de
velocidad del contador en anillo. Para el control del teclado se tendrán 4 salidas de con-
trol de las filas (L[0..3]) y 3 entradas para el control de las columnas (C[0..2]). Por último,
posee 4 salidas en BCD para conectar al display de 7 segmentos. Se necesita una señal
interna (Pulse) que indique si se ha pulsado alguna tecla.
De esta forma el código en VHDL se dividirá en dos bloques: uno el contador en anillo y
otro el decodificador. El contador en anillo tiene como entrada el reloj de control y co-
mo salidas las L[0..3] y el decodificador tiene como entradas L[0..3] y C[0..2] y como
salida el código BCD.
135
Problemas de electrónica digital
Solución
a) El flujograma del programa se muestra a continuación donde PULSE es la señal que
indica si se ha pulsado o no una tecla y DECO es el valor conjunto de las filas más las
columnas.
136
Dispositivos lógicos programables
library ieee;
use ieee.std_logic_1164.all;
ENTITY ring IS
PORT(clk, ir: IN std_logic;
C : in std_logic_vector(2 downto 0);
Q : OUT std_logic_VECTOR(3 DOWNTO 0);
L : INOUT std_logic_VECTOR(3 DOWNTO 0));
END ring;
137
Problemas de electrónica digital
Problema 10.5
Diseñar un control de un motor paso a paso bipolar con una entrada de reloj que con-
trole los pasos del motor y una entrada de control del sentido de giro (C). Se utilizará
solamente el funcionamiento “Full-step” cuya secuencia es la siguiente (entradas al
motor ABCD): 1010-1001-0101-0110.
Solución
Se deberá diseñar un contador en VHDL que siga la siguiente secuencia:
138
Dispositivos lógicos programables
ENTITY counter IS
PORT (clock, c: in std_logic;
q : inout std_logic_vector(3 downto 0));
END counter;
139
Problemas de electrónica digital
Circuito completo
Problema 10.6
Diseñar un control de un motor paso a paso bipolar cuyo movimiento sigue la posición
de un codificador (encoder 25LB10-Q) incremental mecánico. Un codificador incremen-
tal, es un codificador que determina el ángulo de posición por medio de conteos incre-
mentales. Esto significa que el codificador incremental proporciona una posición estra-
tégica desde donde la cuenta se iniciará siempre. La posición actual del codificador es
incremental en comparación con la última posición registrada por el sensor. Los codifi-
cadores incrementales generan un número exactamente definido de impulsos por revo-
lución. Estos indican la medida de la distancia angular y lineal recorrida. Debido al cam-
bio de fase entre las señales A y B (aproximadamente 90 grados), la dirección de
rotación. El 25LB10-Q es de 36 posiciones en pasos de 10º.
El sistema se debe diseñar en base a una máquina de estados tipo Moore, con la entra-
da de reloj, las dos entradas procedentes del codificador y cuatro salidas para controlar
el motor en el modo “full-step”.
140
Dispositivos lógicos programables
Solución
El diagrama de estados de la máquina tipo Moore es el siguiente:
141
Problemas de electrónica digital
library ieee;
use ieee.std_logic_1164.all;
ENTITY counter IS
PORT (clock,rst: in std_logic;
direction: in std_logic_vector (1 downto 0);
q : out std_logic_vector(3 downto 0));
END counter;
BEGIN
PROCESS(clock,rst)
BEGIN
if rising_edge(clock) then
If (rst = '0') then state <= Q0; q <="0110";
else
CASE state IS
WHEN Q0 => q <="0110";
if direction="01" then state<=Q1;
elsif direction="10" then state<=Q3;
else state<=Q0;
end if;
WHEN Q1 => q <="1010";
if direction="11" then state<=Q2;
elsif direction="00" then state<=Q0;
else state<=Q1;
end if;
WHEN Q2 => q <="1001";
if direction="10" then state<=Q3;
elsif direction="01" then state<=Q1;
else state<=Q2;
end if;
WHEN Q3 => q <="0101";
if direction="00" then state<=Q0;
elsif direction="11" then state<=Q2;
else state<=Q3;
end if;
END CASE;
END IF;
END IF;
END PROCESS;
END counter_a;
142
Dispositivos lógicos programables
Circuito Completo:
Problema 10.7
Se desea diseñar un sistema que guarde un número de código. El número está formado
por 4 cifras y será introducido usando un teclado matricial 3x4. Las cifras se mantendrán
en las primeras cuatro direcciones de una SRAM. La introducción del código comenzará
con la tecla (*) y terminará con la tecla (#). Se utilizará la RAM estática 6116 CMOS. Por
simplificar el diseño el código no debe tener dos cifras iguales consecutivas, por ejem-
plo, 5544 pero si en distinta posición como 5454. Utilizar una máquina de estados tipos
Moore para obtener el sistema de control. El valor de la tecla pulsada viene dado en
BCD. Las características de la memoria 6116 son las siguientes:
Fuente IDT
143
Problemas de electrónica digital
Solución
Solo interesa para este diseño el proceso de escritura, en esta memoria tiene dos tipos
diferentes de ciclo de escritura:
Fuente IDT
Se puede observar que en el tipo 2 controlado por la señal CS, la señal de escritura WE
está siempre a nivel bajo durante todo el proceso lo que va a facilitar el diseño puesto
que se puede dejar a nivel bajo de forma fija y trabajar solo con la señal CS.
El diagrama de la máquina de estados puede ser el siguiente:
144
Dispositivos lógicos programables
Donde la entrada KEY es el valor en BCD de la tecla pulsada, DATA es el valor a guar-
dar en la memoria RAM, CS es la señal Chip Select de la memoria RAM y ADDRESS las
4 líneas (bajas) del bus de direcciones de la memoria RAM.
La señal de reloj que se utiliza para controlar la máquina de estados tiene la frecuencia
adecuada para cumplir los tiempos que requiere el ciclo de escritura de la memoria.
library ieee;
use ieee.std_logic_1164.all;
entity FSM is
port(
KEY: in std_logic_vector ( 3 downto 0 );
CLK: in std_logic ;
ADDRESS: inout integer range 0 to 3;
DATA: out std_logic_vector ( 3 downto 0 );
CS: out std_logic );
end;
architecture A_FSM of FSM is
type state_type is (Q0, Q1, Q2, Q3);
signal state : state_type;
Begin
process (CLK)
begin
if rising_edge(clk) then
if (RST = '1') then state <= Q0;ADDRESS<=0;DATA<="0000";CS<='1';
elsif rising_edge(clk,RST) then
case state is
when Q0 => CS <= '1'; ADDRESS <= 0;
if KEY = "1100" then state <= Q1; else state <= Q0; end if;
when Q1=> CS <= '0'; ADDRESS <= ADDRESS; DATA <= KEY;
if KEY = "1111" then state <= Q0;
elsif KEY = "1100" then state <= Q1; else state <= Q2;
end if;
when Q2 => CS <= '1';
if (DATA = KEY) then state <=Q2;
elsif KEY = "1111" then state <= Q0; else state <= Q3;
end if;
when Q3=> ADDRESS <= ADDRESS + 1 ; state<=Q1;
when others => state <= Q0;
end case;
end if ;
end process;
end A_FSM
145
Problemas de electrónica digital
Circuito completo
146
Capítulo 11
Microcontroladores
147
Problemas de electrónica digital
PREGUNTAS DE MICROCONTROLADORES
1. ¿Por qué se dice que un microcontrolador es un dispositivo programable?
a) Porque ejecuta un programa escrito en lenguaje máquina almacenado en una
memoria flash (memoria de programa).
b) Porque necesita un programa para determinar cuáles son las conexiones (fusi-
bles) que se van a activar para así lograr las funciones lógicas a implementar.
c) Porque su funcionamiento viene determinado por las entradas de control de un
multiplexor externo.
d) Porque, para que funcione, necesita estar conectada a un ordenador con pro-
gramas informáticos específicos para el tipo de microcontrolador.
2. ¿En qué tipo de lenguaje está escrito el programa que se almacena en la memoria
de un microprocesador?
a) Ensamblador
b) Lenguaje máquina
c) Programa Fuente
d) Lenguaje de alto nivel
148
Microcontroladores
5. ¿Qué característica debe tener un microprocesador para que pueda realizar la seg-
mentación de un programa? (buscar la instrucción siguiente mientras se ejecuta una
instrucción).
a) Arquitectura Harvard (separación de memoria de programa y datos).
b) Periféricos internos específicos.
c) Memoria EEPROM.
d) Bus de direcciones de 16 bits (ocho para la instrucción de ejecución y 8 para la
instrucción de búsqueda).
6. Las instrucciones que contienen la dirección de memoria donde se encuentra el
dato a operar se denominan de direccionamiento…
a) Inmediato
b) Directo
c) Indirecto
d) Indexado
Soluciones
1. a) La opción b) corresponde a las PLD.
2. b) El lenguaje de más bajo nivel.
3. a) La finalidad del microcontrolador es el control industrial.
4. b) Las dos primeras tareas son la búsqueda de instrucción y su decodificación.
5. a) Necesita memoria de programa y memoria de datos separados.
6. b) En el direccionamiento directo se incluye la posición de memoria donde está
el dato.
7. b) RISC: Reduced Instruction Set Computing.
149
Capítulo 12
Sistemas digitales
completos
Problema 12.1
Se desea automatizar una persiana motorizada me-
diante un solo pulsador que permita tanto la subida
como la bajada.
La persiana dispone de dos contactos magnéticos en
los finales de carrera (uno cuando está totalmente
subida “S” y otro cuando está totalmente bajada “B”).
El accionamiento se realiza mediante un motor de
continua de 12V, 18W montado en un puente que
permite su inversión y controlado por dos señales
“UP” y “DOWN” que determinan su sentido de giro.
151
Problemas de electrónica digital
0 0 X 0 PARO
1 0 1 1 SUBE
0 1 0 1 BAJA
1 1 X 0 PARO
152
Sistemas digitales completos
Determinar:
a) A partir de las señales UP/DOWN que proporciona el circuito de control,
obtener el circuito decodificador que active las señales GR y M necesarias para
el motor. Utilizar el circuito Integrado 74HCT00 (puertas NAND de dos
entradas).
b) La señal “GR” activa la bobina de un relé de 180 Ω (12V) cuando está a nivel
alto. Si se utiliza un transistor con una hFEmín = 30 (βsat) y una VBEmáx = 1.1V,
determinar el valor de la resistencia de base R1.
c) La señal “MOT” permite e inhibe el giro del motor. El transistor utilizado es un
superbeta (hFEmín =230 (β), VBEmáx=1.5V). Calcular el valor de R2 para su
activación con un nivel alto.
d) Diseñar el circuito de los contactos magnéticos (S y B) y del pulsador (P) para
que produzcan un nivel lógico alto al activarse.
e) A partir de las señales de entrada, dibujar el diagrama de estados de un sistema
secuencial que permita obtener las salidas “UP” y “DOWN” de gobierno del
Motor.
Solución
a) A partir de la tabla de verdad se obtiene las funciones lógicas de GR y MOT.
= ∙
= ∙ + ·
153
Problemas de electrónica digital
154
Sistemas digitales completos
Problema 12.2
La figura muestra el diagrama de bloques de un circuito lógico usado para el control
del número de copias (de 1 hasta 9) de una fotocopiadora.
155
Problemas de electrónica digital
156
Sistemas digitales completos
D
TimeGe
mo
1 De 2 3 4 5 6 7 8 9 10
eG
en
en mo
eG
De
Tim
START eG
en
Tim
Tim
TimeGen Demo eG
Tim Tim
eG TimeGen Demo
Tim
Tim
en
MONOSTABLE eG
TimeGen Demo
Tim
De
eG
mo en
o o
De
eG
en
Dem Dem
mo
en
De
n n
De
mo
OPERATE
G e G e
mo
EQUAL
TimeGen
Solución
1. Diseño del codificador de Decimal a BCD utilizando el 74HC147 y las puertas
lógicas necesarias
Entradas/salidas de este bloque
entradas: Interruptor a nivel bajo Salidas: BCD a nivel alto
0: 111111111 0000
1: 111111110 0001
…………………….. …………..
9: 011111111 1001
157
Problemas de electrónica digital
Si todos los interruptores están abiertos (todas las entradas del codificador a “1”) la
salida será 0000.
2. Diseño del comparador de 4 Bits utilizando el C.I. 74HC85
Entradas/salidas de este bloque
Entradas: Decodificador BCD a nivel alto / Contador Salida:
Entrada A: Decodificador Entrada B: Contador EQUAL
0000 0000
………………… ………………… Si A=B: HIGH resto: LOW
1001 1001
Este comparador tiene 11 entradas, 4 para cada señal de entrada (A y B, las cuales
serán comparadas) y 3 entradas de cascada, en el caso de querer ampliar el número
de bits a comparar (lo cual no será necesario en este caso). En las hojas de caracterís-
ticas del integrado se señala “para una adecuada operación de comparación, las en-
tradas en cascada deben estar conectadas de la siguiente forma: IA>B = IA<B = LOW
and IA=B = HIGH”. Las entradas del decodificador ser conectarán por ejemplo a la
entrada A y las del contador a la B.
158
Sistemas digitales completos
Se quiere detectar cuando el número de copias realizadas será igual a las programa-
das, por lo que se necesita la señal de salida QA=B (señal Equal en el sistema).
159
Problemas de electrónica digital
Para obtener los 100 ms el fabricante señala que se puede utilizar la ecuación
TX = 1/2·RX·CX. Se puede obtener con condensador de 20µF y una resistencia
de 10KΩ.
160
Sistemas digitales completos
1X 1X
Q0 Q0 01
01
00 00
X1 X1
10 X0
00 Q1 X1
00 Q1 X1
01 01
Q2 Q2
10 10
00
X0 X0
161
Problemas de electrónica digital
162
Sistemas digitales completos
4. Diseño del contador BCD usando el C.I. contador 74HC191 y las puertas lógicas
necesarias
Entradas/salidas al bloque
Entradas Salidas
CLK OPERATE Contador: nivel alto
Flanco subida De 0 a 1 0000
1001
163
Problemas de electrónica digital
164
Sistemas digitales completos
process(Q, count)
begin
if (Q = count)
then equal <= '1';
else equal <= '0';
end if;
end process;
end behaivor;
165
Problemas de electrónica digital
Problema 12.3
Dos sensores de temperatura miden un proceso industrial de un modo remoto cuya
temperatura fluctúa entre 0 y 9 grados Celsius. Un usuario puede activar un interrup-
tor para visualizar cual es la temperatura más alta de los dos sensores.
Características:
• El valor digital de la temperatura de cada sensor se representa mediante 4 bits.
• El sistema de transmisión debe convertir una entrada de 8 bit en paralelo en una
salida serie utilizando un registro bidireccional de 8 bits.
• El control del registro es llevado a cabo por las señales S1 y S0. Cuando los 8 bits
han sido transmitidos, el transmisor deber permanecer inactivo.
• El receptor debe convertir la señal de serie a paralelo utilizando el mismo tipo de
registro. Al igual que el transmisor, el receptor es controlado por unas señales S1 y
S0 y cuando los 8 bits han sido recibidos, el receptor deber permanecer inactivo.
• El sistema receptor también está formado por un circuito combinacional, el cual
consiste en un comparador y un multiplexor. Ambos sirven para seleccionar la
temperatura más alta. Este sistema tiene una entrada BI que permite apagar el vi-
166
Sistemas digitales completos
167
Problemas de electrónica digital
• Diseñar una máquina de estado tipo Mealy (FSM) con lenguaje VHDL y la
GAL22V10. Las señales de reloj y reset son suministradas.
La señal de reset (RST) debe ser síncrona y activa nivel bajo. La señal INT esta
normalmente a nivel bajo hasta que un operador abre el interruptor y mantie-
ne la señal a nivel alto para inicializar el proceso.
La señal inicial INT permanece a nivel bajo y permite al sistema la transmisión
mediante la carga en paralelo de los datos de entrada, utilizando para ello las
168
Sistemas digitales completos
169
Problemas de electrónica digital
170
Sistemas digitales completos
171
Problemas de electrónica digital
Solución
1. Diseño del transmisor utilizando el 74198)
Solo se necesitan conectar las entradas de carga en paralelo a las entradas de los
sensores. Las señales de control S1 y S0, el MR siempre a nivel alto y la entrada SR (o
SL) a un nivel cualquiera, en este caso a masa. La salida por Q7 ya que se ha elegido
el desplazamiento a derecha (o la Q0 si es a izquierda). Tal como dice el enunciado
primero se realiza una carga en paralelo (S1=1, S0=1), después el desplazamiento a
derecha (S1=0, S0=1) y por último un mantenimiento (hold) (S1=0, S0=0).
172
Sistemas digitales completos
173
Problemas de electrónica digital
174
Sistemas digitales completos
175
Problemas de electrónica digital
Programa VHDL
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity fsm is
Port ( Inputs: COUNTER-INT
Rst,ck, INT, COUNT: in std_logic; Outputs: S1-S0-PL-Bi
S1, S0, PL, Bi: out std_logic;
X0
); 1100
end fsm;
architecture behavioral of fsm is
type nombres_estados is (Q0, Q1, Q2); Q0 X1
0110
signal estado: nombres_estados; X0
1100
signal entrada_aux: std_logic_vector (1 downto 0);
X0
begin 1100 11
Q1
entrada_aux<=COUNT&INT; 0110
process(Rst, ck) Q2
begin
If rising_edge(ck) then X1
01
0001
If rst='0' then estado<=Q0; S0<='1'; S1<='1'; PL<='0';
0001 Bi<='0';
else
case estado is
when Q0 =>
if entrada_aux="00" then estado<=Q0; S0<='1'; S1<='1';
PL<='0'; Bi<='0';
elsif entrada_aux="10" then estado<=Q0;S0<='1'; S1<='1';
PL<='0'; Bi<='0';
else estado<=Q1; S0<='1'; S1<='0'; PL<='1'; LT<='0';
end if;
when Q1 =>
if entrada_aux="11" then estado<=Q1; S0<='1'; S1<='0';
PL<='1'; Bi<='0';
elsif entrada_aux="01" then estado<=Q2; S0<='0'; S1<='0';
PL<='0'; Bi<='1';
else estado<=Q0; S0<='1'; S1<='1'; PL<='0'; Bi<='0';
end if;
when Q2 =>
if entrada_aux="11" then estado<=Q2; S0<='0'; S1<='0';
PL<='0'; Bi<='1';
elsif entrada_aux="01" then estado<=Q2; S0<='0'; S1<='0';
PL<='0'; Bi<='1';
else estado<=Q0; S0<='1'; S1<='1'; PL<='0'; Bi<='0';
end if;
when others => estado<=Q0; estado<=Q0; S0<='1';
S1<='1'; PL<='0'; Bi<='0';
end case;
end if;
end if
end process;
end behavioral;
176
Sistemas digitales completos
Problema 12.4
La apnea del sueño es la interrupción repetida de la
respiración durante el sueño, a veces cientos de
veces durante la noche y a menudo durante un mi-
nuto o más. Si no se trata, la apnea del sueño puede
causar presión arterial alta, enfermedades cardio-
vasculares, pérdida de memoria y problemas de
peso. Estudios médicos recientes indican que la ap-
nea del sueño a largo plazo también puede aumen-
tar el riesgo de morir de cáncer. La consiguiente falta
de sueño reparador también puede ser responsable
de la discapacidad laboral y accidentes de vehículos
de motor. Una opción de tratamiento principal es el uso de una máquina de presión
positiva de la vía aérea (PAP). El paciente lleva una máscara que utiliza presión para
enviar un flujo de aire a través de los orificios nasales evitando que se colapsen y que
cese la respiración.
El siguiente esquema muestra la estructura general del equipo. Se necesita diseñar un
bloque auxiliar que pueda generar una señal de control para el microcontrolador. Este
bloque tiene como entrada dos sensores: un sensor de flujo que controla la cantidad
de aire que respira el paciente y un sensor que controla si la mascará esta puesta o
no. La salida del bloque activa una señal cuando la máscara está colocada en el pa-
ciente y el flujo de aire es menor de 60 L/m.
Cortesía Honeywell
El sensor de flujo tiene una salida lineal (ASI) de pulsos proporcional a los li-
tros/minuto de aire por el canal de respiración. La relación de salida es 4 pulsos por
segundo son 1 L/s. El límite mínimo establecido para una respiración adecuada es de
60 L/m. Por otra parte, el sensor de proximidad (PS) proporciona una señal todo/nada
177
Problemas de electrónica digital
El proceso debe ser el siguiente: La señal de pulsos (ASI) procedente del sensor de
flujo es recibida por el bloque contador, el cual hace la cuenta de los pulsos durante
10 s. Inmediatamente después de cada 10 segundos, el bloque contador recibe una
señal (CLEAR) de inicialización a cero de la cuenta procedente de la FSM y puede em-
pezar a contar de nuevo. Las salidas del contador (a[7..0]) están conectadas a un re-
gistro de desplazamiento universal. El bloque registro permite guardar en su salida el
dato suministrado por el contador después de cada 10 segundos y permanecer inalte-
rable hasta el próximo periodo. El control del registro se realiza con la señal HR pro-
cedente de la FSM y que actúa sobre las señales S1 y S0 del registro. Este bloque re-
gistro está conectado al reloj del sistema (3 Hz). Las señales de salida (o[7..0]) del
registro están conectadas a un bloque comparador. En este bloque una de las entra-
das está fija al valor 40 y la otra entrada está conectada a las señales de salida del
registro; de esta forma este bloque está comparando continuamente los dos valores.
En el caso de que la señal recibida sea menor de 40 (indicando que hay menos de 60
L/m en el circuito) la salida (CO) estará a nivel alto y si es mayor o igual de 40 estará a
nivel bajo.
Todo el sistema está contralado por la FSM. Este bloque recibe como entrada la señal
(C10S) de reloj de 10 s procedente de un general de señal. Además, recibe la señal
(PS) del sensor colocado en la máscara que indica si está colocada en el paciente o no
(un 1 lógico si lo está y un 0 lógico si no lo está). Otra entrada es la señal (CO) proce-
178
Sistemas digitales completos
dente del comparador. Las dos últimas entradas son estándar y son, el reloj del siste-
ma (3 Hz) y la señal de reset (RESET). Salidas de la FSM son la señal (CLEAR) que ini-
cializa el contador después de cada segundo, la señal (HR) que permite al bloque re-
gistro guardar el dato del contador y la señal (SOM) que está conectada al
microcontrolador indicando que la máscara está colocada y el flujo de aire es menor
de 60 L/m o no se dan estas condiciones.
Los estados definidos para la FSM deben cumplir las siguientes reglas:
• Si NO se recibe la señal de C10S el sistema permanece estable: no se produce la
inicialización del contador, no se debe almacenar ningún dato en el bloque registro
y la FSM no tiene en cuenta la señal del comparador CO. En el caso de detectarse
la señal de 10 segundos (C10S), pero la máscara (PS) NO estuviese puesta en el pa-
ciente, la FSM debe permanecer en este mismo estado.
• Si se recibe la señal de 10 segundos (C10S) y la máscara (PS) esta puesta en el pa-
ciente, la FSM debe da una señal (HR) al bloque registro para que guarde los datos
del contador a su salida. Si en este estado la máscara se retira del paciente, la FSM
debe volver al estado inicial.
• Inmediatamente después del proceso anterior, y si la máscara sigue puesta, la FSM
debe dar la orden con la señal (CLEAR) para inicializar el contador y debe mante-
ner el dato en el bloque registro. Si en este estado la máscara se retira del pacien-
te, la FSM debe volver al estado inicial.
• A partir de este momento, la señal CO procedente del bloque comparador es leída.
Si la señal (CO) indica que la lectura del flujo de aire es menor de 60 L/m, entonces
se activa la señal de salida SOM y se deshabilita el CLEAR. Pero si la señal (CO) in-
dica que la lectura del flujo de aire es mayor o igual de 60 L/m se inactiva la señal
de salida SOM y se deshabilita el CLEAR. En este momento el sistema vuelve a su
estado inicial independientemente del valor de las entradas.
Diseñar:
5. Una unidad de conteo mediante el 74HC193. El bloque Contador recibe los pulsos
del sensor (ASI) y los va contando hasta que es inicializado por la señal CLEAR pro-
cedente de la FSM. La inicialización puede realizarse con el Master Reset o con uti-
lizando el Parallel Load. Los pines que no se utilicen deben conectarse a su ade-
cuado nivel de tensión o al aire si es posible.
6. Una unidad de registro mediante el 74HC194. El bloque registro tiene como en-
tradas el valor de la cuenta (a[7..0]) y la señal HR procedente de la FSM. La señal
HR debe actuar convenientemente sobre las entradas S1 y S0 para que en un mo-
mento dado mantenga inalterable el valor de la cuenta en las salidas del registro
179
Problemas de electrónica digital
(o[7..0]) aunque las entradas estén cambiando a menos que la señal HR se active y
el valor de las entradas aparezca en las salidas. Es decir, se comporta como un re-
gistro paralelo-paralelo. Los pines que no se utilicen deben conectarse a su ade-
cuado nivel de tensión o al aire si es posible.
7. Una unidad de comparación mediante el 74HC85. Este bloque está continuamen-
te comparando la señal procedente del registro (o[7..0]) con el valor predetermi-
nado (40 en este caso). La salida que se conectará con el FSM será la CO. El nivel
de activación de esta señal es elegido por el diseñador, siempre que diferencie los
casos de que el flujo sea menor de 60 L/m o mayor/igual de este valor. Los pines
que no se utilicen deben conectarse a su adecuado nivel de tensión o al aire si es
posible.
8. Un bloque generador de reloj mediante el CI555. Este bloque debe generar una
señal (C10S) de 10 s de periodo y con un Ton de 1s. Elegir el valor comercial están-
dar de los dispositivos pasivos necesarios para configurar el CI555. Se puede incor-
porar una puerta lógica que regenere la señal antes de conectarse a la FSM.
9. Una máquina de estados finitos (FMS) tipo Mealy mediante lenguaje VHDL y una
GAL22V10. El sistema tiene una señal de reloj y una señal de reset. La señal de
reset (RESET) debe ser asíncrona y activa a nivel bajo. La secuencia de estado de la
máquina debe responder a lo explicado anteriormente. Se puede observar en las
figuras siguientes el cronograma del sistema completo, así como de la FSM.
180
Sistemas digitales completos
181
Problemas de electrónica digital
Solución
1) Bloque contador
Al ser necesario contar como mínimo hasta 40, hacen falta dos contadores conec-
tados en casada tal como indica el fabricante:
182
Sistemas digitales completos
Así se obtiene un contador binario de 8 bits. En este caso debe tener cuenta ascen-
dente y permitir la inicialización a cero de la cuenta. Esto se puede hacer utilizan-
do el Parallel Load con las entradas de carga a cero o el Master Reset tal como in-
dica el fabricante:
En el circuito diseñado se conecta la señal ASI al pin CPU del primer contador y la
salida TCU de este a la entrada CPU del segundo contador. Se ha utilizado la en-
trada MR para realizar la inicialización por lo tanto se conecta la señal CLEAR a
MR, con activación a nivel alto.
183
Problemas de electrónica digital
2) Bloque registro
Es un registro de 4 bits por lo que también se debe ampliar a 8-bits. La forma de
trabajar del registro debe ser en paralelo-paralelo, es decir, en la salida aparecerá
la entrada cuando la señal (HR) procedente del FSM se active. Observando la ta-
bla de verdad del fabricante, se observa que si S1=S0=0 la salida permanece inal-
terable, mientras que si S1=S0=1 se produce una carga en paralelo:
Para el diseño se conecta la señal HR a S1 y S0 de los dos registros, los datos en 4-bits
a cada registro, la señal MR fija a 5 V, la señal de reloj al reloj externo y el resto se
pueden dejar sin asignar.
184
Sistemas digitales completos
3) Bloque comparador
El bloque comparador estará formado por dos comparadores de 4-bits puestos en
cascada tal como indica el fabricante:
Los datos A serán lo que proceden del registro y los B serán el dato 40 (00101000) que
sirve de comparación. La salida utilizada será la A<B la cual permanece a 1 si la
señal de la cuenta es menor de 40 pulsos cada 10 s y a 0 si es mayor o igual.
185
Problemas de electrónica digital
186
Sistemas digitales completos
library ieee;
use ieee.std_logic_1164.all;
ENTITY fsm IS
PORT (reset: in std_logic;
clock: in std_logic;
C1S: in std_logic;
PS: in std_logic;
CO: in std_logic;
qi : out std_logic_vector(2 downto 0));
END fsm;
187
Problemas de electrónica digital
BEGIN
if reset='0' then state <=Q0;
elsif rising_edge(clock) then
CASE state IS
WHEN Q0 =>
if (C1S='1' AND PS='1') then state<=Q1; qi
<="001";
else state<=Q0; qi <="000";
end if;
WHEN Q1 =>
if PS='1' then state<=Q2; qi <="011";
else state<=Q0; qi <="000";
end if;
WHEN Q2 =>
if (PS='1' AND CO='1') then state<=Q3; qi
<="101";
elsif (PS='1' AND CO='0') then state<=Q3;
qi <="001";
else state<=Q0; qi <="000";
end if;
WHEN Q3 =>
state<=Q0; qi <="000";
END CASE;
END IF;
END PROCESS;
END fsm_a;
188
Sistemas digitales completos
library ieee;
use ieee.std_logic_1164.all;
ENTITY fsm IS
PORT (reset: in std_logic;
clock: in std_logic;
C1S: in std_logic;
PS: in std_logic;
CO: in std_logic;
qi : out std_logic_vector(2 downto 0));
END fsm;
CASE state IS
WHEN Q0 =>
if (C1S='1' AND PS='1') then state<=Q1; qi
<="001";
else state<=Q0; qi <="000";
end if;
WHEN Q1 =>
if PS='1' then state<=Q2; qi <="011";
else state<=Q0; qi <="000";
end if;
WHEN Q2 =>
if (PS='1' AND CO='1') then state<=Q0; qi
<="101"; --as well 100
elsif (PS='1' AND CO='0') then state<=Q0;
qi <="001"; -- as well 000
else state<=Q0; qi <="000";
end if;
END CASE;
END IF;
END PROCESS;
END fsm_a;
189
Bibliografía general
191
Problemas de electrónica digital
192
UPV
ISBN 978-84-9048-781-5
Problemas de
electrónica digital
2ª edición
Luis Gil Sánchez | Javier Ibáñez Civera
Eduardo García Breijo