desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 desarrollo...

12
Desarrollo de instrumentos basados en instrumentación virtual reconfigurable Miguel A. Risco Castillo

Upload: others

Post on 13-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

Desarrollo de instrumentos basados en

instrumentación virtual reconfigurable

Miguel A. Risco Castillo

Page 2: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

DESARROLLO DE INSTRUMENTOS

BASADOS EN INSTRUMENTACIÓN

VIRTUAL RECONFIGURABLE

Enero, 2012

Lima - Perú

© Miguel A. Risco Castillo

PROYECTO LIBRO DIGITAL

PLD 0361

Editor: Víctor López Guzmán

http://www.guzlop-editoras.com/[email protected] [email protected] facebook.com/guzlopstertwitter.com/guzlopster428 4071 - 999 921 348Lima - Perú

Page 3: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

PROYECTO LIBRO DIGITAL (PLD)

El proyecto libro digital propone que los apuntes de clases, las tesis y los avances en investigación (papers) de las profesoras y profesores de las universidades peruanas sean convertidos en libro digital y difundidos por internet en forma gratuita a través de nuestra página web. Los recursos económicos disponibles para este proyecto provienen de las utilidades nuestras por los trabajos de edición y publicación a terceros, por lo tanto, son limitados.

Un libro digital, también conocido como e-book, eBook, ecolibro o libro electrónico, es una versión electrónica de la digitalización y diagramación de un libro que originariamente es editado para ser impreso en papel y que puede encontrarse en internet o en CD-ROM. Por, lo tanto, no reemplaza al libro impreso.

Entre las ventajas del libro digital se tienen:• su accesibilidad (se puede leer en cualquier parte que tenga electricidad),• su difusión globalizada (mediante internet nos da una gran independencia geográfica),• su incorporación a la carrera tecnológica y la posibilidad de disminuir la brecha digital (inseparable de la competición por la influencia cultural),• su aprovechamiento a los cambios de hábitos de los estudiantes asociados al internet y a las redes sociales (siendo la oportunidad de difundir, de una forma diferente, el conocimiento),• su realización permitirá disminuir o anular la percepción de nuestras élites políticas frente a la supuesta incompetencia de nuestras profesoras y profesores de producir libros, ponencias y trabajos de investiga-ción de alta calidad en los contenidos, y, que su existencia no está circunscrita solo a las letras.

Algunos objetivos que esperamos alcanzar:• Que el estudiante, como usuario final, tenga el curso que está llevando desarrollado como un libro (con todas las características de un libro impreso) en formato digital.• Que las profesoras y profesores actualicen la información dada a los estudiantes, mejorando sus contenidos, aplicaciones y ejemplos; pudiendo evaluar sus aportes y coherencia en los cursos que dicta.• Que las profesoras y profesores, y estudiantes logren una familiaridad con el uso de estas nuevas tecnologías.• El libro digital bien elaborado, permitirá dar un buen nivel de conocimientos a las alumnas y alumnos de las universidades nacionales y, especialmente, a los del interior del país donde la calidad de la educación actualmente es muy deficiente tanto por la infraestructura física como por el personal docente.• E l pe r sona l docente jugará un r o l de tu to r, f ac i l i t ador y conductor de p r oyec tos

Page 4: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

de investigación de las alumnas y alumnos tomando como base el libro digital y las direcciones electró-nicas recomendadas.• Que este proyecto ayude a las universidades nacionales en las acreditaciones internacionales y mejorar la sustentación de sus presupuestos anuales en el Congreso.

En el aspecto legal:• Las autoras o autores ceden sus derechos para esta edición digital, sin perder su autoría, permitiendo que su obra sea puesta en internet como descarga gratuita.• Las autoras o autores pueden hacer nuevas ediciones basadas o no en esta versión digital.

Lima - Perú, enero del 2011

“El conocimiento es útil solo si se difunde y aplica” Víctor López Guzmán Editor

Page 5: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

22 �������

Desarrollo de Instrumentos basados enInstrumentación Virtual Reconfigurable

Development of instruments based on ReconfigurableVirtual Instrumentation

Miguel A. Risco Castillo (*)

RESUMEN

