You are on page 1of 39

1.- CIRCUITOS SECUENCIALES 1.1.

- Definicin, caractersticas y constitucin de los circuitos secuenciales Los circuitos secunciales, de la misma forma que los combinacionales, estn constituidos por puertas lgicas, y como en estos ltimos, la escala de integracin de la mayora de los circuitos disponibles en catalogo es la MSI. Sin embargo, presentan unas caractersticas muy singulares que describiremos a continuacin. A diferencia de los circuitos combinacionales, en los secuenciales, los valores de las salidas en un momento dado no dependen exclusivamente de los valores aplicados en las entradas en ese instante, sino tambin de los que estuviesen presentes con anterioridad. Puede ocurrir, por lo tanto, que para iguales valores en las entradas se puedan obtener estados distintos en las salidas en momentos diferentes. La respuesta de un circuito de estas caractersticas, frente a una secuencia de valores aplicada a las entradas, depende de su constitucin fsica. Los circuitos secuenciales tienen capacidad para recordar o memorizar los valores de las variables de entrada. Esta operacin es imprescindible en los sistemas automticos construidos con circuitos digitales, sobre todo en los programables, de los cuales nos ocuparemos mas adelante. El almacenamiento o memorizacin de la informacin presente en la puerta del circuito se realiza gracias a la existencia de unas variables denominadas de estado interno, cuyo valor se vera afectado por los cambios producidos en la combinacin binaria aplicada a la entrada. Existen dos grandes tipos de circuitos secuenciales: a) Maquina de Mealy. En este tipo de circuitos, las salidas dependen, en cada instante de los valores de los elementos de memoria y de las entradas presentes en ese instante. Aqu, para cada estado, podemos tener tantas salidas como combinaciones tengarnos en las entradas. b) Maquina de Moore. Aqu las salidas en cada instante dependen exclusivamente de los estados de los elementos de memoria, y no dependen directamente de las entradas en ese instante. Los valores de las entradas, sirven para modificar las diversas transiciones entre estados. Otra importante divisin de los circuitos secuenciales es entre sincronos y asncronos

Los sncronos, requieren una seal de control procedente de un generador externo al propio circuito, que funciona como llave, de modo que si no se aplica dicha seal no se hacen efectivos los valores presentes en las entradas. Este mtodo se emplea cuando el sistema electrnico es complejo y los tiempos de conmutacin de los diversos dispositivos que lo constituyen son distintos. La seal de control, tambin denominada reloj (Clock, o Clock Pulse en ingles), se aplica a las entradas del mismo nombre de cada bloque integrado para sincronizar la transmisin de datos 0 informacin a travs del sistema. La frecuencia de la seal elctrica debe adaptarse a la velocidad de conmutacin del dispositivo mas lento del circuito. En cambio, los sistemas secuenciales asncronos no poseen entrada de reloj, y los cambios en las variables de estado interno y en los valores de salida se producen, sencillamente, al variar los valores de las entradas del circuito Aqu nos vamos a centrar especialmente en el estudio de los biestables (loo circuitos secuenciales ms elementales, capaces de almacenar, si no existe orden exterior de cambio, la informacin en ellos contenida), junto con los contadores y registros de desplazan1iento, que, como observaremos, son tambin circuitos secuenciales fonl1ados por una cadena de biestables. Todos estos dispositivos son de aplicacin general, y de importancia fundamental en cualquier sistema digital 1.2.-Biestables Los biestables basculas o flip-flops, son circuitos secuenciales constituidos por puertas lgicas capaces de almacenar un bit, que es la informacin binaria ms elemental. AI igual que los circuitos secuenciales en general, los biestables tambien se pueden clasificar en sincronos y asincronos, como se muestra en la siguiente figura: 1.2.1.-Basculas asincronas Son aquellas basculas que carecen de impulso de reloj y, por lo tanto, la salida basculara en la medida en que cambien las entradas. 1.2.1.1.- La bascula RS (asincrona) Es una de las basculas asincronas. Como ejemplo, vamos a realizar una RS con operadores logicos.

En la figura anterior, se muestran dos implementaciones de dicha bascula, una a base de puertas NAND, y la otra a base de puertas NOR. La denominacion "RS" proviene de "Reset-Set", de forma que la entrada "s" sirve para poner a "1" la salida, y la "R" para ponerla a "0". La tabla de la verdad para cada uno do los circuitos es la siguiente. -Puertas NAND.

-Puertas NOR.

Q t = Estado do la salida Q antes do posicionar las entradas con la

informacion y validarlas mediante el reloj (estado anterior).

.Q t+ posicionar y validar las

t = Estado do la salida Q despues de

entradas(estado siguiente).

.Indeterminado = EI estado, en eslas condiciones de entrada. de Q. no

esta determinado. Y las ecuaciones correspondientes de la salida son: -Puertas NAND: _ Q t+ -Puertas NOR. _ _ _ Q t+ t = RSQ t+RS t =RSQ t+RS

Ya vemos en las ecuaciones que el estado anterior de la salida inifluye en el nuevo estado de la salida (existe memoria). 1.2.1.2.- La bascula "T (asincrona) Este es otro tipo de bascula que solo tiene una entrada. La forma de operar vamos.. a verla en el siguiente "timing", o diagrama de tiempos (representacion grafica de las entradas y salidas en funcion del tiempo). Comparando los diagramas, vemos que la seal es de frecuencia mitad que la de entrada. Este tipo de bascula la emplearemos, colocando en cascada una serie de ellas, en los circuitos divisores de frecuencia (cada biestable dividira la frecuencia por 2). Se puede obtener a partir de la bascula T sincrona (como veremos al ver esta). Por otra parte, su funcionamiento es muy similar al de la bascula binaria (sincrona). 1.2.2.- Basculas sncronas Dentro de los sistemas sincronos tenemos dos tipos: Sincronas sencillas, o por nivel En ellas, las entradas solo tienen actuacion sobre la bascula (se validan) cuando el nivel logico en la entrada de reloj esta alto o bajo (segun el sistema). Esta caracteristica obliga a que las salidas solo puedan variar cuando la entrada de reloj este a nivel de paso (de atlivacion). Slncronizadas (Edge-Triggered), o por flanco

