Top Banner
1. Introducción Para resolver el problema propuesto, es imprescindible utilizar una división del mismo en pequeños bloques, como se plantea de hecho en el enunciado. En clase se explicaron, por motivos pedagógicos y de organización docente, primero todos los circuitos combinacionales y posteriormente todos los secuenciales. Sin embargo aquí se planteará la solución por bloques temáticos, resolviendo todos los bloques de cada uno de los dos grandes subcircuitos de los que consta el problema, el CCT y la URC. Dentro de cada una de las dos partes sí que se estudiarán primero los circuitos combinacionales y tras éstos los secuenciales, dado que parece que éste es un orden más lógico. Es conveniente recalcar que aquí se propone una posible solución al pro- blema, que no tiene por qué ser única, ni siquiera ser la mejor. Se anima por tanto a que traten de buscar soluciones distintas o incluso mejores. 2. Circuito de Codificación y Transmisión (CCT) Recordemos que el CCT está compuesto por cuatro bloques, dos de ellos combinaciona- les (CLT y CEP) y otros dos secuenciales (RTx y CTx): Circuito de Lectura del Teclado (CLT) Circuito de Encriptación y generación de Paridad (CEP) Control de la Transmisión (CTx) Registro de Transmisión (RTx) F1 F2 F3 F4 C3 C2 C1 D3 D2 D1 D0 E0 E1 E2 E3 PE DS CLK Desp TxOK PT Bloqueo 1 2 3 4 5 6 7 8 9 0 CCT Carga
22

Cerradura Electrónica Digital

Jan 02, 2016

Download

Documents

thelords_94
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cerradura Electrónica Digital

1. Introducción

Para resolver el problema propuesto, es imprescindible utilizar una división del mismo

en pequeños bloques, como se plantea de hecho en el enunciado. En clase se explicaron, por

motivos pedagógicos y de organización docente, primero todos los circuitos combinacionales y

posteriormente todos los secuenciales. Sin embargo aquí se planteará la solución por bloques

temáticos, resolviendo todos los bloques de cada uno de los dos grandes subcircuitos de los que

consta el problema, el CCT y la URC. Dentro de cada una de las dos partes sí que se estudiarán

primero los circuitos combinacionales y tras éstos los secuenciales, dado que parece que éste es

un orden más lógico. Es conveniente recalcar que aquí se propone una posible solución al pro-

blema, que no tiene por qué ser única, ni siquiera ser la mejor. Se anima por tanto a que traten

de buscar soluciones distintas o incluso mejores.

2. Circuito de Codificación y Transmisión (CCT)

Recordemos que el CCT está compuesto por cuatro bloques, dos de ellos combinaciona-

les (CLT y CEP) y otros dos secuenciales (RTx y CTx):

C ircuito deLec tura de l

Tec lado(C LT)

C ircuito deEncriptac ión ygenerac ión de

Paridad(C EP)

C ontro l de laTransmis ión

(C Tx)

R egis trode

Transmis ión(R Tx)

F1

F2

F3

F4

C3C2C1

D3

D2

D1

D0

E0

E1

E2

E3

PE

DS

CLK

Desp

TxO K

PT

Bloqueo

1 2 3

4 5 6

7 8 9

0

C C T

Carga

Page 2: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ������������������

2.1. Circuito de Lectura del Teclado (CLT):

Recoge las 7 señales provenientes del teclado y genera el código binario correspondiente

a la tecla pulsada (en el ejemplo anterior, D3-D2-D1-D0=1-0-0-1). Además generará la señal PT

que indica que se ha pulsado una tecla.

Dado que posee 7 entradas, parece poco apropiado acomenter la solución por la técnica

de reducción de Karnaugh, dado que esto provocaría la aparición de tablas de 27=128 filas.

Por otra parte, de hecho el bloque produce un cambio de código, por lo que se podrá

descomponer siempre en un circuito decodificador más un circuito codificador. En nuestro ca-

so, además, el circuito decodificador resulta extremadamente simple, compuesto únicamente

por 10 puertas lógicas AND. Tras esto, el codificador puede ser uno estándar de 16:4, o bien se

puede realizar con una etapa de puertas OR, como se muestra en la figura:

La señal PT se obtiene, como se puede comprobar, simplemente uniendo las cuatro salidas Di

con la salida de U10, que indica que se ha pulsado el “0”. Otra posibilidad sería sumar sólo las

señales Ci, con lo que podríamos asegurar también que se ha pulsado una tecla, pero esta solu-

ción es más general aunque menos compacta; la que ustedes prefieran...

Page 3: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ������������������

2.2. Circuito de Encriptación y generación de paridad (CEP):

A partir de la salida del CLT, encripta el dato usando para ello la siguiente fórmula:

Dato encriptado= MOD10(7 x Dato)

Donde la operación MOD10 extrae el módulo en base 10, o lo que es lo mismo el resto de

