Trazador de Curvas PDF
April 19, 2024 | Author: Anonymous | Category: N/A
Short Description
Download Trazador de Curvas PDF...
Description
UNIVERSIDAD TECNOLÓGICA DEL PERÚ FACULTAD DE INGENIERÍA DE SISTEMAS Y ELECTRÓNICA ESCUELA DE INGENIERÍA ELECTRÓNICA
DESARROLLO DE UN TRAZADOR DE CURVAS COMO UN CASO DE APLICACIÓN DE INSTRUMENTACIÓN VIRTUAL RECONFIGURABLE
JUAN SANTIAGO VEGA MARTINEZ
ASESOR: ING. ALBERTO ALVARADO RIVERA
Tesis para optar el Título de Ingeniero Electrónico Lima – Perú
2014
i
(Página blanca)
ii
A mis Padres por sus enseñanzas, consejos y por su eterna paciencia
iii
AGRADECIMIENTOS
A Dios, que está presente siempre en todo lo que hago en mi vida.
A mis padres, que son mi más grande admiración y ejemplo, por todo lo que me han dado, y apoyado en estos años de estudio, no hay espacio para escribir todo, ni palabras suficientes para agradecerles. Los amo.
A mi familia, por todo su apoyo y cariño.
A mis amigos de toda una vida José López, Javier Bravo.
A Renzo Bermúdez, Julio Molina, Roberto E. Campos por su amistad, consejos, enseñanzas y su apoyo incondicional en la culminación de esta tesis.
A Diego Ramírez, gracias por tu amistad, apoyo y tu osciloscopio, cuando más lo necesitaba.
Al Ing. Miguel Risco Castillo, decirle que agradezco a Dios, por haberlo conocido, no tengo palabras para expresar mi agradecimiento hacia usted, gracias por todo y más que un maestro lo considero mi amigo. Gracias por su paciencia, por haber confiado en mí para la realización de este tema y por haberme orientado hacia la investigación, muchas gracias.
Para el Ing. Alberto Alvarado Rivera, que puedo decir, por ser mi asesor, le estoy muy agradecido por su gran apoyo, su amistad, gracias por todos los momentos de camarería que compartimos, le guardo una gran admiración a usted, gracias su apoyo incondicional y sus sabios consejos, siempre los tengo presente. A mis compañeros del Grupo de Microelectrónica – uE CIDI, por su apoyo y amistad brindada, además de todo lo vivido y compartido. iv
Al Centro de Investigación y Desarrollo en Ingeniería (CIDI) de la Universidad Tecnológica del Perú, que en su tiempo nos brindó la infraestructura y tecnología para poder realizar nuestra investigación, gracias por creer en nosotros y apoyar
la
investigación.
Al Ing. Eduardo Temoche, decano de la Facultad de Ingeniería de la Universidad Ricardo Palma, por haberme permitido hacer el uso de sus laboratorios de su prestigiosa universidad.
A los Ingenieros del laboratorio de circuitos y dispositivos electrónicos de la Facultad de Ingeniería Electrónica de la universidad Ricardo Palma, que con mucha paciencia me ayudaron en la realización de la validación del instrumento. Muchas gracias.
Al Centro Internacional de Física Teórica ( ICTP ), por las 2 becas de estudio en el año 2010 y 2012 en Mar del Plata-Argentina y en La Habana –Cuba , y por prestarnos su tarjeta de Instrumentación Virtual Reconfigurable , gracias Andrés Ciccutin y María Liz Crespó.
A todos, muchas gracias.
v
RESUMEN En esta tesis se ha desarrollado un instrumento virtual denominado Trazador de Curvas, el cual puede representar las características de tensión y corriente (I vs V) de un dispositivo semiconductor y el extracto de algunos parámetros cuantitativos, usando una plataforma del proyecto del Centro Internacional de Física Teórica – ICTP (TriesteItalia), denominado Instrumentación Virtual Reconfigurable (RVI), que posee como componente principal un dispositivo lógica reconfigurable llamado FPGA (Field Programmable Gate Array).
Con este instrumento se logró caracterizar distintos dispositivos semiconductores y como resultado, se obtuvo una percepción real acerca del comportamiento del mismo, el cual es importante cuando se realiza un nuevo diseño electrónico. Se diseñó el trazador de curvas usando una plataforma reconfigurable y software libre, con el objetivo de brindar flexibilidad y portabilidad tanto en el diseño del hardware como en el software, así como también dar la posibilidad a centros de investigación de bajos recursos, para contar con un instrumento especializado. Por otro lado este trabajo, aporta al proyecto de Instrumentación Virtual Reconfigurable, adicionando un instrumento más dentro de esta plataforma.
El trazador de curvas, está constituido por la plataforma de instrumentación virtual reconfigurable, un adaptador de señales y una interfaz de usuario. Donde el diseño del hardware dentro de la FPGA, está basado en el uso de núcleos de propiedad intelectual, descritos en lenguaje VHDL (VHSIC Hardware Description Language), los cuales controlan todo flujo de datos en la plataforma RVI. El adaptador de señales, tiene la finalidad de proveer las condiciones adecuadas de corriente y voltaje, en el proceso de adquisición de señales del dispositivo en prueba. La interfaz de usuario desarrollado en Lazarus y Free Pascal, posee los controles y el entorno visual del instrumento.
Palabras Claves: Instrumentación Virtual, Trazador de Curvas, FPGA, VHDL, IPCORE. vi
ABSTRACT This thesis has developed a virtual instrument called tracer curves, which can represent the characteristics of voltage and current (I vs V) of a semiconductor device and extract some quantitative parameters, using a platform project of the International Center Theoretical Physics
-
ICTP (Trieste,
Italy), called Reconfigurable Virtual
Instrumentation (RVI), which has as its main component, a reconfigurable logic device called FPGA (Field Programmable Gate Array).
With this instrument it was possible to characterize various semiconductor devices and as a result, a real awareness of the behavior of the same, which is important when a new electronic design is made was obtained. The curve tracer was designed using a reconfigurable platform and free software, in order to provide flexibility and portability in the design of hardware and software, as well as give the possibility to research centers low income, to have a specialized instrument. Moreover, this work contributes to the project Reconfigurable Virtual Instrumentation, adding another instrument within this platform.
The curve tracer, consists reconfigurable platform virtual instrumentation signals adapter and a user interface. Where the design of the hardware inside the FPGA, is based on the use of IP cores, described in VHDL (VHSIC Hardware Description Language), which control all data flow in the RVI platform. The signal adapter, aims to provide adequate conditions of current and voltage in the process of signal acquisition device under test. The user interface developed in Lazarus and Free Pascal, owns and controls the visual environment of the instrument.
Keywords: Virtual Instrumentation, Curve Tracers, FPGA, VHDL, IP-CORE
vii
ÍNDICE GENERAL ACTA DE SUSTENTACIÓN ..................................................................................... ii DEDICATORIA.......................................................................................................... iii AGRADECIMIENTOS .............................................................................................. iv RESUMEN .................................................................................................................. vi ÍNDICE GENERAL .................................................................................................. viii ÍNDICE DE TABLAS ................................................................................................ xi ÍNDICE DE FIGURAS .............................................................................................. xii INTRODUCCIÓN ....................................................................................................... 1 Objetivos de la investigación .............................................................................. 2 Objetivo General: ....................................................................................... 2 Objetivos Específicos: ................................................................................ 2 Justificación y motivación .................................................................................. 3 a) Naturaleza. ....................................................................................... 3 b) Magnitud. ......................................................................................... 3 c) Vulnerabilidad. ................................................................................ 3 d) Práctica u Organizacional. ............................................................... 4 e) Trascendencia. ................................................................................. 4 f) Económica. ...................................................................................... 4 Motivación .......................................................................................................... 5 Estado del arte ..................................................................................................... 6 CAPÍTULO 1: FUNDAMENTO TEÓRICO ........................................................... 9 1.1 DISPOSITIVOS LÓGICOS RECONFIGURABLES -FPGA ................... 9 1.1.1 Introducción ..................................................................................... 9 1.1.2 Arquitectura de una FPGA ............................................................ 10 1.1.3 Lenguaje de descripción de hardware ............................................ 16 1.2 INSTRUMENTACIÓN VIRTUAL ......................................................... 21 1.2.1 Arquitectura de un instrumento virtual. ......................................... 22 1.2.2 Instrumentos Virtuales vs Instrumentos Convencionales. ............. 23 viii
1.3 PLATAFORMA DE INSTRUMENTACIÓN VIRTUAL RECONFIGURABLE (RVI) ................................................................... 24 1.4 ARQUITECTURA DE BUS SIMPLE (SBA) ......................................... 29 CAPÍTULO 2: DISEÑO, SIMULACIÓN E IMPLEMENTACIÓN DEL INSTRUMENTO VIRTUAL RECONFIGURABLE: TRAZADOR DE CURVAS I VS V .............................................................................................. 32 2.1 DIAGRAMA DE BLOQUES DEL INSTRUMENTO ............................ 32 2.2 ETAPA DE DISEÑO ............................................................................... 35 2.2.1 Desarrollo de la interfaz de usuario(GUI) ..................................... 35 2.2.2 Desarrollo del código de descripción de hardware sintetizable ..... 40 2.2.3 Desarrollo del adaptador de señal .................................................. 42 2.3 SIMULACIÓN ......................................................................................... 54 2.3.1 Simulación de una curva I vs V de un transistor NPN .................. 54 2.3.2 Simulación de un transistor bipolar tipo PNP ................................ 57 2.4 IMPLEMENTACIÓN .............................................................................. 58 2.4.1 Implementación de la interfaz de usuario ...................................... 58 2.4.2 Implementación del código de descripción de hardware sintetizable. .................................................................................... 66 2.4.3 Implementación del adaptador de señal ......................................... 68 CAPÍTULO 3: RESULTADOS ............................................................................. 73 3.1 ANÁLISIS DEL ERROR LINEAL INTEGRATIVO (INL) Y DIFERENCIAL (DNL) ............................................................................ 75 3.2 CÁLCULO DEL ERROR. ....................................................................... 80 3.2.1 Cálculo del error absoluto. ............................................................. 80 3.2.2 Cálculo del offset y ganancia ......................................................... 83 3.2.3 Error de precisión del instrumento................................................. 84 3.3 CURVAS DE DISPOSITIVOS SEMICONDUCTORES. ...................... 89 3.3.1 Análisis de curvas I vs V de dispositivos semiconductores. .......... 90 3.3.2 Otras curvas obtenidas con el trazador de curvas .......................... 98 3.4 VALIDACIÓN DEL INSTRUMENTO. ............................................... 101 CONCLUSIONES ................................................................................................... 104 Trabajos Futuros ............................................................................................. 105 REFERENCIAS ....................................................................................................... 106 A N E X O S ............................................................................................................. 109 ix
Anexo A: ESQUEMÁTICOS DE LA PLATAFORMA RVI .................................. 110 Anexo B: MANUAL CURVE TRACER IT1121 ................................................... 116 Anexo C: ARQUITECTURA SBA ......................................................................... 128 Anexo D: ESQUEMÁTICOS PLACA DE ADAPTACIÓN ................................... 139
x
ÍNDICE DE TABLAS Tabla 1.1 Resumen de las propiedades de programación de la tecnología ............. 16 Tabla 1.2 Instrumentos Convencionales vs Instrumentos Virtuales ....................... 23 Tabla 2.1 Especificaciones del diseño de la etapa de conversión de voltaje .......... 45 Tabla 2.2 Especificaciones del diseño de la etapa reductora de voltaje .................. 50 Tabla 2.3 Utilización de recursos en la FPGA ........................................................ 68 Tabla 3.1 Límites de voltaje de los canales Vo[BASE] y Vo[COLECTOR] ......... 75 Tabla 3.2 Rango y precisión del Multímetro SANWA CD771 .............................. 77 Tabla 3.3 Resumen del error linear integrativo y diferencial de los canales Vo[BASE] y Vo[COLECTOR] ............................................................. 79 Tabla 3.4 Resumen de los errores ........................................................................... 83 Tabla 3.5 Desviación estándar ................................................................................ 88 Tabla 3.6 Resumen de valores del diodo 1N4001 ................................................... 90 Tabla 3.7 Resumen de valores del diodo 1N5234 ................................................... 91 Tabla 3.8 Resumen de valores del diodo 1N60 ....................................................... 92 Tabla 3.9 Resumen de valores del diodo 1N4148 ................................................... 93 Tabla 3.10 Resumen de valores del transistor KSP2N2222A ................................. 95 Tabla 3.11 Resumen de valores del transistor BC327-25K .................................... 96 Tabla 3.12 Resumen de valores de los diodos LEDs .............................................. 97 Tabla 3.13 Tabla de corrientes de base ................................................................. 102
xi
ÍNDICE DE FIGURAS
Figura 1.1 Estructura básica de un FPGA. ................................................................ 9 Figura 1.2 Característica de la arquitectura de la FPGA Cyclone V de Altera. ...... 10 Figura 1.3 Bloque LAB para las FPGAs de la familia Arria V, Cyclone V y Stratix. .................................................................................................... 11 Figura 1.4 Diagrama de bloques de un ALM de alto nivel para dispositivos Cyclone V . ............................................................................................. 12 Figura 1.5 Elementos Lógicos (LEs) en la FPGA Cyclone IV . ............................. 12 Figura 1.6 Disposición de los slices dentro de un CLB. ......................................... 13 Figura 1.7 Uso de celdas de memorias estáticas. (a) Celda de memoria estática (b) Multiplexor con celda de memoria estática (c) Celdas de memorias estáticas y tabla lookup. ........................................................................ 14 Figura 1.8 Flujo de diseño típico............................................................................. 18 Figura 1.9 Estructura general de un instrumento virtual. ........................................ 22 Figura 1.10 La arquitectura de hardware del subsistema de RVI. .......................... 25 Figura 1.11 Tarjeta RVI principal con 2 tarjetas secundarias LP Data Conversion Daughter Board.................................................................................... 26 Figura 1.12 Tarjetas secundarias (a) High performance (b) Low Performance. .... 27 Figura 1.13 Arquitectura global del sistema RVI. .................................................. 28 Figura 1.14 Interconexión de un núcleo maestro. ................................................... 29 Figura 1.15 Interconexión de un núcleo esclavo. .................................................... 30 Figura 1.16 Interconexión del AddrSpace............................................................... 31 Figura 1.17 Interconexión del DataIntf. .................................................................. 31 Figura 2.1 Diagrama de bloques general del sistema. ............................................. 32 Figura 2.2 Esquema de flujo de datos. .................................................................... 33 Figura 2.3 Diagrama de flujo de la etapa TEST. ..................................................... 36 Figura 2.4 Procedimiento de obtención de una curva I vs V. ................................. 37 Figura 2.5 Formas de variación de datos para la obtención de una curva I vs V (a) Variación del parámetro BASE COLECTOR.
(b) Variación del parámetro 38
Figura 2.6 Etapa de análisis..................................................................................... 39 xii
Figura 2.7 Sistema implementado usando la SBA. ................................................. 41 Figura 2.8 Diagrama de flujo del controlador del sistema (SBAcontroller) . ......... 42 Figura 2.9 Diagrama de bloques del adaptador de señal. ........................................ 43 Figura 2.10 Esquema del circuito de la etapa de conversión. ................................ 44 Figura 2.11 Esquema de la etapa de conversión de voltaje. .................................... 46 Figura 2.12 Función de transferencia Vout vs Vin. ................................................ 47 Figura 2.13 Amplificador en configuración Push Pull............................................ 48 Figura 2.14 Etapa de conversión de voltaje y etapa de potencia. ........................... 49 Figura 2.15 Simulación etapa de conversión de voltaje y potencia (a) Salida de voltaje en la etapa de potencia (b) Salida de corriente. ....................... 49 Figura 2.16 Bloque de adaptación para los ADCs. ................................................. 50 Figura 2.17 Esquema del circuito de la etapa de reductora de voltaje. ................... 51 Figura 2.18 Circuito reductor de señal. ................................................................... 53 Figura 2.19 Simulación del circuito reductor de voltaje. ........................................ 53 Figura 2.20 Circuito para la obtención de una curva I vs V.................................... 54 Figura 2.21 Simulación de curvas I vs V de un transistor 2N2222. ........................ 55 Figura 2.22 Simulación del Vx vs V2 ..................................................................... 56 Figura 2.23 Simulación Vce vs V2. ........................................................................ 56 Figura 2.24 Curva I vs V de un transistor PNP ....................................................... 57 Figura 2.25 Respuesta de señal en los puntos Vx y Vce. (a) Gráfica Vce vs V2 (b) Gráfica Vx vs V2. ........................................................................... 58 Figura 2.26 Acceso del instrumento Trazador de Curvas ....................................... 59 Figura 2.27 Interfaz gráfica de usuario. .................................................................. 60 Figura 2.28 Área de control..................................................................................... 61 Figura 2.29 Diagrama RTL del hardware en la FPGA ........................................... 67 Figura 2.30 Visualización 3D del adaptador de señal (a) Vista frontal (b) Vista posterior. ............................................................................... 68 Figura 2.31 Tiempo de establecimiento del DAC LTC1654. ................................. 69 Figura 2.32 Conexión del osciloscopio para obtener el tiempo de establecimiento. ................................................................................... 70 Figura 2.33 Respuesta de la señal en flanco de subida y bajada. (a) Flanco de subida DAC_1 y ADC_1 (b) Flanco de bajada DAC_1 xiii
y ADC_ 1
(c) Flanco de subida DAC_2 y ADC_2
(d) Flanco de bajada DAC_2 y ADC_2 ............................................... 71 Figura 2.34 Instrumento Virtual Reconfigurable: Trazador de Curvas. ................. 72 Figura 3.1 Valor mínimo en el punto Vo[BASE] ................................................... 73 Figura 3.2 Valor máximo canal Vo[BASE] ............................................................ 74 Figura 3.3 Valor mínimo canal Vo[COLECTOR] .................................................. 74 Figura 3.4 Valor máximo Canal V[colector] .......................................................... 75 Figura 3.5 Relación entre código del DAC y la salida de voltaje en el punto Vo[BASE]. ............................................................................................. 76 Figura 3.6 Relación entre código del DAC y la salida de voltaje en el punto Vo[COLECTOR]. .................................................................................. 76 Figura 3.7 INL del canal Vo[BASE]....................................................................... 77 Figura 3.8 INL del canal Vo[COLECTOR]. ........................................................... 78 Figura 3.9 DNL del canal Vo[BASE]. .................................................................... 78 Figura 3.10 DNL del canal Vo[COLECTOR]. ....................................................... 79 Figura 3.11 Función de Transferencia del canal Vo[BASE] .................................. 80 Figura 3.12 Función de transferencia ampliada del canal Vo[BASE]. ................... 81 Figura 3.13 Función de Transferencia del canal Vo[COLECTOR]....................... 81 Figura 3.14 Función de transferencia ampliada del canal Vo[COLECTOR] ......... 82 Figura 3.15 Error absoluto del canal Vo[BASE]. ................................................... 82 Figura 3.16 Error absoluto del canal Vo[COLECTOR]. ........................................ 83 Figura 3.17 Niveles de ruido en el punto Vo. ......................................................... 84 Figura 3.18 Niveles de ruido a la entrada del ADC. ............................................... 85 Figura 3.19 Valores capturados por el ADC en el canal base. ................................ 86 Figura 3.20 Valores capturados por el ADC en el canal colector. .......................... 86 Figura 3.21 Desviación estándar del canal base. ..................................................... 87 Figura 3.22 Desviación estándar del canal colector. ............................................... 87 Figura 3.23 SNR en el canal base. .......................................................................... 88 Figura 3.24 SNR en el canal colector. ..................................................................... 89 Figura 3.25 Curva I vs V diodo 1N4001. ................................................................ 90 Figura 3.26 Curva I vs V diodo 1N5234B. ............................................................. 91 Figura 3.27 Curva I vs V diodo 1N60. .................................................................... 92 Figura 3.28 Curva I vs V diodo 1N4148 ................................................................. 93 xiv
Figura 3.29 Curva I vs V de un transistor bipolar tipo NPN- KSP2222A .............. 94 Figura 3.30 Curva I vs V transistor BC327. ............................................................ 96 Figura 3.31 Curva I vs V de diodos LEDs (rojo, verde y ambar) de diferentes longitudes de onda. .............................................................................. 97 Figura 3.32 Curva I vs V de una resistencia de 100Ω............................................. 98 Figura 3.33 Curva I vs V de la Unión Base-Colector del transistor 2N2222A ....... 98 Figura 3.34 Curva I vs V de la unión Base-Emisor del transistor 2N2222A .......... 99 Figura 3.35 Curva I vs V de la unión Emisor-Colector del transistor 2N2222A ... 99 Figura 3.36 Curva I vs V del JFET 2N3819 ......................................................... 100 Figura 3.37 Curva I vs V del MOSFET IRF530N ................................................ 100 Figura 3.38 Validación de la curva I vs V de un transistor bipolar 2N2222A ...... 101 Figura 3.39 Error absoluto en la validación del Instrumento ................................ 102
xv
INTRODUCCIÓN La modernización de las tecnologías de fabricación de semiconductores, ha permitido la creación de nuevos dispositivos que rápidamente se convierten en partes esenciales del desarrollo de un diseño electrónico.
En el análisis y verificación de un diseño se utilizan equipos de alto costo, como los trazadores de curvas comerciales por ejemplo: National Instruments [1], usa su plataforma NI myDAQ y su software LabVIEW. KEITHLEY Instruments, tiene todo un sistema de prueba de varios instrumentos dedicados al análisis de semiconductores [2]. KEYSIGHT Technologies [3], tiene una línea de instrumentos que caracterizan varios tipos de dispositivos semiconductores. Muchos de ellos son de hardware y software propietarios, de tal forma que el usuario no puede extender o personalizar, y no suelen ser accesibles para los centros de investigación de bajo presupuesto. En estos casos los instrumentos virtuales, cumplen un papel importante al permitir realizar algunos análisis a un costo significativamente menor.
Las hojas de datos presentan principalmente valores genéricos de los parámetros característicos de los componentes; pero cuando se necesita realizar cálculos precisos para la elaboración de un circuito determinado se tiene que recurrir a técnicas que nos permitan obtener los parámetros del semiconductor con mayor precisión.
Con este proyecto se pretende la construcción de un instrumento virtual que pueda ayudar al análisis y verificación de los dispositivos semiconductores con similares características que los comerciales.
1
Objetivos de la investigación
Objetivo General: “Desarrollar un trazador de curvas para semiconductores como un caso de instrumentación virtual reconfigurable”.
Objetivos Específicos: a) Diseñar un trazador de curvas principalmente de dispositivos semiconductores, utilizando la tarjeta de Instrumentación Virtual Reconfigurable (RVI Prototype Board) junto con la placa de expansión LP Data Conversion Daughter Board provistas por el ICTP. b) Procesar las señales de corriente y voltaje (I – V) de
dispositivos
semiconductores (diodos, transistores bipolares), para obtener un vector de observación formado por las características propias (internas) del dispositivo.
c) Desarrollar un instrumento virtual, utilizando como herramientas la FPGA y el uso del software libre. Así como el desarrollo de núcleos de propiedad intelectual que puedan ser reutilizados.
2
Justificación y motivación
a) Naturaleza. Tiene como finalidad, contribuir al conocimiento disciplinar de los alumnos e investigadores, para producir nuevas ideas, entender los modelos teóricos, de esta manera contribuir
a una mejor comprensión del funcionamiento de los dispositivos
semiconductores.
b) Magnitud. Al contribuir al proyecto de Instrumentación Virtual Reconfigurable (RVI), este va a estar disponible, para todos los alumnos e investigadores en el mundo, que se interesen en el desarrollo de instrumentos virtuales dentro de esta plataforma.
c) Vulnerabilidad. El diseño del trazador de curvas, se desarrolla dentro del proyecto de Instrumentación Virtual Reconfigurable (RVI), que ha sido propuesto por el laboratorio de Microprocesadores del Centro Internacional de Física Teórica (ICTP). El hardware proporcionado por el proyecto no es de uso comercial, por lo que hay muy pocas en el mundo, sin embargo ya que el instrumento esta realizado con una FPGA, el diseño de la descripción de hardware (VHDL), puede ser implementado sobre otras plataformas de desarrollo de otros fabricantes ( Xilinx, Altera, entre otros ), que si son comerciables, de tal forma que se puede portar a estas, realizando solo unas pocas modificaciones a los módulos núcleos de propiedad intelectual , si esto fuera necesario, pero en ningún momento al controlador del sistema.
3
d) Práctica u Organizacional. Está orientado a contribuir con el proyecto de instrumentación virtual reconfigurable (RVI), agregando un instrumento virtual dentro de esta plataforma. Además beneficia a los estudiantes, investigadores e instituciones que deseen diseñar e implementar la construcción de un instrumento personalizado bajo este método.
e) Trascendencia. Como este instrumento existen otros equipos en el mundo, la intención de realizar un trazador de curvas en una plataforma reconfigurable, es dar una alternativa a los centros de investigación de bajos recursos, para contar con instrumentos especializados que puede tener igual o mejores características.
El instrumento virtual al ser desarrollado dentro de una plataforma de licencia libre, puede ser utilizado por diversas personas, que deseen mejorar la interfaz o usarlo como base para nuevos diseños.
f) Económica. Este proyecto no tiene fines de lucro, pretende ser una poderosa herramienta, para modelar el comportamiento de los dispositivos semiconductores, mediante la observación de sus curvas, como así también ser un excelente instrumento usado para la educación.
4
Motivación Los instrumentos de bajo costo, no siempre permiten realizar mediciones con una personalización adecuada, y solo los equipos especializados, que son más costosos, admiten una configuración suficientemente personalizable. No todos los Centros de Investigación, cuentan con los suficientes recursos para poder adquirir uno o más de estos instrumentos, por lo que muchos de ellos deben diseñar y construir sus sistemas electrónicos a medida.
El uso de los sistemas reconfigurables (FPGA), como componente principal de un instrumento, hace que este sea fácilmente modificable, lo suficientemente flexible para acomodar varias tareas y procesos. Con el conocimiento adquirido se pretende brindar las herramientas necesarias, para acelerar el diseño y construcción de instrumentos convencionales y no convencionales dentro de una plataforma reconfigurable, ya que estas proveen soluciones más económicas y más flexibles que los circuitos integrados de aplicación específica (ASICs).
5
Estado del arte
(Facundo Aguilera, Carlos F. Sosa Páez, Diego E. Costa, 2010) en el artículo “Implementación de un osciloscopio en una plataforma de instrumentación virtual reconfigurable.” Presentan el desarrollo de un osciloscopio pensado para implementarse en una plataforma de instrumentación virtual reconfigurable. Esta plataforma está compuesta por módulos descritos en lenguajes de descripción de hardware para configurar una FPGA y elementos de software para utilizar en una computadora de propósito general. Se enfatiza el diseño basado en bloques con el objeto de crear una librería de componentes que puedan ser reutilizados en otros diseños para esta plataforma. Las descripciones del hardware implementado en FPGA y los códigos fuentes del software se publican bajo una licencia de código abierto, permitiendo un desarrollo comunitario de los componentes de la plataforma. [4]
(Miguel Risco Castillo, 2010) en el artículo “Instrumentación virtual reconfigurable: Desarrollo de generador de ondas arbitrario” Desarrolla la implementación de un generador de ondas arbitrario (AWG) concebido como una aplicación directa de la plataforma mencionada. El AWG virtual permite mediante un software en PC la reproducción de ondas con formas y frecuencias arbitrarias dentro de los límites que impone el hardware. La forma de la señal generada se encuentra definida por un arreglo de valores creados en la PC mediante distintos procedimientos, desde la edición manual de tablas de datos y evaluación de funciones matemáticas, hasta el análisis de imagen, esta última como una forma novedosa del ingreso de información a un generador de ondas. El control del hardware se realiza mediante la implementación de un sistema embebido en chip llamado: Arquitectura de Bus Simple (SBA), que ha sido desarrollado en VHDL e implementado en el FPGA. [5]
6
(Cevallos
Guerrero,
Darwin
Vladimir,
Quel
Guerrero,
Franklin
Oliver,2011) en el artículo “Implementación de un Laboratorio Virtual basado en Lab- View” En este trabajo los autores generan una investigación teórica y práctica del manejo y funcionamiento del equipo ELVISII, en donde se diseñan y se crean circuitos que sirven para desarrollar el conocimiento teórico y práctico del estudiante. Los autores ponen a disposición de los estudiantes la realización completa del proyecto mediante un manual, el cual servirá para el desarrollo de las diferentes practicas las cuales se realicen en forma ordenada y con precaución siguiendo secuencialmente los pasos que contiene este. [6]
(Olufemi Adeluyi, Maria Liz Crespo, Andres Cicuttin, Debashis Bhowmick, Dipak Debnath , Arnab Sen, FPGA World Conference 2010) en el artículo “The Use of Reconfigurable Virtual Instruments for Low Noise, High Resolution Charge Sensitive Amplification”.
En este trabajo los autores realizan un trabajo teórico y experimental de una técnica de procesamiento digital de señal, para manejar la señal de salida de un pre-amplificador, el cual es capaz de brindar información de las señales de espectroscopia de rayos X, por medio de un detector fotodiodo pin de Silicio (siPIN photo diode). El desarrollo del prototipo se ha realizado utilizando una plataforma de Instrumentación Virtual Reconfigurable (RVI), donde el algoritmo de procesamiento digital de señal, tiene como objetivo mejorar la resolución de energía / tiempo, así como el rango dinámico de los detectores que pueden ser implementadas en entornos ruidosos. [7]
7
(Andres Cicuttin, Maria Liz Crespo, Alexander Shapiro , Nizar Abdallah) en el artículo “A Block-Based Open Source Approach for a Reconfigurable Virtual Instrumentation Platform Using FPGA Technology”
Se presenta el desarrollo de una plataforma de instrumentación virtual reconfigurable (RVI), el cual tiene un dispositivo de lógica reconfigurable (FPGA), que trabajando en forma conjunta
con una aplicación para una
computadora, tiene la capacidad de implementar distintos instrumentos. El diseño de la funcionalidad del instrumento es totalmente definido por el diseñador lo cual permite crear instrumentos convencionales y no convencionales. En el artículo se detalla el sistema de arquitectura RVI, así como algunos casos de instrumentos que han sido implementados sobre esta plataforma y esto son: modulador reconfigurable, osciloscopio, generador de ondas arbitrario y una interface de depuración para la plataforma RVI. [8]
(Olufemi Adeluyi, Maria Liz Crespo , Andres Cicuttin , Miguel Risco) en el artículo “Reconfigurable Standard and Ad-hoc Instrumentation using an FPGA Platform” En este artículo los autores muestran los diferentes instrumentos que han sido implementados utilizando la plataforma de Instrumentación virtual reconfigurable (RVI), diseñada por el laboratorio de Microprocesadores (MLAB) del Centro Internacional de Física Teórica (ICTP). Entre los instrumentos estándar desarrollados se encuentran un osciloscopio digital y un generador de ondas arbitrario y un trazador de curvas. Adicionalmente se presenta la implementación de un proyecto de Neurotelemetria utilizando 2 plataformas RVI, los cuales transmitían las señales neuronales de forma inalámbrica con la finalidad de estudiar las condiciones del cerebro. En el artículo, se detalla el funcionamiento de los instrumentos, así como los resultados que se han obtenido en cada caso. [9]
8
CAPÍTULO 1: FUNDAMENTO TEÓRICO En este capítulo, se explican los fundamentos necesarios para realizar el diseño de un instrumento virtual reconfigurable que permita obtener
las curvas I vs V de un
dispositivo semiconductor.
1.1 DISPOSITIVOS LÓGICOS RECONFIGURABLES FPGA
1.1.1
Introducción
El arreglo de compuertas programables en campo (Field Programmable Gate Array FPGA), son circuitos integrados digitales que tienen internamente bloques de lógica digital e interconexiones que son reconfigurables (ver Figura 1.1). Es decir que son programables en campo, lo que permite al diseñador definir la funcionalidad y las interconexiones de cada bloque, de tal forma que puede realizar distintas tareas [10]. Dependiendo de la tecnología de fabricación estos dispositivos pueden programarse una sola vez u varias veces.
Figura 1.1 Estructura básica de un FPGA1.
1
Ian kuon, Russell Tessier and Jonathan Hose. FPGA Architecture: Survey and Challenges, pp. 3-4
9
A diferencia de los microprocesadores que tienen un hardware definido y pueden implementar funciones por software, los FPGAs tienen los recursos lógicos necesarios para implementar funciones por hardware, como por ejemplo: Filtros Digitales tipo FIR, IIR, entre otros. 1.1.2
Arquitectura de una FPGA
Cada fabricante define la lógica que se va a implementar dentro de cada bloque reconfigurable en sus FPGAs. En adición, los FPGAs modernas contienen una gran variedad de diferentes recursos en hardware para ser usados en un diseño complejo (ver Figura 1.2). Estos pueden tener funciones específicas como multiplicadores, bloques de memoria, PLLs, DLLs, procesadores Hard-core y Soft-core, etc. [11] [12] [13]
Figura 1.2 Característica de la arquitectura de la FPGA Cyclone V de Altera2.
Los bloques configurables según el fabricante tienen un nombre en específico, en el caso de Altera se denominan LABs (Logic Array Blocks) (ver Figura 1.3) [14], que básicamente están compuestos de bloques conocidos como ALMs (Adaptive Logic Module) (ver Figura 1.4) [15] o LEs (Logic Elements) (ver Figura 1.5) [16] [17], los cuales pueden ser configurados para implementar funciones lógicas, funciones aritméticas y funciones de registros. 2
Arquitectura de la FPGA Cyclone V de Altera. [En línea]. Disponible en: http://www.altera.com/devices/fpga/cyclone-v-fpgas/overview/architecture/cyv-architecture.html. [Último acceso: 20 08 2014].
10
Figura 1.3 Bloque LAB para los FPGAs de la familia Arria V, Cyclone V y Stratix3.
3
Descripción del Bloque LAB de Altera [En línea]. Disponible en: http://quartushelp.altera.com/14.0/master.htm#mergedProjects/reference/glossary/def_alm.htm?GS A_pos=1&WT.oss_r=1&WT.oss=ALMs [Último acceso: 20 08 2014].
11
Figura 1.4 Diagrama de bloques de un ALM4 de alto nivel para dispositivos Cyclone V.
Figura 1.5 Elementos Lógicos (LEs) en la FPGA Cyclone IV5 .
Xilinx por su parte denomina a su bloque configurable como: CLB (Configurable Logic Block), el cuales tiene recursos para implementar funciones combinacionales y
4
Recursos del ALM de Cyclone V de Altera. [En línea].Disponible en: http://www.altera.com/literature/hb/cyclonev/cv_52001.pdf?GSA_pos=4&WT.oss_r=1&WT.oss=ALMs%20cyclone%20V [Último acceso: 20 08 2014]. 5 Recursos de un LEs en Cyclone IV.[En línea]. Disponible en:http://www.altera.com/literature/hb/cyclone-iv/cyiv-51002.pdf. [Último acceso: 20 08 2014].
12
secuenciales). Cada CLB está conectado a una matriz switch que accede a la matriz principal de ruteo.
Adicionalmente a esto, cada CLB posee 2 slices (ver Figura 1.6), que pueden ser del tipo SLICEL, SLICEM ó SLICEX [18].
Figura 1.6 Disposición de los slices dentro de un CLB6.
Entre los CLB existen una gran cantidad de elementos de interconexión líneas que pueden unir CLBs con otros CLBs, con líneas dedicadas de reloj, con bloques de Entrada y salida (IOB) que puede soportar estándares y protocolos incluyendo:
LVCMOS
LVDS
LVPECL
SSTL, entre otros.
6
Disposición de los Slices en un CLB.. [En línea].Disponible en: http://www.xilinx.com/support/documentation/user_guides/ug474_7Series_CLB.pdf [Último acceso: 20 08 2014].
13
La tecnología de programación de estos dispositivos [19] , se puede resumir en 3 tecnologías:
a)
SRAM
Flash
Anti-fuse
La tecnología SRAM, es utilizada ampliamente en los FPGAs de Xilinx, Altera y Lattice. En esos dispositivos una celda de memoria estática como la mostrada en la Figura 1.7, son distribuidas a lo largo del FPGA para proveer la configuración de los mismos.
(a)
(b)
(c) Figura 1.7 Uso de celdas de memorias estáticas. (a) Celda de memoria estática (b) Multiplexor con celda de memoria estática (c) Celdas de memorias estáticas y tabla lookup.
14
La tecnología es muy usada por sus dos principales ventajas: Su facilidad de reprogramación y el uso del proceso estándar de la tecnología CMOS en la fabricación. De esta forma se puede tener disponible los últimos avances tecnológicos en la fabricación como integración, velocidad y bajo consumo de energía.
Debido a la volatilidad de las celdas basadas en SRAM, se necesita un dispositivo externo que guarde los datos de configuración permanentemente, de modo las celdas de memoria, se configuren cada vez que se encienda. Muchos fabricantes de FPGAs, implementan algoritmos de encriptación en los datos de configuración, para proteger la propiedad intelectual de los desarrolladores y así reducir el riesgo de copia.
Actualmente algunas familias de FPGAs tienen bancos de memoria FLASH internamente, para que se puedan cargar la configuración hacia la SRAM sin necesidad de usar un dispositivo externo. [19]
b) La tecnología Flash, conserva la información de configuración a pesar que se desconecte la energía en el dispositivo, esto quiere decir que es no-volátil. Una de sus desventajas es que tiene un número limitado de programación a diferencia de la SRAM que puede ser programado un número indefinido de veces. [19]
c)
La tecnología Antifuse, considerados como la mejor tecnología con respecto a seguridad. Esta tecnología está basada en estructuras que tienen un elemento programable, el cual exhibe una resistencia muy alta bajo circunstancias normales, pero puede ser programado para que tenga una conexión de baja resistencia de forma permanente. El elemento programable, un antifuse, es directamente usado para transmitir las señales del FPGA. Estos tienen gran aplicación en el campo aeroespacial debido a que tiene una alta tolerancia a las radiaciones. [19]
15
Tabla 1.1 Resumen de las propiedades de programación de la tecnología7 SRAM
Tecnología
Última
Flash
Anti-fuse
Una o 2
Una o 2
generaciones
generaciones
antes
antes
Volátil
Si
No
No
Reprogramable
Si
Si
No
Configuración externa
Yes
No
No
Seguridad
Poca
Muy buena
Muy buena
6 transistores
1 transistor
0 transistores
Área(tamaño de elemento de almacenamiento)
Proceso de Fabricación
Programable en el sistema
Antifuse necesita
Estándar
Proceso Flash
CMOS
un desarrollo especial
Si
Si
No
~500 – 1000 Ω
~500 – 1000 Ω
~20 – 100 Ω
Capacitancia del Switch
~1-2fF
~1-2fF
90%
Resistencia del Switch
1.1.3
Lenguaje de descripción de hardware
Cada fabricante de FPGA brinda herramientas en software y hardware disponibles para poder realizar la programación de sus dispositivos. Xilinx por su parte tiene al ISE y al
7
R. T. a. J. R. Ian Kuon, FPGA Architecture: Survey and Challenges, vol. 2, Foundations and Trends in Electronic Design Automation, 2008, pp. 16
16
VIVADO para programar sus FPGAs, Altera posee al QUARTUS y Microsemi tiene al software Libero IDE y Libero SOC. Los lenguajes de descripción de hardware soportados comúnmente en estos compiladores son el lenguaje VHDL8 y el Verilog. Ambos ampliamente aceptados en la industria y en los estándares de la academia de diseño digital. Pero el VHDL tiene un poco más de popularidad cuando se trata de realizar diseños altamente complejos. [20]
a) Niveles de abstracción de hardware El lenguaje VHDL, tiene 3 niveles de abstracción en el diseño digital y estos son:
Comportamiento, describe la relación entre sus componentes y la interconexión entre ellos, en otras palabras se describe la forma en la cual se comporta el circuito. Se puede usar asignaciones secuenciales y concurrentes.
Flujo de datos, describe como se mueven los datos a través del sistema. Este modelo usa asignaciones concurrentes que se pueden ejecutar en paralelo desde el instante que el valor de una señal cambia.
Estructural, describe como la implementación como una composición de subsistemas de circuitos que están interconectados para realizar una determinada función.
Se puede realizar diseños mixtos con las combinaciones de todas o algunas de ellas.
8
VHDL es un acrónimo de Very High Speed integrated Circuit language (VHSIC) hardware description language (HDL).
17
b) Flujo de diseño en VHDL En la Figura 1.8, se puede apreciar el flujo de diseño típico en VHDL.
Figura 1.8 Flujo de diseño típico9.
9
Basado en el flujo de diseño del software Libero de Microsemi.
18
1. El bloque de entrada de Diseño, se puede usar código VHDL o captura esquemática, como el SmartDesign (Libero IDE) o diagram block/schematic File para el Quartus y el ISE. La herramienta de captura esquemática usa símbolos gráficos que son importados desde librerías provistas por el software, y es el diseñador quien los utiliza para la creación de un diagrama esquemático. [21, p. 54]
2. El bloque de Síntesis, reduce el nivel de abstracción de la descripción del circuito hasta convertirlo en una definición puramente estructural cuyos componentes son los elementos (compuertas lógicas, flip-flops, multiplexores, entre otros) de una determinada librería. Al finalizar el proceso se debe obtener un circuito que funcionalmente se comporte igual (Netlist), que la descripción que de él se ha hecho. Adicionalmente la herramienta de síntesis, genera un reporte detallado sobre que ha optimizado el sintetizador, recursos usados, tiempo y un análisis del circuito. El sintetizador permite la opción de optimizar el diseño en recursos ó velocidad. [22] 3. Place & Route (Ubicación y Ruteo), este proceso toma los elementos del netlist generados previamente por el sintetizador y un archivo de restricciones el cual asigna la posición física de los pines externos de entradas y salidas, para ubicar y asignar el diseño, en los recursos físicos del FPGA. La herramienta decide, en donde ubicar cada elemento en el arreglo del FPGA, minimizando la longitud total entre ellos con la finalidad de cumplir con los requisitos de interconexión. El ruteo es el que asigna los segmentos de caminos para la conexión entre los bloques lógicos y la salidas a los pines Al finalizar este proceso se produce un archivo bitfile, que es usado en la programación del FPGA. Durante el proceso del place and route, la herramienta produce varios reportes y de tal forma que se puede analizar si se ha cumplido con los requerimientos del diseño. Este proceso puede tomar de un tiempo de hasta horas para completarse, esto varía de acuerdo a la complejidad del diseño. [23] 4. Simulación, se analiza el comportamiento resultante, el requerimiento de tiempos y de potencia del diseño electrónico. 19
La simulación Pre-síntesis, es una simulación en donde se verifica el funcionamiento lógico del diseño, este considera un modelo de retardo cero para los elementos (No contiene información de los tiempos a nivel de elementos), debido a que busca la detección de errores lógicos y no de errores relacionados con problemas de tiempo en el diseño. [24]
La simulación Post-síntesis, es una simulación en donde se consideran los tiempos que le toma a los elementos del netlist (compuertas, flip-flops, entre otros) reflejar los cambios en su salida por algún cambio ocurrido en su entrada. A esto se le denomina retardo de propagación, información que es proveída por la herramienta de síntesis. [24]
La simulación Post-Place & Route, es una simulación más real, ya que considera los retardos de propagación de los elementos, las interconexiones entre los elementos y de los elementos a la salida de los pines externos. El efecto combinado de estos, muestra el impacto en la velocidad de operación del circuito, debido a que se está considerando las características internas y físicas del FPGA seleccionado, que han sido proporcionadas por el postplace and route. [24] [21, pp. 54-58]
Para realizar cualquiera de las simulaciones descritas anteriormente, se requiere de un archivo denominado Testbench, escrito especialmente para proveer los estímulos de entrada a la simulación. El resultado se refleja automáticamente en el monitor de salida del simulador.
Uno de las más potentes herramientas de simulación y verificación es el Modelsim de la compañía MENTOR GRAPHICS10, en donde se analiza el comportamiento y los requerimientos de tiempo resultante en las simulaciones Pre-síntesis, Post síntesis y Post-Place & Route. Existen versiones proporcionadas por Microsemi y Altera que están integradas a su software. Por
10
http://www.mentor.com/
20
otro lado se tiene la opción de utilizar los simuladores que vienen integrados su software.
5. Programación, realizada la simulación exitosa y para completar el proceso de diseño el paso siguiente es la grabación del dispositivo para realizar una verificación del hardware en la FPGA. Los datos de configuración del archivo bitfile, que ha sido creado anteriormente en la etapa post-place and route, se transfieren al dispositivo elegido FPGA, para configurar los recursos lógicos y atender las restricciones indicadas por el usuario. [25]
1.2 INSTRUMENTACIÓN VIRTUAL El sistema de la instrumentación electrónica tradicional, normalmente está constituido por un hardware dedicado, que realiza las tareas de adquisición, análisis, almacenamiento y visualización de datos. En la instrumentación virtual se hace el uso de la computadora personal PC, un hardware externo que permita la adquisición o generación de señales y un software para PC, que trabajando de forma conjunta constituyen al instrumento, de esta forma permite a los usuarios interactuar con la computadora como si estuviesen utilizando un instrumento convencional. [26]
Parte importante del instrumento virtual es el software, porque allí es donde se define tareas como: el almacenamiento, procesamiento, visualización e interpretación de los datos de una o más señales. Adicionalmente el usuario puede crear no sólo instrumentos convencionales, sino también instrumentos personalizados que se ajusten a la necesidad de la industria y el campo de la investigación científica.
El uso de la computadora como parte del instrumento aprovecha la alta capacidad computacional y de interconexión (USB, Ethernet, Serial, entre otros), que posee, permitiendo realizar sistemas de instrumentación que pueden ir desde un diseño simple a lo complejo. [27]
21
1.2.1
Arquitectura de un instrumento virtual.
La interfaz de presentación y control del instrumento que va a interactuar con el usuario puede ser:
Interfaz de usuario tipo terminal. Esta interfaz interactúa con la tarjeta de adquisición de datos usando mensajes textuales. La ventaja de esta interfaz es que no consume muchos recursos computacionales.
Interfaz gráfica de usuario (GUI). Es una interfaz creada con la finalidad de ser intuitiva y amigable para el usuario. Usa botones, gráficos, tablas, agujas para representar los valores medidos.
Interfaz de usuario multimedio. Una interfaz de este tipo podría interactuar con el usuario, no solamente en una pantalla, sino adicionalmente con sonidos y así darle información que actualmente está midiendo el instrumento. Ejm: un instrumento Virtual para análisis de las señales EEG.
La Figura 1.9, muestra la estructura de un instrumento virtual. [28]
Figura 1.9 Estructura general de un instrumento virtual11.
11
Estructura general de un instrumento virtual – creación propia.
22
La etapa de adquisición de datos, generalmente se encarga de:
Las conversiones de señales desde analógica a digital (ADC)
La comunicación con la PC.
Para ello debe tener un sistema que controle todo el flujo de adquisición y envío de datos, por medio del hardware de comunicación, este trabajo es fácilmente realizado por un microcontrolador. No todas las señales a adquirir están acondicionadas para conectarlas directamente a la tarjeta de adquisición de datos, es por ello que es necesario una etapa de acondicionamiento de señal, esta puede estar conformada de amplificadores, filtros, opto acopladores, etc. De esta forma se asegura que lleguen niveles aceptables de señales a la etapa de adquisición de datos. 1.2.2
Instrumentos Virtuales vs Instrumentos Convencionales.
La Tabla 1.2, muestra el resumen de la comparación entre los instrumentos virtuales y convencionales. Tabla 1.2 Instrumentos Convencionales vs Instrumentos Virtuales12 Instrumentos Convencionales
Instrumentos Virtuales
El fabricante define la función en Usuario define la aplicación, tipo de específico, y la conexión es limitada. conectividad y los periféricos. Hardware es la clave del instrumento
Software es la clave del instrumento
Muy caro
Bajo costo, reusable
Funcionalidad fija y cerrada
Funcionalidad flexible
El tiempo de desarrollo es lento
El tiempo de desarrollo es rápido
Alto costos de desarrollo y mantenimiento
Software minimiza los costos mantenimiento y desarrollo
12
por
Basado en: P. S. S. Sumathi, LabVIEW based Advanced Instrumentation Systems, New York: Springer, pp. 18
23
1.3 PLATAFORMA DE INSTRUMENTACIÓN VIRTUAL RECONFIGURABLE (RVI) La plataforma RVI [29], fue diseñada por el Centro Internacional de Física Teórica (ICTP) en el año 2006, con la finalidad de desarrollar una plataforma basada en FPGA diseñada especialmente para instrumentación, este sistema cuenta con recursos en hardware lo suficientemente potentes para implementar sistemas de instrumentación científicas. Ellos proporcionaron el hardware a algunos grupos de investigación de diferentes países para que puedan desarrollar instrumentos en la plataforma y de esta forma construir una comunidad alrededor del proyecto.
El nombre de plataforma de Instrumentación Virtual Reconfigurable es llamado por:
Instrumento Reconfigurable, debido a que tiene un dispositivo en hardware que puede ser reconfigurado (FPGA), en diferentes instrumentos electrónicos usando una herramienta en software.
Instrumento Virtual, ya que combina el software y el hardware para emular distintos tipos de instrumentos a través de una interfaz de usuario personalizada.
De modo que el sistema RVI, tiene la capacidad de poder configurar sub-sistemas tanto en hardware y software.
24
Figura 1.10 La arquitectura de hardware del subsistema de RVI13. La Figura 1.10, muestra la arquitectura del subsistema RVI. El software relacionado con la PC es llamado Software de Computadora (CS) y en lo que corresponde al código de configuración para la FPGA del Instrumento Reconfigurable (RI) es llamado código de descripción de Hardware Sintetizable (SHDC). [30]
1.3.1
Instrumento Reconfigurable (RI).
El instrumento reconfigurable se compone de la unión de la tarjeta RVI principal (RVI Main Board), con las tarjetas secundarias (Daugther Boards). Esta RI se configura en varios instrumentos o conjunto de instrumentos a través de la conexión entre el PC y la placa principal RVI (ver Figura 1.10).
La tarjeta RVI principal consta de:
FPGA ProASIC3E (A3PE1500)
Puertos de comunicación: Puerto paralelo, RS232,USB(Tipo A y B), Ethernet 10/100
13
Conectores para incorporar placas de expansión
RVI, System Architecture [En línea] Disponible en: http://mlab.ictp.it/rvi/system.html
25
Extensión para memoria SDRAM
Indicadores y pulsadores para control y depuración
Las Tarjetas secundarias, añaden la capacidad de adquirir y generar señales analógicas (ver Figura 1.11). Las tarjetas de secundarias, son de 2 tipos:
LP Data Conversion Daughter Board, 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 50 MSPS DAC (LTC1668, Linear)
Figura 1.11 Tarjeta RVI principal con 2 tarjetas secundarias LP Data Conversion Daughter Board14
14
Imagen disponible en : http://mlab.ictp.it/rvi/system.html
26
(a)
(b) Figura 1.12 Tarjetas secundarias (a) High performance (b) Low Performance.
1.3.2
Software de Computadora (CS)
En el software de computadora, básicamente se encuentra la interfaz de usuario con el cual se proporciona la terminal para la comunicación entre el usuario y el instrumento Reconfigurable (RI) y también proporciona la pantalla de visualización para el instrumento. Este envía y recibe información del RI, para su procesamiento, almacenamiento o interpretación. En la Figura 1.13, se muestra la arquitectura global del software del sistema RVI.
27
Figura 1.13 Arquitectura global del sistema RVI15.
1.3.3
Código de Descripción de Hardware Sintetizable (SHDC)
El código de descripción de hardware, principalmente permite la interconexión física entre la PC y los dispositivos en la RI (ADC, DAC, memoria, entre otros), para realizar operaciones como adquisición, generación, procesamiento de señales en tiempo real (filtros digitales, compresión, etc.). Adicional a esto la conexión facilita el intercambio de señales de control, mensajes de error, datos y reconocimientos entre los dispositivos externos a la FPGA, que se conectan al núcleo del instrumento.
15
RVI, System Architecture [En línea] Disponible en: http://mlab.ictp.it/rvi/system.html
28
1.4 ARQUITECTURA DE BUS SIMPLE (SBA) El SBA16, define un modelo de interconexión de los diferentes componentes o bloques, de una manera práctica y sencilla, permitiendo al usuario optimizar tiempo a la hora de realizar sus proyectos, sacrifica las complejidades que muestran otras implementaciones, con la finalidad de introducir con facilidad del concepto SoC en la FPGA, por lo que tiene un valor educativo inherente [31].
El SBA pretende ser una interface de propósito general; como tal, define el intercambio de datos entre módulos estándar o IP Cores. Se divide en 3 tipos de bloques principales [32]:
Núcleos IP Maestros
Núcleos IP Esclavos
Núcleos IP Auxiliares
1.4.1
Núcleos IP Maestros.
También denominado como SBAcontroller (ver Figura 1.14), es el encargado de controlar todo el flujo de datos en el bus. Todo sistema SBA tiene al menos 1 maestro.
Figura 1.14 Interconexión de un núcleo maestro17.
16
SBA significa Arquitectura de Bus Simple, esta arquitectura estaba basada en la especificación Whisbone. 17 Imagen disponible en : http://sba.accesus.com/home
29
1.4.2
Núcleos IP Esclavos.
Son núcleos que cumplen una función específica (ver Figura 1.15). Estos se pueden utilizar como unidades de procesamiento de datos, también como puentes entre el SoC y dispositivos externos al chip tales como memorias, ADCs, DACs, etc. Cada dispositivo esclavo posee una dirección establecida dentro del mapa de direcciones en el SBA.
Figura 1.15 Interconexión de un núcleo esclavo18.
1.4.3
Núcleos Auxiliares
Tienen como objetivo ayudar al núcleo maestro en las tareas de administración del Bus y de las señales de control.
Los núcleos auxiliares son:
Decodificador de Direcciones (AddrSpace), determina la posición de cada esclavo en el mapa de direcciones (ver Figura 1.16).
Syscon, es un núcleo opcional el cual tiene como propósito proporcionar una señal de reloj al sistema SBA y sincronizar la señal de inicialización (Reset).
18
Imagen disponible en : http://sba.accesus.com/home
30
DataIntf, es un núcleo que permite compartir el bus de datos de entrada del maestro con múltiples esclavos(ver Figura 1.17), se comporta como una entrada Tri-estado para que no se produzca algún tipo de colisión de datos internamente, de tal forma que este solo se encuentra habilitado, cuando el núcleo esclavo a ser leído también lo está.
Figura 1.16 Interconexión del AddrSpace19.
Figura 1.17 Interconexión del DataIntf20.
19 20
Imagen disponible en : http://sba.accesus.com/home Imagen disponible en : http://sba.accesus.com/home
31
CAPÍTULO 2: DISEÑO, SIMULACIÓN E IMPLEMENTACIÓN DEL INSTRUMENTO VIRTUAL RECONFIGURABLE: TRAZADOR DE CURVAS I VS V El desarrollo de este capítulo se centra en el diseño e implementación de un Trazador de Curvas I vs V como un instrumento virtual basado en una tarjeta de desarrollo que contiene una FPGA, y tal como se describieron sus componentes en el CAPÍTULO 1:. Las características internas de los FPGAs, permiten que se alcancen altas velocidades siempre y cuando se lleve una arquitectura óptima. El entorno de trabajo para la programación, simulación e implementación del hardware para el FPGA es el Libero de la empresa MICROSEMI, la interfaz de usuario es el Lazarus, y el diseño para el adaptador de señal fue realizado en ISIS y ARES de proteus.
2.1 DIAGRAMA DE BLOQUES DEL INSTRUMENTO El sistema emula un instrumento que puede graficar las características de corriente y voltaje de un dispositivo semiconductor, el instrumento consta de 3 partes: La interfaz de usuario en la PC, la plataforma RVI y un hardware externo denominado adaptador de señal (ver Figura 2.1), el cual ha sido diseñado para elevar las capacidades de corriente y voltaje en el proceso de adquisición de datos del dispositivo bajo prueba (DUT21).
Figura 2.1 Diagrama de bloques general del sistema22.
21 22
DUT acrónimo de Device Under Test ó dispositivo bajo prueba. Diagrama de bloques general del sistema – creación propia
32
Desde el punto de vista lógico, el sistema propuesto en esta tesis se divide en los siguientes bloques tal y como se muestra la Figura 2.2:
Figura 2.2 Esquema de flujo de datos23.
23
Esquema de flujo de datos – creación propia
33
En la interfaz de usuario de la PC, es donde están todos los procedimientos, funciones y la interfaz virtual del instrumento donde se va a visualizar los resultados de la adquisición de datos. Este también va a generar los comandos que serán enviados por medio de la Interfaz de comunicación (PC) hacia la plataforma de la RVI.
La Interfaz de comunicación en la PC. Este bloque representa la capa física mecánica y eléctrica que hace posible la transmisión y recepción de los datos entre la PC y la plataforma RVI.
La Interfaz de comunicación en la plataforma RVI, este bloque tiene la misma función que la interfaz de comunicación (PC), con la única diferencia que se encuentra implementada en la plataforma RVI.
Núcleo del instrumento. Este bloque que se encuentra dentro de la plataforma RVI, es el encargado de administrar todo el sistema de control y flujo de datos en la FPGA, de tal forma que este funcione de manera adecuada y a su máxima velocidad. Dentro de este bloque se encuentra el algoritmo del procesamiento de los datos del instrumento, la función de Transmisión y recepción de datos y una función encargada crear una trama de configuración para la generación de señales con los conversores D/A de la plataforma RVI.
A/D y D/A. Son los conversores Análogo-digital y Digital – Análogo que permiten la generación y adquisición de señales analógicas.
Etapa de conversión de voltaje. Este bloque incrementa la relación de voltaje de la salida del conversor Análogo-Digital, pero con un nivel de corriente bajo.
Etapa de potencia. Eleva la capacidad de suministro de corriente.
Etapa reductora de voltaje. Este bloque reduce señales de rangos elevados a niveles apropiados por el conversor A/D. 34
2.2 ETAPA DE DISEÑO La implementación del instrumento virtual reconfigurable: Trazador de Curvas, se divide principalmente en el desarrollo de tres etapas:
Desarrollo de la interfaz de usuario(GUI)
Desarrollo del código de descripción de hardware sintetizable
Desarrollo del adaptador de señal
2.2.1
Desarrollo de la interfaz de usuario(GUI)
La interfaz de usuario ha sido desarrollada en Lazarus que es una herramienta de desarrollo rápido de aplicaciones (RAD) basada en el lenguaje de programación Object Pascal, disponible para los sistemas Windows, GNU/Linux y Mac OS X. Esta herramienta es muy potente y ha demostrado que se puede hacer aplicaciones complejas para Instrumentación Virtual. La interfaz de usuario desarrollada cuenta con botones de control y procesamiento de las curvas.
El proceso del funcionamiento que se desarrolla está conformado por 2 partes: La primera, es el TEST en donde se determina los niveles de la generación de las señales (estímulos), para someter al dispositivo bajo prueba (DUT) y la segunda es la parte de ANÁLISIS, en donde se puede cargar y analizar las curvas previamente adquiridas.
El diagrama de flujo de la Figura 2.3, Figura 2.4 y Figura 2.6, muestra el funcionamiento de la interfaz de usuario del trazador de curvas.
35
Figura 2.3 Diagrama de flujo de la etapa TEST24.
La parte TEST, es la encargada de ingresar parámetros iniciales, límites de voltaje, número de curvas y de gestionar el inicio (Start) y parada (Stop) de la prueba. Antes de cada adquisición siempre se verifica si el GUI, está conectado al hardware. 24
Diagrama de Flujo de la etapa TEST – creación propia
36
El parámetro BASE y COLECTOR, se refiere a los valores que son programados en los 2 canales del DAC, para generar un voltaje a su salida. Los voltajes generados son conectados a las entradas del hardware de adaptación de señal, que convierte los niveles de voltaje de entrada a voltajes más elevados, tal y como se indica en el capítulo 2.2.3. Por lo tanto, en el hardware de adaptación de señal, existe dos señales de voltajes que varía de forma proporcional con la variación del parámetro BASE y COLECTOR, a la cual denominaremos voltaje en el CANAL BASE y CANAL COLECTOR , que son empleados como estímulos, al momento de realizar una adquisición de datos del DUT.
Figura 2.4 Procedimiento de obtención de una curva I vs V25. 25
Procedimiento de obtención de una curva I vs V – creación propia
37
El LTC1654, posee 2 DAC de 14 bits de resolución y puede generar señales en el rango de 0 a 3.3V, en el diseño se ha considerado solo utilizar los 8 bits más significativos, de tal forma que se tendrá una señal codificada en 256 niveles. Las señales generadas pueden tomar cualquier forma que se encuentran determinadas por el valor fijado en los parámetros BASE y COLECTOR.
En la Figura 2.5 (a), se muestra la forma de variación de los valores que debe tomar el parámetro BASE y en la Figura 2.5 (b) para el parámetro COLECTOR, datos que son enviados a través de la interfaz de comunicación hacia el hardware de la plataforma RVI para que se generen las señales utilizando los conversores Digital-Análogo (DACs26) y el adaptador de señal.
(a)
(b)
Figura 2.5 Formas de variación de datos para la obtención de una curva I vs V27 (a) Variación del parámetro BASE (b) Variación del parámetro COLECTOR.
Donde n, es la cantidad de niveles que se pueden generar en DAC y para nuestro caso está en rango de 0 𝑎 255 . De la Figura 2.5 , el parámetro BASE se debe mantener a un valor constante entre 0 𝑦 255 , mientras con el parámetro COLECTOR, se realiza un barrido de valores en forma ascendente. Los valores recibidos provenientes de la
26 27
DACs acrónimo de Digital Analog Converter. Formas de variación de datos para la obtención de una curva I vs V – creación propia.
38
plataforma RVI y el adaptador de señales son procesados, almacenados y visualizados, antes de comenzar de nuevo el proceso. El estudio de los resultados de los transistores, es uno de los objetivos de este instrumento por lo que el diseño tiene herramientas como cursores especiales, funciones que analizan los datos de la gráfica, para determinar el punto de operación en las curvas de un diodo (DLL) y un transistor (TLL) y las ganancias en el caso de un transistor bipolar (GAIN).
La Figura 2.6, muestra el diagrama de flujo de la opción de análisis que tiene el software.
Figura 2.6 Etapa de análisis28.
28
Etapa de análisis – creación propia
39
2.2.2
Desarrollo del código de descripción de hardware sintetizable
Existen diversos lenguajes y herramientas de software que realizan una descripción del hardware, entre los más populares está el lenguaje Verilog y el VHDL. En este caso se ha elegido el lenguaje VHDL, como base para el diseño, debido a que se tiene conocimiento del mismo. Las licencias disponibles para el diseño, simulación e implementación del sistema, son de uso libre.
Los fabricantes de las FPGAs brindan algunas herramientas software de descripción de hardware, para el diseño, simulación, síntesis e implementación, para que los diseñadores puedan realizar sus trabajos de una manera gratuita. La empresa MICROSEMI, con sus FPGAs de la marca ACTEL, da la opción de poder adquirir una licencia GOLD que tiene un tiempo de caducidad de un 1 año, y aunque sea una versión gratuita, permite realizar todo el proceso de diseño.
a) Diseño del hardware sintetizable usando la Arquitectura de Bus Simple (SBA)
El diseño realizado para el trazador de curvas, se basa en una estructura de bloques (IP Cores) independientes, similar a los sistemas en chip (System on Chip - SoC29). Esta máquina de estado compleja que hace las veces de controlador del sistema se encuentra dentro de una disposición a la que se le denomina Arquitectura de Bus Simple (SBA).
29
Edited by Bashir M. Al-Hashimi, System on Chip,Next generation Electronics, 2008
40
Figura 2.7 Sistema implementado usando la SBA30.
Adicionalmente a los bloques presentados en el capítulo 1.4, el sistema implementado posee los siguientes núcleos adicionales:
DAC Adapter: Bloque para controlar el convertidor Digital Análogo LTC1654 de 14 bits de resolución que viene integrado en la tarjeta Low Performance Daughter de la RVI.
ADC Adapter: Bloque para controlar el convertidor Análogo Digital AD9201 de 10 bits de resolución que viene integrado en la tarjeta Low Performance Daughter de la RVI.
Display de 7 Segmentos Adapter: Bloque para controlar los 4 displays de 7 segmentos que vienen integrados en la RVI.
UART Adapter: Este bloque se encarga de la comunicación serial, tanto para el envío como para la recepción de datos.
30
Sistema implementado en SBA – creación propia
41
En la Figura 2.8, se muestra la secuencia que realiza el controlador del sistema en la adquisición de señales. El controlador recibe la trama proveniente del puerto serial utilizando el núcleo IP UART Adapter que una vez validada la trama lo envía para escribir en los DACs a través del núcleo DAC Adapter. Para que el valor se estabilice a la salida del DAC, tiene que pasar un tiempo de estabilización de 2us, pasado este tiempo, el sistema se encuentra apto para realizar la adquisición de señales con los ADCs, el controlador del sistema a través del ADC Adapter realiza la lectura de los canales del ADC, para luego se envíen por el puerto serial.
Figura 2.8 Diagrama de flujo del controlador del sistema (SBAcontroller)31. 2.2.3
Desarrollo del adaptador de señal
Las señales generadas por el conversor Digital Análogo (DAC), que se encuentra en la tarjeta secundaria de la RVI, tiene limitaciones en corriente y voltaje, estos no pueden conectarse directamente para estimular al DUT y es necesario una etapa intermedia (adaptador de señal) para generar voltajes y corrientes apropiadas para la caracterización de dispositivos como:
31
Transistores bipolares (NPN y PNP)
Transistores de efecto de campo de juntura (FET) de canal P y N.
Transistores MOSFET (Metal Oxido Semiconductor) del tipo P y N.
Diodos.
Diagrama de flujo del Controlador del Sistema (SBAcontroller) – creación propia
42
En el diseño del adaptador de señal, se debe considerar que el rango máximo de voltaje y corriente de los DAC, en el caso del voltaje de salida está entre 0 y 3.3V y la corriente de salida muy pequeña en el rango de los uA [33], para que los niveles de tensión generados se mantengan con la mayor estabilidad posible.
En la Figura 2.9, se muestra la solución en bloques para cumplir con todos las exigencias del prototipo.
Figura 2.9 Diagrama de bloques del adaptador de señal32. Estos principalmente constan de 3 etapas:
Etapa de conversión de voltaje
Etapa de Potencia
Etapa reductora de voltaje
a) Etapa de conversión de voltaje Esta etapa tiene como finalidad poder generar un voltaje de –10V a +10V, a partir de los niveles de tensión de los DAC de la tarjeta RVI. Los voltajes que pueden ser programados en los DACs de la tarjeta RVI, oscilan entre 0 y 3.3V, la etapa de conversión, debe ser capaz de poder generar con el valor de 0 voltios, un voltaje negativo de -10V y con un valor de 3.3V, un voltaje positivo de +10V. Se configura el OPAMP
32
Diagrama de bloques del adaptador de señal – creación propia
43
como amplificador no inversor con la opción de agregarle un offset de voltaje de tal forma que se puedan generar los voltajes positivos y negativos a la salida del dispositivo.
El circuito de la Figura 2.10, muestra la solución sugerida para este caso.
Figura 2.10 Esquema del circuito de la etapa de conversión33. Donde la salida se encuentra determinado por: 𝑅4 + 𝑅3 + 𝑅1 //𝑅2 𝑅2 𝑅4 𝑉𝑜𝑢𝑡 = 𝑉𝑖𝑛 ( ) − 𝑉𝑅𝐸𝐹 ( )( ) 𝑅3 + 𝑅1 //𝑅2 𝑅1 + 𝑅2 𝑅3 + 𝑅1 //𝑅2
(1)
En este caso: 𝑉𝑜𝑢𝑡 = 𝑚 ∗ 𝑉𝑖𝑛 + 𝑏
(2)
Haciendo la comparación entre ambas ecuaciones, se determina que:
33
𝑅4 + 𝑅3 + 𝑅1 //𝑅2 𝑚=( ) 𝑅3 + 𝑅1 //𝑅2
(3)
𝑅2 𝑅4 |𝑏| = 𝑉𝑅𝐸𝐹 ( )( ) 𝑅1 + 𝑅2 𝑅3 + 𝑅1 //𝑅2
(4)
Esquema del circuito de la etapa de conversión – creación propia
44
Para nuestro caso, las especificaciones del diseño se muestran en la Tabla 2.1:
Tabla 2.1 Especificaciones del diseño de la etapa de conversión de voltaje VDAC (V)
Etapa de Conversión (Vout)
0
- 10V
3.3
+ 10V
Condiciones: 1.
Si, Vin = 0V y Vout = -10V −10 = 𝑚 ∗ 0 + 𝑏 𝑏 = −10
2.
Si, Vin= 3.3V y Vout = +10V 10 = 𝑚 ∗ 3.3 − 10 𝑚 = 6.06061
Si se asume que R1//R2
View more...
Comments