En las basculas que adoptan este sistema de sincronismo, la informacion presente en las entradas solo se tiene en cuenta cuando la seal de reloj cambia de nivel, es decir, durante el tiempo de subida o de bajada, dependiendo del caso. Todos los tipos de basculas que vamos a exponer pueden adoptar ambos tipos de sincronizacion, y esto lo reflejamos en la simbologia ulilizada Asi: Sincronas sencillas Sincronizadas sencillas ( Edge-Triggered ) La entrada CP ("Clock Pulse"), es la correspondiente a los pulsos del reloj. 1,2,2,1.- Bascula "RS" (sincrona) Esta bascula tiene el siguiente diagrama de tiempos (la vamos a realizar con activacion por nivel "1" de CP).

La denominacion "D" viene de "Datos" (sirve para realizar una transferencia de datos cuando la seal de cotrol indique, que es la funcion del "cerrojo"), La tabla de la verdad:

Y la ecuacion resultante es: __ Q t+D t= DCP+CPQ t 1.2.2.3,- Bascula "T" (sincrona) Es una bascula bastante empleada, y posee una arquitectura bastante similar a la del flip-flop tipo "D", Se mantiene o niega el valor de Ia salida en funcion del valor de Ia entrada .T (si es un "0" lo mantiene, y si es un "1" lo niega), La tabla de la verdad de un biestable T" activado por flanco de subida, es la siguienle'

EI simbolo "indica que solo se utilizara el valor de la salida al llegar un flanco de subida al reloj, manteniendose el valor anterior hasta ese momento, Para oblener la bascula "T asincrona a partir de esta bascula con poner a "1" la entrada "T (cada vez que hay un flanco de subida se invierte Ia salida con lo que se obliene una salida de frecuencia mitad que la de la entrada de reloj), 1.2.2.4.- Bascula "JK" Tambien denominada "Masler-Slave", es quiza la mas difundida, en sus distintas versiones de activacion (por nivel y por flanco), Esta difusion esla jusliticada por su versatilidad, ya que Iapartir de una "}K" se pueden obtener los otros tipos de basculas. veamos las tablas de verdad de una "JK" activada por nivel "0" y de una "JK" activada por flanco descendente:

Y la ecuacion resultante para ambos casos es: __

Q t+Dt = JQ t+ KQ t

Obtencion de las bisculas "D" y "T" a partIr de la "JK" Para obtener estas basculas a partir de la "JK", basta con realizar las siguientes operaciones: _ a) Para obtener la "D", basta con hacer K = j , y meter los dalos correspondientes a la entrada "D" por la "J" Para comprobar esto, basta con mirar las tablas de la verdad de ambos flip-flops, Vemos que para los dos casos en que K =J, al validarse las entradas, la salida pasa a tomar el valor que tenia la J (como en un flip-flop tipo D) b). Para otener la "T". solo hay que hacer J=K, y poner en cualquiera de esas dos entradas los datos correspondientes a la entrada T. Asi, si J=K="0", no se invierte la salida al validar las entradas, y si J=K=1, se invertira la salida (como en un flip-flop tipo T).

2.2.2.5.- Bascula binaria Es una bascula con un mando unico, de tal forma, que la salida evoluciona cambiando de estado, dependiendo del tipo de acltivacion. Asi tenemos, a nivel "1", a nivel "0", a flanco ascendente, a flanco descendente. Este flip-flop tiene un funcionamiento similar al del biestable "T" asncrono (divide por dos la frecuencia del reloj) Como ejemplo, vamos a ver la simbologia y comportamiento de una bascula binaria por flanco descendenle. La "bascula binaria" se puede construir a base de basculas "D", y "JK". Veamos unos ejemplos. -Si queremos obtener una bascula binaria activada por flanco de bajada, lo podemos hacer a partir de una bascula "D" tambien por flanco descendente. Asl, cada vez que lIegue un flanco de bajada, pasa a la salida el valor de la entrada (que es el de la salida anterior, pero negado). Por lo tanto, se obtiene una salida con una frecuencia la mitad de la del reloj del sistema.

-Para hacer lo mismo a partir de una bascula "JK" de frente descendente:

En la figura se recogen dos posibilidades: la de la izquierda, consiste en emplear el fipflop JK como uno de tipo T (J=K), Y poniendo en ambas entradas 1, con lo que cada vez que lIegue un flanco descendente de reloj se producira una inversion de la salida; en el caso de la izquierda, se emplea el flip-flop JK como uno tipo D (K = 1), siendo el montaje identico al explicado para dicho flip-flop 1.2.2.6.- Entradas asincronas Pese al caracter sincrono de los flip-flops enunciados en este apartado, estos circuitos tambien posceo entradas de caracter ,sincrono. Dicha denominacion proviene del hecho de que actan independienteme del valor que tenga la seal de reloj.

Normalmente, suele haber dos entradas asincronas


.CLEAR, 0 RESET. Pone a "0" la salida del flip-flop. .SET,O PRESET. Pone a "1" la salida del flip-flop

Estas entradas se suelen utilizar para inicializar el sistema, dando a los biestables el valor deseado, para que luego evolucionen. 1.3.- Contadores Un contador es un circuito secuencial de aplicacion general, cuyas salidas representan en un determinado codigo el numero de pulsos que se meten a la entrada Estan constituidos por una serie de biestables conectados entre si de modo que las salidas de estos cambian de estado cuando se aplican impulso. a la entrada. La capacidad de un contador es el numero mas elevado, expresado en cualquiera de los codigos binarios, que puede ser representado en sus salidas. El modulo, o nmero de estados totales que puede representar el contador, es igual al numero mximo de impulsos que se puede representar ms uno (el cero). Si "n" es el nmero de flip-flops empleado para hacer el contador, y "M" el mdulo del contador, se debe verificar: M " 2 Cuando el contador llega al valor mximo de su capacidad, comienza a contar de nuevo desde cero al aplicarle el siguiente impulso. Dependiendo del modo de operacin, los contadores pueden ser ascendetes ( si su contenido se incrementa con cada impulso), descendentes (si su contenido disminuye), o bien una combinacion de ambos (up/down counters). Por otro lado, los contadores se dividen en sincronos y asincronos. Los primeros, son aquellos en los que los impulsos de reloj se aplican simultameamente a todos los biestables, y por tanto, todas las salidas cambian al mismo tiempo. En los asincronos, por contra, la seal de reloj se aplica a la entrada del primer biestable, la salida de ste a la entrada de reloj del siguiente, y asi sucesivamente el tiempo de propagacion de estos dispositivos, es superior al de los sincronos (la seal tiene que pasar por todos los bits menos significativos hasta llegar a un deteminado bit). Otra clasificacion es segn la naturaleza de los nmeros que cuenta el dispositivo. Existen contadores binarios (el nmero de estados es mltiplo de 2), decimales (el numero de estados es mltiplo de 10), y de modulo M (un numero M cualquiera de estados).

