PREVIEW
Shift Register (8-bit)

Shift Register (8-bit)

Memory signal_cellular_alt_2_bar Intermediate schedule 25 min

Interactive Circuit

Registro de desplazamiento de 8 bits

Descripción general

  • Propósito: El registro de desplazamiento de 8 bits es un circuito digital secuencial que almacena y desplaza 8 bits de datos binarios hacia la izquierda o la derecha, permitiendo la conversión de datos serie a paralelo y paralelo a serie, almacenamiento temporal y manipulación de bits.
  • Símbolo: Típicamente representado como un bloque rectangular con una entrada serie (SI), entradas de datos paralelas (D0-D7), entradas de control (CLK, LOAD, SCLR), salidas paralelas (Q0-Q7) y una salida serie (SO).
  • Rol en DigiSim.io: Sirve como bloque de construcción esencial para transmisión de datos, interfaces de comunicación y operaciones digitales secuenciales donde los datos necesitan ser desplazados, almacenados o convertidos entre formatos serie y paralelo.

shift register 8uit component

Descripción funcional

Comportamiento lógico

El registro de desplazamiento de 8 bits realiza tres operaciones principales: carga paralela (captura de 8 bits simultáneamente), desplazamiento serie (movimiento de bits a través del registro) y salida (proporcionando acceso a los datos almacenados en formato paralelo o serie). Su operación se controla mediante señales de reloj, carga y borrado.

Tabla de verdad (Registro de desplazamiento universal de 8 bits):

CLK DIR S/L SI D7..D0 Q7..Q0 (Siguiente) Notas
X 1 X d7..d0 d7..d0 Carga paralela
0 0 si X si, Q7, Q6, Q5, Q4, Q3, Q2, Q1 Desplazamiento derecha
1 0 si X Q6, Q5, Q4, Q3, Q2, Q1, Q0, si Desplazamiento izquierda
X X X X Q7..Q0 (Sin cambio) Sin cambio

Nota: ↑ representa un flanco de subida del reloj, ↓ flanco de bajada, X no importa, si entrada serie, d7..d0 entradas de datos paralelas. Qn es el estado actual.

Entradas y salidas

  • Entradas (12 en total):

    • SI (Entrada serie): Entrada de 1 bit para la introducción de datos en serie.
    • CLK (Reloj): Entrada de 1 bit; las operaciones ocurren en el flanco de subida.
    • DIR (Dirección): Entrada de 1 bit; controla la dirección de desplazamiento (0 = Derecha, 1 = Izquierda) cuando S/L es 0.
    • S/L (Desplazamiento/Carga): Entrada de 1 bit; control de modo (0 = Desplazamiento, 1 = Carga paralela).
    • D0, D1, D2, D3, D4, D5, D6, D7: Ocho entradas de datos paralelas de 1 bit para cargar datos simultáneamente cuando S/L es 1.
  • Salidas (9 en total):

    • Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7: Ocho salidas paralelas de 1 bit que representan los bits almacenados actualmente en el registro.
    • SO (Salida serie): Salida de 1 bit. El comportamiento depende de la dirección de desplazamiento:
      • Durante desplazamiento a la derecha (DIR=0): SO típicamente refleja Q0.
      • Durante desplazamiento a la izquierda (DIR=1): SO típicamente refleja Q7.

Parámetros configurables

  • Flanco de reloj: Si las operaciones se activan en el flanco de subida o bajada del reloj.
  • Dirección de desplazamiento: Desplazamiento a la derecha, a la izquierda o bidireccional (en algunas implementaciones).
  • Tipo de borrado: Funcionalidad de borrado síncrono (con reloj) o asíncrono.
  • Lógica de señales de control: Si las señales de control son activas en alto o en bajo.
  • Configuración de E/S serie: Qué extremo del registro sirve como entrada y salida serie.
  • Parámetros de temporización: Tiempo de establecimiento, tiempo de mantenimiento y retardos de propagación.

Representación visual en DigiSim.io

El registro de desplazamiento de 8 bits se muestra como un bloque rectangular con pines de entrada de datos (D0-D7 y SI) en el lado izquierdo, señales de control (CLK, DIR, S/L) en la parte inferior, y pines de salida de datos (Q0-Q7 y SO) en el lado derecho. Cuando se conecta en un circuito, el componente indica visualmente los valores almacenados y las operaciones de desplazamiento a través de cambios de color en los cables de conexión.

