Trabajo Final del Lic. Guerra

REGISTROS DE CORRIMIENTO
Un registro de corrimiento es un circuito secuencial síncrono capaz de contractar varios bits de información. El formato de esta información puede ser de dos tipos:
 • Serie: los bits se transfieren uno a continuación del otro por una misma línea.
• Paralelo: se intercambian todos los bits al mismo tiempo, utilizando un número de líneas de transferencia igual al número de bits.

Ejemplo:

Las formas de honda, la tabla de secuencia y el diagrama de estados muestran los diferentes estados de los ff a medida que se aplican los pulsos, suponiendo que el estado inicial es Q-3 = 1 y Q-2 = Q-1 = Q-0 = 0. Después del primer pulso, el 1 ha pasado de Q-3 a Q-2 de manera que el contador está en el estado 0100. El segundo pulso produce el estado 0010 y el tercero produce el estado 0001. En el cuarto pulso del reloj el estado 1 de Q-0 se transfiere a Q-3 lo que produce el estado 1000, que es desde luego, el estado inicial. Los pulsos subsiguientes ocasionan que se repita la secuencia.


Contador Johnson

El contador de anillo básico se puede modificar ligeramente para producir otro tipo de contador de registro de corrimiento, que tendrá propiedades un tanto diferentes. El contador Johnson o de anillo trenzado se construye exactamente en la misma forma que un contador de anillo normal, excepto que la salida invertida del ultimo ff se conecta a la entrada del primer ff.






La operación del contador Johnson es fácil de analizar si comprendemos que en cada transición positiva del pulso del reloj el nivel en Q-2 se pasa a Q-1 el nivel en Q-1, se cambia a Q-0 y el inverso del nivel de Q-0 se pasa a Q-2. Utilizando estas ideas y suponiendo que todos los ff inicialmente están en 0, se puede generar las formas de onda, la tabla de secuencia y el diagrama de estados.

Las formas de onda y la tabla de secuencia revelan los siguientes puntos:

- Este contador tiene seis estados distintos: 000,100, 110, 111, 011 y 001 antes de que se repita la secuencia.
- La forma de onda de cada ff es cuadrada a un sexto de la frecuencia del reloj.





El número MOD de un contador Johnson siempre será igual a dos veces el número de ff.
Decodificación de un contador Johnson

Para un número MOD asignado, un contador Johnson solo necesita la mitad del número de ff que requiere un contador de anillo. Un contador Johnson requiere la decodificación de compuertas y no así un contador de anillo. El contador Johnson utiliza una compuerta lógica para decodificar cada conteo de salida, pero cada compuerta requiere solamente de dos entradas independientemente del número de ff que haya en el contador.


Existen muy pocos contadores de anillo o Johnson disponibles como circuitos integrados. La razón es que es relativamente simple tomar un circuito integrado con registro de corrimiento y conectarlo a un contador de anillo o a un Johnson. Algunos de los contadores Johnson de CI CMOS, incluyen la circuitería completa de decodificación en la misma pastilla que el contador.

Contador de frecuencia

Un contador de frecuencia es un circuito que puede medir y exhibir de manera visual la frecuencia de una señal. Uno de los métodos más sencillos para construir un contador de frecuencia contiene un contador con su circuitería decodificadora y de exhibición asociados y una compuerta AND. Las estradas de las compuertas AND incluyen los pulsos cuya frecuencia es desconocida, f-x, y un pulso de MUESTREO que controla el tiempo disponible para que estos pasen a través de la compuerta AND hacia el contador.

La exactitud de este método depende casi totalmente de la duración del intervalo de muestreo, que debe controlarse con mucha precisión.


Se utiliza un oscilador controlado por cristal para generar para generar una onda exacta de 100 kHz, que se forma en pulsos cuadrados y se alimenta a una serie de contadores de décadas que se utilizan para dividir sucesivamente esta frecuencia de 100 kHz entre 10. Las frecuencias presentes en las salidas de este contador de décadas son tan precisas como la frecuencia del cristal. Estos contadores de d3ecadas sueles ser binarios o Johnson.

Tipos de registros


Registro de Corrimiento Básico
Un registro de corrimiento básico es un conjunto de flip-flops conectados de tal forma que los números binarios almacenados en él son desplazados de un flip-flop al siguiente con cada pulso de reloj aplicado. En la Interatividad 6.4.1 se observa la forma de conectar 4 flip-flops tipo D para construir un registro. Note como la salida de un flip-flop se conecta a la entrada de otro adyacente.
Registros de corrimiento bidireccionales
Este tipo de registro tiene la opción de elegir la dirección en que se transmiten los datos. Estos registros tienen una señal de control que permite seleccionar el sentido de desplazamiento de los datos. En la Figura 6.4.6 se observa el circuito lógico de un registro bidireccional de 4 bits.
Registros en Circuito Integrado
En el mercado existen actualmente varios circuitos integrados que desempeñan su función como registros, en esta sección mencionaremos algunos de estos registros disponibles en lógica TTL y CMOS.