Adems, en todos los casos anteriores, la cuenta no tiene por qu empezar e terminar en 0. Por ejemplo se puede disear un contador de mdulo 3 gue cuente 5-6-7. El diseo de contadores sincronos, se hace de igual forma que para cualquier circuito secuencial. Como caso particular, vamos a ver el diseo de contares binarios asincronos. 1.3.1.- Contador asncrono binario Un caso particulanmente sencillo, lo constituyen los contadores asincronos binarios. Como emplo, vamos a disear y realizar un contador binario ascendente de 4 bits (cuenta de O a 15). Si estudiamos la evolucion de los nmeros en la cuenta, vemos que cada uno de los bits cambia de valor cuamdo el de su derecha pasa de 1 a 0. Por ejemplo, con dos bits vemos que: 00-0l-10..., y a su vez 10-11-00... Por lo tanto, cada bit cambia cuando en el bit de la derecha se produce un flanco descendete. Recordando el funcionamiento del flip-flop tipo T. vemos que este, al llegarle el conespondiente flanco de reloj, inverta la salida si tena un 0 a la entrada, y mantena su valor si a la entrada habia un 1. Visto lo anterior, una sencilla forma de realizar el contador seria:

Empleamos flip-flops tipo T activos a flanco descendente. Introducimos los pulsos a contar en el flip-flop conespondiente al bit menos sigmificativo, y la salida de ste al reloj del bit de su izquierda. Igualmente, la salida de este va al reloj del flip-flop de su izquierda y asi sucesivamente... Otra posibilidad, seria emplear flip-flops tipo JK como los de tipo T (haciendo J=K=I) Si los flip-flops son a flanco ascendente, conectaremos al reloj las salidas negadas.

Para hacer un contador descendente, el procedimiento es bastante similar. Tomando como ejemplo el caso de dos bits, seria: ll-10-01.., y 01-00-11. En este caso vemos que cada bit cambia cuando el de su derecha pasa de 0 a 1 (flanco asecendente). Por lo tanto, nos valdria el diseo anterior, cambiamdo los biestables de flanco descendente por unos de flanco ascendente.

De igual forma, si tuviramos que emplear flip-flops por flanco descendente, llevartamos a los relojes conrespondientes la salida negada. Para los circuitos vistos en este apartado, se aprecia con facilidad que el flip-flop menos signiftcativo es un divisor de frecuencia por 2, el siguiente por 4... 1.4.- Registros . Son dispositivos para cl al macenamiento, o manipulacion de informacin binaria Existen divensos tipos de registros, dependiendo de la funcion que desarrollen: - Registros de almacenamiento simple. Su funcion es basicamente la de almacenar una infommacion. - Registros de conversion serie-paralelo. Son registros que realizan la conversin de la infonmacion que accede a ellos en serie, a un formato en paralelo. - Registros conversion paralelo-serie. Son registros que realizan la funcin inversa a los anteriores, es decir, a la infommacion que accede a ellos en paralelo, le dan formato serie. - Registros de desplazamiento. Son registros que penmiten ei desplazamiento de la informacin que almacenan. Tambin suelen servir para las funciones anteriores.

De este tipo de registros vamos a reatizar un estudio en profundidad, ya que es una de las funciones que pueden realizar los acumnladores, que son parte integrante de tos microprocesadores, y que veremos en profundidad al tratar los Sistemas Digitales. 7,4.1.- Registros de desplazamiento Los registros de desplazamiento realizan fundamentalmente dos funciones : rotaciones, y daplazamientos propiarnente dichos. - ROTACIONES. Pueden ser a la derecha o la izquierda. Se realizan en bucle cerrado y se pueden utilizar para analizar el estado de un bit que forma parte de una infonmacin, y cuyo acceso solo es posible en una posicion determinada. Los registros que realizan esta operacin se denominan registros en anillo (un caso particular es el de los contadores en anillo, cuando aprovechamos el desplazamiento para realizar una cuenta). Vamos a ver los diversos tipos de rotacion. Rotacion a la lzquierda (ROL). Veamos aplicandolo a un acumulador del microprocesador 6800 (tiene registros de 8 bits, y los testea a travs de un biestable C).

Despus de ocho desplazamientos, todos los bits, que conforman el contenido del AccA, pueden ser testeados cuando pasan por "C" (acarreo). Rotacin a la derecha (ROR). En este caso la rotacin se hace a derechas. Siguiendo con cl ejemplo anterior, tenemos:

Nuevamente, despues de ocho desplazamientos todos los bits, que conformam el contenido del AccA, pueden ser testeados cuando pasan por "C". - DESPLAZAMIENTOS. Tenemos dos tipos de desplazamientos: el logico y el aritmtico, segn se vean o no implicados elementos ajenos al propio registro.

Vamos a ver algunos tipos de desplazemientos: Desplazamiento aritmetico a la izquierda (ASL). Basicamente realiza la siguicnte funcion:

Un desplazamiento a la izquierda equivale a una multiplicacion por 2 en el sistema binario. Desplazemiento aritmetico a la derecha (ASR). Basicamente realiza la funcion siguiente:

Desplazamiento logico a la derecha (LSR). Equivale a una division por 2 en binario.

