2010
Laboratorio de Desarrollo Electrónico con Software Libre (DESoL)
Autores: Ing. Salvador E. Tropea Ing. Diego J. Brengi Ing. Rodrigo A. Melo
Electrónica e Informática Unidad Técnica Instrumentación y Control Desarrollo Electrónico con Software Libre (DESoL)
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
2010
Laboratorio de Desarrollo Electrónico con Software Libre
Presentación del laboratorio DESoL (Desarrollo Electrónico con Software Libre), perteneciente al centro de Electrónica e Informática del Instituto Nacional de Tecnología Industrial.
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio de Desarrollo Electrónico con Software Libre
Agenda
1. Presentación 2. Laboratorio DESoL 3. Trabajos realizados 4. Herramientas principales 5. Ventajas del SL
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio de Desarrollo Electrónico con Software Libre
Agenda
Presentación
• Instituto Nacional de Tecnología Industrial • Centro de electrónica e Informática • Unidad Técnica de Instrumentación y Control • Simplificado
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Presentación
Instituto Nacional de Tecnología Industrial
El Instituto Nacional de Tecnología Industrial (INTI) es una institución nacional creada en 1957 para promover el desarrollo y la transferencia de tecnología a la industria.
Misión del INTI
• Responsable técnico en la aplicación de las regulaciones oficiales de calidad o identidad de productos en la industria.
• Asistente público para la competitividad de empresas industriales o de servicios industriales y de los sectores que las agrupan, en todo el país.
• Responsable tecnológico público de procurar la
integración al tejido productivo de toda la comuni-
dad, en todo el país, en los aspectos industriales
y vinculados.
http://www.inti.gob.ar/pdf/interno1.pdf
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Presentación
INTI - Centro de Electrónica e Informática
El centro de Electrónica e Informática tiene como principal objetivo apoyar el desarrollo tecnológico del subsector industrial relacionado, a través de desarrollos precompetitivos, asistencia técnica, ensayos, calibraciones y certificaciones, enmarcado en el Plan Estratégico del INTI.
http://www.inti.gov.ar/electronicaeinformatica/
Cámara semianecoica electromagnética
Banco de mezcla de gases
Sala limpia Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Medición de un trasmisor de TV digital isdb-t
Presentación
INTI - Centro de Electrónica e Informática - Unidades Técnicas
El centro está organizado internamente en Unidades Técnicas.
Unidades Técnicas
• Comunicaciones: Brinda la realización de ensayos según las normas de la Comisión Nacional de Comunicaciones u otras Industria Electrónica
• Asistencia en Manufactura: Asistencia Técnica, Adecuación de productos a normas nacionales e internacionales, Ensayos para Certificación Obligatoria de Seguridad.
• Micro y NanoSistemas: Caracterización y ensayo de los dispositivos microelectrónicos y MEMS a nivel prototipo fabricados en la sala limpia
• Informática: Validación de sistemas embebidos en el ámbito regulado. Sistemas embebidos. Sistemas de supervisión y control. Homologaciones.
• Compatibilidad Electromagnética: Ensayos EMC bajo normas, para equipamiento electromédico, medidores de energía, etc.
• Metrología en Radiofrecuencia y Mediciones Electrónicas: Servicios de Calibración de instrumental de RF y Microondas con trazabilidad a Patrones Internacionales.
• Instrumentación y control: Desarrollos y asistencia en áreas específicas de instrumentación y control. Agrupa varias áreas temáticas.
Aquí está DESoL
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Presentación
Unidad Técnica de Instrumentación y Control (UTIC)
La Unidad Técnica de Instrumentación y Control (UTIC) se compone de los siguientes laboratorios:
Laboratorios UTIC
• Ensayos para atmósferas explosivas: Asesoramiento y ensayos en equipamiento eléctrico y electrónico en las áreas de atmósfera antideflagrante y seguridad intrínseca.
• Transductores Piezoeléctricos y Procesamiento de Señales: Caracterización de transductores piezoeléctricos. Sistemas Matriciales de Emisión y Recepción.
• Desarrollo Electrónico con Software Libre: Desarrollos electrónicos a medida, utilizando distintas tecnologías como FPGA, VHDL y microcontroladores, pero priorizando el uso de software libre con hardware y estándares abiertos.
DESoL
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Diseño de PCB multicapa realizado con software libre.
Presentación
Simplificado
Av. Gral. Paz 5445 (Constituyentes y Albare-
llos) CC 157 - (CP 1650) Edificio 42- San Martín Provincia de Buenos
Aires República Argentina
Instituto Nacional de Tecnología Industrial Centro de Electrónica e Informática
Unidad Técnica de Instrumentación y Control
Laboratorio de Desarrollo Electrónico con Software Libre
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio de Desarrollo Electrónico con Software Libre
Agenda
Laboratorio DESoL
• Historia y participación en JRSL previas • Áreas de trabajo • Instalaciones y equipamiento • Servidores • Estaciones de trabajo
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio DESoL
Historia
• Por el año 1997 algunos integrantes de la UTIC comienzan a utilizar software libre dentro del laboratorio.
• En el año 2001 La UTIC se fragmenta, dando lugar a nuevas unidades técnicas y nuevos laboratorios.
• Los integrantes que utilizaban software libre dentro de la UTIC quedan conformando un laboratorio realizando desarrollo electrónico general. A partir de ese momento, en el laboratorio se refuerza la utilización exclusiva de software libre.
• En el año 2003 se incorpora la línea de trabajo con dispositivos de lógica programable (FPGAs) y VHDL.
• En el año 2010 queda formalizado el nombre del laboratorio DESoL.
¡Cumplimos ya más de 10 años con SL!
UTIC
Edificio 42 en 1997
Fotos de la Unidad Técnica de Instrumentación y Control en 1997
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio DESoL
Participación en Jornadas previas • 1ras Rosario 2000: Asistencia (2)
• 2das Montevideo 2001 • Linux en el laboratorio y la industria: automatización e internet (MIXING)
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio DESoL
Participación en Jornadas previas • 3ras Montevideo 2002
• Turbo Vision
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio DESoL
Participación en Jornadas previas • 5tas Rosario 2005
• FPGAs Hardware Reconfigurable en Linux • Equipos dedicados para instrumentación y control con sistema operativo GNU/Linux
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio DESoL
Participación en Jornadas previas • 6tas Mendoza 2006: Asistencia (1)
• 7mas Córdoba 2007 • KICAD - Herramienta GPL para diseño de circuitos impresos
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio DESoL
Participación en Jornadas previas • 8vas Buenos Aires 2008: Asistencia (4)
• 10mas San Luis 2010: ¡Esta charla!
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio DESoL
Áreas de Trabajo - Parte 1/3
Aplicación de dispositivos lógicos programables FPGA
(Field Programmable Gate Array).
Utilización de dispositivos FPGA en aplicaciones que requieran de alta velocidad, gran flexibilidad o soluciones no convencionales.
Diseño y adaptación de IP cores en lenguaje VHDL portable.
Sistema FPGA capaz de correr GNU/Linux
• Diseño de IP cores (bloques reutilizables para FPGAs y ASICs). • Utilizando lenguaje VHDL portable para permitir su utilización en casi cualquier dispositivo FPGA (y/o ASIC).
Editor adaptado para código VHDL
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio DESoL
Áreas de Trabajo - Parte 2/3
Equipos dedicados utilizando GNU/Linux y software libre.
Integración de sistemas a medida utilizando estándares abiertos.
Desarrollo y modernización de sistemas dedicados y aplicaciones embebidas especiales utilizando PC para las áreas de control, ensayos, monitoreo y registro. Aprovechando protocolos y estándares abiertos con sistema operativo GNU/Linux y aplicaciones de software libre.
Modernización con GNU/Linux de un equipo de ensayos para maderas
Sistema de control de calidad para lácteos. Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio DESoL
Áreas de Trabajo - Parte 3/3
Herramientas de software libre aplicadas al desarrollo electrónico.
Software libre para diseño de PCB
Instrumentación y control electrónico utilizando microcontroladores, sensores y actuadores.
Medición de sensores ultrasónicos
Diseño de Hardware libre con FPGA
Diseño conjunto de hardware y software.
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio DESoL
Instalaciones y equipamiento
• El laboratorio cuenta con 54 m2. • Para el desarrollo electrónico cuenta con variado instrumental: osci-
loscopios, generadores de ondas, fuentes de alimentación, multímetros, equipos de soldadura e inspección entre otros. • Para el trabajo con FPGAs cuenta con varias placas de desarrollo. • Fácil acceso al equipamiento y la experiencia del resto de los laboratorios y unidades técnicas del centro y del INTI.
Varias placas FPGA
Estación de soldadura y desoldadura SMD y BGA por infrarrojos
Inspección y estación de soldadura SMD y rework
Algunos de los equipos del laboratorio
Vista actual del laboratorio
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio DESoL
Servidores
• Servidor Apache para el exterior y páginas web internas. • Caché de web Squid. • Servidor de archivos Samba. • Caché de DNS (dnsmasq) • Caché de hora (openntpd) • Caché de actualizaciones (apt-cacher) • Servidor DHCP. • Wiki: MediaWiki • Servidor de procesos y otros accesibles con SSH • Sistema de trabajo en grupo CVS
Internet Firewall
INTI
Gateway y servicios internos
Web utic.inti.gob.ar
DESoL
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Servidor de Procesos
Sistema de Revisiones CVS
Laboratorio DESoL
Estaciones de trabajo
• Ocho estaciones de trabajo PC • Dos UltraSparc 60 cayendo en desuso • Sistema operativo: Debian GNU/Linux Estable
+=
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio de Desarrollo Electrónico con Software Libre
Agenda
Proyectos y Trabajos
• IntelligentGas – Detector de gases domiciliario • MIXING - Banco de Mezcla de gases controlado por Internet • TEMPERAL - Sistema remoto de medición de temperaturas usando Internet • DEBACLE - Descargador de Baterías Controlado por Ethernet • Shimadzu - Modernización de un equipo para ensayos de tracción en maderas • TECNOPLAC3-USB - Sistema de control de calidad para leche de bebés • Proyecto FPGALibre • Bloques de propiedad intelectual desarrollados y/o adaptados • Tarjeta S2proto de hardware libre para desarrollo con FPGA • GNU/Linux embebido en procesadores LEON • ANTI - Antena Inteligente para el LIPAN UAV • Potenciostato para detección en campo de aftosa
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
IntelligentGas – Detector de gases domiciliario (1999-2000)
• Equipo desarrollado a pedido de la industria. En conjunto con el grupo de sensores de gases.
• Basado en la familia de microcontroladores PIC de Microchip.
• Todo el desarrollo se realizó utilizando Debian GNU/Linux como plataforma.
• Ensamblador: gpasm (proyecto GNUPIC)
• Simulador: gpsim (modificado para soportar el 16C716)
• Mifit: Generador de código para aproximar un juego de datos. Liberado bajo GPL.
• Actualmente en el mercado, comercializado por la empresa IB S.A.
• http://www.intelligentgas.com.ar/
Producto comercial terminado
Mifit ajustando la curva del sensor
Simulación con gpsim
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
MIXING - Banco de Mezcla de gases controlado por Internet (2000)
• Equipo desarrollado a pedido y en conjunto con el laboratorio de Calibración de Detectores de Gases Explosivos y Tóxicos.
• Es un sistema automatizado que realiza mezclas precisas de gases.
• El hardware consta de una PC 486, Ethernet, dos placas de E/S digitales y analógicas (Keithley DAS1600 con A/D 12bits) para los controladores de caudal y placa IEEE-488 (GPIB) para control de equipos de medición.
• Sistema operativo Debian GNU/Linux.
• Desarrollo del módulo del kernel para utilizar las placas de E/S.
• Software de control (daemon) realizado en lenguaje C.
• Software cliente realizado en lenguaje C++ y librería Turbo Vision para plataformas Linux, Windows y DOS.
• Primer equipo entregado y realizado con SL.
Banco de mezcla de gases
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
TEMPERAL - Sistema remoto de medición de temperaturas usando Internet (2002)
• Equipo desarrollado a pedido del sector de seguridad eléctrica. • Realiza mediciones de temperatura en hasta 15 canales, determi-
na criterios de fin de ensayo e informa resultados (incluyendo gráficas) por e-mail. • Controlado desde un browser cualquiera a través de páginas web. • Demonio escrito en C, páginas en PHP. • Se usó una PC obsoleta (PC 486 DX4) con una placa ISA fabricada en 1985 (fuera de uso).
Temperal y termocuplas
Detalle donde se ve la placa ISA
Página web de control Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
DEBACLE - Descargador de Baterías Controlado por Ethernet (2003-2004)
• Equipo desarrollado a pedido para INTI - Procesos Superficiales.
• Es un sistema automatizado para la realización de ensayos de descarga de baterías según la norma ANSI C18.1M.
• Sistema Debian GNU/linux, Apache y PHP.
• Se controla y consulta mediante interfaz web y avisa por email al terminar el ensayo.
• Daemon en lenguaje C.
• Presenta gráficas hechas con GNUPlot.
• El hardware posee un PIC16F877 que se programó utilizado herramientas libres.
Sistema DEBACLE
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
Shimadzu - Modernización de un equipo para ensayos de tracción en maderas (2004) • Equipo desarrollado a pedido para INTI - Maderas. • Se modernizó un equipo de ensayos de tracción y compre-
sión que usaba un registrador mecánico. • El equipo mide la posición del cabezal y la fuerza ejercida. • Posteriormente se agregaron 2 canales para medir despla-
zamientos (deformaciones). • Sistema Debian GNU/linux • Los resultados de las mediciones se obtienen en un recur-
so compartido con Samba. • El programa de control se escribió en C++ usando la biblio-
teca Turbo Vision.
Equipo Shimadzu y PC de registro
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
TECNOPLAC3-USB - Sistema de control de calidad para leche de bebés (2004-2005/2010)
• Equipo desarrollado a pedido de la empresa Mastellone Hnos. para reemplazar un equipo importado de muy alto costo.
• Los equipos desarrollados realizan actualmente el control de calidad del 100% de la producción de leche para bebés envasada en cartones de 250 cm3.
• La PC de control utiliza sistema operativo Debian GNU/Linux y Gnome.
• La aplicación de interfaz de usuario hecha a medida utiliza Allegro, Turbo Vision y libusb entre otras.
• Las placas de la electrónica de control se realizaron en KICAD.
• Una de las placas de la electrónica de control posee una FPGA que implementa el sistema USB y la lectura de un encoder.
• Para el desarrollo en la FPGA se utilizó el ciclo de trabajo del proyecto FPGALibre.
Equipo para control de calidad de leche para bebés en envase de 250 cm3
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
Proyecto FPGALibre (2005 y continúa)
• ¿Qué son las FPGAs? • Circuitos electrónicos reconfigurables que permiten crear nuevos circuitos que se comportan como nosotros querramos
• Facilitar el intercambio de conocimientos y cores. • Impulsar el uso de herramientas de S.L. • Hosteado por SourceForge • http://fpgalibre.sourceforge.net • Abierto (OSs y tecnologías) • Actualmente basado en Debian GNU/Linux • Objetivos:
• Impulsar el desarrollo con dispositivos FPGA utilizando herramientas de S.L. u Open Source.
• Fomentar el intercambio y desarrollo de cores IP con licencias que posean el mismo espíritu que las del S.L.
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
Bloques de propiedad intelectual desarrollados y/o adaptados (2005-2010)
• Microprocesadores
• PIC16C84
• AVR (ATtiny22, ATmega103, ATmega8, ATmega32, etc.) OC
• Comunicaciones
• Intrasistemas: I²C OC, SPI
• Externa: PS2, USB, MAC Ethernet
OC
• Control
• Servomotores y motores paso a paso
• Encoder
• Varios
• Display alfanumérico
• Controlador de interrupciones
• A pedido de la industria aeroespacial
• Logaritmo decimal (43 bits)
• Adquisición a 250 KHz 16 bits y cálculo de la varianza.
• Contador de pulsos con ventana adaptativa.
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
Tarjeta S2proto de hardware libre para desarrollo con FPGA (2005-2006/2008)
• Parte del proyecto FPGA Libre. Diseño e implementación de un circuito impreso con FPGA, pensado para ser utilizado en ámbitos de desarrollo e instituciones educativas.
• Brindado bajo licencia GPL para permitir su libre utilización, implementación, modificación y comercialización.
• Desarrollado y probado con SL: Kicad y GNU jtag.
• Impreso doble faz de 12x10 cm de fácil fabricación en el país y montaje manual de los componentes.
• Soporte para dispositivos Xilinx Spartan II PQ208.
• Puerto RS-232 y JTAG (configuración y testeo).
• Pines de I/O disponibles para el usuario.
Actualización:
s2proto-v2 • Alimentación simple de 5 V CC.
s2proto-v4
• Conector USB tipo B y driver (niveles estándares USB).
• Remplazo de memoria por una más económica.
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
GNU/Linux embebido en procesadores LEON (2008-2010)
• El procesador LEON es un procesador SPARC apto para FPGAs, desarrollado originalmente por la Agencia Espacial Europea. Es muy utilizado en la industria aeroespacial pero sirve para otras aplicaciones.
• La descripción de hardware del procesador y sus periféricos principales están en lenguaje VHDL bajo licencia GPL.
• Se investiga en el laboratorio esta tecnología y sus aplicaciones, tratando de cubrir las partes de software y hardware faltantes para lograr un ciclo de trabajo libre y abierto.
HARDWARE: Se está desarrollando un circuito impreso (S3Proto), que se publicará bajo licencia de hardware libre y abierto, con capacidad para correr un sistema GNU/Linux en una FPGA con LEON.
Prototipo S3Proto-Mini de 4 capas y chip BGA, realizado en KICAD y próximo a fabricarse
SOFTWARE: Se desarrolló una herramienta libre:
GNU/Linux y BusyBox corriendo sobre LEON3/Grlib, usando una placa FPGA comercial.
FPGALibre Leon Monitor
(FLeMon) que permite
interactuar con el
hardware para debug y
grabar una imagen Linux
en la memoria Flash.
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
ANTI - Antena Inteligente para el LIPAN UAV (2008-2009/2011)
• Desarrollado a pedido del Ejército Argentino, Dirección de Desarro-
llo y Producción (DIDEP) para el proyecto LIPAN UAV (vehículo
aéreo no tripulado). El desarrollo de hardware fue iniciado en la
Escuela Superior Técnica (EST) y CITEFA. Luego finalizado en
INTI.
• Es un sistema de seguimiento de an-
tena (apuntamiento) usando la infor-
mación del GPS del UAV.
• Utiliza una PC/104 con sistema Debian GNU/Linux (recortado).
Pruebas de seguimiento realizadas en tierra
• Se comunica mediante Ethernet con la PC donde se encuentra el sistema de monitoreo y control en tierra que posee información GPS del UAV.
• El Daemon en lenguaje C++ corre en la PC/104 y se comunica por línea serie con el controlador de servomotores, la brújula/inclinómetro y el GPS local.
Sistema de seguimiento de antena (ANTI)
Vehículo aéreo no tripulado LIPAN UAV
Puesto de comando y trailer de transporte
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Proyectos y Trabajos
Potenciostato para detección en campo de aftosa (2010-2011)
• Trabajo en desarrollado actual para un proyecto conjunto entre INTI (Procesos Superficiales y Electrónica e Informática) y UNSAM.
• Circuito potenciostato USB que permite medir reacciones químicas (baja señal).
• Posee varias aplicaciones, por ejemplo en detección de aftosa y contaminación en agua.
• Software de medición y control en C/ C++.
• Hardware con microcontrolador AVR ATMEGA32, con firmware desarrollado completamente con herramientas de software libre.
• Comunicación USB en hardware implementada con un chip FTDI (configurado con herramientas de SL).
Circuito USB para control de potenciostato y visualización de datos adquiridos con GNUPlot.
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio de Desarrollo Electrónico con Software Libre
Agenda
Herramientas principales
• Nota para interpretar los siguientes slides • Para las estaciones de trabajo • Para el desarrollo con FPGAs • Para equipos dedicados • Para desarrollo con microcontroladores PICs • Para desarrollo con microcontroladores AVRs • Para diseño de circuitos • Para reportes y documentación formal
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Herramientas Principales
Nota para interpretar los siguientes slides
• Aporte: significa que se contribuyó al proyecto. • Modificado: significa que se tomó una herramienta y se la modificó para adaptarla a nuestras necesidades. • Contribuido: significa que se desarrolló por completo y se contribuyó a la comunidad de SL. • Contribuible: significa que se desarrolló por completo y que será contribuido a la comunidad de SL. • Freeware: significa que se trata de software gratuito pero no libre ni abierto.
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Herramientas Principales
Para las estaciones de trabajo
• Sistema Operativo: Debian GNU/Linux versión estable • Suite de oficina: OpenOffice Writer – Calc – Impress – Draw • Navegador Web: IceWeasel (Firefox) • Cliente de Correo: IceDove (ThunderBird) • Consola: Eterm • Entornos de escritorio:
• Gnome (máquinas modernas) • Enlightenment • Navegación de sistema de archivos: • GNU Midnight Commander (consola) • Nautilus (gráfico) • Visor de imágenes: gqview • Edición de imágenes: Gimp • Visor de archivos pdf: xpdf • Acceso remoto entre terminales: OpenSSH • Cálculos y gráficos: octave y gnuplot
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Herramientas Principales
Para el desarrollo con FPGAs
• Edición: SETEdit aporte • Búsqueda: Exuberant C Tags modificado • Verificación de estilo: bakalint contribuido • Generador de interconexión: WISHBONE Builder modificado • Otras ayudas:
• VHDLSpp: Preprocesador contribuido • Hex2vhdl: Conversor de .HEX a VHDL contribuido • Xtracth: Generador de encabezados (C/assembler) contribuido • Tpl2file: Extractor de templates contribuido • Simulación: GHDL • Visor de formas de onda: GTKWave aporte • Automatización: GNU make • Síntesis: Xilinx ISE Webpack freeware • Ayuda: xil\_project y su Wizard contribuible • Transferencia a la FPGA: make\_impact y astriaekipro contribuido
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Herramientas Principales
Para equipos dedicados
• Sistema operativo incluido en equipos: Debian GNU/Linux • Edición: SETEdit aporte • Automatización: GNU make • Trabajo en grupo: CVS
• Ayuda: cvs-helpers contribuido • Lenguajes de programación
• C/C++: GNU Compiler Companion (gcc) y PHP • Depurador: gdb (desde SETEdit) • Generación de gráficos: GNUPlot • Bibliotecas:
• Interfaz de usuario en consola y/o X: Turbo Vision aporte • Gráficos: Allegro • Acceso al hardware: COMEDI aporte • Servicios en los equipos: • Web: Apache • Archivos compartidos: Samba • Manejo remoto: OpenSSH
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Herramientas Principales
Para desarrollo con microcontroladores PICs
• PIC: Microcontroladores RISC de la empresa Microchip. • Pequeños y de bajo costo. Muy populares. • Ensamblador: gpasm aporte • Simulador: gpsim aporte • Generadores de código:
• Para ajustar juegos de datos: mifit contribuido • Transferencia al chip: prog84 modificado • Muchas herramientas son las mismas usadas para el desa-
rrollo con PCs: • Edición: setedit aporte • Automatización: GNU make • Trabajo en grupos: CVS
Simulación con gpsim
Mifit ajustando una curva Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Herramientas Principales
Para desarrollo con microcontroladores AVRs
• AVR: Línea de microcontroladores RISC de la empresa Atmel. • Pequeños y de bajo costo. Muy populares. • Soportan lenguaje C (set de instrucciones adecuado) • Ensamblador: avra • Compilador de C/C++: gcc-avr • Biblioteca Estándar de C: avr-libc • Depurador: avr-gdb • Simulador: simulavr • Transferencia al chip: uisp y avrdude • Hardware libre para programación: USBtinyISP modificado • Muchas herramientas son las mismas usadas para el desarrollo
con PCs: • Edición: SETEdit aporte • Automatización: GNU make • Trabajo en grupos: CVS
Programador USB de bajo costo y diseño abierto, compatible con AVRDude bajo GNU/linux http://www.ladyada.net/make/usbtinyisp/
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Herramientas Principales
Para diseño de circuitos
• KICAD aporte • Cubre las tres tareas principales:
• Ingreso de circuito esquemático. • Ruteo de PCB (Printed circuit Board) • Visor de formato Gerber.
Placa S2Proto en KICAD y físicamente Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Herramientas Principales
Para reportes y documentación formal • LaTeX:
• Publicaciones (IEEEtran) • Presentaciones (Beamer) • Pósters • Notas/informes/presupuestos • DocBook (SGML): • Documentación de IP cores y Software • makeinfo • Documentación de Software
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio de Desarrollo Electrónico con Software Libre
Agenda
Ventajas del SL
• Ventajas técnicas • Ventajas estratégicas • Ventajas económicas
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Resumen Final
Ventajas técnicas
• Amplia disponibilidad de recursos • Lenguajes de programación y herramientas. • Bibliotecas, rutinas, etc. • Comunidad de usuarios predispuestos.
• Menor esfuerzo de mantenimiento y administración • Administración más simple y centralizada. • Manejo coherente de paquetes. • Sistemas seguros y muy estables. No se degradan con el uso. • Muy apto para sistemas remotos.
• Mayor control • Código fuente disponible (adaptable y/o corregible) • Componentes altamente configurables. • Acceso a todos los protocolos de comunicación y formatos de archivos. • Conocimiento del hardware/firmware involucrado (Hardware libre o abierto).
• Muchas de las herramientas superan a sus equivalentes comerciales (otras necesitan de adaptación y desarrollo adicional).
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Resumen Final
Ventajas estratégicas
• Autonomía nacional • Reduce la dependencia de corporaciones extranjeras • Fomenta el desarrollo local de software y hardware.
• El conocimiento más profundo de las herramientas de software para electrónica (propias y de terceros) brinda normalmente mayor experticia en la temática ya que hoy en día el desarrollo de hardware está muy ligado al software.
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Resumen Final
Ventajas económicas
• Sin costos de licencias de software • Para el desarrollador. • Para el cliente. • OS y herramientas incluidas en el equipo • Bibliotecas • Herramientas para reproducir el desarrollo (ej: KICAD)
• El dinero puede utilizarse o aprovecharse en hardware.
• Fácil aplicación en sistemas de pocos recursos de hardware.
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
2010
¡MUCHAS GRACIAS!
Laboratorio de Desarrollo Electrónico con Software Libre del INTI (DESoL )
Jefe de Laboratorio DESoL: Ing. Salvador Tropea
Av. Gral. Paz 5445 (1650) San Martín Buenos Aires, Argentina (11) 4724-6315 {salvador,brengi,rmelo}@inti.gob.ar
http://utic.inti.gob.ar/ http://fpgalibre.sf.net/
Octubre de 2010
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Laboratorio de Desarrollo Electrónico con Software Libre
Licencia de la presentación
Atribución-SinDerivadas 2.5 Argentina
Usted es libre de: copiar, distribuir, exhibir, y ejecutar la obra
Bajo las siguientes condiciones: Atribución. Usted debe atribuir la obra en la forma especificada por el autor o el licenciante.
Sin Obras Derivadas. Usted no puede alterar, transformar o crear sobre esta obra.
http://creativecommons.org/licenses/bynd/2.5/ar/
Copyright © 2010 INTI, Salvador E. Tropea, Diego J. Brengi, Rodrigo A. Melo
Ver+/-