Un equipo con el cual se pueda realizar una medición o adquisición de información para un experimentoo trabajo específico ha sido siempre un requerimiento constante en un laboratorio de investigación,los instrumentos convencionales de bajo costo no siempre permiten una personalización adecuada,y sólo los equipos más costosos admiten una programación o configuración suficientementepersonalizable; por ello muchas veces los investigadores de centros con bajos recursos se ven enla necesidad de confeccionar ellos mismos pequeños sistemas electrónicos a medida. El desarrollode un instrumento personalizado es una tarea que consume tiempo y recursos, no sólo en el diseñoy construcción del mismo sino también en su validación. Estos equipos personalizados pocas vecesson basados en un hardware normalizado que permita su intercambio con otros investigadores o inclusosu reutilización. El presente trabajo propone una plataforma versátil basada en un hardware de bajocosto que ha sido previamente validado y sobre el cual se pueden emular diversos instrumentos, suarquitectura hace posible su reutilización e inclusive se promueve el intercambio del firmware y softwareque lo transforman en diversos instrumentos electrónicos de laboratorio..

ABSTRACT

An equipment, which can be used to make a measurement or acquisition of data for an experimentor specific work has always been a constant requirement in an investigation laboratory, the conventionallow cost instruments don’t always allow an appropriate personalization, and only the most expensiveequipments permit a programming or enough level of customization; for it many times the investigatorsof scientific centres with low resources have the necessity of making themselves small specific electronicsystems. The development of a personalized instrument is a task that consumes time and resources,not only in the design and construction of this but also in its validation. These equipments few timesare based on a normalized hardware that allows their exchange with other investigators or even theirreuse. The present work proposes a versatile platform based on a low cost hardware that has beenpreviously validated and on which diverse instruments can be emulated, its architecture makes possibleits reuse and inclusive it is promoted the exchange of the firmware and software that transform it indiverse electronic laboratory instruments.

(*) Docente Investigador del Centro de Investigación y Desarrollo en Ingeniería (CIDI), Facultad de Ingeniería Electrónicay Mecatrónica de la Universidad Tecnológica del Perú. Visitor Scientists and collaborator of the RVI Project from theMicroprocessor Laboratory of the International Centre of Theoretical Physics (ICTP), Trieste, Italy

INTRODUCCIÓN

El Laboratorio de Microprocesadores (MLAB)del Centro Internacional de Física Teórica(ICTP) Abdus Salam, desarrolló hacia el año2006 un interesante proyecto basado en eldiseño de un sistema denominadoInstrumentación Virtual Reconfigurable «RVI»

[1] el cual tiene como componente hardwareuna tarjeta electrónica programable y elsoftware adecuado que hace de interface entreel usuario y el sistema.

La idea principal es que la tarjeta electrónicaposea la suficiente flexibilidad como paraimplementar distintos tipos de instrumentos,

Page 6: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

������� 23

un rico abanico de interfaces y la potencianecesaria para ser considerada seriamentecomo alternativa a algunos instrumentos delaboratorio, por otra parte se estimularía lacreación de software de libre disponibilidad yde una comunidad académica de usuarios queintercambie experiencia y desarrollo. Desde elpunto de vista del usuario final, el hardwaredebería considerarse como una caja negra endonde se cargaría el firmware necesario parala emulación de determinado instrumento,usando una Computadora (PC) como interfacea la que previamente se le ha instalado elsoftware adecuado para manipular el hardwarey el instrumento asociado, de esta forma, estacaja negra podría comportarse como ungenerador de ondas arbitrario, un osciloscopiodigital, un analizador de espectro, un sistemade adquisición y almacenamiento de datos,filtros digitales, sistema de medición y controlgenérico, etc. (ver Fig. 1)

Fig. 1 Concepto del RVI – fuente: Introducción alproyecto RVI – http://mlab.ictp.it/rvi/relevance.html

Para asegurar la flexibilidad del hardware sele dotó como componente principal una FPGA(Field Programmable Gate Array), estedispositivo es un enorme arreglo de bloqueslógicos los que, al ser correctamenteinterconectados mediante programación,pueden generar complejos sistemas digitalesde alta performance [2].

Si bien la inclusión de un microprocesador omicrocontrolador hubiese hecho el sistemamucho más sencillo de programar, la decisiónde incluir una FPGA en su reemplazo aseguraun alto nivel de personalización, permitiendodesarrollar rutinas que al estar directamenteimplementadas en hardware mediante lainterconexión de bloques lógicos superanampliamente en performance a su