Aplicaciones de los Registros de Corrimiento
Los registros de corrimiento tiene varias aplicaciones en la Electrónica Digital, entre las cuales se pueden mencionar las siguientes:
· Transmisión de datos.
· Conversión de protocolo serie en paralelo y viceversa.
· Puertos de salida de los microcomputadores.
· Secuenciadores (luces y anuncios publicitarios).
· Multiplicaciones y divisiones por 2, 4, 8, 16 bits.
· Operaciones que se hacen en forma secuencial.

                                              FLIP-FLOP
Un flip flop es un circuito electrónico, llamado también simplemente biestable, que tiene dos estados estables. El flip flop es un elemento básico de memoria que es capaz de almacenar un número binario (bit), es decir, que permanece indefinidamente en uno de sus dos estados posibles aunque haya desaparecido la señal de excitación que provocó su transición al estado actual.
A continuación mostramos el código en arduino de un flip-flop







FLIP – FLOPS DISPARADOS POR FLANCO <ul><li>Los Flip – Flops son dispositivos síncronos, de dos estados, también conocidos como multivibradores biestables. Un Flip - Flop se diferencia de un Latch, en la forma en que cambian sus datos de salida, ya que es un dispositivo controlado por una señal de reloj, en el cual solamente cambiará sus datos de salida mientras ocurra un flanco de subida o de bajada de una señal de reloj, como lo indica la entrada dinámica. </li></ul>Indicador de Entrada Dinámica
3. FLIP-FLOP (S-R) Las entradas S y R de un Flip – Flop se denominan entradas síncronas, dado que los datos de estas entradas se transfieren a la salida del Flip-Flop sólo con el flanco de disparo del pulso de reloj. Cuando S está a nivel ALTO, y R está a nivel BAJO, la salida Q se pone a nivel ALTO con el flanco de disparo del pulso de reloj, pasando el Flip-Flop al estado SET. CLK S R Q Q̃ Símbolo lógico Flip-Flop S-R S R CLK Q ̃Q Comentarios 0 0 X NC NC No cambio 0 1 ↑ 0 1 RESET 1 0 ↑ 1 0 SET 1 1 ↑ 1 1 Condición no válida
4. FLIP-FLOP TIPO D Un Flip-Flop tipo D resulta muy útil cuando se necesita almacenar un único bit de datos (1 o 0). Si se añade un inversor a un Flip-Flop S-R obtenemos un Flip-Flop tipo D básico. CLK D Q Q̃ a) Con flando de subida b) Con flanco de bajada Símbolo lógico Flip-Flop Tipo D
5. FLIP-FLOP J-K Un Flip-Flop J-K es versátil y es uno de los tipos de Flip-Flop más utilizados, el funcionamiento de este Flip-Flop es idéntico al de un S-R en las condiciones de operación SET, RESET y de permanencia en estado NO Cambio. La diferencia está en que el Flip-Flop J-K no tiene condición no válida como ocurre en el S-R . El estado Toggle o de Basculación, lo que hace es tomar la frecuencia del reloj y dividirla en cada pico sucesivo del reloj, primero Q en ALTO y Q̃ en BAJO e inversamente.


El monoestable: es un circuito multivibrador que realiza una función secuencial consistente en que al recibir una excitación exterior, cambia de estado y se mantiene en él durante un periodo que viene determinado por una constante de tiempo. Transcurrido dicho período, la salida del monoestable vuelve a su estado original. Por tanto, tiene un estado estable (de aquí su nombre) y un estado casi estable




