stringtranslate.com

Contador de anillos

Un contador de anillo es un tipo de contador compuesto de flip-flops conectados a un registro de desplazamiento , con la salida del último flip-flop alimentada a la entrada del primero, formando una estructura "circular" o "de anillo".

Hay dos tipos de contadores de anillos:

Secuencias de contadores de anillo de cuatro bits

Propiedades

Los contadores de anillo se utilizan a menudo en el diseño de hardware (por ejemplo, diseño de ASIC y FPGA ) para crear máquinas de estados finitos . Un contador binario requeriría un circuito sumador que es sustancialmente más complejo que un contador de anillo y tiene un mayor retardo de propagación a medida que aumenta el número de bits, mientras que el retardo de propagación de un contador de anillo será casi constante independientemente del número de bits en el código.

Las formas rectas y torcidas tienen diferentes propiedades y ventajas y desventajas relativas.

Una desventaja general de los contadores en anillo es que son códigos de menor densidad que las codificaciones binarias normales de números de estado. Un contador binario puede representar 2 N estados, donde N es el número de bits en el código, mientras que un contador en anillo simple puede representar solo N estados y un contador Johnson puede representar solo 2 N estados. Esto puede ser una consideración importante en implementaciones de hardware donde los registros son más costosos que la lógica combinacional.

Los contadores Johnson son a veces los preferidos, porque ofrecen el doble de estados de conteo a partir del mismo número de registros de desplazamiento, y porque pueden autoinicializarse desde el estado de todos ceros, sin necesidad de que el primer bit de conteo se inyecte externamente al inicio. El contador Johnson genera un código en el que los estados adyacentes difieren en solo un bit (es decir, tienen una distancia de Hamming de 1), como en un código Gray , que puede ser útil si el patrón de bits se va a muestrear de forma asincrónica. [1]

Cuando se necesita una representación totalmente decodificada o de un solo bit del estado del contador, como en algunos controladores de secuencia, se prefiere el contador de anillo recto. La propiedad de un solo bit significa que el conjunto de códigos está separado por una distancia de Hamming mínima de 2, [2] por lo que cualquier error de un solo bit es detectable (al igual que cualquier patrón de error que no sea encender un bit y apagar un bit).

A veces se utilizan registros de desplazamiento bidireccionales (usando multiplexores para tomar la entrada para cada flip-flop de su vecino izquierdo o derecho), de modo que se pueden crear contadores de anillo bidireccionales o ascendentes-descendentes. [3]

Diagramas lógicos

El contador de anillo recto tiene la estructura lógica que se muestra aquí:

Contador de anillo de 4 bits que utiliza cuatro flip flops tipo D. Se muestra el reloj sincrónico y la línea de reinicio.

En lugar de que la línea de reinicio configure el patrón one-hot inicial , el anillo recto a veces se autoinicializa mediante el uso de una puerta de retroalimentación distribuida en todas las salidas excepto la última, de modo que se presenta un 1 en la entrada cuando no hay ningún 1 en ninguna etapa excepto la última. [4]

Un contador Johnson, llamado así por Robert Royce Johnson , es un anillo con una inversión; aquí hay un contador Johnson de 4 bits:

Contador Johnson de 4 bits que utiliza cuatro flip flops tipo D. Se muestra el reloj sincrónico y la línea de reinicio.

Tenga en cuenta la pequeña burbuja que indica la inversión de la señal Q del último registro de desplazamiento antes de realimentarla a la primera entrada D, lo que lo convierte en un contador Johnson.

Historia

Antes de la era de la computación digital, se utilizaban contadores digitales para medir las tasas de eventos aleatorios, como la desintegración radiactiva en partículas alfa y beta. Los contadores rápidos de "preescalado" reducían la tasa de eventos aleatorios a tasas más manejables y más regulares. Los contadores de anillo de cinco estados se utilizaban junto con escaladores de división por dos para hacer escaladores de décadas (potencias de diez) antes de 1940, como los desarrollados por CE Wynn-Williams . [5]

Los primeros contadores de anillo usaban solo un elemento activo (tubo de vacío, válvula o transistor) por etapa, basándose en retroalimentación global en lugar de flip-flops biestables locales, para suprimir estados distintos de los estados one-hot, por ejemplo en la presentación de patente de 1941 de Robert E. Mumma de la National Cash Registor Company . [6] Wilcox P. Overbeck inventó una versión que usaba múltiples ánodos en un solo tubo de vacío, [7] [8] En reconocimiento a su trabajo, los contadores de anillo a veces se denominan "anillos Overbeck" [9] [10] (y después de 2006, a veces como "contadores Overbeck", ya que Wikipedia usó ese término desde 2006 hasta 2018).