Valor educativo

Conceptos clave

  • Lógica secuencial: Demuestra cómo los datos pueden almacenarse y manipularse a lo largo del tiempo en circuitos digitales.
  • Desplazamiento de datos: Ilustra las operaciones de movimiento y rotación de bits en sistemas digitales.
  • Conversión de formato: Muestra cómo los datos pueden convertirse entre formatos serie y paralelo.
  • Operación con reloj: Enfatiza la importancia de la temporización y sincronización en circuitos secuenciales.
  • Almacenamiento temporal: Presenta el concepto de almacenamiento intermedio de datos y procesamiento por etapas.
  • Comunicación digital: Introduce conceptos fundamentales para la transmisión de datos serie y paralelo.

Objetivos de aprendizaje

  • Comprender cómo los registros de desplazamiento convierten entre formatos de datos serie y paralelo.
  • Aprender sobre las operaciones secuenciales basadas en reloj en sistemas digitales.
  • Reconocer la importancia de los registros de desplazamiento en las interfaces de comunicación.
  • Aplicar conceptos de registros de desplazamiento en el diseño de sistemas de transmisión de datos.
  • Comprender la relación entre las señales de control y las operaciones del registro.
  • Desarrollar habilidades en el análisis y diseño de circuitos secuenciales con múltiples modos de operación.
  • Dominar las relaciones de temporización en las operaciones de datos serie.

Ejemplos de uso/Escenarios

  • Comunicación serie: Implementación de interfaz UART, SPI o I²C para conversión entre protocolos serie y buses de datos paralelos.
  • Control de pantalla LED: Controlar múltiples pantallas LED con menos líneas de control desplazando en serie los datos de la pantalla.
  • Adquisición de datos: Captura de datos de sensores en serie y conversión a formato paralelo para procesamiento.
  • Filtros digitales: Creación de líneas de retardo para aplicaciones de procesamiento digital de señales.
  • Escaneo de teclado: Escaneo de teclados matriciales desplazando un solo bit activo.
  • Generación de patrones: Creación de patrones de bits repetitivos para pruebas o aplicaciones de control.
  • Cálculo CRC: Implementación de división polinomial para verificación de errores en sistemas de comunicación.
  • Conversión paralelo a serie: Transmisión de datos paralelos a través de canales de comunicación serie.

Notas técnicas

  • La implementación típicamente usa ocho flip-flops D conectados en serie, con multiplexores adicionales para carga paralela.
  • Los registros de desplazamiento pueden conectarse en cascada para crear longitudes de bits más largas conectando la salida serie de uno a la entrada serie de otro.
  • Los parámetros de temporización críticos incluyen tiempo de establecimiento (5-15ns antes del flanco de reloj) y tiempo de mantenimiento (0-5ns después del flanco de reloj).
  • Las diferentes configuraciones incluyen SISO (Entrada serie, salida serie), SIPO (Entrada serie, salida paralelo), PISO (Entrada paralelo, salida serie) y universal (bidireccional con carga paralela).
  • Las implementaciones comunes de CI incluyen el 74HC164 (SIPO), 74HC165 (PISO) y 74HC595 (SIPO con latch de salida).
  • La frecuencia máxima de desplazamiento está limitada por los retardos de propagación a través de la cadena de flip-flops.
  • En DigiSim.io, la simulación del registro de desplazamiento modela con precisión las dependencias de temporización y las operaciones de movimiento de bits de los componentes reales de registros de desplazamiento.