Aqu, vemos que entra un "O" exterior al registro. 7.4.2.- Realizacin de Un registro de desplazemiento La forma ms elemental de realizar un registro de desplazamiento, es la que se muestra en la figura siguiente:

Como puede verse, cl circuito consta de 4 flip-flops tipo D puestos en serie, de tal forma que la salida Q de uno es la entrada D del siguiente bit La entrada de reloj es comn a todos, por lo que cl circuiito es sincrono. Los datos van entrando y se van desplazando hacia la derecha conforme llega los pulsos de reloj Vemos que hay dos salidas, serie y paTalelo. La salida serie muestra los mismos datos que hay a la enuada pero eon ml retaTdo igual al periodo de reloj multiplicado por cl nmero de flip-flops que componen cl registro (los datos se retaTdaD UD periodo en cada flip-flop). La salida paralelo muestra los cuatro ltimos datos introducidos, cada uno de ellos con un retardo respecto a la entrada defnido por su distancia respecto a sta CIRCUITOS SECUENCIALES: El comportamiento de un circuito secuencial se determina mediante las entradas, las salidas y los estados de sus flip-flops. Tanto las salidas como el estado siguiente son funcin de las entradas y del estado presente. El anlisis de los circuitos secuenciales consiste en obtener una tabla o un diagrama de las secuencias de tiempo de las entradas, salidas y estados internos. Tambin es posible escribir expresiones booleanas que describen el comportamiento de los circuitos secuenciales. Sin embargo, esas expresiones deben incluir la secuencia de tiempo necesaria ya sea en forma directa o indirecta. Un diagrama lgico se reconoce como el circuito de un circuito secuencial e incluye los flip-flops. Los flip-flops puede ser cualquier tipo y el diagrama lgico puede o no incluir compuertas combinacionales. CONTADORES: Un contador es un circuito secuencial de aplicacin general, cuyas salidas representan en un determinado cdigo el numero de pulsos que se meten a la entrada Estn constituidos por una serie de biestables conectados entre si de modo que las salidas de estos cambian de estado cuando se aplican impulso. a la entrada. La capacidad de un contador es el numero mas elevado, expresado en cualquiera de los cdigos binarios, que puede ser representado en sus salidas. El modulo, o nmero de estados totales que puede representar el contador, es igual al numero mximo de impulsos que se puede representar ms uno (el cero). Si "n" es el nmero de flip-flops empleado para hacer el contador, y "M" el mdulo del contador, se debe verificar: M " 2

Cuando el contador llega al valor mximo de su capacidad, comienza a contar de nuevo desde cero al aplicarle el siguiente impulso. Dependiendo del modo d e operacin, lo s contadores pueden ser ascendentes ( si su contenido se incrementa con cada impulso), descendentes (si su contenido disminuye), o bien una combinacin de ambos (up/down counters). Por otro lado, los contadores se dividen en sncronos y asncronos. Los primeros, son aquellos en los que los impulsos de reloj se aplican simultneamente a todos los biestables, y por tanto, todas las salidas cambian al mismo tiempo. En los asncronos, por contra, la seal de reloj se aplica a la entrada del primer biestable, la salida de ste a la entrada de reloj del siguiente, y as sucesivamente el tiempo de propagacin de estos dispositivos, es superior al de los sncronos (la seal tiene que pasar por todos los bits menos significativos hasta llegar a un determinado bit). Otra clasificacin es segn la naturaleza de los nmeros que cuenta el dispositivo. Existen contadores binarios (el nmero de estados es mltiplo de 2), decimales (el numero de estados es mltiplo de 10), y de modulo M (un numero M cualquiera de estados). Adems, en todos los casos anteriores, la cuenta no tiene por qu empezar e terminar en 0. Por ejemplo se puede disear un contador de mdulo 3 que cuente 5-6-7. El diseo de contadores sncronos, se hace de igual forma que para cualquier circuito secuencial. Como caso particular, vamos a ver el diseo de contares binarios asncronos. TABLA DE ESTADOS: Q 0 0 1 1 OBJETIVOS

Q(t+1) 0 1 0 1

J 0 1 X X

K X X 1 0

D 0 1 0 1

S 0 1 0 X

R X 0 1 0

T 0 1 1 0

Analizar y disear circuitos secuenciales. Aplicar los conocimientos obtenidos en clase para implementar circuitos de contadores sin entradas externas. Aplicar los conocimientos obtenidos en clase para implementar circuitos de contadores con entradas externas.

CONCLUSIONES
o

Los mapas de Karnaugh son de vital importancia para encontrar y simplificar el diseo del circuito de un contador. Al aadir entradas externas se duplica el numero de contadores existentes en el circuito. Para poder implementar un contador debemos tener la tabla de estados que se encuentra en el marco terico.

LABORATORIO -2-1-3-0 Estado Presente A 0 1 0 1 JA=KA=1; JB=KB=A B 0 0 1 1 Estado siguiente A 1 0 1 0 B 0 1 1 0 Salidas JA 1 X 1 X KA X 1 X 1 JB 0 1 X X KB X X 0 1

FF JK Estado Presente Estado siguiente Salidas

B 0 A 0 1 0 1 1 JA=C; KA=B; JB=-C; KB= A+B; JC=KC=1. C

A B C JA 1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 1 KA

JB KB JC

K C

1 0 X X 01X 0 1 X X 0X1 1 X 1 X 11X 0 1 X 0 XX1 1 X 0 1 X1X 0 X 1 X 0X1

bits, con un FF D Gray 000 001 010 000 001 011 ABC 000 001 011 ABC(T+1) 001 011 010 DA 0 0 0 DB 0 1 1 DC 1 1 0

011 100 101 110 111

010 110 111 101 100

010 110 111 101 100

110 111 101 100 000

1 1 1 1 0

1 1 0 0 0

0 1 1 0 0