El ENIAC utilizaba aritmética decimal basada en contadores de anillo de un solo estado de 10 estados. Los trabajos de Mumma en NCR y Overbeck en MIT se encontraban entre los trabajos de técnica anterior examinados por la oficina de patentes al invalidar las patentes de J. Presper Eckert y John Mauchly para la tecnología ENIAC. [11]

En la década de 1950, aparecieron los contadores de anillo con un flip-flop de dos tubos o de dos triodos por etapa. [12]

Robert Royce Johnson desarrolló varios contadores diferentes basados ​​en registros de desplazamiento con el objetivo de crear diferentes cantidades de estados con la lógica de retroalimentación más simple posible, y solicitó una patente en 1953. [13] El contador Johnson es el más simple de ellos.

Aplicaciones

Las primeras aplicaciones de los contadores de anillo fueron como preescaladores de frecuencia (por ejemplo, para el contador Geiger y otros instrumentos similares), [5] como contadores para contar ocurrencias de patrones en criptoanálisis (por ejemplo, en la máquina de descifrado de códigos Heath Robinson y la computadora Colossus ), [14] y como elementos contadores acumuladores para aritmética decimal en computadoras y calculadoras, utilizando representaciones biquinarias (como en Colossus) o one-hot de diez estados (como en ENIAC ).

Los contadores de anillo recto generan códigos one-hot completamente decodificados que se utilizan a menudo para habilitar una acción específica en cada estado de un ciclo de control cíclico. Los códigos one-hot también se pueden decodificar a partir de un contador Johnson, utilizando una compuerta para cada estado. [15] [nb 1]

Además de ser una forma alternativa eficiente de generar códigos one-hot y preescaladores de frecuencia, un contador Johnson también es una forma sencilla de codificar un ciclo de un número par de estados que se pueden muestrear de forma asincrónica sin fallas, ya que solo cambia un bit a la vez, como en un código Gray . [16] Los primeros ratones de computadora usaban codificaciones Johnson o Gray de 2 bits arriba-abajo (bidireccionales) para indicar movimiento en cada una de las dos dimensiones, aunque en los ratones esos códigos no se generaban habitualmente mediante anillos de flip-flops (sino mediante codificadores de cuadratura electromecánicos u ópticos ). [17] Un código Johnson de 2 bits y un código Gray de 2 bits son idénticos, mientras que para 3 o más bits los códigos Gray y Johnson son diferentes. En el caso de 5 bits, el código es el mismo que el código Libaw–Craig  [de] para dígitos decimales. [18] [19] [20] [21] [22] [23] [24] [25]

Un contador de anillo móvil, también llamado contador Johnson, y algunas resistencias pueden producir una aproximación sin fallos de una onda sinusoidal. Cuando se combina con un prescaler ajustable , este es quizás el oscilador controlado numéricamente más simple . Dos de estos contadores de anillo móvil son quizás la forma más simple de generar la modulación por desplazamiento de frecuencia de fase continua utilizada en la señalización multifrecuencia de tono dual y los primeros tonos de módem . [26]

Véase también

Notas

  1. ^ Los circuitos de contador Johnson con estados únicos decodificados de esta manera se pueden encontrar en los diseños de adaptadores de pantalla de video IBM MDA y CGA originales, en la lógica del secuenciador de temporización: uno o dos circuitos integrados flip-flop tipo D hexadecimal de 74x174 están conectados como un registro de desplazamiento, se retroalimentan con inversión para formar un contador Johnson y se utilizan puertas NAND de 2 entradas (en el MDA) o puertas XOR (en el CGA) para decodificar estados utilizados como señales como +RAS (Row Address Strobe [a DRAM ]) y S/-L (Shift / NOT Load). Fuente: Referencia técnica de opciones y adaptadores para computadoras personales de IBM, adaptador de pantalla e impresora monocromática, diagramas lógicos; Referencia técnica de opciones y adaptadores para computadoras personales de IBM, adaptador de monitor gráfico en color, diagramas lógicos.