Características

  • Configuración de entrada:

    • Ocho entradas de datos paralelas (D0-D7)
    • Entrada serie (SI) para introducción de datos por desplazamiento
    • Entrada de reloj (CLK) - típicamente activada por flanco de subida
    • Entrada de borrado síncrono (SCLR) para reiniciar el registro
    • Habilitación de carga paralela (LOAD) para cargar datos paralelos
    • Puede incluir control de dirección de desplazamiento en tipos bidireccionales
    • Compatible con niveles lógicos digitales estándar
  • Configuración de salida:

    • Ocho salidas de datos paralelas (Q0-Q7)
    • Salida serie (SO) - típicamente Q0 para registros de desplazamiento a la derecha
    • Cada salida representa el estado actual de la etapa correspondiente
    • Capaz de manejar cargas digitales estándar
    • Puede incluir salidas complementarias en algunas implementaciones
    • Cambia de estado síncronamente con las transiciones del reloj
  • Funcionalidad:

    • Almacena y desplaza 8 bits de datos binarios
    • Permite que los datos se carguen en paralelo o en serie
    • Proporciona acceso a los datos en formato paralelo o serie
    • Desplaza datos a la derecha (o izquierda, en variantes bidireccionales)
    • Convierte entre formatos de datos serie y paralelo
    • Implementa operaciones de entrada serie/salida serie, entrada serie/salida paralelo, entrada paralelo/salida serie o entrada paralelo/salida paralelo
    • Puede conectarse en cascada para anchos de bits más grandes
  • Retardo de propagación:

    • Reloj a salida (tCO): 10-25ns típico
    • Tiempo de establecimiento (tS): 5-15ns antes del flanco de reloj
    • Tiempo de mantenimiento (tH): 0-5ns después del flanco de reloj
    • Borrado a salida (tCLR): 5-20ns
    • Dependiente de la tecnología (TTL, CMOS, etc.)
    • Parámetros críticos para operaciones serie de alta velocidad
    • Consistente en todos los bits en diseños síncronos
  • Fan-Out:

    • Típicamente maneja 10-20 cargas estándar
    • La carga de salida afecta al retardo de propagación
    • Puede requerir almacenamiento intermedio para aplicaciones de alto fan-out
    • La salida serie a menudo está diseñada para manejar etapas subsiguientes
  • Consumo de energía:

    • Energía estática mínima en implementaciones CMOS
    • La energía dinámica aumenta con la frecuencia del reloj
    • Consumo de energía proporcional a la actividad de desplazamiento
    • Picos de energía durante transiciones de múltiples bits
    • Gestión de energía mediante control de reloj
    • Dependiente de la tecnología (CMOS menor energía estática)
  • Complejidad del circuito:

    • Complejidad moderada
    • Requiere ocho flip-flops más lógica de control
    • Multiplexores adicionales para carga paralela
    • Lógica de control de entrada para selección de modo
    • La complejidad aumenta con características adicionales (bidireccional, etc.)
    • Las implementaciones integradas reducen el número de componentes externos

Métodos de implementación

  1. Cadena de flip-flops D

    • Ocho flip-flops D en cascada con reloj común
    • Implementación más simple para entrada serie/salida serie
    • La salida de cada flip-flop se conecta a la entrada del siguiente
    • Multiplexores adicionales para capacidad de carga paralela
    • Lógica de control de modo para seleccionar la operación
    • Ejemplo educativo común de operación de registro de desplazamiento
  2. Implementación con circuito integrado

    • CIs dedicados de registro de desplazamiento de 8 bits
    • Ejemplos: 74HC164 (entrada serie/salida paralelo), 74HC165 (entrada paralelo/salida serie), 74HC595 (entrada serie/salida paralelo con latches de salida)
    • Varias características: carga paralela, salidas de tres estados, etc.
    • Disponibles en diferentes familias lógicas (TTL, CMOS, etc.)
    • Reducción del número de componentes y espacio en placa
    • Características de temporización bien definidas
  3. Registro de desplazamiento universal

    • Configurable para desplazamiento izquierda, derecha, carga paralela
    • Lógica de control más compleja y rutas internas
    • Máxima flexibilidad para diferentes operaciones
    • Ejemplos incluyen 74HC194, 74HC299
    • Las entradas de selección de modo determinan la operación
    • Más complejo pero altamente versátil
  4. Registro de desplazamiento bidireccional

    • Capaz de desplazar datos a la izquierda o a la derecha
    • Entrada de control de dirección selecciona la dirección de desplazamiento
    • Multiplexores adicionales para control de dirección
    • Común en operaciones aritméticas (multiplicación, división)
    • A menudo implementado con registros de desplazamiento universales
    • Mayor complejidad para capacidad bidireccional
  5. Configuración SIPO (Entrada serie/Salida paralelo)

    • Los datos entran en serie, se leen en paralelo
    • Común para conversión serie a paralelo
    • Permite captura de flujos de datos serie
    • Usado en interfaces de comunicación serie
    • Más simple que el diseño universal si se dedica a esta función
    • Ejemplo típico: 74HC164
  6. Configuración PISO (Entrada paralelo/Salida serie)

    • Los datos entran en paralelo, salen en serie
    • Permite conversión paralelo a serie
    • Usado en transmisores e interfaces serie
    • Requiere capacidad de carga paralela
    • Control de reloj para desplazamiento serie
    • Ejemplo típico: 74HC165
  7. Implementación FPGA/ASIC

    • Implementado usando flip-flops y multiplexores
    • Opciones de diseño altamente configurables
    • Puede optimizarse para requisitos específicos
    • Puede aprovechar características especializadas de la tecnología objetivo
    • A menudo sintetizado a partir de descripciones HDL
    • Características personalizadas añadidas fácilmente

