PROCESADOR ÓPTICO CON MATRIZ DE ENTRADA BINARIA CON 256 PUNTOS DE RESOLUCIÓN

Víctor Ramos, Eduardo Gómez y Moisés Alencastre Laboratorio del Centro de Investigación, Universidad La Salle

Ben¡amin Franklin 47. Col. H1podromo-Condesa. Mex1co DF 06170. erna1I vramos@ci ulsa.mx RESUMEN

En este trabajo se presenta el diseño de una tarjet a electrónica de control para la etapa de entrada de patrones bidimensionales a una computadora óptica utilizando una PC como interfaz de comunicación. La resolución de la entrada es de 256 puntos arreglados en una matriz de 16 * 16 emisores de luz (LED's).

ABSTRACT

The design of an electronic control board for the input stage of an optical computer is presented. This system uses a PC as a communication interface.The maximum resolution for the input pattern is 256 point fixed in a 16*16 matrix of Light Emission Diodes.


INTRODUCCIÓN

Actualmente la computación digital no es la única alternativa para el procesamiento de información y existe un esfuerzo importante en el desarrollo de elementos de tipo analógico que en un futuro desplacen o compitan con la teoría digital.

Una de las alternativas en las cuales poco a poco se han tenido desarrollos importantes es la Computación Óptica.Esta herramienta surge como una alternativa al procesamiento masivo de información, ya que como sugiere su nombre, principalmente trabaja con la forma ción de imágenes bidimensionales, es decir. con la generación, propagación y detección de ondas de luz, que permiten la realización de un gran número de operaciones ópticas que se interconectan en paralelo.

Estrictamente las operaciones se realizan a la velocidad de la luz,sin embargo, aun no se puede desarrollar una Computadora Optica (C.O.) 100% óptica. es decir que todavía se requiere de la electrónica para realizar el manejo de la información de entrada y salida por medio de interfases .

Es en este punto donde se ha desarrollado un sistema electrónico para el manejo de patrones

de entrada a la e.o. que permita manejar

informac ión binaria desde una computadora

personal, de una forma accesible para el usuario.

Rev C entro /nv (M$x) V ol. 3 m 1 1 ( 1998 )


Goméz-Mayol (1) propusieron un sistema de entrada de datos que constaba de 64 nodos o emisores de luz (matriz de 8x8) que almacenaba la información en 64 Flip-Flop's que representaban 16 circuitos integrados solo para almacenar el patrón de entrada, mas los circutos de control y comunicacion con la P.C. El prototipo propuesto en este artículo pretende mejorar las características de la versión anterior, ya que maneja 256 nodos (matriz 16x16) de entrada que

CPU como

in terfaz de comunicación

Pantalla

M:EL Translucid<1

Fíg.1Arquitectura baslca de un procesador óptico.


3 33


son almacenados en 4 memorias RAM de 4x16

lo que representa solo 4 circuitos integrados.

Los desarrollos en Compútación Óptica, pueden tomar dos caminos: el de desarrollar nuevos materiales para procesamientos puramente ópticos, y el de desarrollar nuevas arquitecturas para eficientar los procesos. Este ultimo es elcaso de la C.O. reportada en el presente artículo

ARQUITECTURA

La arquitectura de una computadora óptica (2). consta básicamente de tres etapas, la entrada , el proceso o programa y la salida (Figura 1). La entrada está constituida por un arreglo matricial de emisores puntuales de luz (nodos), como pueden ser una matriz de LEO's o un arreglo de lentes con iluminación controlada independientemente.

El proceso lo conforma un Modulador Espacial de Luz (MEL), que puede ser un acetato o una pantalla de cristal líquido, teniendo la función de modular la información luminosa proveniente del arreglo de emisores de luz.

La salida o analizador, no es mas que la proyección de sombras, generadas por la entrada a través del MEL, en pantalla translúcida, de donde puede ser capturada por medio de una cámara

de eco.

PROCESAMiEñJTO ÓPTIC')

Para llevar a cabo la correlación óptica, es necesario aplicar una técnica para la codificación con base en los patrones de sombras generados por el proceso óptico. esta técnica se conoce como Shadow-Casting (3).

Se requiere tener una configuración geométrica tal que las sombras de resultado se


Frg. 2 Configuración geométrica para Shadow­ Cast1ng.

traslapen en fracciones exactas ,como lo muestra la Figura 2.

Las condiciones para cumplir con ésta configuración geométrica son:

cuando 2b y 2d son eltamaño de las celdas en el objeto de entrada y las imágenes proyectadas en las direcciones vertical y horizontal respectivamente : 1, es la distancia que existe del plano de emisores de luz hasta el modulador

espacial y 12 es la distancia entre el modulador espacial y la pantalla; s es el espaciamiento que

existe entre las lentes del plano de emisores tanto vertical como horizontalmente.

Suponiendo que la matriz de entrada se encuentra formada por cuatro emisores de luz en un arreglo matricial de 2x2 el diagrama de sombra de la celda ij obtenida por la iluminación de los cuatro emisores se traslaparán en la pantalla defasados uno de otro por la mitad del tamaño de la celda proyectada tanto vertical como horizontalmente.

En el área central del diagrama de sombras, donde las cuatro proyecciones de la celda ij se traslapan, la intensidad está evaluada por Ec. 3,

donde ex. ."( Y 8 son valores que representan la


d = _±_

s-b

s/ 1

11 + 12 = --b (b < s)

s -


Ec. 1

Ec. 2


intensidad de los emisores de luz en porcentaje. "

· " Representa una operación lógica ANO y " + " representa una operación lógica OR.

•ó }