DA=AC+BC; DB=AC+BC; DC= AB+AB=AOB. Disear un contador sincrnico que cumpla la siguiente secuencia: 0,1,3,2,6,7,5,4,0 con FF JK, con una entrada externa X, cuando X=1, el contador es ascendente y cuando X=0 el contador es descendente. Estado Presente ABC 000 000 001 001 011 011 010 010 110 110 111 111 101 101 100 100 Entrada externa X 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Estado siguiente ABC 100 001 000 011 001 010 011 110 110 111 110 101 111 100 101 000 Salidas A JK 1X 0X 0X 0X 0X 0X 0X 1X X1 X0 X0 X0 X0 X0 X0 X1 Salidas B JK 0X 0X 0X 1X X1 X0 X0 X0 X0 X0 X0 X1 1X 0X 0X 0X Salidas C JK 0X 1X X1 X0 X0 X1 1X 0X 0X 1X X1 X0 X0 X1 1X 0X

JA=C(BOX); JB=C(AOX); JC=AOBOX; KA=C(BOX); KB=C(AOX); KC=AO(BOX).

entradas externas (4 contadores) X 0 0 1 1 ABC 000 000 000 000 001 001 001 001 010 Y 0 1 0 1 Secuencia 0.1.2.3.4.5.6.7.0... 2.4.6.0.2... 1.3.5.7.1... 6.4.2.0.7.5.3.1.6... XY 00 01 10 11 00 01 10 11 00 ABC(T+1) 001 010 001 111 010 010 011 110 011 JA KA 0X 0X 0X 1X 0X 0X 0X 1X 0X JB KB 0X 1X 0X 1X 1X 1X 1X 1X X0 JC KC 1X 0X 1X 1X X1 X1 X0 X1 1X

010 010 010 011 011 011 011 100 100 100 100 101 101 101 101 110 110 110 110 111 111 111 111

01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11

100 011 000 100 100 101 001 101 110 101 010 110 110 111 011 111 000 111 100 000 000 001 101

1X 0X 0X 1X 1X 1X 0X X0 X0 X0 X1 X0 X0 X0 X1 X0 X1 X0 X0 X1 X1 X1 X0

X1 X0 X1 X1 X1 X1 X1 0X 1X 0X 1X 1X 1X 1X 1X X0 X1 X0 X1 X1 X1 X1 X1

0X 1X 0X X1 X1 X0 X0 1X 0X 1X 0X X1 X1 X0 X0 1X 0X 1X 0X X1 X1 X0 X0

JA=BXY+BCY+BXY=Y(BOX)+BCY; KA=JA

JB=C+X+XY=C+(XOY); KB=E+C JC=Y+ABC; KC=X+ BX secuencial que cumpla: Si X=1 cuente 0-9-0 Si X=0 cuente 9-0-9, con FF D. ENTRADAS ABCD 0000 0000 0001 0001 0010 0010 0011 0011 0100 0100 0101 0101 0110 0110 0111 0111 1000 X 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ABCD(T+1) 0001 1001 0010 0000 0011 0001 0100 0010 0101 0011 0110 0100 0111 0101 1000 0110 1001 SALIDAS DA 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 DB 0 0 0 0 0 0 1 0 1 0 1 1 1 1 0 1 0 DC 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 DD 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1

1000 1001 1001

0 1 0

0111 0000 1000

0 0 1

1 0 0

1 0 0

1 0 0

DA=ADE+AED+BCDE+ ABCDE= A(DOE)+D(BCE+ABCE); DB=B(1+DE)+DE(BC+A)+BCED=(EOD)(BC+B)+DE(B+A)+B; DC=DE(C+A)+ADE; DD=COD.

BIESTABLES 1. INTRODUCCIN: El biestable como elemento bsico de memoria. Los BIESTABLES nos son necesarios para la sntesis de los circuitos secuenciales, que son aquellos cuya salida depende de la entrada actual y de las entradas en momentos anteriores. Los biestables sern los encargados de almacenar ( MEMORIA ) el estado interno del sistema. Pero aqu nos aparece un concepto nuevo llamado estado interno que para poder entenderlo intuitivamente vamos a poner un ejemplo fuera de la electrnica. Si consideramos el sistema BOLIGRAFO podemos definir:

el conjunto de entradas: PULSAR Y NO PULSAR el conjunto de salidas : SALE PUNTA, ENTRA PUNTA y NO SE MUEVE PUNTA. el conjunto de ESTADOS INTERNOS : PUNTA DENTRO y PUNTA FUERA.

Como puedo observar los estados internos de un sistema me definen todas las situaciones diferenciadas por las que puede pasar o a las que puede evolucionar mi sistema. Los biestables son circuitos binarios ( con dos estados ) en los que ambos estados son estables de forma que hace falta una seal externa de excitacin para hacerlos cambiar de estado. Esta funcin de excitacin define al tipo de biestable ( D,T, RS o JK ). En la electrnica combinacional no exista el tiempo, sin embargo en la electrnica secuencial es esencial, la posicin relativa en la que ocurren los sucesos ( eventos ). 2. Biestables RS con puertas NAND y NOR. El estado del circuito biestable ser el contenido de la memoria. La memoria se consigue mediante la realimentacin, o sea introduciendo la salida otra vez a la entrada. Si Qn es el estado actual o presente y Qn+1 el estado futuro entonces se consigue el estado de memoria :

fig 1 : Configuracin bsica de estado de memoria Esta situacin de estado de memoria viene dada por la expresin :

Para poder modificar este estado de memoria debo aadir entradas y as cambiar el estado. Si llamamos a estas entradas R ( reset ) y S ( set ) obtenemos el biestable RS. Los biestables RS se pueden implementar con puertas NOR y NAND. A este tipo de biestables que son activos por nivel se les denomina LATCH.

figura 2 . Latch RS mediante NAND y mediante NOR La tabla de verdad o funcionamiento del Latch RS es la siguiente :

Vamos a analizar una situacin en el Latch RS con puertas NOR ( p.e. ) para entender la tabla de verdad anterior:

Consideramos la situacin de partida (estado presente ) y vamos a introducir R=S=0 ( la situacin de partida est en azul ). Como se puede observar se mantiene el estado 0 como caba esperar, encuentra en estado de memoria. , luego se

