Saltar al contenido principal

# 12.4: Registros de cambio - Conversión de entrada en serie, salida paralela (SIPO)

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

$$\newcommand{\id}{\mathrm{id}}$$ $$\newcommand{\Span}{\mathrm{span}}$$

( \newcommand{\kernel}{\mathrm{null}\,}\) $$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$ $$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$ $$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\id}{\mathrm{id}}$$

$$\newcommand{\Span}{\mathrm{span}}$$

$$\newcommand{\kernel}{\mathrm{null}\,}$$

$$\newcommand{\range}{\mathrm{range}\,}$$

$$\newcommand{\RealPart}{\mathrm{Re}}$$

$$\newcommand{\ImaginaryPart}{\mathrm{Im}}$$

$$\newcommand{\Argument}{\mathrm{Arg}}$$

$$\newcommand{\norm}[1]{\| #1 \|}$$

$$\newcommand{\inner}[2]{\langle #1, #2 \rangle}$$

$$\newcommand{\Span}{\mathrm{span}}$$ $$\newcommand{\AA}{\unicode[.8,0]{x212B}}$$

$$\newcommand{\vectorA}[1]{\vec{#1}} % arrow$$

$$\newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow$$

$$\newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vectorC}[1]{\textbf{#1}}$$

$$\newcommand{\vectorD}[1]{\overrightarrow{#1}}$$

$$\newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}}$$

$$\newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}}$$

$$\newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} }$$

$$\newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}}$$