dividir el número entre paréntesis por 10. Una vez encriptado el dato, se calcula su paridad, ge-

nerando una señal PE que valdrá “1” si el número de bits a 1 del dato encriptado es par y “0” si

es impar.

Para realizar este bloque, comenzamos por calcular el dato encriptado, usando la fór-

mula propuesta. Aplicándola podemos escribir la siguiente tabla de verdad:

Dato D.E. D3-D2-D1-D0 E3-E2-E1-E0 0 0 0-0-0-0 0-0-0-0 1 7 0-0-0-1 0-1-1-1 2 4 0-0-1-0 0-1-0-0 3 1 0-0-1-1 0-0-0-1 4 8 0-1-0-0 1-0-0-0 5 5 0-1-0-1 0-1-0-1 6 2 0-1-1-0 0-0-1-0 7 9 0-1-1-1 1-0-0-1 8 6 1-0-0-0 0-1-1-0 9 3

1-0-0-1 0-0-1-1 A partir de esta tabla, sólo resta aplicar Karnaugh para calcular las expresiones lógicas

de E3, E2, E1 y E0, teniendo en cuenta que las combinaciones de entrada 1010, 1011, 1100, 1101,

1110 y 1111 no se van a producir nunca.

Las tablas de Karnaugh para cada una de las cuatro salidas son:

E3 = D2· (D1· D0+D1· D0)

E2=D3· D1· D0+D3· D0+D2· D1D0

D1-D0 D3-D2

0-0 0-1 1-1 1-0

0-0 0 0 0 0 0-1 1 0 1 0 1-1 -- -- -- -- 1-0 0 0 -- --

D1-D0 D3-D2

0-0 0-1 1-1 1-0

0-0 0 1 0 1 0-1 0 1 0 0 1-1 -- -- -- -- 1-0 1 0 -- --

Page 4: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ������������������

E1=D3+D2· D1· D0+D2· D1*D0

La salida E0 se puede comprobar, pos simple inspección que es igual que D0, para los

10 casos analizados, por lo que lo más sencillo será hacerla igual a D0.

Finalmente, el esquema de montaje del circuito de encriptación sería:

Por otro lado, para la generación del bit de paridad, comprobamos que el tipo de pari-

dad pedida es impar, de manera que el bit de paridad hará que el conjunto de los n+1 bits (en

este caso 4+1) tengan siempre paridad impar, esto es un número impar de cifras iguales a “1”.

Para calcular la función de paridad, se comprueban las dos siguientes propiedades:

1.- La función que calcula el bit de paridad impar de un conjunto de 2 bits es una puerta XNOR.

En efecto, una puerta XNOR valdrá “1” cuando las dos entradas sean iguales, esto es cuando el

número de unos sea 0 ó 2. Por tanto, Con una puerta XNOR calculo el bit de paridad impar de

dos bits.

2.- El cálculo del bit de paridad se puede realizar de manera recursiva. Es fácil comprobar que,

si un conjunto de N bits tiene, como bit de paridad impar PN y otro conjunto, en general de M

bits tiene como bit de paridad PM, entonces el bit de paridad del conjunto de M+N bits será la

paridad de los dígitos PN y PM. En efecto, en el caso de que ambos conjuntos tuviesen un núme-

ro par de unos (PN=PM=1) o un número impar de unos (PN=PM=0), el conjunto resultante

D1-D0 D3-D2

0-0 0-1 1-1 1-0

0-0 0 1 0 0 0-1 0 0 0 1 1-1 -- -- -- -- 1-0 1 1 -- --

Page 5: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ������������������

tendría un número par de unos con lo que el bit de paridad impar debería valer 1. Sin embargo,

si uno tuviese paridad par y otro impar, la paridad resultante sería impar de donde el bit de

paridad impar debería valer 0.

Aplicando estas dos sencillas reglas, se puede obtener que la función que calcula la pa-

ridad impar de 4 bits se puede realizar con tan solo 3 puertas XNOR, como se muestra en la

figura:

En cualquier caso, si no se entiende el método utilizado, se puede hacer también apli-

cando el método de reducción de Karnaugh, en función de los valores que toman las cuatro

entradas. De esta manera saldrá una solución equivalente aunque probablemente con más puer-

tas lógicas.

2.3. Circuito de Control de la Transmisión (CTx):

Gobernará la transmisión síncrona, iniciando la misma cuando detecte un “1” en PT, y

reiniciándola siempre que no obtenga del receptor un “1” por la línea TxOK. Para ello, generará

las señales Carga y Desp, que harán que el registro de transmisión se cargue con el dato encrip-

tado más el bit de paridad y se desplace, respectivamente. Una vez finalizado el proceso (cuando

se reciba TxOK=1), no se iniciará una nueva transmisión hasta que no se pulse otra tecla, lo que

significará que PT tiene que pasar a “0” y luego nuevamente a “1”.