Consideramos ahora la situacin de partida (estado presente ) y vamos a introducir R=0 y S=1( la situacin de partida est en azul ). Como se puede observar el estado futuro cambia a 1 como caba esperar segn la tabla, , una vez que se estabiliza la realimentacin de las salidas.

La ? que aparece en la tabla de verdad corresponde a una situacin NO PERMITIDA en la que se genera un conflicto de indeterminacin que se solucionar con el biestable JK haciendo que cuando las entradas estn en alta el circuito cambie de estado.

Si analizo la solucin del Latch RS con puertas NAND llegar a la conclusin que se diferencia del anteriormente analizado porque es activo sus entradas a nivel bajo ( ceros lgicos ).

3. BIESTABLES SNCRONOS. La necesidad de establecer los instantes de tiempo en un circuito secuencial basado en biestable nos lleva a la introduccin de seales de reloj que nos marcan esos

instantes. En cuanto al comportamiento respecto a los instantes de tiempo los circuitos se dividen en :

Circuitos asncronos : cada variacin en las entradas afecta al estado del circuito ( es igual a definir un nuevo instante de tiempo ) Circuitos sncronos : Una seal de reloj establece los instantes en los que se modifica el estado del circuito.

3.1. Sincronismo por nivel y sincronismo por flanco. Los circuitos sncronos se dividen a su vez en :

Sncronos por nivel : El instante en el que se modifica el estado del circuito es un semiciclo de reloj. Sncronos por flanco : El instante en el que se modifica el estado del circuito es un flanco del reloj.

Esto me lleva a la siguiente clasificacin de los biestables :


Latch: Se les llama as a los biestables asncronos o sncrono por nivel. ( ver figura 2 el biestable asncrono RS por nivel ). Flip-flop : Se les llama as a todos los biestables sncronos por flanco.

3.1.a. Biestable RS sncrono por nivel Se aade una seal de reloj al Latch RS bsico ( asncrono ) quedando de la siguiente forma ( ver figura 3 ):

figura 3. Latch RS sncrono por nivel Aqu tenemos que : R'= R.CK S'= S.CK Si CK=0 tenemos que R'=S'=0 por lo que nos encontramos es una situacin de estado de memoria. Si CK=1 implica que R'=R y S'=S y por tanto el biestable atiende a los valores de entrada y acta segn su tabla de verdad. Todo esto lo resumimos en la siguiente tabla de verdad :

Como el tiempo que atiende el biestable a las entradas es todo el semiciclo en alta, si durante ese tiempo se produce un cambio inesperado en las entradas R y S nos puede llevar a una situacin errnea. Por tanto para utilizar este tipo de biestables por nivel debo garantizar que las entradas sean estables durante el tiempo que el nivel est en alta. Una solucin a estos problemas es el uso de biestables RS sincronizados por flancos ( Flip-flop RS ) ya que reduzco el instante de tiempo en el que el biestable atiende las entradas. 3.1.b Biestables RS sncronos por flancos En estos biestables se introduce un circuito detector de flancos ( ver figura 4 ):

figura 4. Flip-flop RS El disparo ( activacin del FF ) se puede dar tanto en el flanco de subida como el de bajada, esta situacin viene reflejada en la en la tabla de verdad del FF, como en la siguiente en las que las flechas hacia arriba indican que se utiliza el flanco de subida de la seal de reloj.

De todas formas en la representacin del FF RS en los circuitos tambin podr diferenciarlos segn muestra la siguiente figura:

figura 5. FF RS por flancos 3.2. Problemas de temporizacin en circuitos sncronos Los FF requieren tambin que las entradas sean estables un tiempo del flanco activo ( set-up time ), y tambin un tiempo despus ( hold time ). En la actualidad todos los FF modernos disparados por flancos tienen tiempos de retencin o hold time, muy pequeos 5 ns, es decir no necesitan mantener la entrada despus del flanco activo. De todas formas antes del desarrollo de los FF por flancos tan optimizados actuales, los problemas de temporizacin se resolvan con los FF llamados FF MAESTRO-ESCLAVO ( master-slave )

El funcionamiento es el siguiente al llegar la seal de reloj en flanco de subida, carga al MAESTRO . Cuando llega el flanco de bajada el MAESTRO se queda en estado de memoria y el ESCLAVO se activa ( debido al inversor NOT ) y atiende a la entrada que es lo que se la ha pasado ( la mantiene estable ) el MAESTRO por permanecer en estado de memoria.

Es importante tambin resear que en el diseo de circuitos digitales secuenciales y combinacionales se le da tambin importancia el solucionar problemas transitorios o Glitch. Un Glitch es una seal no deseada debido a que las entradas de una puerta no cambian simultneamente debido a que los tiempos de propagacin en las puertas son distintos o en circuitos anteriores. 3.3. Biestables sncronos con entradas asncronas. Se dota al biestable sncrono de entradas adicionales PR ( preset puesta a uno ) y CL (clear puesta a cero ) que se consiguen con dos puertas NOR detrs de la configuracin de la figura 3 4.

Figura 6 . biestable RS sncrono con entradas asncronas Las entradas R y S actan solamente cuando la seal CK=1. En cambio PR y CL las seales asncronas, tienen efecto siempre sobre el estado del circuito, independientemente del estado del reloj. Siendo su tabla de verdad o funcionamiento :

4. Biestables JK,T y D. 4.1. Biestable JK El JK resuelve el caso de indeterminacin R=S=1 del RS ( la ? de las tablas de verdad ) adems de ofrecer ms posibilidades. Una posible realizacin del JK sera la siguiente :

Figura 6. Biestable JK ( puede existir versin por flanco o por niveles ) La tabla de verdad o funcionamiento sera la siguiente : La ecuacin de funcionamiento de la tabla de verdad es

4.2. Biestable tipo D ( delay = retardo )

Su tabla de funcionamiento o verdad es la siguiente :

La ecuacin es la siguiente . Puedo obtener un biestable tipo D conectando un JK de la siguiente forma como se demostrar en clase:

4.3.

Biestable

tipo

trigger

disparo

La tabla de funcionamiento es la siguiente :

Siendo su ecuacin obtenida de la tabla : Tambin puedo obtener un tipo T a partir de un JK de la siguiente forma ( se demostrar en clase ) :

