Articulo de referencia

Controlador Richards

El controlador de Richards es un método para implementar una máquina de estados finitos utilizando circuitos integrados simples y lógica combinacional . El método recibió su nom...

El controlador de Richards es un método para implementar una máquina de estados finitos utilizando circuitos integrados simples y lógica combinacional . El método recibió su nombre de su inventor, Charles L. Richards. Permite diseñar máquinas de estados finitos complejas con mayor facilidad que las técnicas tradicionales de diagramas de estados , tablas de transición de estados y álgebra booleana. Mediante la técnica de Richards, resulta más sencillo implementar máquinas de estados finitos con cientos o incluso miles de estados. [ 1 ]

Gracias a la capacidad del controlador Richards para adaptarse fácilmente al uso de múltiples estados, puede utilizarse en numerosas aplicaciones prácticas.

Historia

El controlador Richards se desarrolló debido a la necesidad de un método más sencillo para diseñar máquinas de estados finitos que el método tradicional de diagramas de estados, tablas de transición de estados y minimización lógica.

En ese momento, muchas de las herramientas de minimización lógica basadas en computadora que tenemos hoy ( a partir de 2018)) no existía. En consecuencia, la minimización lógica se limitaba en su mayor parte al uso de mapas de Karnaugh y la ley de De Morgan . Debido a esto, Charles L. Richards inventó un método para implementar una máquina de estados finitos que no necesitaba una tabla de transición de estados explícita. Publicó sus hallazgos en el número de febrero de 1973 de Electronics .

Su implementación generalizada se popularizó y, para la década de 1980, se consideraba un método de diseño clásico. Si bien es improbable que algún producto comercial actual contenga un controlador Richards clásico (ya que existen diseños más rápidos que los que utilizan contadores cargables), es muy probable que se utilice un controlador Richards modificado o un diseño derivado del controlador Richards .

El diagrama de flujo de Richards

Condiciones y funciones simples

El controlador Richards es una máquina Mealy, ya que su salida depende tanto del estado actual como de la entrada. Sin embargo, Richards diseñó su propio método para representar los estados utilizando un diagrama de flujo , en lugar del diagrama de estados . Cada estado se representa como una condición de transferencia en el diagrama de flujo. Cada condición tiene dos rutas de control que parten de ella: SÍ o NO. La condición es SÍ o NO (VERDADERO o FALSO) según la entrada de un solo bit a la máquina. (Richards, pág.  108) Dependiendo de la entrada para una condición, se ejecutará una de las dos funciones de transferencia asociadas a dicha condición. La máquina considera que ejecutar una función equivale a establecer la salida de un solo pin del dispositivo, lo que puede utilizarse para activar la lógica combinacional. Tras la ejecución de una función de transferencia , la máquina entrará en un nuevo estado; cada función de transferencia definirá, implícita o explícitamente, un nuevo estado al que transitar. Una definición de estado implícita también podría denominarse predeterminada, ya que se produce sin necesidad de circuitos adicionales por parte del diseñador. Si la condición es SÍ, se pasa al siguiente estado numéricamente. Por ejemplo, si se está en el estado 0 y se produce un SÍ, se pasa al estado 1. Si la condición es NO, la máquina permanece en su estado actual. Mediante este comportamiento, es posible crear una máquina con un diagrama de flujo secuencial simple. Por supuesto, una máquina secuencial no suele ser muy útil; afortunadamente, existe una forma de pasar a estados fuera de orden mediante un llamado salto. Para implementar un salto se requiere hardware adicional para seleccionar el estado de destino. El hardware exacto depende de la función que se esté ejecutando.

Diagrama de flujo simple de Richards

Núcleo del controlador

Esquema del controlador básico de Richards

El núcleo del controlador Richards se puede resumir en cuatro partes: un contador, un multiplexor y dos decodificadores . Se puede construir un controlador sencillo utilizando la clásica serie 7400 de circuitos integrados lógicos TTL. El contador utilizado es el 74163, el multiplexor es el 74151 y los dos decodificadores son el componente 7442.

La salida del contador determina qué bit de las entradas del multiplexor debe enviarse a su salida Y (cuyo inverso se envía a la salida WN). Si Y está en nivel alto, el contador puede incrementarse; de ​​lo contrario, no. Asimismo, Y debe estar en nivel alto para habilitar las salidas de la función SÍ, ya que la entrada D de ese decodificador está conectada a WN, mientras que debe estar en nivel bajo para habilitar las salidas de la función NO, ya que la entrada D de ese decodificador está configurada en Y.

Para realizar un salto, debe activar el bit LDN del contador y las entradas A, B, C y D. LDN indica al contador que cargue el valor de dichas entradas. Mediante lógica combinacional, puede cargar un valor en el contador para ciertas funciones, pero no para otras, así como especificar la dirección del estado que se cargará, según la función activa. Esto se logra fácilmente creando una tabla de funciones y los estados a los que deben transicionar, y luego calculando la expresión de álgebra booleana para cada bit que conforma la dirección del estado al que se debe saltar.

Véase también

Referencias

  1. Charles L. Richards, Una forma sencilla de diseñar controladores de programas complejos. Electronics, 107–113, febrero de 1973.
  • Richards, Charles L.; Una manera fácil de diseñar controladores de programas complejos . Electronics, 1 (febrero de 1973): 107–113.
  • Wakerly, John F.; Diseño digital – 3.ª edición. Upper Saddle River, NJ: Prentice-Hall Inc. 2001.