En caso de que la señal Bloqueo se activase a nivel alto, se bloqueará el proceso de

transmisión de datos, quedando inutilizado el sistema hasta que no vuelva a ser “0”.

El circuito de control de transmisión es, por definición, una máquina de transición de

estados que deberá gobernar al RTx. Observando con detalle el bloque, se comprueba que ten-

dremos que tener en cuenta tres entradas. Esto, en principio, no es una situación deseable a la

hora de diseñar una máquina de estados, dado que el número de combinaciones crece exponen-

cialmente con el número de entradas. Por tanto, puede ser útil tratar de reducir las señales que

entren en la máquina de estados propiamente dicha.

Para ello, nos fijamos en que la entrada BLOQUEO, procedente de la URC, debe impe-

dir que el sistema funcione. Esto es similar a “bloquear” la señal PT, con lo que conseguiríamos

que nuevas pulsaciones del teclado no fuesen atendidas por nuestro sistema al no detectar un

Page 6: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� �������������� ���

nuevo pulso de PT. Así pues, definimos una nueva señal, PT’ como el producto de PT por

BLOQUEO negada:

Ahora, las entradas a mi máquina de estados serán PT’ y TxOK, siendo el funciona-

miento de la misma como se explica en el siguiente pseudo-código:

1. Espero a que se pulse una tecla (¿PT=1?)

2. Cuando se haya pulsado, cargo el dato en el registro RTx

3. Tras la carga, desplazo durante 5 ciclos de reloj, para transmitir todo el dato por la

línea serie (DS)

4. A continuación, compruebo si el dato llegó correctamenteo (¿TxOK=1?)

5. Si no es así, vuelvo a 3.

6. Si es así, espero a que se desactive PT’, para evitar volver a comenzar el ciclo en fal-

so, y tras esto vuelvo a 1.

Renombrando las entradas, para simplificar la notación, como PT’=P, TxOK=T, la tabla

de transición de estados de la máquina queda como sigue:

ESTADO P-T SALIDAS 0 0 0 1 1 1 1 0 DESP CARGA

0: Reposo (0) (0) 1 1 0 0 1: carga 2 2 2 2 0 1

2: 1er despl. 3 3 3 3 1 0 3: 2º despl. 4 4 4 4 1 0

4: 3er despl. 5 5 5 5 1 0 5: 4º despl. 6 6 6 6 1 0 6: 5º despl. 7 7 7 7 1 0

7: Comprueba 2 0 (7) 2 0 0

Es fácil observar que no se pueden simplificar ninguno de los estados, por lo que el si-

guiente paso será directamente construir la tabla de excitaciones de los biestables. Para ello,

decido realizar la máquina con biestables tipo D, lo que simplificará la realización de la misma.

La asignación de estados se realizará, por defecto, estableciendo el valor binario correspondien-

te a la numeración de cada estado. Esta asignación por defecto simplifica la traducción de la

tabla de transición, aunque conviene pensar previamente si no hay alguna otra codificación que

resulte más ventajosa. Con esto, la tabla de excitación será:

Page 7: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������!���

Y a partir de esta tabla se generan las diferentes tablas

de Karnaugh para calcular las entradas de los tres biestables

que codificarán el estado:

Q3=0 Q3=1 P-T Q2-Q1

0 0

0 1

1 1

1 0

P-T Q2-Q1

0 0

0 1

1 1

1 0

0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1 1 1 1

D3=Q3· Q2· Q1 + Q3· Q2 + Q3· Q1 + Q3· P· T

Q3=0 Q3=1 P-T Q2-Q1

0 0 0 1 1 1 1 0 P-T Q2-Q1

0 0 0 1 1 1 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1

D2=Q2· Q1 + Q2· Q1 + Q3· Q1· T + Q3· Q1· P

Q3=0 Q3=1 P-T Q2-Q1

0 0 0 1 1 1 1 0 P-T Q2-Q1

0 0 0 1 1 1 1 0

0 0 0 0 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 1 1 1 0 1 1 1 1

D1=Q2· Q1 + Q3· Q1· P + Q3· Q1 + Q3· Q2· P· T

Por último, para terminar de definir la máquina de estados, tenemos que calcular las

ecuaciones del circuito de salida, esto es la relación entre las salidas de los biestables y las sali-

das de la máquina de estado, DESP y CARGA, que dependen únicamente de ellas, al ser una

máquina de Moore.

Por tanto, me fijo en la Tabla de transición de estados, de la que extraigo esta informa-

ción, con la que construyo la tabla de Karnaugh para DESP como:

DESP=Q3· Q1 + Q3· Q2 + Q3· Q2

Para la salida CARGA no es necesario hacer este proceso, dado que

sólo se activa en el estado 1, por lo que directamente podemos deducir que su

Q3 Q2 Q1 P T D3 D2 D1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0

Q1 Q3 Q2

0

1

0 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1

Page 8: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������"���

valor será:

CARGA= Q3· Q2· Q1

El esquemático de la máquina de estados se incluye al final, dado que resulta demasia-

do complejo para incluirlo “a escala”.

2.4. Registro de Transmisión (RTx):

Será un registro paralelo-serie con posibilidad de carga paralela, desplazamiento y para-

da, gobernado por las señales Carga, Desp. Para poder producir la retransmisión del dato en ca-

so de fallo en la misma, tendrá que estar realimentado. La salida DS del RTx será la salida serie

del registro.

Para diseñar el registro de transmisión basta caer en la cuenta de que es, en el fondo, un

registro de desplazamiento, al que tengo que dotar de las siguientes capacidades:

1. Debe poder cargarse en paralelo, adquiriendo los 5 bits que debe transmitir luego

en serie.

2. Debe ser capaz de detener la transmisión o transmitir según le indique un bloque

externo (el CTX).

3. Debe mantener de alguna manera los datos, por si hiciese falta retransmitirlos.

Para realizar estas funciones, voy a necesitar un bloque básico de memoria (biestable) al

que puedan entrar tres señales distin-

tas: o bien el bit anterior (desplaza), o

bien su propio valor (no desplaces) o

bien una entrada externa (carga en

paralelo). Por todo ello, defino la si-

guiente celda básica, formada por un

biestable y un multiplexor 4:1, según

se ve en la figura:

Usando esta celda básica, el

registro RTx queda diseñado sin más que unir en serie 5 de estas celdas, de la manera que se

indica en el dibujo:

Page 9: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������#���

De esta forma, queda cerrado ya el diseño del primer bloque, tanto en sus componentes

combinacionales como en sus bloques síncronos.

3. Unidad Remota de Control (URC)

La unidad remota de control (URC) está constituida por 6 bloques, cuatro de ellos se-

cuenciales y dos combinacionales. En gran medida, el diseño de estos bloques estará condicio-

nado por lo ya realizado en el CCT, y viceversa, de manera que no se pueden resolver ambos

subcircuitos de manera totalmente independiente. Un esquema general de la URC es:

M áquina deestados desecuenc iacorrec ta(M ESC )

C omprobac iónde código de

seguridad(C C S)

C ircuito deD esencriptac ión

yC omprobac ión

deParidad(C D P)

Bloqueo de l s is tema(BS)

R egis trode

R ecepc ión(R R x)

A1

A2

DR3

DR2

DR1

DR0

R0

R1

R2

R3

RP

DS

CLK

Desp

TxO K

Bloqueo

Abre

G en.C LK

G enerac ión deseña l de D a to

N uevo(G D N )

DN

URC10

CS0..CS 11

CS

11

CS

0

FALLO

Veamos a continuación cada uno de los diferentes bloques, comenzando nuevamente

por los meramente combinacionales.

Page 10: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������$%���

3.1. Circuito de Desencriptación y comprobación de paridad

(CDP):

Este circuito comprobará la paridad del dato recibido y la comparará con el bit de pari-

dad, generando la señal TxOK en caso de que el bit de paridad coincida con el valor calculado en

el receptor, lo que asegura de alguna forma que la transmisión se ha realizado de forma correcta.

Asimismo, este bloque realizará la desencriptación del dato, efectuando la operación inversa a la

realizada por el CEP. Se puede comprobar fácilmente que la desencriptación se realiza usando la

fórmula:

Dato = MOD10(3 x Dato encriptado)

Este bloque generará las salidas DR3...DR0 que serán el dato desencriptado recibido.

Este bloque será análogo al ya realizado previamente en el CEP, teniendo que imple-

mentar las operaciones inversas. Para la desencriptación, utilizaré la fórmula que se ofrece

comprobando que, en efecto, produce los códigos de origen a partir del dato encriptado.

D.E. Dato R3-R2-R1-R0 DR3-DR2-DR1-DR0 0 0 0-0-0-0 0-0-0-0 1 3 0-0-0-1 0-0-1-1 2 6 0-0-1-0 0-1-1-0 3 9 0-0-1-1 1-0-0-1 4 2 0-1-0-0 0-0-1-0 5 5 0-1-0-1 0-1-0-1 6 8 0-1-1-0 1-0-0-0 7 1 0-1-1-1 0-0-0-1 8 4 1-0-0-0 0-1-0-0 9 7

1-0-0-1 0-1-1-1 Con los que las tablas de Karnaugh, ahora para los datos recibidos en función de las en-

tradas R:

DR3=R2· R1· R0 + R3· R1· R0

DR2= R3 + R2· R1· R0 + R2· R1· R0

R1-R0 R3-R2

0-0

0-1

1-1

1-0

0-0 0 0 1 0 0-1 0 0 0 1 1-1 -- -- -- -- 1-0 0 0 -- --

R1-R0 R3-R2

0-0

0-1

1-1

1-0