Aplicaciones

  1. Conversión serie a paralelo

    • Interfaz de periféricos serie a sistemas de bus paralelo
    • Implementación de receptor UART/USART
    • Interfaces de esclavo SPI
    • Receptores de esclavo I²C
    • Adquisición de datos de sensores serie
    • Deserializadores de datos serie
  2. Conversión paralelo a serie

    • Interfaz de sistemas de bus paralelo a periféricos serie
    • Implementación de transmisor UART/USART
    • Interfaces de maestro SPI
    • Serialización de datos para transmisión
    • Interfaces de controladores de pantalla
    • Serializadores de datos serie
  3. Almacenamiento intermedio y temporal de datos

    • Registros de pipeline en rutas de datos
    • Captura y retención de datos de entrada
    • Adaptación de velocidad de datos entre sistemas
    • Búferes de múltiples etapas para flujos de datos
    • Almacenamiento temporal para procesamiento
    • Almacenamiento intermedio de datos a nivel de byte
  4. Procesamiento digital de señales

    • Filtros digitales (implementación FIR/IIR)
    • Líneas de retardo para procesamiento de señales
    • Operaciones de correlación y convolución
    • Generación de formas de onda digitales
    • Detección de patrones en flujos serie
    • Reconocimiento de secuencias
  5. Operaciones aritméticas

    • Multiplicación y división binaria
    • Unidades aritméticas serie
    • División polinomial (cálculo CRC)
    • Operaciones de manipulación de bits
    • Aceleradores de hardware para algoritmos específicos
    • Implementaciones de registros de desplazamiento con retroalimentación lineal
  6. Temporización y control

    • Generación de secuencias
    • Máquinas de estado con secuencias fijas
    • Implementación de retardo de tiempo
    • Control de secuencia de pulsos
    • Generadores de patrones
    • Generadores de secuencias pseudoaleatorias
  7. Comunicación de datos

    • Sincronización de tramas
    • Encapsulación de protocolos
    • Formateo de datos
    • Inserción y eliminación de bits
    • Paquetización de datos
    • Generación de código de detección de errores

Limitaciones

  1. Restricciones de temporización

    • Requisitos de tiempo de establecimiento y mantenimiento
    • Limitaciones de frecuencia máxima de reloj
    • Temporización de transición de datos crítica para flujos serie
    • Sensibilidad al desfase de reloj en sistemas en cascada
    • Retardos de propagación que limitan la velocidad máxima
    • Problemas de sincronización con sistemas externos
  2. Capacidad de datos

    • Limitado a 8 bits sin conexión en cascada
    • Requiere múltiples dispositivos para rutas de datos más amplias
    • La conexión en cascada aumenta el tiempo de propagación
    • El ancho de datos es fijo después de la implementación
    • Capacidad de almacenamiento menor que las memorias dedicadas
    • Sobrecarga de lógica de control en aplicaciones de datos pequeños
  3. Restricciones operacionales

    • Dirección de desplazamiento fija en tipos no universales
    • Pérdida de datos durante el desplazamiento sin almacenamiento externo
    • Requisitos de temporización del control de modo
    • Acceso secuencial a datos desplazados
    • Accesibilidad limitada a etapas internas
    • Las capacidades de reinicio/preconfiguración varían entre implementaciones
  4. Consumo de energía

    • El reloj continuo aumenta el consumo de energía
    • La operación a alta frecuencia aumenta la potencia dinámica
    • Potencia activa proporcional a las transiciones de bits
    • La gestión de energía requiere control del reloj
    • Las aplicaciones alimentadas por batería requieren un diseño cuidadoso
    • El desplazamiento de alta velocidad aumenta los requisitos de energía
  5. Complejidad de diseño

    • Complejidad de conexión en cascada para anchos de bits más grandes
    • Coordinación de señales de control
    • Sobrecarga de lógica de selección de modo
    • Consideraciones de distribución del reloj
    • Desafíos de prueba y verificación
    • Integración con sistemas asíncronos

