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 Nú 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.
•ó } |
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 |
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 |
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.