0-0 0 0 0 1 0-1 0 1 0 0 1-1 -- -- -- -- 1-0 1 1 -- --

Page 11: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������$$���

DR1= R2· R1· R0 + R2· R1· R0 + R2· R1· R0

De nuevo, DR0 será igual a R0, como no podía ser de otra forma. Por otro lado, para

comprobar la paridad del dato recibido, el circuito será completamente análogo al utilizado

para calcular el bit de paridad impar, de manera que calcularemos el valor esperado del bit de

paridad y lo compararemos. Con esto, el circuito completo quedará como se observa en la figu-

ra siguiente:

Con lo que quedará completado el circuito pedido.

R1-R0 R3-R2

0-0

0-1

1-1

1-0

0-0 0 1 0 1 0-1 1 0 0 0 1-1 -- -- -- -- 1-0 0 1 -- --

Page 12: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������$����

3.2. Circuito de Comprobación de Código de Seguridad (CCS):

Este circuito realizará la comparación del dato de 4 bits con los 3 datos que componen la

combinación. Estos tres datos, cada uno de ellos de 3 bits, se fijarán con un conjunto de 12 inter-

ruptores que producirán un “1” en caso de estar abiertos y un “0” en caso de estar cerrados. A

efectos del bloque, supondremos que estos datos son fijos y presentes en las líneas CS11...CS0.

En nuestro caso CS11...CS0=1001-0110-0111, por lo que el código que habrá que in-

sertar será, en decimal y por este orden: 9-6-7

El circuito codificará en las líneas A1 y A2 el acierto de alguno de estos tres caracteres

de la siguiente forma:

Caso A1-A2 Ninguno de los tres 0-0 Primer carácter 0-1 Segundo carácter 1-1 Tercer carácter 1-0

Este circuito, puramente combinacional, debe producir dos salidas que codifican si se

ha acertado alguno de los tres dígitos que componen la combinación, y en ese caso cuál de los

dígitos es. Para ello, será de gran utilidad definir un bloque comparador de igualdad de núme-

ros de 4 bits. Para comparar números de 1 bit usaríamos una puerta XNOR, ya que como se ha

visto dicha puerta vale “1” sólo cuando ambas entradas son iguales. Para extender la compara-

ción a números de 4 bits, lo único que habrá que hacer será utilizar 4 puertas XNOR, con las que

compararé que cada bit de ambos datos sean iguales, y posteriormente una etapa de puertas

AND (o una puerta AND de 4 entradas) para multiplicar estas salidas de las XNOR, con lo que

obtendré un “1” sólo si los 4 bits de ambos datos coinciden. Por tanto, el bloque descrito será

como se observa en la figura.

Page 13: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������$����

En función del bloque descrito, el CCS lo puedo construir con tres bloques, que compa-

rarán si el dato introducido es igual al primer dígito, al segundo o al tercero, produciendo las

señales intermedias 1D, 2D, 3D, en función de las cuales ya podré calcular las señales A1 y A2.

Para ello, la tabla de verdad que relaciona 1D, 2D, 3D con A1 y A2 será:

1C 2C 3C A1 A2 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 -- -- 1 0 0 0 1 1 0 1 -- -- 1 1 0 -- -- 1 1 1 -- --

Realizando la simplificación de Karnaugh con esta tabla, se obtiene fácilmente que A1 y

A2 serán:

A1=2C + 3C

A2=1C + 2C

Con lo que el CCS, finalmente será:

Page 14: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������$����

3.3. Registro de Recepción (RRx):

Este registro irá recogiendo los datos serializados en DS, siempre que la señal Desp esté

activa. Las salidas de los 5 bits (los 4 que conforman el dato más el de paridad) estarán accesibles

en todo momento por el siguiente bloque.

Para construir el registro de recepción seguiremos una técnica muy similar a la emplea-

da para el registro de transmisión, con la salvedad de que ahora no es necesario producir la

carga paralela. Por tanto, bastará utilizar un biestable y un multiplexor 2:1 por cada celda, tras

lo que el registro quedará definido por la conexión de 5 bloques como el que se muestra en la

figura:

Usando este bloque, el RRx queda constituido como:

3.4. Generación de señal de Dato Nuevo (GDN):

Este bloque tiene como única misión la generación de una señal, DN, que estará activa

durante un solo ciclo de reloj cada vez que se reciba correctamente un dato nuevo. Esta señal es

de vital importancia para la máquina de estados que controla todo el proceso. Para ello contará

como entradas con las señales Desp y TxOK.

Para la realización de este bloque planteamos una pequeña máquina de estado, que en

función de las señales TxOK y DESP informa de la llegada de un dato nuevo a la máquina de

Page 15: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������$����

estado de comprobación de la combinación. Esta pequeña máquina es necesaria para saber

cuándo el dato presente corresponde con una nueva pulsación, y cuándo se debe al último valor

que se recibió anteriormente.

Esta máquina permanecerá en reposo mientras no se produzca una activación de la lí-