Detalle de implementación del circuito

Registro de desplazamiento básico de 8 bits de entrada serie/salida paralelo

graph LR
    SI[Serial In] --> FF0[D FF 0]
    CLK[Clock] --> FF0
    FF0 -->|Q0| OUT0[Q0]
    FF0 --> FF1[D FF 1]
    CLK --> FF1
    FF1 -->|Q1| OUT1[Q1]
    FF1 --> FF2[D FF 2]
    CLK --> FF2
    FF2 -->|Q2| OUT2[Q2]
    FF2 --> FF7[D FF 7]
    CLK --> FF7
    FF7 -->|Q7| OUT7[Q7]

Operación: Los datos se desplazan a la derecha en cada flanco de reloj, las salidas paralelas están disponibles en todos los flip-flops.

Registro de desplazamiento 74HC595 de 8 bits de entrada serie/salida paralelo con latches de salida

Configuración de pines:

Pin Señal Función
SER Entrada serie Entrada de datos
SRCLK Reloj de desplazamiento Desplaza datos en el flanco de subida
RCLK Reloj de registro Transfiere registro de desplazamiento a salida
/SRCLR Borrado Borrado activo en BAJO
/OE Habilitación de salida Habilitación de salida activa en BAJO
QA-QH Salidas Salidas de datos paralelas Q0-Q7
QH' Salida serie Salida para conexión en cascada
VCC, GND Alimentación +5V y Tierra

Características:

  • Doble etapa: Registro de desplazamiento + latch de salida
  • Cascada: QH' permite encadenar múltiples dispositivos
  • Control de salida: Salidas de tres estados mediante /OE

Registro de desplazamiento 74HC165 de 8 bits de entrada paralelo/salida serie

Configuración de pines:

Pin Señal Función
A-H Entradas de datos Entradas de datos paralelas D0-D7
SER Entrada serie Entrada de datos en cascada/serie
CLK Reloj Entrada de reloj de desplazamiento
CLK INH Inhibición de reloj Detiene el reloj cuando está en ALTO
SH//LD Desplazamiento/Carga BAJO=Carga paralela, ALTO=Desplazamiento
QH Salida serie Salida de datos serie
QH' Salida complementaria Salida serie invertida
VCC, GND Alimentación +5V y Tierra

Operación:

  • Modo de carga (SH//LD=BAJO): Datos paralelos cargados
  • Modo de desplazamiento (SH//LD=ALTO): Datos se desplazan en serie

CLK = Reloj, CLK INH = Inhibición de reloj, SH/LD = Desplazamiento/Carga, SER = Entrada serie, QH = Salida serie, QH' = Salida serie complementaria

Componentes relacionados

  • Registro de desplazamiento de 4 bits: Versión más pequeña para operaciones de nibble
  • Registro de desplazamiento de 16 bits: Versión extendida para operaciones de palabra
  • Registro de desplazamiento universal: Registro flexible con múltiples modos de desplazamiento
  • Registro de desplazamiento bidireccional: Puede desplazar datos a la izquierda o a la derecha
  • Registro SIPO (Entrada serie/Salida paralelo): Especializado para conversión serie a paralelo
  • Registro PISO (Entrada paralelo/Salida serie): Especializado para conversión paralelo a serie
  • Registro SISO (Entrada serie/Salida serie): Registro de desplazamiento simple con entrada y salida serie
  • Registro PIPO (Entrada paralelo/Salida paralelo): Registro básico sin capacidad de desplazamiento
  • Contador Johnson: Registro de desplazamiento con retroalimentación invertida para generación de secuencias
  • Contador de anillo: Registro de desplazamiento con retroalimentación directa para generación de secuencias

school Ruta de Aprendizaje

arrow_back Requisitos Previos

arrow_forward Siguientes Pasos

help_outline Preguntas Frecuentes

¿Dónde se usan los registros de desplazamiento de 8 bits?

Comunicación serie (SPI, UART), controladores de display LED, generadores de números pseudoaleatorios y conversión entre formatos de datos serie y paralelo.

play_arrow Ejecutar Circuito en Vivo

Ver Otros Componentes