En la Figura 1 se representa el esquema de un circuito multivibrador monoestable, realizado con componentes discretos, cuyo funcionamiento es el siguiente:
Al aplicar la tensión de alimentación (Vcc), los dos transistores iniciarán la conducción, ya que sus bases reciben un potencial positivo a través de las resistencias R-2 y R-3, pero como los transistores no serán exactamente idénticos, por el propio proceso de fabricación y el grado de impurezas del material semiconductor, uno conducirá antes o más rápido que el otro.
Supongamos que es TR-2 el que conduce primero. El voltaje en su colector estará próximo a 0 voltios (salida Y a nivel bajo), por lo que la tensión aplicada a la base de TR-1 a través del divisor formado por R-3, R-5, será insuficiente para que conduzca TR-1. En estas condiciones TR-1 permanecería bloqueado indefinidamente.
Pero si ahora aplicamos un impulso de disparo de nivel alto por la entrada T, el transistor TR-1 conducirá y su tensión de colector se hará próxima a 0 V, con lo que C-1, que estaba cargado a través de R-1 y la unión base-emisor de TR-2, se descargará a través de TR-1 y R-2 aplicando un potencial negativo a la base de TR-2 que lo llevará al corte (salida Y a nivel alto). En esta condición la tensión aplicada a la base de TR-1 es suficiente para mantenerlo en conducción aunque haya desaparecido el impulso de disparo en T.
Biestable: (flip-flop en inglés), es un multivibrador capaz de permanecer en uno de dos estados posibles durante un tiempo indefinido en ausencia de perturbaciones.1 Esta característica es ampliamente utilizada en electrónica digital para memorizar información. El paso de un estado a otro se realiza variando sus entradas. Dependiendo del tipo de dichas entradas los biestables se dividen en:
  • Asíncronos: sólo tienen entradas de control. El más empleado es el biestable RS.
  • Síncronos: además de las entradas de control posee una entrada de sincronismo o de reloj.
Si las entradas de control dependen de la de sincronismo se denominan síncronas y en caso contrario asíncronas. Por lo general, las entradas de control asíncronas prevalecen sobre las síncronas.

La metaestabilidad es la propiedad que un sistema con varios estados de equilibrio, tiene de exhibir, durante un considerable período de tiempo, un estado de equilibrio débilmente estable. Sin embargo, bajo la acción de perturbaciones externas (a veces no fácilmente detectables) dichos sistemas exhiben una evolución temporal hacia un estado de equilibrio fuertemente estable. Normalmente la metaestabilidad es debida a transformaciones de estado lentas.




























El estado metaestable, aunque teóricamente puede mantenerse indefinidamente, siempre acabará resolviéndose en un valor lógico válido 0 o 1, aunque no es posible saber cuánto tiempo tardará. Un diseño cuidadoso del componente biestable asegurará que el tiempo medio de resolución sea lo suficientemente bajo como para evitar que pueda poner en peligro el funcionamiento correcto del circuito. Técnicas de diseño de más alto nivel, como el uso de circuitos sincronizadores consistentes en varios biestables en cascada (diseño síncrono), o de circuitos de handshake, dan mayor robustez al diseño frente al problema de la metaestabilidad, minimizando la probabilidad de que suceda hasta un nivel despreciable. Pese a todo, en circuitos digitales complejos de varios cientos de miles de puertas lógicas y varias señales de reloj asíncronas entre sí, como los presentes en todos los chips digitales que se fabrican en la actualidad, evitar los estados metaestables es un desafío que requiere gran cuidado por parte del diseñador.

















Memorias
Memoria RAM
La memoria de acceso aleatorio (en inglés: random-access memory),se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo. Se denominan "de acceso aleatorio" porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder a la información de la manera más rápida posible.
hay dos tipos básicos de memoria RAM

