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.
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.
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.
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.
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.
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.
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.
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.