p . = a•(a b ) + R•(a + y-( a h ) + ó(a b }

lj l / IJ J-..1 fJ V (J I} IJ I}

Ec.3

P (' · ,,h; 1 (M ) Vol 'J Núm ti (1998/


Ta..iieta Controladora Autodireccionable por Multiplexion

RAM 16x16

Figura. 3. Proceso de control de los patrones de entrada.


SISTEMA DE CONTROL

La entrada al procesador óptico, está constituida por tres bloques funcionales principales. Elprimer bloque es una matriz de LED's de 16x16.

El segundo bloque es una tarjeta controladora


5.6 cm -;

o


" ()·


diseñada especialmente para manejar la matriz..

El tercer bloque consta de dos puertos paralelos en una PC que se conectan a la tarjeta controladora como se muestra en la Figura 3.

La tarjeta se controla por medio de un programa


eU->, •

9 3

@ l

@

¡... -;

7.•cm.


especial, que permite la generación de patrones de una forma muy sencilla para posteriormente mandar la información al puerto para que sea desplegado el patrón en la matriz de entrada.

MATRIZ DE LED's

Para el diseño y fabricación de la etapa de entrada al procesador,se utilizaron LED's de la marca DEL. modelo OEL-LUG31dD color verde difuso,con las siguientes características eléctricas:

Tabla 1. Caracteris\lcas eléctricas del LEO

Intensidad Luminosa (mCd)

IF = 10 mA

@ / F

(mA)

m1n

5.0

1

max

12.5

10

La matriz de LEO's, que es la que permite introducir patrones al procesador óptico. está

formada por unarreglo de 16X16 LED's separados

.C ? P. 0 1 Ce n t ro l n v . ( M ¡! x ) V nl 3 N(.lf n, 11 / J 998)


Fig. 4. Dimensiones de la matriz de entrada.

entre sus centros por una distancia de 5 mm. La matriz se encuentra ensamblada sobre una tarjeta de circuito impreso como se muestra en la Figura 4

Para facilitar elcontrolde la matriz de LED's y reducir el número de circuitos integrados para su control,el circuito de control se reduce a unarreglo para la multiplexión de 16 líneas de datos que

forman los renglones con 16 líneas de dirección que forman las columnas. La red se forma conectando los cátodos de los LED's en renglones y conectando los ánodos en columnas, de tal forma que se pueda controlar independientemente cada uno de los 256 LED's que forman la matriz, con tan solo 32 líneas de información.


335



TARJETA CONTROLADORA PARA LA MATRIZ DE LED's

La tarjeta controladora para la matriz de LED's (figura 5), consta de un bloque de memoria RAM, que es cargado por medio de una PC. Consta además de un circuito especial encargado de autodireccionar al bloque de memoria RAM, de tal forma que se libere el puerto de la PC para que ésta pueda atender otras tareas, mientras el patrón es mantenidoen la matriz para realizar una determinada operación.

La tarjeta controladora utiliza 16 bits para la entrada de información,de los cuales,8 bits están destinados para datos, 4 bits para las direcciones de memoria RAM y 4 bits para señales de control. En la tabla 2 se muestran las funciones de las terminales de datos y de control de la tarjeta.

Los 8 bits de datos cargan al bloque de memoria en dos pasos; en el primer paso los 8 bits cargan la parte baja de la memoria RAM habilitando la terminal de control PB y en un segundo paso cargan la parte alta habilitando la terminal de control PA, para tener en total 16 bits de información del patrón por cada localidad de memoria.

Sele<'to.r


Los 4 bits de direcciones permiten indicarle al bloque de memoria la localidad en la cualse va a almacenar el dato de 16 bits, cuando la tarjeta esta siendo cargada y direccionada directamente por la computadora PC. Cuando la tarjeta esta en modo de autodireccionamiento. una vez cargado el

patrón en el bloque de memoria, los 4 bits de direcciones son decodificados para activar una de 16 columnas a la vez.

Programacion de la Tarjeta

Se desarrolló un programa en Turbo Pascal 7.O, para el diseño de patrones de 256 elementos arreglados en una matriz de 16X16. El programa brinda la racilidad de editar un patrón gráficamente por medio del "mouse" de la PC.

16 16

0000000000000000

0000000000000000

0000000000000000

0000000000000000

00000001 1 1 000000

000000 1 000 1 00000

000001 00000 1 0000

000001 000001 0000

000001 1 1 1 1 1 1 0000

00000 1 00000 1 0000

000001 00000 1 0000

0000000000000000

0000000000000000

0000000000000000

0000000000000000


r

Direo.'lones PC

AO ---; .- --.-----'

Al:JTO--¡r--

PA-

PB

07 --l------'

Bits más iúgnificativos

04 1----------'

D3--1r---- ---'

Uits nie:nos significativos

Figura 5. Diagrama de bloques de la tarjeta controladora.

Tabla 2. Funciones de las terminales de la tarjeta controladora .

TERMINAL FUNCIÓN

AO-A3 Canal de Direcciones


()

f...

....


0000000000000000

Figura 6.Archivo de texto de un patrón

El patrón es almacenado en un archivo de texto en el que primero se indica las dimensiones de la matriz y posteriormente los 256 datos de la matriz expresados en 1·s y en O's,como se muestra en la figura 6. Los 1's representan los LED's que se tienen que encender y los O's los que se tienen que mantener apagados.

El programa, para comunicarse con la tarjeta controladora, direcciona dos puertos paralelos unidireccionales: el puerto $378 y el puerto $278, como se muestra en la tabla 3.

Donde A3-AO son las direcciones para controlar


3 36


AUTO Habrilta el modo de aulod1reccionamiento

PA Carga la parte atta de la memoria

P8 Carga la parte baja de la mamona

D0-07 Canal de Datos


la tarjeta, Au permi1e el autodireccionamiento de la tarjeta, Pa carga la parle alta de la matriz, Pb carga la parte baja de la matriz, H habilita la tarjeta

R e v C entro lnv (Mvx) Vol.3 Num 11 11998)



y 07-00 son los datos. Los bits de control se encuentran en la parte baja del puerto $378y son activos con un nivel bajo

Tabla 3.Configuracion de tos puertos paralelos

$378

8 7 8 6 8 5 8 4 8 3 8 2 8 1 BO A3 A2 A1 AO Au Pa Pb H

$278

$378y $278.

87

86

85

84

B3

B2

81

BO

07

06

05

04

03

02

01

DO

El programa se denomina "Computadora Óptica" en su versión 1.0. Tíene un ambiente gráfico dividido en dos zonas (Figura 7). La primera es un área de gráficos y la segunda es una barra de funciones. En la parte izquierda de la zona de gráficos hay una retícula de 256 celdas para la edición de patrones, en la derecha se puede visualizar el patrón actual en pixeles.

La barra de funciones consta de cuatro botones:

El primero de ellos tiene la función de mandar el patrónque se encuentra en la retícula de edición al puerto de la PC. para ser desplegado en la matriz de LED's.

El segundo botón tiene la función de abrir un archivo que contenga un patrón ya existente para su edición o despliegue en la matriz.


El tercer botón tiene la función de guardar los cambios hechos a los patrones en un archivo.

Elcuarto y último botón se utiliza para salir del programa .

RESULTADOS

La Computadora Óptica en su última versión se muestra en la figura 8,en la que se puede apreciar la tarjeta controladora. la matriz de LED's, el modulador espacial de luz, y el analizador, todo montado sobre un riel para su ajuste.

Se repitieron los experimentos realizados con anterioridad por Gómez-Mayol(1) asicomo por Ramos-Gómez (4). de los cuales solo se presentan los resultados de una red neuronal artificial (R.N.A.) de Hopfield (5) (Figura 9). como memoria autoasociativa e una entrada "A" con un patrón aprendido "A". Es decir, la

R.N.A. implantada en la e.o. asocia dos

patrones. Si el patrón a la entrada es igual al contenido en el MEL, la red lo reconoce y lo reconstruye. A medida que disminuye el parecido entre ambos patrones, la reconstrucción pierde intensidad hasta que ya

no puede considerarse como reconstrucción. También se presentan los resultados para una

red neuronal BAM (6) (Figura 10), como memoria heteroasociativa unidireccional de la entrada "A" con el patrón a saciado "Y". Es decir, asociamos dos patrones distintos. Cuando se


Env \,"\r

)ri• t , OC"\