correspondiente en software demicrocontrolador, así mismo una FPGA poseeinherentemente la capacidad de desarrollardistintas tareas en simultáneo (paralelismo) yen tiempo real, algo casi imposible de obtenercon un solo microcontrolador; por ejemplopuede implementarse filtros digitales paradistintos canales analógicos que funcionen enparalelo, muestreo en simultáneo (nosecuencial) de varias señales analógicas ydigitales.

A diferencia de un microprocesador omicrocontrolador, en una FPGA las estructurasque definen los bloques funcionales dentro delchip son programables, es decir, los registros,memorias, ALU, buses, interfaces, puertos,etc. pueden ser «descritos» mediante el usode un código que se encarga de uniradecuadamente celdas que poseendeterminada funcionalidad lógica y que alensamblarse forman bloques y funciones máscomplejas, la sintaxis de dicho código seexpresa en un lenguaje de alto nivel dedescripción de hardware (HDL), casosparticulares de implementación de estelenguaje lo constituyen el VHDL y el Verilog.Mediante un lenguaje HDL es posible entoncesdefinir sistemas tan simples como funcioneslógicas unidas a una máquina secuencial, otan complejos como el de múltiplesmicroprocesadores trabajando en paralelointerconectados mediante busespersonalizados y unidos al exterior porinterfaces hechas a medida, todo dentro deuna única FPGA. De lo último es fácil deducirque la principal limitación para elaborar uncomplejo diseño digital la constituye lacantidad de celdas lógicas disponibles en laFPGA.

Hardware de la RVI

Para el diseño del hardware de la RVI losdesarrolladores utilizaron modernas técnicasde elaboración de circuitos, pensandoprincipalmente en un diseño versátil yadaptable que contara desde el inicio conadecuadas capacidades de interconexión y deadquisición/generación de señales. (Ver Fig.2). El componente más importante en elHardware de la RVI es la FPGA, ésta defineel nivel de complejidad de los instrumentos quepodrían ser emulados.

Page 7: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

24 �������

Fig. 2 Primer plano de la tarjeta RVI

Gracias al nivel de colaboración existente entrela empresa Actel [3] y el MLAB se optó por lafamilia ProASIC3E montándose los primerosprototipos con la FPGA A3PE 600 y luego conla A3PE 1500, FPGA’s con 600K y 1.5Mcompuertas lógicas equivalentesrespectivamente, con programación no volátil(basada en memoria Flash), estructura I/Oavanzada, bloques de memoria SRAM, FIFO yPLL integrados, etc.

En el área de comunicación, la tarjeta RVIposee un rico abanico de posibilidades, desdeuna puerta paralela con conexión directa avarios de los puertos I/O de la FPGA hastaconectores de red Ethernet y USB (Ver Fig. 3),apoyados por pequeños circuitos integrados deinterface que sólo brindan una funcionalidadbásica dependiendo de la FPGA para la laborde gestión y elaboración de los paquetes dedatos en sí.

Fig. 3 Conexiones disponibles en la RVI

En cuanto a capacidades de expansión, la RVIposee un sócalo para la colocación de unmódulo de memoria SDRAM SODIMM quepermitiría almacenar información a unavelocidad mayor a lo posible vía comunicacióncon la PC. También posee un par de conectoresde alta calidad de 54 pines con conexión directaa los puertos de propósito general de la RVI y

las señales de alimentación. Para estosconectores existen actualmente dos tarjetasadicionales (daughter boards) que añaden lacapacidad de adquirir y generar señalesanalógicas:

• Low Performance Daughter Board (LPDB)dual channel 10-bits 20 MSPS ADC(AD9201, Analog Devices), dual channel 14-bit 1 MSPS DAC (LTC1654, Linear)

• High Performance Daughter Board (HPDB)single channel 14-bits 125 MSPS ADC(LTC2255, Linear) single channel 16-bit 50MSPS DAC (LTC1668, Linear)

Aunque se le ha denominado «LowPerformance» a la primera tarjeta (LPDB), suscaracterísticas son más que suficiente paramuchas aplicaciones, ver Fig. 4. La RVItambién cuenta con 5 botones y 4 displays deLED de 7 segmentos pensados inicialmentepara apoyar al debuggin.

Fig. 4 Detalle de la LPDB

