Saltar al contenido principal

# 12.2: Registros de turno: entrada de serie, salida de serie

$$\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}$$

Los registros de cambio de entrada y salida de serie retrasan los datos por un tiempo de reloj para cada etapa. Almacenarán un poco de datos para cada registro. Un registro de desplazamiento de entrada en serie y salida de serie puede tener una longitud de uno a 64 bits, más largo si los registros o paquetes están conectados en cascada.

A continuación se muestra un registro de desplazamiento de una etapa que recibe datos que no están sincronizados con el reloj del registro. La “entrada de datos” en el pin D del tipo D FF (Flip-Flop) no cambia de nivel cuando el reloj cambia de bajo a alto. Es posible que queramos sincronizar los datos a un reloj de todo el sistema en una placa de circuito para mejorar la confiabilidad de un circuito lógico digital.

El punto obvio (en comparación con la figura siguiente) ilustrado anteriormente es que cualquier “dato en” que esté presente en el pin D de un tipo D FF se transfiere de D a la salida Q en el tiempo del reloj. Dado que nuestro ejemplo de registro de desplazamiento utiliza elementos de almacenamiento sensibles al borde positivo, la salida Q sigue a la entrada D cuando el reloj pasa de bajo a alto como se muestra por las flechas hacia arriba en el diagrama anterior. No hay duda de qué nivel lógico está presente en el tiempo del reloj porque los datos son estables mucho antes y después del borde del reloj. Esto rara vez ocurre en los registros de turnos multietapa. Pero, este fue un ejemplo fácil para empezar. Sólo nos preocupa el borde positivo, de bajo a alto, del reloj. El borde descendente puede ser ignorado. Es muy fácil ver Q seguir D a la hora del reloj arriba. Compare esto con el diagrama a continuación donde los “datos en” parecen cambiar con el borde positivo del reloj.

Dado que “data in” parece cambiar en el tiempo de reloj t 1 anterior, ¿qué ve el tipo D FF en la hora del reloj? La respuesta corta sobre simplificada es que ve los datos que estaban presentes en D antes del reloj. Eso es lo que se traspasa a Q en el tiempo de reloj t 1. La forma de onda correcta es Q C. A t 1 Q va a un cero si no es ya cero. El registro D no ve un uno hasta el tiempo t 2, momento en el que Q va alto.

Dado que los datos, anteriores, presentes en D se sincronizan a Q en el tiempo del reloj, y Q no puede cambiar hasta la siguiente hora de reloj, el D FF retrasa los datos en un periodo de reloj, siempre que los datos ya estén sincronizados con el reloj. La forma de onda Q A es la misma que “data in” con un retardo de un período de reloj.

Sigue una mirada más detallada a lo que la entrada del tipo D Flip-Flop ve en la hora del reloj. Refiérase a la siguiente figura. Dado que “data in” parece cambiar a la hora del reloj (arriba), necesitamos más información para determinar qué ve el D FF. Si el “data in” es de otra etapa de registro de turnos, otro mismo tipo D FF, podemos sacar algunas conclusiones con base en la información de la hoja de datos. Los fabricantes de lógica digital ponen a disposición información sobre sus partes en hojas de datos, anteriormente solo disponibles en una colección llamada libro de datos. Los libros de datos todavía están disponibles; sin embargo, el sitio web del fabricante es la fuente moderna.

Los siguientes datos se extrajeron de la hoja de datos CD4006b para operación a 5V DC, lo que sirve como ejemplo para ilustrar la sincronización.

• t S = 100ns
• t H = 60ns
• t P =200-400ns tipo/máx

t S es la hora de configuración, los datos de tiempo deben estar presentes antes de la hora del reloj. En este caso los datos deben estar presentes a D 100ns antes del reloj. Además, los datos deben mantenerse para el tiempo de retención t H = 60ns después del tiempo de reloj. Estas dos condiciones deben cumplirse para registrar de manera confiable los datos de D a Q del Flip-Flop.

No hay problema para cumplir con el tiempo de configuración de 60ns ya que los datos en D han estado allí durante todo el período de reloj anterior si provienen de otra etapa del registro de turnos. Por ejemplo, a una frecuencia de reloj de 1 Mhz, el periodo de reloj es de 1000 µs, mucho tiempo. En realidad, los datos estarán presentes por 1000µs antes del reloj, que es mucho mayor que el mínimo requerido t S de 60ns.

El tiempo de retención t H = 60ns se cumple porque D conectado a Q de otra etapa no puede cambiar más rápido que el retardo de propagación de la etapa anterior t P = 200ns. El tiempo de retención se cumple siempre y cuando el retardo de propagación del D FF anterior sea mayor que el tiempo de retención. Los datos en D impulsados por otra etapa Q no cambiarán más rápido que 200ns para el CD4006b.

Para resumir, la salida Q sigue a la entrada D casi a la hora del reloj si los flip-flops se conectan en cascada en un registro de desplazamiento de varias etapas.

Tres flip-flops tipo D están conectados en cascada Q a D y los relojes son paralelos para formar un registro de desplazamiento de tres etapas arriba.

Tipo JK FFs en cascada Q a J, Q' a K con relojes en paralelo para producir una forma alternativa del registro de desplazamiento anterior.

Un registro de desplazamiento de entrada/salida de serie tiene una entrada de reloj, una entrada de datos y una salida de datos de la última etapa. En general, las otras salidas de etapa no están disponibles. De lo contrario, sería un registro de desplazamiento serial-in, parallel-out.

Las formas de onda siguientes son aplicables a cualquiera de las dos versiones anteriores del registro de desplazamiento de entrada y salida de serie. Los tres pares de flechas muestran que un registro de desplazamiento de tres etapas almacena temporalmente 3 bits de datos y los retrasa tres períodos de reloj de entrada a salida.