• "»t'• .• \(>

1

'(';& U\)¡• ·•· -

Ah't" ¡,.

,,,, .. .(110

iC .. v, c

I '

:.­

Sa )v.a...

¡{p•t 'OI"'

ul o

'

"

S:a l ( r

i

,...

1

1

1

Figura 7. Archivo para edición.

Rov Con:ro 1 nv (Mex) Vol 3 N11m 1 1 ( 1998 ) 337


Modulo de Control

/

Analizador

Figura 8 Esquema de la Computadora óptica

coloca en la entrada una "A", la salida sera una "Y", Si secoloca una "Y" a la entrada la salida no reconstruye nada.

CONCLUSIONES


Figura 9. Ejemplo de procesamiento


La matriz de LED's permite aumentar la resolución de los patrones de entrada un 400% gracias a los 256 puntos que maneja, a diferencia de la versión anterior propuesta por Gómez-Mayol [1). que solo permitía manejar 64 puntos de resolución.


óptico:Hopfield. Por otra parte, el circuito de control para la matriz de LEO's, que cuenta con un bloque de

memoria RAM de 16 localidades por 4 bits. que representa solo 4 circuitos integrados, permite con ayuda del circuito de autodireccionamiento , mantener un patrón en la matriz sinlener la necesidad de mantener ocupado el puerto de la computadora. Substituyendo 64 Flip-Flop's de la primera versión, que representaban 16 circuitos integrados solo para almacenar el patrón de entrada,


Figura 10. Ejemplo de procesamiento óptico: BAM.


La arquitectura del circuito, diseñada para la multiplexión de datos, permite reducir el número de componentes para realizar la función de desplegado del patrón, así como reducir el número de cables que conectan a la matriz con la tarjeta.


3 38 Re Ct!nlro /11v, ¡MéxJ Vol " Num. 11 (1998)


REFERENCIAS

1. Mayal, W. & Gómez E.. Desarrollo de una computadora optoelec trónica para el reconocimient o de patrones por técnicas neurocomputacionales. Revista del Centro de Investigación, Universidad la Salle, Vol. 1, No. 1, junio de 1993.

2. Francis T.S. Yu & Suganda Jutamulia, Optical Signa/ Processing, Computing and Neural Networks, Wiley-lntercience, 1992.

3. lchíoka Y. & Tanida J., Optícal parallel logic gates usíng a Shadow-Castíng technique, Systems for optical digital computing, IEEE,Vol. 72. No. 7, 1984.

4. E. Gómez-Ramírez, V. Ramos-Viterbo , M. A lencastre-Mira nda, A. Flores-Méndez . A. Sánchez-de-Tagle, lmplementation of a cellular neuralnetwork over an opticalcomputer.Fourth IEEE lnternational Workshopof Cellular Neural Networks andits Applications. Seville, Spain, June 24-26 1996.

5. Hopfield J., Neurons wilhgraded response have collective computational propertíes like those of two-state neurons. Proc. Natl. Acad. Scí. USA, 81:3088-3092, Mayo 1984.

6. Kosko B.. Adaptive bidirectional associative memories, Applied Optics, 26(23):4947-4960. diciembre 1987.