Tipo de investigación: de terceros – financiado por UNTREF
Director: Mario Cazeneuve
Introducción:
El proyecto MAREL propone desarrollar una nueva plataforma (hardware) para ser empleada por artistas que trabajen con medios electrónicos. Dicha plataforma empleará un dispositivo programable FPGA con una densidad suficiente para soportar las operaciones y procesamientos que el artista requiera. Para producir las nuevas obras se desarrollará además un software conexionista (similar a Pure Data o Max).
Estudio de Factibilidad:
En el presente trabajo, se presentan los elementos de análisis y un modelo funcional, correspondiente al proyecto MAREL – Motor de Artes Electronicas.
Se determina que el proyecto SI es factible y se presentan dos ejemplos de su funcionamiento.
Documentos generados
Documentos de investigación – (incluye los archivos de los casos y modelos de trabajo y referencias)
Aporte original
El artista electrónico cuenta con diversos recursos adaptados de otras diciplinas con las que se relaciona. Las herramientas actuales hacen uso de interfaces de software para editar y manipular las obras empleando computadoras personales e interfaces más o menos inteligentes. Dichas computadoras suelen caducar cada dos a tres años aproximadamente y las versiones de sistemas operativos cambian, además, cada cinco años. Esto hace que el artista tenga un horizonte temporal acotado para representar y difundir sus obras ya que en parte depende de la disponibilidad de estos recursos y de la conservación de los mismos.
La idea de desarrollar MAREL como una plataforma universal empleando dispositivos lógicos programables de alta densidad FPGA, servirá para implantar en hardware el algoritmo y procesamiento de datos requerido por el artista electrónico en sus obras.
Como beneficio adicional dejará expresada su obra en términos de un lenguaje de descripción de hardware VHDL y por lo tanto en el futuro se podrá reeditar su obra sin depender de una plataforma y recursos de software y de hardware que pueden caducar, y que para los conservadores va a ser difícil de solucionar.
Con MAREL, un artista podrá diagramar su obra con un computador personal, pero para su implantación dejará expresada la misma en VHDL y este será traducido a hardware y ejecutado por la plataforma actual disponible. Esto implica que su sistema queda expresado totalmente en términos de hardware y que será mecanizado e implantado en MAREL. De esta manera, mientras a los “clics” de las interfaces gráficas se los lleva el tiempo, el texto perdurará para seguir representando la obra.
Estado actual del tema
I. Dispositivos digitales programables de alta densidad FPGA
Los sistemas digitales han realizado una verdadera revolución en la materialización de aparatos, dispositivos y servicios en los últimos años. La razón de dicha revolución surge del conocimiento acumulado en diversas áreas básicas y la aparición de procesos de fabricación que han posibilitado la concreción de dichas ideas.
Dentro de las áreas básicas, el conocimiento acumulado hasta 1965, donde se plantean por primera vez los dispositivos lógicos programables, no encuentran la tecnología adecuada para su realización; como sucedió en otras ocasiones en la historia de las computadoras y sistemas digitales, debieron transcurrir unos años hasta que estuvo disponible la tecnología necesaria.
En la década de 1980 se desarrollan los primeros dispositivos lógicos programables, y finalmente en la década de 1990 surgen los dispositivos lógicos programables de alta densidad llamados FPGA (Field Programmable Gates Arrays). Es a partir de la aparición de estos dispositivos que se pone en movimiento el conocimiento acumulado en esta área y aparecen el conjunto de herramientas y técnicas que nos permiten utilizarlos.
Los FPGA tienen características muy interesantes ya que son un componente estándar reprogramable por el usuario. Se pueden reprogramar las conexiones, los componentes lógicos, y las entradas y salidas.
Es decir que con dichos dispositivos un usuario puede en principio diagramar e implantar cualquier circuito lógico (puede programar e implantar dispositivos tan complejos como un microprocesador y más). La complejidad no depende del dispositivo sino de la cantidad de celdas básicas que este soporta; desde 40.000 celdas hasta mas de 8.000.000. Esto puede representar uno o varios procesadores PowerPC dentro de un FPGA más toda la circuitería asociada.
II. Lenguaje de descripción de hardware VHDL
Una de las herramientas asociadas a la síntesis de FPGA es el lenguaje de descripción de hardware VHDL. Presente desde hace varios años, ha servido para documentar y discutir modelos de dispositivos digitales hasta que se pudieron fabricar. Actualmente, con una utilización mucho más activa, ha reemplazado a los sistemas gráficos de edición de circuitos, dado que la representación textual de un sistema proporciona un mayor nivel de abstracción para los diseñadores, haciendo posible la producción de dispositivos mucho más complejos.
Con la aparición de las FPGA se ha modernizado la sintaxis del lenguaje VHDL y se la ha extendido para incluir la descripción de dispositivos analógicos programables que constituyen la nueva frontera de dispositivos programables.
De esta manera los lenguajes de descripción de hardware están dinamizando el desarrollo e implantación de los dispositivos de ultima generación, y llegan al usuario dispositivos electrónicos para ser aprovechados en la realización de sus ideas.
Esta tarea se desarrolla empleando recursos accesibles por cualquier diseñador como una computadora personal y software de sintesis provisto en forma gratuita para los dispositivos de menores densidades.
Utilizando VHDL y dispositivos FPGA podemos representar sistemas digitales y algunos híbridos digitales analógicos de gran complejidad.
Antecedentes
Existe una gran variedad de hardware realizado a medida por los artistas, en muchos casos con diferentes calidades en su realización, y casi siempre para complementar alguna etapa no disponible. Estos dispositivos se ubican como interfaces y acondicionadores de señales.
Existen varios productos de hardware para las artes electrónicas, pero solamente como interfaces inteligentescon una asociación más o menos estrecha con algún software para las artes electrónicas, por ejemplo:
Arduino -> Processing, Max, etc.
Wiring -> Processing
InfusionSystem -> Max , PD , MIDI etc.
Estas interfaces inteligentes permiten conectar una amplia gama de sensores en sus entradas y algunos actuadores a sus salidas, dependiendo generalmente de una computadora para alojar la obra. Poseen, por lo general, una pequeña capacidad de procesamiento suficiente para acondicionar las señales de entradas y enviar dichas señales al sistema maestro que realiza el procesamiento y envia hacia la interfaz las señales para las salidas. El modelo es entonces el de un computador personal usado como control, con uno ó más dispositivos actuando como interfaces inteligentes.
sensores -> interfaz entrada -> computador ->obra electrónica -> computador -> interfaz salida -> actuadores
Las obras quedan expresadas en términos de uno o mas lenguajes y scripts asociados fuertemente a los softwares y sistemas operativos en que fueron desarrollados.
MAREL se ubica como un equipo dedicado en el que se puede alojar la obra electrónica y el manejo de sus interfaces. Al ser una plataforma dedicada, posee todas las capacidades necesarias para procesar la obra electrónica. El modelo propuesto es comparable al anterior, pero cambia según lo que observamos a continuación:
sensores -> ( obra electrónica ) -> actuadores
– – – – – – – – – – – – – – MAREL – – – – – – – – – – – – – –
La obra queda expresada en hardware y por este motivo, actúa directamente con los sensores y actuadores, siendo MAREL, solo es su recipiente. En esta categoría, no existen productos comparables ni similares a MAREL
El desarrollo del proyecto global está propuesto con una duración de cuatro años. La etapa inicial cuyos resultados se informan en el documento presente en esta página se ha llevado adelante con el apoyo de CEIArtE-UNTREF
Metodología y etapas del proyecto
1 – Elaboración del plan de trabajo
Estudio de factibilidad tecnica
Particionado del problema
Definición de plan de trabajo
Analisis de costos
Viabilidad del proyecto
2 – Identificación de operadores, módulos y componentes adecuados para las artes electrónicas
Tomando como base los programas Pd, Max, Eyesweb, System Integrator: analizar los diagramas y módulos que se encuentran disponibles en los mismos; categorizarlos y catalogarlos para formar dos grupos de componentes para ser sintetizados.
El grupo básico proveerá los servicios de comunicación elegidos y los módulos y primitivas comunes a los requerimientos para su aplicación en el ámbito de las artes electrónicas.
El grupo extendido proveerá operadores de transformación más sofisticados y los microprocesadores sintetizables.
Producción de la documentación correspondiente.
3 – Definición del conjunto básico de componentes
Tomando el grupo básico de componentes definido en la etapa anterior, se traducen los mismos en términos de VHDL.
Síntesis de los módulos en VHDL.
Definición de parámetros de simulación.
Definición de la Biblioteca Básica.
Producción de la documentación correspondiente.
4 – Definición del conjunto extendido de componentes
Tomando el grupo extendido de componentes definido en la etapa 2, se traducen los mismos en términos de VHDL.
Síntesis de los módulos en VHDL.
Definición de parámetros de simulación.
Definición de la Biblioteca Extendida.
Producción de la documentación correspondiente.
5 – Definición de reglas para bibliotecas
Estudiar una arquitectura de sistema ampliable, adecuada para el desarrollo del software que permita editar las nuevas obras y utilizar las bibliotecas creadas.
Definir el conjunto de reglas que nos permitan crear y extender nuevas bibliotecas a ser utilizadas por el software.
6 – Ensayos de los componentes
Ensayar los componentes de las bibliotecas utilizando simulación.
Una vez validadas realizar la verificación en FPGA.
Emplear técnicas de cosimulación para contrastar el funcionamiento de cada componente (es decir que se pondrá a prueba, en forma simultánea, la simulación virtual y el ensayo en silicio para analizar la respuesta de cada componente).
Documentación de resultados
7 – Diseño de un software con interfaz conexionista
Desarrollar un software con una interfaz similar al Pure Data o Max para producir las nuevas obras que serán dinamizadas empleando MAREL.
Para la realización de esta etapa se podrá convocar a un grupo interdisciplinario de estudiantes y docentes (de diversas carreras y universidades, incluyendo: Ingeniería de Software), promoviendo el intercambio entre instituciones. Eso permitirá ampliar las áreas de interés en torno del desarrollo de software, las artes electrónicas y el desarrollo de hardware.
8 – Prototipo de MAREL
Definición y diseño del circuito electrónico.
Diseño del circuito impreso.
Solicitud al fabricante de FPGA de la realización del circuito impreso y el montaje de los componentes de MAREL.
9 – Transferencia a la industria. Producción de MAREL
Desarrollar vínculos con la industria para la producción de la plataforma (se podrá establecer mediante contrato de transferencia tecnológica un convenio para producir dichas plataformas).
10 – Formación de recursos humanos
Ofrecer un servicio de formación de recursos humanos y capacitación en dicha plataforma para ofrecerlo a las instituciones y artistas que estén interesados en adoptar esta plataforma..
11 – Promoción
Promover el uso de MAREL y difundir la discusión en torno esta plataforma y sus posibles aplicaciones en las artes electrónicas.
Apoyar el desarrollo de una comunidad de usuarios; dar asistencia y soporte a la misma.
Participación en foros y congresos (tanto aquellos relacionados con sistemas digitales como los vinculados a las artes electrónicas).
Resultados esperables
Este proyecto ha sido concebido teniendo en cuenta la función de formación de recursos humanos y desarrollo de industrias relacionadas con las nuevas expresiones del arte electrónico.
El desarrollo del proyecto global está propuesto con una duración de cuatro años, al final de los cuales se espera obtener:
- Plataforma de hardware; y su correspondiente documentación.
- Servicios de capacitación en MAREL.
- Servicios de soporte y asistencia.
- Recursos humanos para promover y difundir el empleo de MAREL en el medio artístico
- Comunidad de usuarios desarrollada.
Se capitalizarán los aprendizajes y quedarán disponibles los productos realizados a partir de la experiencia de desarrollo de un sistema complejo.
. . .
Mario G. L. Cazeneuve – Proyecto: MAREL
Febrero de 2008