$$\newcommand{\avec}{\mathbf a}$$ $$\newcommand{\bvec}{\mathbf b}$$ $$\newcommand{\cvec}{\mathbf c}$$ $$\newcommand{\dvec}{\mathbf d}$$ $$\newcommand{\dtil}{\widetilde{\mathbf d}}$$ $$\newcommand{\evec}{\mathbf e}$$ $$\newcommand{\fvec}{\mathbf f}$$ $$\newcommand{\nvec}{\mathbf n}$$ $$\newcommand{\pvec}{\mathbf p}$$ $$\newcommand{\qvec}{\mathbf q}$$ $$\newcommand{\svec}{\mathbf s}$$ $$\newcommand{\tvec}{\mathbf t}$$ $$\newcommand{\uvec}{\mathbf u}$$ $$\newcommand{\vvec}{\mathbf v}$$ $$\newcommand{\wvec}{\mathbf w}$$ $$\newcommand{\xvec}{\mathbf x}$$ $$\newcommand{\yvec}{\mathbf y}$$ $$\newcommand{\zvec}{\mathbf z}$$ $$\newcommand{\rvec}{\mathbf r}$$ $$\newcommand{\mvec}{\mathbf m}$$ $$\newcommand{\zerovec}{\mathbf 0}$$ $$\newcommand{\onevec}{\mathbf 1}$$ $$\newcommand{\real}{\mathbb R}$$ $$\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}$$ $$\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}$$ $$\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}$$ $$\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}$$ $$\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}$$ $$\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}$$ $$\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}$$ $$\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}$$ $$\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}$$ $$\newcommand{\laspan}[1]{\text{Span}\{#1\}}$$ $$\newcommand{\bcal}{\cal B}$$ $$\newcommand{\ccal}{\cal C}$$ $$\newcommand{\scal}{\cal S}$$ $$\newcommand{\wcal}{\cal W}$$ $$\newcommand{\ecal}{\cal E}$$ $$\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}$$ $$\newcommand{\gray}[1]{\color{gray}{#1}}$$ $$\newcommand{\lgray}[1]{\color{lightgray}{#1}}$$ $$\newcommand{\rank}{\operatorname{rank}}$$ $$\newcommand{\row}{\text{Row}}$$ $$\newcommand{\col}{\text{Col}}$$ $$\renewcommand{\row}{\text{Row}}$$ $$\newcommand{\nul}{\text{Nul}}$$ $$\newcommand{\var}{\text{Var}}$$ $$\newcommand{\corr}{\text{corr}}$$ $$\newcommand{\len}[1]{\left|#1\right|}$$ $$\newcommand{\bbar}{\overline{\bvec}}$$ $$\newcommand{\bhat}{\widehat{\bvec}}$$ $$\newcommand{\bperp}{\bvec^\perp}$$ $$\newcommand{\xhat}{\widehat{\xvec}}$$ $$\newcommand{\vhat}{\widehat{\vvec}}$$ $$\newcommand{\uhat}{\widehat{\uvec}}$$ $$\newcommand{\what}{\widehat{\wvec}}$$ $$\newcommand{\Sighat}{\widehat{\Sigma}}$$ $$\newcommand{\lt}{<}$$ $$\newcommand{\gt}{>}$$ $$\newcommand{\amp}{&}$$ $$\definecolor{fillinmathshade}{gray}{0.9}$$

Un registro de cambio de entrada en serie y salida en paralelo es similar al registro de cambios de entrada en serie y salida de serie en que desplaza los datos a elementos de almacenamiento interno y desplaza los datos en el pin de salida de serie, salida de datos.

Es diferente en que pone a disposición todas las etapas internas como salidas. Por lo tanto, un registro de desplazamiento de entrada en serie y salida en paralelo convierte los datos de formato serie a formato paralelo.

## Un ejemplo de uso del registro de turnos de entrada en serie y salida en paralelo

Si cuatro bits de datos se desplazan en cuatro pulsos de reloj a través de un solo cable en la entrada de datos, a continuación, los datos estarán disponibles simultáneamente en las cuatro salidas Q A a Q D después del cuarto pulso de reloj.

La aplicación práctica del registro de desplazamiento de entrada en serie y salida en paralelo es convertir datos de formato serie en un solo cable a formato paralelo en múltiples cables.

Iluminemos cuatro LEDs (diodos emisores de luz) con las cuatro salidas (Q A Q B Q C Q D).

Los detalles anteriores del registro de turnos de entrada en serie y salida paralela son bastante simples. Parece un registro de cambios de entrada de serie y salida de serie con tomas agregadas a cada salida de etapa. Los datos en serie se desplazan en SI (entrada serial). Después de un número de relojes igual al número de etapas, el primer bit de datos en aparece en SO (Q D) en la figura anterior. En general, no hay pin SO. La última etapa (Q D anterior) sirve como SO y se conecta en cascada al siguiente paquete si existe.

## Registro de cambios de entrada en serie, salida en paralelo frente a entrada de serie y salida de serie

Si un registro de cambios de entrada en serie y salida en paralelo es tan similar a un registro de turnos de entrada en serie y salida de serie, ¿por qué los fabricantes se molestan en ofrecer ambos tipos? ¿Por qué no ofrecer simplemente el registro de turnos de entrada en serie y salida paralela?

La respuesta es que en realidad solo ofrecen el registro de desplazamiento serial-in, parallel-out, siempre y cuando no tenga más de 8 bits. Tenga en cuenta que los registros de desplazamiento de entrada y salida de serie vienen en longitudes mayores de 8 bits de 18 a 64 bits. No es práctico ofrecer un registro de desplazamiento de 64 bits en serie y salida paralela que requiera tantos pines de salida. Consulte las formas de onda a continuación para el registro de desplazamiento anterior.

El registro de desplazamiento ha sido borrado antes de cualquier dato por CLR', una señal baja activa, que borra todos los flip-flops tipo D dentro del registro de desplazamiento. Observe el patrón de datos serie 1011 presentado en la entrada SI. Estos datos se sincronizan con el reloj CLK. Este sería el caso si se está desplazando de algo así como otro registro de turno, por ejemplo, un registro de desplazamiento de entrada paralela, salida de serie (no mostrado aquí). En el primer reloj en t1, los datos 1 en SI se desplazan de D a Q de la primera etapa del registro de desplazamiento. Después de t2 este primer bit de datos está en Q B. Después de t3 está en Q C. Después de t4 está en Q D. Cuatro pulsos de reloj han desplazado el primer bit de datos hasta la última etapa QD. El segundo bit de datos a 0 está en Q C después del cuarto reloj. El tercer bit de datos a 1 está en Q B. El cuarto bit de datos otro 1 está en Q A. Así, el patrón de entrada de datos serie 1011 está contenido en (Q D Q C Q B Q A). Ahora está disponible en las cuatro salidas.

Estará disponible en las cuatro salidas desde justo después del reloj t 4 hasta justo antes de t 5. Estos datos paralelos deben usarse o almacenarse entre estos dos tiempos, o se perderán debido al desplazamiento de la etapa Q D en los siguientes relojes t 5 a t 8 como se muestra arriba.

## Dispositivos de entrada en serie y salida en paralelo

Echemos un vistazo más de cerca a los registros de cambios de entrada en serie y salida en paralelo disponibles como circuitos integrados, cortesía de Texas Instruments. Para obtener las hojas de datos completas del dispositivo, siga los enlaces.

• SN74ALS164A registro de desplazamiento de 8 bits en serie/paralelo de salida [*]
• SN74AHC594 registro de desplazamiento de 8 bits en serie/paralelo con registro de salida [*]
• SN74AHC595 registro de desplazamiento de 8 bits en serie/paralelo con registro de salida [*]
• CD4094 registro de desplazamiento de 8 bits en serie/paralelo con registro de salida [*] [*]

El 74ALS164A es casi idéntico a nuestro diagrama anterior con la excepción de las dos entradas serie A y B. La entrada no utilizada debe ser elevada para habilitar la otra entrada. No mostramos todas las etapas anteriores. Sin embargo, todas las salidas se muestran en el símbolo ANSI a continuación, junto con los números de pin.

La entrada CLK a la sección de control del símbolo ANSI anterior tiene dos funciones internas C1, control de cualquier cosa con un prefijo de 1. Esto sería cronometrar los datos en 1D. La segunda función, la flecha después de la barra diagonal (/) es el desplazamiento a la derecha (abajo) de los datos dentro del registro de desplazamiento. Las ocho salidas están disponibles a la derecha de los ocho registros debajo de la sección de control. La primera etapa es más amplia que las otras para dar cabida a la entrada de A&B.

El diagrama lógico interno anterior está adaptado de la hoja de datos TI (Texas Instruments) para el 74AHC594. Los FFs de tipo “D” en la fila superior comprenden un registro de desplazamiento de entrada en serie y salida paralela. Esta sección funciona como los dispositivos descritos anteriormente. Las salidas (Q A 'Q B' a Q H ') de la mitad del registro de desplazamiento del dispositivo alimentan los FFs tipo “D” en la mitad inferior en paralelo. Q H '(pin 9) se desplaza hacia fuera a cualquier paquete opcional de dispositivo en cascada.

Un solo borde de reloj positivo en RCLK transferirá los datos de D a Q de los FFs inferiores. Todos los 8 bits se transfieren en paralelo al registro de salida (una colección de elementos de almacenamiento). El propósito del registro de salida es mantener una salida de datos constante mientras los nuevos datos se desplazan a la sección superior del registro de desplazamiento. Esto es necesario si las salidas impulsan relés, válvulas, motores, solenoides, bocinas o zumbadores. Esta característica puede no ser necesaria al conducir LED siempre que el parpadeo durante el cambio no sea un problema.

Tenga en cuenta que el 74AHC594 tiene relojes separados para el registro de desplazamiento (SRCLK) y el registro de salida (RCLK). Además, el desplazador puede ser borrado por SRCLR y, el registro de salida por RCLR. Es deseable poner las salidas en un estado conocido en el encendido, en particular, si los relés de accionamiento, motores, etc. Las formas de onda a continuación ilustran el desplazamiento y el enganche de datos.

Las formas de onda anteriores muestran el desplazamiento de 4 bits de datos a las primeras cuatro etapas de 74AHC594, luego la transferencia paralela al registro de salida. De hecho, el 74AHC594 es un registro de desplazamiento de 8 bits, y tomaría 8 relojes para cambiar en 8 bits de datos, que sería el modo normal de operación. Sin embargo, los 4 bits que mostramos ahorran espacio e ilustran adecuadamente la operación.

Despejamos el registro de turno medio reloj antes de t 0 con SRCLR'=0. SRCLR' debe ser liberado de nuevo alto antes de cambiar. Justo antes de t 0 el registro de salida es borrado por RCLR'=0. También se libera (RCLR'=1).

Los datos en serie 1011 se presentan en el pin SI entre los relojes t 0 y t 4. Se desplaza por los relojes t 1 t 2 t 3 t 4 que aparecen en las etapas de desplazamiento interno Q A 'Q B' Q C 'Q D'. Estos datos están presentes en estas etapas entre t 4 y t 5. Después de t 5 los datos deseados (1011) no estarán disponibles en estas etapas de cambio interno.

Entre t 4 y t 5 aplicamos un RCLK que va positivo transfiriendo datos 1011 para registrar salidas Q A Q B Q C Q D. Estos datos se congelarán aquí a medida que más datos (0 s) se desplazan durante los SRCLK sucesivos (t 5 a t 8). Aquí no habrá un cambio en los datos hasta que se aplique otro RCLK.

El 74AHC595 es idéntico al '594 excepto que el RCLR' es reemplazado por un OE' que habilita una memoria intermedia de tres estados en la salida de cada uno de los ocho bits del registro de salida. Aunque el registro de salida no se puede borrar, las salidas pueden ser desconectadas por OE'=1. Esto permitiría que las resistencias externas de pull-up o pull-down fuercen cualquier relé, solenoide o controladores de válvula a un estado conocido durante el encendido del sistema. Una vez que el sistema está encendido y, digamos, un microprocesador ha desplazado y retenido los datos en el '595, la habilitación de salida podría ser afirmada (OE'=0) para accionar los relés, solenoides y válvulas con datos válidos, pero, no antes de ese momento.

Arriba están los símbolos ANSI propuestos para estos dispositivos. C3 registra los datos en la entrada serial (SER externa) como lo indica el prefijo 3 de 2,3D. La flecha después de C3/ indica desplazamiento a la derecha (abajo) del registro de desplazamiento, las 8 etapas a la izquierda del símbolo '595 debajo de la sección de control. El prefijo 2 de 2,3D y 2D indica que estas etapas pueden ser reiniciadas por R2 (SRCLR' externo).