·         RAM dinámica (DRAM)
·         RAM estática (SRAM)
Memoria SRAM
Static Random Access Memory (SRAM), o Memoria Estática de Acceso Aleatorio es un tipo de memoria basada en semiconductores que a diferencia de la memoria DRAM, es capaz de mantener los datos, mientras esté alimentada, sin necesidad de circuito de refresco. Sin embargo, sí son memorias volátiles, es decir que pierden la información si se les interrumpe la alimentación eléctrica.
Memoria DRAM
DRAM (Dynamic Random Access Memory) es un tipo de memoria dinámica de acceso aleatorio que se usa principalmente en los módulos de memoria RAM y en otros dispositivos, como memoria principal del sistema. Se denomina dinámica, ya que para mantener almacenado un dato, se requiere revisar el mismo y recargarlo, cada cierto período, en un ciclo de refresco. Su principal ventaja es la posibilidad de construir memorias con una gran densidad de posiciones y que todavía funcionen a una velocidad alta: en la actualidad se fabrican integrados con millones de posiciones y velocidades de acceso medidos en millones de bit por segundo. Es una memoria volátil, es decir cuando no hay alimentación eléctrica, la memoria no guarda la información. Inventada a finales de los sesenta, es una de las memorias más usadas en la actualidad.
·         Máscara ROM. En este caso no se “graba” el programa en memoria sino que el microcontrolador se fabrica con el programa, es un proceso similar al de producción de los CD comerciales mediante masterización. El costo inicial de producir un circuito de este tipo es alto, porque el diseño y producción de la máscara es un proceso costoso, sin embargo, cuando se necesitan varios miles o incluso cientos de miles de microcontroladores para una aplicación determinada, como por ejemplo, algún electrodoméstico, el costo inicial de producción de la máscara y el de fabricación del circuito se distribuye entre todos los circuitos de la serie y, el costo final de ésta, es bastante menor que el de sus semejantes con otro tipo de memoria.
·         Memoria PROM (Programable Read-Only Memory) también conocida como OTP (One Time Programable). Este tipo de memoria, también es conocida como PROM o simplemente ROM. Los microcontroladores con memoria OTP se pueden programar una sola vez, con algún tipo de programador. Se utilizan en sistemas donde el programa no requiera futuras actualizaciones y para series relativamente pequeñas, donde la variante de máscara sea muy costosa, también para sistemas que requieren socialización de datos, almacenados como constantes en la memoria de programas.
·         Memoria EPROM (Erasable Programmable Read Only Memory). Los microcontroladores con este tipo de memoria son muy fáciles de identificar porque su encapsulado es de cerámica y llevan encima una ventanita de vidrio desde la cual puede verse la oblea de silicio del microcontrolador. Se fabrican así porque la memoria EPROM es reprogramable, pero antes debe borrase, y para ello hay que exponerla a una fuente de luz ultravioleta, el proceso de grabación es similar al empleado para las memorias OTP. Al aparecer tecnologías menos costosas y más flexibles, como las memorias EEPROM y FLASH, este tipo de memoria han caído en desuso, se utilizaban en sistemas que requieren actualizaciones del programa y para los procesos de desarrollo y puesta a punto.
·         EEPROM (Electrical Erasable Programmable Read Only Memory). Fueron el sustituto natural de las memorias EPROM, la diferencia fundamental es que pueden ser borradas eléctricamente, por lo que la ventanilla de cristal de cuarzo y los encapsulados cerámicos no son necesarios. Al disminuir los costos de los encapsulados, los microcontroladores con este tipo de memoria se hicieron más baratos y cómodos para trabajar que sus equivalentes con memoria EPROM. Otra característica destacable de este tipo de microcontrolador es que fue en ellos donde comenzaron a utilizarse los sistemas de programación en el sistema que evitan tener que sacar el microcontrolador de la tarjeta que lo aloja para hacer actualizaciones al programa.

·         Memoria flash. En el campo de las memorias reprogramables para microcontroladores, son el último avance tecnológico en uso a gran escala, y han sustituido a los microcontroladores con memoria EEPROM.  las ventajas de las memorias flash se le adicionan su gran densidad respecto a sus predecesoras lo que permite incrementar la cantidad de memoria de programas a un costo muy bajo. Pueden además ser programadas con las mismas tensiones de alimentación del microcontrolador, el acceso en lectura y la velocidad de programación es superior, disminución de los costos de producción, entre otras.

Diferencias entre circuitos combinacionales y secuenciales

Los sistemas combinacionales están formados por un conjunto de compuertas interconectadas, cuya salida, en un momento dado, esta únicamente en función de la entrada, en ese mismo instante. Por esto se dice que los sistemas combinacionales no cuentan con memoria.
La unidad de memoria más básica es el flip-flop Set/Reset. Aunque recordar un bit sencillo es importante, la mayoría de los sistemas de cómputo requieren recordar un grupo de bits, esto se logra combinando varios flip-flop en paralelo, una conexión de éste tipo recibe el nombre de registro. A partir de aquí es posible implementar diferentes circuitos como registros de corrimiento y contadores, éstos últimos también los conocemos como circuitos de reloj. Con los elementos mencionados es posible construir un microprocesador completo.
La diferencia principal entre un circuito combinacional y un circuito secuencial es que en el segundo caso hay una realimentación de una señal de salida hacia la entrada. Ver el gráfico
Se puede ver que la salida de la compuerta OR es realimentada y se utiliza como entrada de la compuerta AND inferior.
Esto significa que la salida (F) de este circuito digital dependerá de las entradas (A y B), pero también dependerá de la salida F (la salida que se realimenta) que se haya dado, un instante antes.
En otras palabras, la salida F depende de las entradas A y B y del valor que tenía esta salida, previamente.

La tabla de verdad general sería como la que sigue, en donde, las entradas son: A, B y la salida F actual, y la salida es: Salida F futura. (ver la siguiente tabla de verdad)




Conclusiones:

En este tema tratamos de especificar los tipos de registro de corrimiento con sus especificaciones para realizar los cálculos posibles que se puedan presentar al momento de realizar una práctica, esto nos servirá de ayuda para lo que se presente, y para así tener una idea de lo que se va a realizar.

Tendremos en cuenta que para realizar un registro de corrimiento, se debe tomar en cuenta los contadores, flip-flop, circuitos, y muchas cosas más que serán necesarias para obtener el registro de corrimiento.