En el tiempo de reloj t 1 se sincroniza una “entrada de datos” de 0 de D a Q de las tres etapas. En particular, D de la etapa A ve un 0 lógico, que se sincroniza a Q A donde permanece hasta el tiempo t 2.

En el tiempo de reloj t 2 una “entrada de datos” de 1 se sincroniza de D a QA. En las etapas B y C, un 0, alimentado desde las etapas anteriores se sincroniza a Q B y Q C.

En el tiempo de reloj t 3 se sincroniza una “entrada de datos” de 0 de D a QA. Q A va baja y permanece baja para los relojes restantes debido a que “los datos en” son 0. Q B va alto en t 3 debido a un 1 de la etapa anterior. Q C sigue siendo baja después de t 3 debido a una baja de la etapa anterior.

Q C finalmente va alto en el reloj t 4 debido a la alta alimentada a D de la etapa anterior Q B. Todas las etapas anteriores tienen 0 s desplazados hacia ellas. Y, después del siguiente pulso de reloj en t 5, todos los 1 s lógicos habrán sido desplazados, reemplazados por 0 s

## Dispositivos de entrada y salida en serie

Analizaremos más de cerca las siguientes piezas disponibles como circuitos integrados, cortesía de Texas Instruments. Para obtener las hojas de datos completas del dispositivo, siga los enlaces.

• CD4006b Registro de desplazamiento de entrada y salida de serie de 18 bits [*]
• CD4031b 64 bits serial-in/serial-out registro de turno [*]
• CD4517b doble 64 bits serial-in/serial-out registro de turno [*]

Los siguientes registros de desplazamiento serial-in/serial-out son piezas de la familia CMOS (Semiconductor Complementario de Óxido Metálico) serie 4000. Como tal, aceptarán un V DD, fuente de alimentación positiva de 3-Volts a 15-Volts. El pin V SS está conectado a tierra. La frecuencia máxima del reloj de cambio, que varía con V DD, es de unos pocos megahercios. Consulte la hoja de datos completa para más detalles.

El CD4006b de 18 bits consta de dos etapas de 4 bits y dos etapas más de 5 bits con una toma de salida a 4 bits. Así, las etapas de 5 bits podrían usarse como registros de desplazamiento de 4 bits. Para obtener un registro de desplazamiento completo de 18 bits, la salida de un registro de desplazamiento debe estar conectada en cascada a la entrada de otro y así sucesivamente hasta que todas las etapas creen un solo registro de turno como se muestra a continuación.

A continuación se muestra un registro de desplazamiento CD4031 de 64 bits serial-in/serial-out. Un número de pines no están conectados (nc). Tanto Q como Q' están disponibles desde la etapa 64, en realidad Q 64 y Q' 64. También hay un Q 64 “retrasado” de una media etapa que se retrasa medio ciclo de reloj. Una característica principal es un selector de datos que está en la entrada de datos al registro de desplazamiento.

El “control de modo” selecciona entre dos entradas: datos 1 y datos 2. Si el “control de modo” es alto, los datos se seleccionarán de “datos 2” para ingresar al registro de turno. En el caso de que el “control de modo” sea lógico bajo, se selecciona el “dato 1”. Ejemplos de ello se muestran en las dos figuras siguientes.

Los “datos 2” anteriores están cableados a la salida Q 64 del registro de desplazamiento. Con el “control de modo” alto, la salida Q 64 se encamina de nuevo a la entrada de datos de la palanca de cambios D. Los datos recircularán de salida a entrada. Los datos se repetirán cada 64 pulsos de reloj como se muestra arriba. La pregunta que surge es ¿cómo se metió este patrón de datos en el registro de turnos en primer lugar?

Con “control de modo” bajo, se selecciona el CD4031 “data 1” para ingresar a la palanca de cambios. La salida, Q 64, no se recircula porque la puerta selectora de datos inferior está desactivada. Por deshabilitado queremos decir que la lógica baja “selección de modo” invertida dos veces a un bajo en la puerta NAND inferior impide que pase cualquier señal en el pin inferior (datos 2) a la salida de la puerta. Por lo tanto, está deshabilitado.

Un registro de desplazamiento doble de 64 bits CD4517b se muestra arriba. Anote los grifos en las etapas 16, 32 y 48. Eso significa que los registros de desplazamiento de esas longitudes se pueden configurar a partir de uno de los desplazadores de 64 bits. Por supuesto, los desplazadores de 64 bits pueden conectarse en cascada para producir un registro de desplazamiento de 80 bits, 96 bits, 112 bits o 128 bits. El reloj CL A y CL B necesitan ser paralelos al conectar en cascada los dos cambiadores. WE B y WE B están conectados a tierra para operaciones de cambio normales. Las entradas de datos a los registros de desplazamiento A y B son D A y D B respectivamente.

Supongamos que requerimos un registro de desplazamiento de 16 bits. ¿Se puede configurar esto con el CD4517b? ¿Qué tal un registro de 64 turnos de la misma parte?

Arriba mostramos A CD4517b cableado como un registro de desplazamiento de 16 bits para la sección B. El reloj para la sección B es CL B. Los datos se registran en CL B. Y los datos retrasados en 16 relojes se escogen de Q 16B. WE B, la habilitación de escritura, está conectada a tierra.

Arriba también mostramos el mismo CD4517b cableado como un registro de desplazamiento de 64 bits para la sección independiente A. El reloj para la sección A es CL A. Los datos ingresan en CL A. Los datos retardados por impulsos de 64 relojes se recogen de Q 64A. WE A, la habilitación de escritura para la sección A, está conectada a tierra.

This page titled 12.2: Registros de turno: entrada de serie, salida de serie 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.