El prefijo 1 de 1,4D en el '594 indica que R1 (RCLR externo) puede restablecer el registro de salida, que está a la derecha de la sección del registro de turnos. El '595, que tiene una EN en el OE externo' no puede restablecer el registro de salida. Pero, la EN habilita búferes de salida triestatales (triángulo invertido). El triángulo que apunta hacia la derecha tanto del '594 como del '595 indica búfer interno. Tanto los registros de salida '594 como '595 son cronometrados por C4 como se indica por 4 de 1,4D y 4D respectivamente.

El CD4094B es una alternativa de registro de desplazamiento de enganche con capacidad de 3 a 15 V CC a los dispositivos 74AHC594 anteriores. RELOJ, C 1, desplaza los datos en SERIAL IN como lo implica el prefijo 1 de 1D. También es el reloj del registro de desplazamiento derecho (mitad izquierda del cuerpo del símbolo) como lo indica la/(flecha derecha) de C1/(flecha) en la entrada CLOCK.

STROBE, C2 es el reloj para el registro de salida de 8 bits a la derecha del cuerpo del símbolo. El 2 de 2D indica que C2 es el reloj para el registro de salida. El triángulo invertido en el pestillo de salida indica que la salida es trideclarada, siendo habilitada por EN3. El 3 que precede al triángulo invertido y el 3 de EN3 a menudo se omiten, ya que se entiende cualquier enable (EN) para controlar las salidas triestatales.

