¿Cuál es el uso previsto de los pines "WE" o "PE/OE" en el registro de desplazamiento 4517?

El xx4517 ( http://www.onsemi.com/pub_link/Collateral/MC14517B-D.PDF ) es un chip de 16 pines que contiene dos unidades de registro de desplazamiento de 64 bits, cada una de las cuales se divide a su vez en cuatro unidades de 16 bits. registros de bits. Cada una de las unidades de cambio tiene un pin que puede llamarse "WE" o "PE/OE" que selecciona entre dos modos de operación. En un modo, la entrada del bit 0 se enclava en el primer registro y cada uno de los otros registros enclava la salida de su predecesor. Las salidas de los cuatro registros de desplazamiento se envían a los pines del dispositivo. En el segundo modo, los controladores de las cuatro salidas están desactivados; los primeros tres pines se reutilizan para que los registros de desplazamiento del segundo al cuarto tomen datos de esos pines en lugar de sus registros de desplazamiento predecesores. El pin de salida final simplemente no se usa.

Está claro cómo el dispositivo podría ser útil cuando el pin de modo está bajo. También puedo ver cómo sería útil tener un medio para cambiar entre cualquiera de los siguientes pares de modos:

Intermediate shift values are output and passed to the next stage
Pins are floated but shift-register outputs are passed to the next stage anyway

Pins are floated but shift-register outputs are passed to the next stage anyway
Pins are floated, and shift registers take input from them

Tengo curiosidad de qué manera se puede utilizar prácticamente la función de modo tal como está. En todos los casos, puedo pensar en dónde a veces me gustaría que un dispositivo cargue los toques intermedios desde los pines externos, habría momentos en los que querría que no cargara los toques intermedios desde los pines externos pero que tampoco les enviara nada .

Dado que las piezas con el pinout xx4517 se han fabricado durante décadas, mientras que otros tipos de registros de cambio han ido y venido, y dado que 14 pines parecen haber sido al menos un tamaño tan común para la lógica discreta como 16 pines, parecería curioso si esos los pines nunca fueron utilizados por ninguno de los circuitos en los que se ha empleado la pieza (especialmente porque uno puede imaginar fácilmente otros propósitos útiles para los que se podrían haber puesto dichos pines). ¿Hay algún medio inteligente de usar el pin WE del 4517 que desconozco? Lo único en lo que puedo pensar sería en aplicaciones que solo quieren usar los pines de la mitad del toque como entradas para controlarlos a través de resistencias de 4.7K e ignorar el hecho de que a menudo serán retroalimentados, pero eso parece realmente muy repugnante ¿Hubo mejores usos?

Agregue un enlace a la hoja de datos de este chip.
Parece que cada registro de desplazamiento de 64 bits podría dividirse en 4 registros de desplazamiento de 16 bits con el circuito adecuado.
@IgnacioVazquez-Abrams: Esa sería una razón lógica, pero por la forma en que están conectadas las cosas, no veo cómo se podría lograr eso en general sin que el circuito adicional cueste tanto como simplemente usar palancas de cambios más pequeñas [incluso sin el pin de modo, sería fácil considerar el chip como dos unidades independientes, cada una de las cuales se puede cablear como una palanca de cambios de 16, 32, 48 o 64 bits de salida constante].

Respuestas (1)

Las dos configuraciones más básicas para este circuito que se me ocurren son:

  1. Registro de desplazamiento de longitud variable (los toques medios se usan como salidas)
  2. Elemento de memoria serial de 64 bits con velocidad de escritura x4 (los toques centrales se usan como entradas)

Los dos anteriores son los más básicos, y los toques intermedios se utilizan para un solo propósito en cada uno de ellos. En 1, la señal WE no debe afirmarse en absoluto. En 2, la lógica que impulsa las derivaciones intermedias debería convertirse en una impedancia alta cuando WE se anula.

Podemos encontrar la aplicación en la que las derivaciones intermedias se utilizarán como entradas y salidas: si está utilizando los pines D, 16, 32 y 48 de ambos registros empaquetados (un total de 8 pines) como entradas y los pines 16,32, 48,64 de ambos registros empaquetados (total de 8 pines) como salidas: obtiene un elemento de memoria serial de 8 bits de ancho. Esta memoria puede muestrear un Byte de datos del bus y poner un Byte de datos en el bus. Si está utilizando un solo bus para lectura y escritura (lo que suele ser el caso), el hecho de que las salidas suban Z cuando afirma WE es muy útil: puede conectar el bus directamente a las entradas/salidas sin ningún tri adicional. -estados. Solo asegúrese de que está conectando los relojes a ambos registros cuando no desea muestrear datos del bus ni poner la siguiente muestra en el bus.

Supongo que podría ver una situación en la que se podría usar el chip si se quisiera que un bus de 8 bits leyera el elemento que se escribió exactamente 16 ciclos antes, pero se desplazó un poco, pero eso parece extremadamente oscuro; Dudo que comprenda ni siquiera el 0,1% de las aplicaciones del chip. Además, ese uso funcionaría bien si los chips tuvieran dos pines de modo, compartidos entre ambas unidades de cambio, que podrían seleccionar uno de los cuatro modos (dos de los cuales se comportarían como lo hace este chip, junto con, por ejemplo, 'cambiar mientras se prueba todo' y 'cambiar mientras se prueba todo excepto la última salida').
Normalmente, si uno quisiera retrasar algo por un múltiplo de la cantidad por la que un cambiador retrasaría, uno simplemente conectaría los cambiadores en cascada, pero no veo una forma práctica de hacerlo si, por ejemplo, uno quisiera usar dos chips para retrasar un autobús por 32 ciclos La única forma que veo de lograr un retraso de 32 ciclos sería usar un toggle flop para contar el número de operaciones y alguna lógica de decodificación para que la mitad de los ciclos usen un chip y la otra mitad usen el otro.
Agradezco su escritura, y tal vez haya un uso previsto como elemento de memoria, pero los sistemas que he visto que usarían registros de desplazamiento cableados por bus como elementos de memoria incluyen un medio para recircular datos localmente sin ponerlos en un compartido autobús.
@supercat, quería saber si hay aplicaciones en las que se pueden aprovechar ambos modos simultáneamente. Le describí una aplicación de este tipo. No veo una restricción en exactamente 16 ciclos de retraso, pero veo al menos 16 ciclos. No entendí lo que dijiste sobre la imposibilidad de la conexión en cascada; no veo tal restricción. En general, este elemento se usará como registro de desplazamiento de longitud variable (#1 en mi respuesta). No sé cómo estima los porcentajes de uso, pero estoy seguro de que el registro de desplazamiento de longitud variable es el objetivo principal de este chip.
Esperaría que el uso normal fuera como un registro de longitud fija que es un múltiplo de 16 bits, pero para usar el chip para tales fines, uno simplemente ata el pin WE (lo que implica que es posible que no exista). La razón del requisito de 16 "exactos" con WE es que no hay forma de obtener datos de una etapa de 16 bits a otra sin tener que enviarlos al bus. Supongo que mi pregunta quizás podría haberse reformulado como "¿Con qué frecuencia, si es que alguna vez, se ha utilizado el 4017 en dispositivos que terminaron necesitando menos circuitos de los que tendrían si los pines WE hubieran estado atados internamente bajos?"
La pregunta reformulada requiere mucha más experiencia de la que tengo para responder. La única configuración realmente útil que me parece razonablemente común son los 4 registros de desplazamiento de 16 bits que comparten el mismo control...