Referencias

  1. ^ Pedroni, Volnei A. (2013). Máquinas de estados finitos en hardware: teoría y diseño. MIT Press . p. 50. ISBN 978-0-26201966-8.
  2. ^ Mengibar, Luis; Entrena, Luis; Lorenz, Michael G.; Sánchez-Reillo, Raúl (2003). "State Encoding for Low-Power FSMs in FPGA". Diseño de circuitos integrados y sistemas. Modelado, optimización y simulación de potencia y tiempo: actas del 13.º taller internacional, PATMOS 2003, Turín, Italia, 10-12 de septiembre de 2003. Vol. 13. Springer Science & Business Media . pág. 35. ISBN. 9783540200741.
  3. ^ Stan, Mircea R. (1997). "Contador ascendente/descendente sincrónico con período de reloj independiente del tamaño del contador" (PDF) . Actas del 13.º Simposio IEEE sobre aritmética informática : 274–281.
  4. ^ Holdsworth, Brian; Woods, Clive (2002). Diseño de lógica digital (4.ª edición). Newnes Books / Elsevier Science . Págs. 191-192. ISBN. 0-7506-4588-2. Recuperado el 19 de abril de 2020 .{{cite book}}: Mantenimiento de CS1: errores de ISBN ignorados ( enlace )(519 páginas) [1]
  5. ^ ab Lewis, Wilfrid Bennett (1942). Conteo eléctrico: con especial referencia al conteo de partículas alfa y beta. Cambridge University Press . p. 90. ISBN 9781316611760.
  6. ^ "Acumulación electrónica", patente estadounidense n.° 2405096 de Robert E. Mumma, presentada en 1941
  7. ^ "Dispositivo de conmutación electrónica", patente estadounidense n.° 2427533 de Wilcox P. Overbeck, presentada en 1943
  8. ^ Dayton Codebreakers: Informe de investigación de 1942, que menciona "Un nuevo contador de alta velocidad del Sr. Overbeck, 8 de enero de 1942"
  9. ^ RAMAC 305 - Manual de instrucciones de ingeniería para clientes de IBM (PDF) . IBM . 1959. […] El anillo Overbeck se utiliza para suministrar pulsos temporizados dentro de circuitos informáticos de forma muy similar a como los disyuntores accionados por levas suministran pulsos temporizados en máquinas mecánicas. Consiste en un conjunto de disparadores con una entrada común desde la línea de accionamiento del anillo que transporta los pulsos suministrados por el tambor de proceso. […] Inicialmente, los disparadores se reinician en OFF con la excepción del disparador de inicio , que está ON. Cada pulso de entrada negativo apagará el disparador que está ON. La caída de voltaje en el pin 10 del disparador que se está apagando activará el siguiente disparador. Esto continúa a través de un anillo cerrado […]
  10. ^ Tecnología eléctrica: un plan de estudios sugerido de dos años para después de la escuela secundaria. Serie de programas de educación técnica. Estados Unidos, División de Educación Vocacional y Técnica. 1960. pág. 52.
  11. ^ Randall, Brian (2014). "Los orígenes de las computadoras digitales: bibliografía complementaria". En Metropolis, Nicholas (ed.). Historia de la informática en el siglo XX . Elsevier. págs. 651–652. ISBN 9781483296685.
  12. ^ William Alfred Higinbotham , "Circuitos de impulso rápido", patente estadounidense n.º 2536808, presentada en 1949
  13. ^ Robert Royce Johnson , "Contador electrónico", patente estadounidense n.º 3030581, presentada en 1953
  14. ^ Copeland, B. Jack (2010). Colossus: Los secretos de los ordenadores de Bletchley Park para descifrar códigos . Oxford University Press . Págs. 123-128. ISBN. 978-0-19957814-6.
  15. ^ Langholz, Gideon; Kandel, Abraham; Mott, Joe L. (1998). Fundamentos del diseño lógico digital. World Scientific. págs. 525–526. ISBN 978-9-81023110-1.
  16. ^ van Holten, Cornelius (agosto de 1982). Escrito en la Universidad Técnica de Delft, Delft, Países Bajos. "Divisores digitales con salidas simétricas: el autor utiliza contadores Johnson con retroalimentación controlada para dar divisiones simétricas pares e impares de un pulso de reloj" (PDF) . Wireless World . Vol. 88, núm. 1559. Sutton, Surrey, Reino Unido: IPC Business Press Ltd. pp. 43–46. ISSN  0043-6062. Archivado (PDF) desde el original el 21 de febrero de 2021. Consultado el 20 de febrero de 2021 .[2] [3] (4 páginas)
  17. ^ Lyon, Richard F. (agosto de 1981), The Optical Mouse, and an Architectural Methodology for Smart Digital Sensors (PDF) (Informe), Palo Alto Research Center, Palo Alto, California, EE. UU.: Xerox Corporation , VLSI 81-1, archivado (PDF) del original el 23 de mayo de 2020 , consultado el 23 de mayo de 2020. Los contadores necesarios para X e Y simplemente cuentan a través de cuatro estados, en cualquier dirección (arriba o abajo), cambiando solo un bit a la vez (es decir, 00, 01, 11, 10). Este es un caso simple de un contador de código Gray o un contador Johnson (contador Moebius).(41 páginas)
  18. ^ Libaw, William H.; Craig, Leonard J. (octubre de 1953) [septiembre de 1953]. "Un digitalizador de eje con codificación decimal fotoeléctrica". Transacciones del Grupo Profesional de Computadoras Electrónicas del IRE . EC-2 (3): 1–4. doi :10.1109/IREPGELC.1953.5407731. eISSN  2168-1759. ISSN  2168-1740 . Consultado el 26 de mayo de 2020 .(4 páginas)
  19. ^ Powell, E. Alexander (junio de 1968). "Códigos particularmente útiles para conversiones de analógico a digital". Una breve nota sobre códigos útiles para circuitos de control fluídico (PDF) . Cranfield, Reino Unido: The College of Aeronautics , Departamento de Ingeniería de Producción. pág. 10. S2CID  215864694. CoA Memo 156. Archivado (PDF) desde el original el 2020-12-15 . Consultado el 2020-12-15 .(18 páginas) (NB: El artículo nombra el código Glixon como código Gray modificado y escribe mal el nombre de Richard W. Hamming ).
  20. ^ Doctor, Folkert; Steinhauer, Jürgen (18 de junio de 1973). Electrónica Digital. Biblioteca técnica Philips (PTL) / Macmillan Education (Reimpresión de la primera edición en inglés). Eindhoven, Países Bajos: The Macmillan Press Ltd. / Gloeilampenfabrieken de NV Philips . pag. 43.doi :10.1007/978-1-349-01417-0 . ISBN 978-1-349-01419-4.SBN​ 333-13360-9. Recuperado el 11 de mayo de 2020 .(270 páginas)
  21. ^ Doctor, Folkert; Steinhauer, Jürgen (1975) [1969]. Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Theoretische Grundlagen und Schaltungstechnik . Philips Fachbücher (en alemán). vol. I (mejorada y ampliada 5ª ed.). Hamburgo, Alemania: Deutsche Philips GmbH . págs.52, 58, 98. ISBN 3-87145-272-6.(xii+327+3 páginas)
  22. ^ Doctor, Folkert; Steinhauer, Jürgen (1975) [1970]. Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Anwendung der digitalen Grundschaltungen und Gerätetechnik . Philips Fachbücher (en alemán). vol. II (4ª ed.). Hamburgo, Alemania: Deutsche Philips GmbH . pag. 169.ISBN 3-87145-273-4.(xi+393+3 páginas)
  23. ^ Steinbuch, Karl W. , ed. (1962). Escrito en Karlsruhe, Alemania. Taschenbuch der Nachrichtenverarbeitung (en alemán) (1 ed.). Berlín / Gotinga / Nueva York: Springer-Verlag OHG . págs. 71–72, 74. LCCN  62-14511.
  24. ^ Steinbuch, Karl W .; Wagner, Siegfried W., eds. (1967) [1962]. Taschenbuch der Nachrichtenverarbeitung (en alemán) (2 ed.). Berlín, Alemania: Springer-Verlag OHG . LCCN  67-21079. Título N° 1036.
  25. ^ Steinbuch, Karl W .; Weber, Wolfgang; Heinemann, Traute, eds. (1974) [1967]. Taschenbuch der Informatik - Band II - Struktur und Programmierung von EDV-Systemen (en alemán). vol. 2 (3 ed.). Berlín, Alemania: Springer Verlag . ISBN 3-540-06241-6. Número de LCCN  73-80607. {{cite book}}: |work=ignorado ( ayuda )
  26. ^ Don Lancaster. "Receta de TV Typewriter". ( TV Typewriter ). 1976. págs. 180-181.