Q S y Q S 'son salidas no bloqueadas de la etapa del registro de desplazamiento. Q S podría conectarse en cascada a la ENTRADA SERIAL de un dispositivo siguiente.

## Aplicaciones prácticas

Una aplicación del mundo real del registro de cambios de entrada en serie y salida en paralelo es la salida de datos de un microprocesador a un indicador de panel remoto. O bien, otro dispositivo de salida remoto que acepte datos en formato serie.

La figura “Alarma con teclado remoto” se repite aquí desde la sección de entrada paralela, salida en serie con la adición de la pantalla remota. Así, podemos mostrar, por ejemplo, el estado de los bucles de alarma conectados a la caja de alarma principal. Si la Alarma detecta una ventana abierta, puede enviar datos en serie a la pantalla remota para informarnos. Tanto el teclado como la pantalla probablemente estarían contenidos dentro del mismo gabinete remoto, separado de la caja de alarma principal. No obstante, solo veremos el panel de visualización en esta sección.

Si la pantalla estuviera en la misma placa que la Alarma, podríamos simplemente pasar ocho cables a los ocho LEDs junto con dos cables para alimentación y tierra. Estos ocho cables son mucho menos deseables a largo plazo a un panel remoto. Usando registros de cambio, solo necesitamos ejecutar cinco cables: reloj, datos en serie, una luz estroboscópica, alimentación y tierra. Si el panel estuviera a solo unas pulgadas de distancia de la placa principal, aún podría ser deseable reducir la cantidad de cables en un cable de conexión para mejorar la confiabilidad. Además, a veces usamos la mayoría de los pines disponibles en un microprocesador y necesitamos usar técnicas en serie para ampliar el número de salidas. Algunos dispositivos de salida de circuitos integrados, como los convertidores Digital a Analógico, contienen registros de desplazamiento de entrada en serie y salida en paralelo para recibir datos de los microprocesadores. Las técnicas aquí ilustradas son aplicables a esas partes.