En cuanto al modo de programación, la RVIposee un interface JTAG compatible con losprogramadores USB de Actel y también lacapacidad de ser programada vía el interfaceparalelo. En la Fig. 5 puede apreciarse unresumen de los bloques que constituyen laarquitectura hardware de la RVI, para unarevisión más detallada se incluyen comoanexos los planos esquemáticos de la tarjetaprincipal y de la LPDB.

Page 8: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

������� 25

External memory extension

SDRAM Module

Devel/Debugging FacilitiesLCDs, LEDs, Push Buttons

ActelProASIC3E

FPGA

ExtensionConnectors

(board-to-board)

AnalogI/Os

DigitalI/Os

Trigger I/O

External Physical World

Communication Ports

PP, RS232, USB, Ethernet

Digital Interfaces A

/D, D/A,

Triggers in/out

RVI Main (mother) Board Daughter BoardsPersonal Computer(User, Operator)

AnalogI/Os

DigitalI/Os

Trigger I/O

A/D, D/A,

Triggers in/out

Fig. 5 Diagrama de bloques del hardware de la RVI – fuente: RVI System Architecturehttp://mlab.ictp.it/rvi/system.html

Para usar cada uno de los bloques de hardwarese necesita construir el código que permita laconfiguración de la FPGA de manera que estaestablezca las conexiones y mecanismos deinteracción adecuados que determinen lafuncionalidad del instrumento final. Este códigoque consiste en una serie de instrucciones enun leguaje HDL sintetizable es tan importantecomo el hardware que controla y su correctaimplementación definirá la capacidad delinstrumento final, otro aspecto igual deimportante lo constituye el software que seencargará del interface entre el usuario final yel equipo y del cual dependerá la usabilidaddel mismo.

Arquitectura del Software de la RVI

En la arquitectura original propuesta por losdesarrolladores de la RVI [4], se establece laposible implementación del código sintetizablepara la descripción del hardware (SHDC) en laFPGA, que básicamente consiste en códigoVHDL, separándolo en diferentes seccionesfuncionales (ver Fig. 6): módulo decomunicaciones, controlador RVI, núcleos deinstrumentos, controladores de hardware y losarchivos de asignación de puertos en la FPGA,adicionalmente se sugieren módulos para ladepuración, etc.; construyendo en su conjuntoun poderoso y complejo sistema que podríallegar a implementar en simultáneo diferentesinstrumentos que serían seleccionados yconfigurados mediante el software que sirve deinterface en la PC.

Fig. 6 Bloques funcionales del SDHC en laarquitectura RVI – fuente: A. Cicuttin,

Reconfigurable Virtual Instrumentation Platform.

El controlador RVI sería el módulo definiría lasubicaciones de cada bloque en un mapa dedirecciones y también se encargaría de regulary dirigir el flujo de datos entre los módulosinternos y la gestión con el interface hacia laPC vía el módulo de comunicaciones; paraello establecería múltiples enlaces o canalesDMA según una serie de instrucciones yparámetros recibidos del software en la PC,asegurando así la más alta velocidad en latransferencia de datos entre las seccionesque constituyen una determinada funcionalidado instrumento. El SDHC establecería interfacesnormalizadas de comunicación entre losdistintos módulos y mecanismos comunes deinteracción, con la finalidad de que cadauno pueda ser mejorado o actualizado

Page 9: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

26 �������

independientemente y que a su vez puedaser reutilizado en diferentes contextos.Como Bus de interface entre los bloquesfuncionales se ha elegido la especificaciónWishbone propuesto por OpenCores [5] por seruna implementación libre y abierta. Lamodularidad permitiría el desarrolloindependiente a partir de la necesidad de losgrupos de desarrollo, enriqueciendo laplataforma. A nivel del software en la PC lapropuesta del grupo de desarrollo de la RVIconsiste en la implementación de una seriede rutinas que leen y escriben contenido envarios registros o en la memoria de doblepuerto, implementados en el bloque decomunicaciones del SDHC, agrupando estasrutinas en instrucciones más complejas quepuedan ser interpretadas por el SDHC y elsoftware controlador que finalmente servirá deinterface entre la aplicación de alto nivel y elhardware.

Actualmente siguiendo este esquema sehan elaborado el bloque de comunicaciónen la FPGA y las librerías de comunicación enla PC, que han permitido una validación inicialde la arquitectura, aunque el grueso de lamisma aun esta por implementarse.