5. CRONOGRAMAS O DIAGRAMAS DE TIEMPO CON BIESTABLES. Es uno de los mtodos ms usados para estudiar el comportamiento de las seales de un biestable ( estado interno, salidas, etc. ) y de cualquier circuito secuencial en general. En el se ve en un grfico seal-tiempo como evolucionan las seales al comps de la seal de reloj ( por flanco o nivel ) de una forma muy explcita. ( En clase se vern ejemplos de los biestables estudiados en este tema ) REGISTROS Los registros son circuitos secuenciales conectados por una serie de biestables conectados en cascada. Tienen diversas aplicaciones prcticas como:

Transmitir y recibir datos en serie y en paralelo. Conversin de datos en formato serie y paralelo y viceversa. Almacenamiento de informacin (memoria)

Tipos de registros:
o

Registros de desplazamiento ENTRADA SERIE - SALIDA SERIE. Es el registro ms sencillo, en el que recibimos la informacin en serie e y en la salida obtenemos tambin en serie, pero retardad tantos ciclos de reloj como nmero de biestables compongan el registro. Funcionan de la siguiente forma, partiendo de que en el inicio todos los biestables estn reseteados Q=0, en el primer flanco de subida de la seal de reloj (o bajada, dependiendo del biestable), el contenido de la entrada del primer biestable pasa a la su salida que es a su vez la entrada del segundo biestable. Este tipo de registro se suele usar como unidad de retardo. Registros de desplazamiento ENTRADA SERIE - SALIDA PARALELO. En este tipo de registros, la informacin se recibe en serie y la salida la

obtenemos en paralelo, una vez transcurridos tantos ciclos de reloj como biestables compongan el registro. Las salidas Q estn conectadas a las entradas del biestable y a su vez a la salida en paralelo, el funcionamiento es igual que el anterior pero dependiendo del nmero de biestables y al terminar el ciclo de reloj, tememos una salida de tantos bits en paralelo como nmero de biestables.
o

Registros de desplazamiento ENTRADA PARALELO - SALIDA SERIE. En este tipo de registro, la informacin es introducen en el registro en paralelo simultneamente en todos los biestables, por el contrario, la salida de los bits se obtienen en serie, una vez transcurridos tantos ciclos de reloj como nmero de biestables compongan el registro. Se realizan conjugando con un circuito combinacional y otra entrada que llamamos Shift/Load con una entrada directa y otra invertida, cuando se producen un flanco activo de reloj, se produce un paso de las entradas al registro de datos a travs del c. Combinacional, cuando est a nivel alto, las puertas permiten el desplazamiento en serie hacia la derecha de los bits almacenados., Producindose la salida de todos los datos una vez transcurridos los ciclos de reloj, es til a la hora de convertir datos paralelos a serie para poderlos enviar por un cable. Registros de desplazamiento ENTRADA PARALELO - SALIDA PARALELO. En este tipo de registros la informacin si introducida simultneamente en los biestables paralelo y cuando se producen un flanco activo de la seal de reloj, los datos se obtienen tambin a la salida en paralelo.

CONTADORES Los contadores son circuitos secuenciales cuya salida representa el nmero de impulsos que se la aplica a la entrada de reloj. Est formado bsicamente por biestables interconectados. Pueden contar de forma ascendente si su contenido se incrementa con cada impulso o si decrementa, aunque por lo general los contadores pueden realizar esta funcin de ambas maneras segn el estado de una entrada. Las aplicaciones de los contadores son las siguientes:

Relojes y temporizadores Divisores de frecuencia. Frecuencmetros.

Segn la forma de conectar la seal de reloj, los contadores pueden clasificarse en asncronos y sncronos. Contadores Asncronos: En este tipo, la seal de reloj se conecta slo al primer biestable, mientras que las otras entradas se conectan a la salida del biestable anterior. El conectarse de esta

forma la seal de reloj provoca que todos los biestables no cambien de estado al mismo tiempo, por ello reciben el nombre de asncronos. Las salidas pueden atacar a un display visualizador de siete segmentos, por ejemplo. Su funcionamiento es el siguiente, se parte de que todos los flip-flops estn reseteados, cuando se produce un flanco activo de la seal de reloj, las salidas del primer biestable cambian Q=0 y Q'=1, Q' conectada a la seal de reloj del segundo biestable, produce un flaco activo, cambiando el segundo biestable el estado de sus salidas, este proceso se produce de forma indefinida a lo largo de los biestables. Podemos realizar un contador descendente si lo que conectamos a la seal de reloj es la salida Q y no Q'. El asncrono adems de indicar el nmero de impulsos de seal recibidos puede dividir la frecuencia de la seal de reloj. Como ejemplo la salida de la seal del primer flip-flop tiene la mitad de frecuencia que la salida de seal de reloj original, la salida del segundo flipflop, una frecuencia 4 veces menor, as sucesivamente obteniendo divisiones en cada salida mltiplos de 2. El inconveniente de este divisor de frecuencias viene dado por el tiempo de propagacin de la seal, que hace que si cambiamos el estado del primer biestable deben cambiar de estado ste y el siguiente, provocando que la seal de reloj tenga un retardo al bascular. Si se conectan ms, el tiempo de espera que corresponde con el tiempo de propagacin, aumenta, lo que limita la frecuencia de funcionamiento del contador. Esta frecuencia mxima viene determinada por la siguiente frmula F< 1/n.tp (tp= tiempo de propagacin y n= nmero de biestables). Ampliacin de contadores asncronos: El mtodo para conseguir contadores asncronos de ms bits consiste en conectar en cascada tantos biestables como nmero de bits que queramos que tenga el contador., llevando la seal de reloj externa al primero de3 ellos y la salida de cada biestable a la entrada del reloj siguiente. El nmero mximo de estados por los que pasa un contador se denomina mdulo del contador. Este nmero viene determinado por la expresin 2^n donde n indica el nmero de bis del contador. Ejemplo, un contador de mdulo 4 pasa por 4 estados, y contara del 0 al 3. Si necesitamos un contador con un mdulo distinto de 2^n, lo que haremos es aadir un circuito combinacional (puerta NAND) cuyas entradas sean las salidas a 1 del contador, y aadir la salida del circuito a todas las entradas CLEAR de los biestables. Contadores sncronos: En este tipo de biestables, la seas de reloj externa se conecta a todos los biestables. Con ello se consigue que todos los biestables evolucionen a la vez, y por lo tanto no se produzcan tiempos de retardo ni transitorios. Para conseguirlo hay que aadir una lgica combinacional para implementarla en el contador, mientras que los biestables hacen de memoria para saber en qu estado se encuentra, la lgica combinacional se encargar de calcular cual ser el siguiente estado al que debe pasar el contador. Diseo de un contador sncrono: El diseo de un contador sncrono debe pasar por varias fases de diseo:

funcionamiento del sistema, representando los estados que deseamos y las transiciones precisas. blica de transiciones. Es otra forma de representar el anterior diagrama de estados, y est compuesta por dos columnas, la de estado actual (estado en el que se encuentra el sistema) y estado futuro (el estado que pretendemos que evolucione el sistema). Realizar la tabla de codificacin de estados. Se trata de codificarlo en binario, el nmero de biestables del sistema depende del nmero de estados del mismo. Por ejemplo, si queremos un contador de 8 estados (mdulo 8) siguiendo la relacin N=2^n; n=log(2)N, seran necesarios 3 biestables para codificar los estados del contador. 7(10)=111(2) son tres bits, por lo tanto necesitamos 3 biestables. Pasamos a binario tanto el estado actual como el estado futuro y cada bit de salida es una salida de un biestable.

simblica de transiciones, pero ya codificada en binario. El estado actual representa el valor de la salida de los biestables (salida Q) y el estado futuro representa el valor de la salida que deben tomar Q en el siguiente flanco activo, denominndose Q+.

estado actual a un estado futuro, es preciso aplicarle la excitacin conveniente a sus entradas. Para ello se aplican tablas de excitacin, que son las tablas de verdad de los biestables pero vistas a la inversa, es decir, la entrada en funcin de la salida. Como ejemplo ponemos la tabla de excitacin de los biestables J-K y D. FLIP-FLOP J-K Q 0 0 1 1 Q+ 0 1 0 1 J 0 1 X X K X X 1 0 FLIP-FLOP D Q 0 0 1 1 Q+ 0 1 0 1 D 0 1 0 1

necesario, simplificacin e implementacin. Una vez obtenida la tabla de excitacin del contador sncrono, el problema se reduce al obtener las funciones de las excitaciones, utilizando para ello Karnaugh. Una vez obtenidas las funciones, se puede implementar el circuito, conectado las salidas Q a las entradas de los siguientes biestables a travs del combinacional. Sistema combinacional Se denomina sistema combinacional o lgica combinacional a todo sistema digital en el que sus salidas son funcin exclusiva del valor de sus entradas en un momento dado, sin que intervengan en ningn caso estados anteriores de las entradas o de las

salidas. Las funciones (OR,AND,NAND,XOR) son booleanas (de Boole) donde cada funcin se puede representar en una tabla de la verdad. Por tanto, carecen de memoria y de retroalimentacin. En electrnica digital la lgica combinacional est formada por ecuaciones simples a partir de las operaciones bsicas del lgebra de Boole. Entre los circuitos combinacionales clsicos tenemos:

Lgicos

Generador/Detector de paridad Multiplexor y Demultiplexor Codificador y Decodificador Conversor de cdigo Comparador

Aritmticos

Sumador

Aritmticos y lgicos

Unidad aritmtico lgica

stos circuitos estn compuestos nicamente por puertas lgicas interconectadas entre s. Funciones combinacionales Todos los circuitos combinacionales pueden representarse empleando lgebra de Boole a partir de su funcin lgica, generando de forma matemtica el funcionamiento del sistema combinacional. De este modo, cada seal de entrada es una variable de la ecuacin lgica de salida. Por ejemplo, un sistema combinacional compuesto exclusivamente por una puerta AND tendra dos entradas A y B. Su funcin combinacional seria , para una puerta OR sera . Estas operaciones se pueden combinar formando funciones ms complejas. As, el siguiente esquema se define por la funcin indicada debajo del mismo.

Esto permite emplear diferentes mtodos de simplificacin para reducir el nmero de elementos combinacionales que forman el sistema.

Un circuito combinacional, como su nombre lo sugiere es un circuito cuya salida depende solamente de la "combinacin" de sus entradas en el momento que se est realizando la medida en la salida. Analizando el circuito, con compuertas digitales, que se muestra (ver el diagrama) se ve que la salida de cada una de las compuertas que se muestran, depende nicamente de sus entradas. La salida F (salida final o total del circuito) variar si alguna de las entradas A o B o las dos a la vez cambian. Los circuitos de lgica combinacional son hechos a partir de las compuertas bsicas compuerta AND, compuerta OR, compuerta NOT. Tambin pueden ser construidos con compuertas NAND, compuertas NOR, compuerta XOR, que son una combinacin de las tres compuertas bsicas. La operacin de los circuitos combinacionales se entienden escribiendo las ecuaciones booleanas y sus tablas de verdad. Ejemplo de ecuacin booleana: F = A . B + A . B Tabla de verdad

Circuito combinacional Un circuito combinacional es un circuito cuya salida es funcin exclusivamente del estado de sus entradas. Est compuesto por puertas lgicas y no deben presentar realimentacin, es decir, ninguna salida de ningn componente debe usarse como entrada del circuito. Un circuito combinacional puede describirse utilizando una frmula con lgebra de Boole en la que las salidas sean dependiente solamente de las entradas. Existen muchos circuitos combinacionales tpicos. Algunos de ellos son:

Codificadores: Convierten una seal binaria en otra seal binaria de distintas caractersticas.

Multiplexores y Demultiplexores: Seleccionan una salida entre varias seales de entrada o al contrario, de una seal de entrada se obtienen varias salidas. Comparadores: comparan 2 nmeros en cdigo binario. Unidades aritmticas: suman, restan, multiplican, numeros binarios.

You might also like