nea DESP, que indicará que ha comenzado la transmisión. Tras esto, esperaremos a que se des-

active dicha señal, y comprobaremos que la señal TxOK esté a “1”, con lo que sabremos que se

ha finalizado correctamente la transmisión. En caso contrario, esperaremos de nuevo a que

DESP se active y desactive. Renombrando las entradas para simplificar, como anteriormente

(DESP->D; TxOK->T), la tabla de transición de estados será:

D-T ESTADO 0-0 0-1 1-1 1-0 DN

0: reposo (0) (0) 1 1 0 1: Desplazando 0 2 (1) (1) 0

2: Recibido -- 0 -- -- 1

Codificando los estados por su valor binario, obtenemos la tabla de excitaciones como:

Aplicando nuevamente Karnaugh para calcular D1 y

D0, se obtiene que:

D1=Q0· D· T

D0=D

Mientras que la salida, DN resulta ser igual a Q1. Así

pues, el circuito GDN queda reducido a:

Las señales de Preset y Clear de ambos biestables, que deben estar conectadas a “1” pa-

ra que no actúen, no se han pintado por claridad.

Es fácil ver que la entrada del segundo biestable (U2) sólo estará a 1 en el caso de que, al

pasar DESP de 1 a 0 (con lo que la salida de U1 sigue siendo 1 pero la salida de U4 ya vale 1) sea

Q1 Q0 D T D1 D0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 1 1 0 0 0 -- -- 1 0 0 1 0 0 1 0 1 1 -- -- 1 0 1 0 -- -- 1 1 0 0 -- -- 1 1 0 1 -- -- 1 1 1 1 -- -- 1 1 1 0 -- --

Page 16: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������$ ���

TxOK igual a 1. Entonces, se activará DN desactivándose al siguiente ciclo dado que la salida de

U1 ya será 0.

3.5. Bloqueo del Sistema (BS):

Este bloque irá contando los fallos que se producen en la introducción de la combinación

correcta. En caso de que se llegue a 3 fallos consecutivos, se activará la señal Bloqueo a nivel al-

to, impidiendo la operación del sistema hasta que no se resetee el mismo.

Este bloque se puede realizar como una máquina de estados, cuyas entradas sería FA-

LLO y ABRE, con una duración de un único pulso de reloj, y que al llegar a tres fallos activase

la señal BLOQUEO. En caso de que se acertase la combinación, debería volver a la condición de

reposo. De esta manera, la tabla de transición de estados sería:

FALLO-ABRE 0 0 0 1 1 1 1 0 BLOQUEO

0: reposo (0) (0) -- 1 0 1: un fallo (1) 0 -- 2 0 2: dos fallos (2) 0 -- 3 0 3: tres fallos (3) (3) (3) (3) 1

Sin embargo, otra manera, tal vez más sencilla de hacerlo, sería utilizando un contador

con entrada de habilitación de cuenta. Este tipo de contadores se pueden realizar de muchas

formas, siendo la más sencilla usar algún tipo de celda encadenable, como la utilizada en la

práctica de simulaciones de contadores síncronos:

Usando esta celda encadenable, el contador de 2 bits que necesito lo consigo sin más

que poner dos celdas y una puerta AND. Por otra parte, la señal de Reset del contador estará

activada por la señal de ABRE, mientras que la señal de Cambia del primer bit será justamente

la señal FALLO:

Page 17: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������$!���

Con esto ya estaría cerrado este bloque.��

3.6. Máquina de Estados de Secuencia Correcta (MESC):

Esta máquina de estados tendrá como entradas las señales A1, A2 que codifican si el da-

to introducido es o no coincidente con alguno de la secuencia y la señal ND, que informa que el

dato ha cambiado. Tendrá que ser capaz de generar la señal Abre cuando detecte que la secuencia

es la correcta, así como generar la señal FALLO en caso de que alguna entrada no sea correcta.

Es importante notar que la señal ND sólo permanece activa un ciclo de reloj, y que tardará al

menos 5 ciclos de reloj en volverse a activar (dado que tendría que llegar un nuevo dato). Esta

máquina de estados puede resultar dependiente de 6 variables. Se explicará como proceder en ese

caso especial.

El último bloque que queda por resolver es la máquina de estados que gobierna la com-

probación de la secuencia correcta. Las entradas de ésta son A1 y A2, que provienen del CCS,

así como DN, que informa que A1 y A2 se refieren a un nuevo dato, a una nueva pulsación del

teclado.

En principio, sería deseable reducir en número de entradas, de manera similar a lo ya

efectuado en el CTx. Sin embargo, en este caso resulta muy complicada la simplificación, con lo

que tendré que montar la tabla de transición de estados teniendo en cuenta simultáneamente las

tres entradas. El funcionamiento de la máquina se puede describir como:

1. Mientras DN sea 0, permanezco en el estado en el que esté, salvo que sea un es-