Alternativamente al sistema SDHC expuestose ha trabajado en un sistema simplificado quepermite la operación de la tarjeta RVI y suinteracción con software para PC. Estesistema al que se le ha denominado SBA porsus siglas en inglés (Simple Bus Architecture)consta de un controlador único que arbitra unconjunto de buses de comunicación ydireccionamiento y aunque cumple funcionessimilares a un microcontrolador en realidad noes más que una máquina de estadoespecializada que permite el flujo deinformación entre bloques más complejos delsistema, de esta manera los recursos de laFPGA se pueden destinar en su mayoría a lacreación de bloques altamente especializados.El SBA también especifica librerías decomunicación que pueden utilizarse parainterconectar software escrito para PC en unaestructura de capas, de esta forma la interfacede hardware que se use, ya sea RS232,paralelo (SPP, EPP, ECP), USB, Ethernet, etc.queda encapsulada por la librería y esta brindafunciones estándares de comunicación haciala arquitectura RVI.

Ejemplos de Instrumentosdesarrollados en la arquitectura RVI

Fig. 7 Adquisición usando un módulo USB FT245

Fig. 8 Adquisición usando el puerto paralelo enmodalidad EPP

Fig. 9 Generador arbitrario de ondas y señales

Fig. 10 Prototipo de software de adquisición dedatos multicanal del Proyecto Neurotelemetry

Page 10: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

������� 27

CONCLUSIONES

Si bien en términos de hardware, la tarjeta RVIpresenta posibilidades de uso realmenteinteresantes, estos no son suficientes parapoder hacer uso inmediato de la misma, senecesita igualmente del software tanto a nivelde configuración de la FPGA como del interfacehacia la PC.

La arquitectura SBA presenta una alternativa acorto y mediano plazo para el uso de la RVIaunque el desarrollo del sistema original SDHCpropuesto por el MLAB brindaría a ésta de lapotencia y capacidades de reconfiguraciónmáximas.

La RVI ha probado ser una herramienta efectiva,eficiente y versátil con la que se puedendesarrollar trabajos serios de investigación.

Para que lograr que la RVI brinde todo supotencial se necesita de una comunicad quecolabore con la construcción de módulosespecializados siguiendo una norma ymetodología única que permita que su trabajosea fácilmente integrable y reutilizable.

AGRADECIMIENTOS

Al laboratorio de Microprocesadores del CentroInternacional de Física Teórica (ICTP) de Trieste,Italia; por la oportunidad de trabajar junto a ellosy colaborar con el desarrollo de la RVI.

A los diseñadores de la RVI:A. CicuttinM.L. CrespoA. Shapiro

Por su excelente y duro trabajo.

A la Escuela Internacional de EstudiosAvanzados (SISSA) que con sus proyectospermitieron validar a la RVI como un instrumentoefectivo y versátil.

Al Centro de Investigación y Desarrollo enIngeniería de la Facultad de Electrónica yMecatrónica de la Universidad Tecnológica delPerú, que me permiten continuar con eldesarrollo de la arquitectura RVI y difundirlaentre sus estudiantes.

A mi familia por toda su gran paciencia y apoyodurante los meses lejos de casa.

REFERENCIAS BIBLIOGRÁFICAS

[1]. N. Abdallah, A. Cicuttin, M. L. Crespo, A. Shapiro. A Block-Based Open Source Approach for aReconfigurable Virtual Instrumentation Platform Using FPGA Technology. San Luis Potosi : ReconfigurableComputing and FPGA’s, 2006. ReConFig 2006. IEEE International Conference on, 2006.

[2]. Definición FPGA, Wikipedia en español. [En línea] http://es.wikipedia.org/wiki/FPGA.[3]. Actel (r), portal web. [En línea] http://www.actel.com[4]. RVI System Architecture. [En línea] http://mlab.ictp.it/rvi/system.html[5]. SoC Interconnection: Wishbone. [En línea] http://www.opencores.org/?do=wishbone.

E-mail: [email protected]; [email protected]

Page 11: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

ECIPERUECIPERUENCUENTRO CIENTÍFICO INTERNACIONAL

Volumen 6, Número 2 2009

ISSN: 1813-0194

Page 12: Desarrollo de instrumentos basados en instrumentación virtual … · 2015-04-03 · 22 Desarrollo de Instrumentos basados en Instrumentación Virtual Reconfigurable Development of

ECIPERUECIPERUENCUENTRO CIENTÍFICO INTERNACIONAL

Volumen 6, Número 2 2009

ISSN: 1813-0194