Hemos elegido el registro de desplazamiento 74AHC594 de entrada en serie y salida en paralelo con registro de salida; sin embargo, requiere un pin adicional, RCLK, para cargar en paralelo los datos cambiados a los pines de salida. Este pin adicional evita que las salidas cambien mientras los datos se desplazan. Esto no es un gran problema para los LEDs. Pero, sería un problema si impulsaran relés, válvulas, motores, etc.

El código ejecutado dentro del microprocesador comenzaría con 8 bits de datos a emitir. Un bit se emitiría en el pin “Serial data out”, accionando SER del remoto 74AHC594. A continuación, el microprocesador genera una transición de baja a alta en “Reloj de cambio”, impulsando SRCLK del registro de desplazamiento '595. Este reloj positivo desplaza el bit de datos en SER de “D” a “Q” de la primera etapa del registro de desplazamiento. Esto no tiene ningún efecto en el LED Q A en este momento debido al registro interno de salida de 8 bits entre el registro de desplazamiento y los pines de salida (Q A a Q H). Finalmente, “Shift clock” es retrocedido bajo por el microprocesador. Esto completa el desplazamiento de un bit hacia el '595.

El procedimiento anterior se repite siete veces más para completar el desplazamiento de 8 bits de datos desde el microprocesador al registro de desplazamiento 74AHC594 de entrada en serie y salida en paralelo. Para transferir los 8 bits de datos dentro del registro de desplazamiento interno '595 a la salida requiere que el microprocesador genere una transición de baja a alta en RCLK, el reloj del registro de salida. Esto aplica nuevos datos a los LEDs. El RCLK necesita retroceder bajo en previsión de la próxima transferencia de datos de 8 bits.

Los datos presentes en la salida del '595 permanecerán hasta que el proceso en los dos párrafos anteriores se repita para un nuevo 8 bits de datos. En particular, los nuevos datos pueden ser desplazados al registro de desplazamiento interno '595 sin afectar a los LEDs. Los LEDs solo se actualizarán con nuevos datos con la aplicación del borde ascendente RCLK.

¿Y si necesitamos manejar más de ocho LEDs? Simplemente conecte en cascada otro pin SER 74AHC594 al Q H 'de la palanca de cambios existente. Paralelo a los pines SRCLK y RCLK. El microprocesador necesitaría transferir 16 bits de datos con 16 relojes antes de generar un RCLK alimentando ambos dispositivos.

Los indicadores LED discretos, que mostramos, podrían ser LEDs de 7 segmentos. Sin embargo, hay dispositivos LSI (Integración a gran escala) capaces de conducir varios dígitos de 7 segmentos. Este dispositivo acepta datos de un microprocesador en formato serie, accionando más segmentos LED de los que tiene pines multiplexando los LEDs. Por ejemplo, consulte el siguiente enlace para la hoja de datos MAX6955.

This page titled 12.4: Registros de cambio - Conversión de entrada en serie, salida paralela (SIPO) is shared under a GNU Free Documentation License 1.3 license and was authored, remixed, and/or curated by Tony R. Kuphaldt (All About Circuits) via source content that was edited to the style and standards of the LibreTexts platform.