tado inestable (de señalización de fallo o de abrir).

Page 18: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������$"���

2. Cuando DN se activa, compruebo si el dato nuevo corresponde a la secuencia

pedida o no. En caso negativo, voy a un estado de “error”, y en caso afirmativo

sigo la secuencia.

3. Si completo la secuencia, activaré la señal ABRE durante un ciclo de reloj (esta-

do inestable) y volveré al reposo.

4. Si observo un fallo, activaré la señal FALLO durante un ciclo de reloj (también

estado inestable) y volveré al reposo.

De esta manera, la tabla de transición de estados queda:

DN- A1-A2 000 001 010 011 100 101 110 111 F A

(0): Reposo (0) (0) (0) (0) 4 1 4 4 0 0 (1): Llegó 1º bien (1) (1) (1) (1) 4 4 4 2 0 0 (2): Llegó 2º bien (2) (2) (2) (2) 4 4 3 4 0 0 (3): Llegó 3º bien 0 0 0 0 -- -- -- -- 0 1

(4): Fallo 0 0 0 0 -- -- -- -- 1 0

Finalmente, observamos que tendremos que manejar 5 estados (3 variables de estado) y

3 entradas, por lo que la máquina depende en efecto de 6 variables. En principio, esto no intro-

duce ninguna complicación conceptual adicional sobre las máquinas de 5 variables. Ciertamen-

te, sí que será bastante más pesado de resolver, pero el método no es más que una simple exten-

sión de lo ya visto hasta el momento.

Lo primero que habrá que hacer es asignar variables de estado. Realizando dicha asig-

nación según la codificación binaria del número del estado (codificación por defecto), se obtiene

la tabla de excitaciones que se observa en la siguiente página.

Ahora, habrá que realizar la simplificación por Karnaugh de cada una de las tres entra-

das a los biestables, en función de 6 variables.

Para ello, realizaré 4 tablas, de a variables

cada una, y las “superpondré” según el valor de

las otras dos variables, de manera análoga a lo que

se hacía para 5 variables. De esta manera, tendré

adyacencias según las tres dimensiones. En concre-

to, según se ve en el dibujo, la combinación Q3-Q2-

Q1-DN-A1-A2 igual a 0-0-1-1-1-1 será adyacente

con 6 combinaciones distintas, variando cada vez

sólo un bit. Esto corresponde con “moverse” por la

tabla en horizontal (0-0-1-1-1-0 y 0-0-1-1-0-1), en

vertical (0-0-0-1-1-1 y 0-1-1-1-1-1) o bien “moverse”

Page 19: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ��������������$#���

en sentido perpendicular a las tablas, lo que representa las combinaciones 0-0-1-0-1-1 y 1-0-1-1-

1-1.

Por tanto, si situamos las cuatro tablas formando

un cuadro, de manera ordenada, podremos observar bas-

tante claramente cuáles son las combinaciones adyacentes:

Usando esta técnica se resuelven las ecuaciones

para calcular D3, D2 y D1 como:

D1=Q2· Q1· DN + Q2· Q1· A1· A2· DN +Q2· A1· A2· DN

Q3-Q2-Q1 D-A2-A1 D3-D2-D1 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 1 0 1 1 0 1 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

1 0 0 1 0 1 1 1 1 1 1 0

1 0 0 0 0 1 1 0 0 1 0 0

0 0 1 0 0 1 0 0 1 0 0 1

0 0 0 0 0 1 0 1 1 0 1 0

0 0 1 0 0 1 0 0 1 0 0 1

0 0 1 0 0 1 0 0 1 0 0 1

1 0 0 1 0 1 1 1 1 1 1 0

1 0 0 1 0 0 1 0 0 0 1 0

0 1 0 0 1 0 0 1 0 0 1 0

0 0 0 0 0 1 0 1 1 0 1 0

0 1 0 0 1 0 0 1 0 0 1 0

0 1 0 0 1 0 0 1 0 0 1 0

1 0 0 1 0 1 1 1 1 1 1 0

1 0 0 1 0 0 0 1 1 1 0 0

0 1 1 0 1 1 0 1 1 0 1 1

0 0 0 0 0 1 0 1 1 0 1 0

0 0 0 0 0 0 0 0 0 0 0 0

0 1 1 0 1 1 0 1 1 0 1 1

1 0 0 1 0 1 1 1 1 1 1 0

- - - - - - - - - - - -

1 0 0 1 0 0 1 0 0 1 0 0

0 0 0 0 0 1 0 1 1 0 1 0

0 0 0 0 0 0 0 0 0 0 0 0

1 0 0 1 0 0 1 0 0 1 0 0

1 0 0 1 0 1 1 1 1 1 1 0

- - - - - - - - - - - -

1 0 1 x x x - - - 1 1 1 x x x - - - 1 1 0 x x x - - -

Q3=0; DN=0 Q3=0; DN=1 A1-A2 Q2-Q1

00 01 11 10 A1-A2 Q2-Q1

00 01 11 10

00 00 01 01 11 11 10 10

Q3=1; DN=0 Q3=1; DN=1 A1-A2 Q2-Q1

00 01 11 10 A1-A2 Q2-Q1

00 01 11 10

00 00 01 01 11 11 10 10

Q3=0; DN=0 Q3=0; DN=1 A1-A2 Q2-Q1

00 01 11 10 A1-A2 Q2-Q1

00 01 11 10

00 0 0 0 0 00 0 1 0 0 01 1 1 1 1 01 0 0 0 0 11 0 0 0 0 11 -- -- -- -- 10 0 0 0 0 10 0 0 1 0

Q3=1; DN=0 Q3=1; DN=1 A1-A2 Q2-Q1

00 01 11 10 A1-A2 Q2-Q1

00 01 11 10

00 0 0 0 0 00 -- -- -- -- 01 -- -- -- -- 01 -- -- -- -- 11 -- -- -- -- 11 -- -- -- -- 10 -- -- -- -- 10 -- -- -- --

Page 20: Cerradura Electrónica Digital

�������������� �� ������� ����������� ������� ������������� ���������������%���

Q3=0; DN=0 Q3=0; DN=1 A1-A2 Q2-Q1

00 01 11 10 A1-A2 Q2-Q1

00 01 11 10

00 0 0 0 0 00 0 0 0 0 01 0 0 0 0 01 0 0 0 1 11 0 0 0 0 11 -- -- -- -- 10 1 1 1 1 10 0 0 1 0

Q3=1; DN=0 Q3=1; DN=1 A1-A2 Q2-Q1

00 01 11 10 A1-A2 Q2-Q1

00 01 11 10

00 0 0 0 0 00 -- -- -- -- 01 -- -- -- -- 01 -- -- -- -- 11 -- -- -- -- 11 -- -- -- -- 10 -- -- -- -- 10 -- -- -- --

D2=Q2· Q1· DN +Q2· A1· A2· DN +Q1· A1· A2· DN

Q3=0; DN=0 Q3=0; DN=1 A1-A2 Q2-Q1

00 01 11 10 A1-A2 Q2-Q1

00 01 11 10

00 0 0 0 0 00 1 0 1 1 01 0 0 0 0 01 1 1 1 0 11 0 0 0 0 11 -- -- -- -- 10 0 0 0 0 10 1 1 0 1

Q3=1; DN=0 Q3=1; DN=1 A1-A2 Q2-Q1

00 01 11 10 A1-A2 Q2-Q1

00 01 11 10

00 0 0 0 0 00 -- -- -- -- 01 -- -- -- -- 01 -- -- -- -- 11 -- -- -- -- 11 -- -- -- -- 10 -- -- -- -- 10 -- -- -- --

D3=A1· A2· DN +A1· Q2· DN +A2· Q1· DN +A2· Q2· DN +Q1· Q2· A1· DN

Por último, las salidas de la máquina de estado, en función del estado, se obtienen de

manera inmediata:

FALLO=Q3

ABRE=Q2· Q1

A continuación, se ofrecen los esquemáticos de esta máquina de estados y de la del CTx,

con lo que queda finalizado el problema.

Se deja como ejercicio para el “lector” la posibilidad de resolver esta máquina de mane-

ra alternativa: tomando la señal DN como habilitador del reloj, usando biestables con habilita-

ción del reloj, e implementando circuitos externos para la generación correcta de las salidas F y

A, que deben durar un solo ciclo de reloj.

Page 21: Cerradura Electrónica Digital

PR

EB

CLR

B

CLK

DQ

QB

U1

PR

EB

CLR

B

CLK

DQ

QB

U2

PR

EB

CLR

B

CLK

DQ

QB

U3

U20

1

U31

U32

U33

U34

U35

U36

U37

U38

U39

U40

U41

U42

U43

U44

U45

U46

U47

AB

RE

FA

LLO

CLR

CLK

A2

A1

DN

Q3

Q2

Q1

Máq

uina

de

Est

ados

ME

SC

CE

SA

R V

.1.0

M.A

.P.E

01/2

1/03

shee

t 1 o

f 1

Page 22: Cerradura Electrónica Digital

PR

EB

CLR

B

CLK

DQ

QB

U1

PR

EB

CLR

B

CLK

DQ

QB

U2

PR

EB

CLR

B

CLK

DQ

QB

U3

U4U

5U6

U8

U9

U10

U11

U12U13

U14

U15

U16

U17

U18

U19

U20

1U

22

U23

U24 U

25

U26

U27

U28

U29

U30

_TX

OK

_PT

CA

RG

A

DE

SP

Q3

Q2

Q1

Máq

uina

de

Est

ados

CT

xC

ES

AR

V.1

.0M

.A.P

.E01

/21/

03sh

eet 1

of 1