Documento de Proyecto de Grado - Uniandes

54
Proyecto de Grado Aplicación de la tele instrumentación para el desarrollo de laboratorios a distancia y manejo de instrumentos Ernesto Vanegas Suárez Asesor: Ing. Mauricio Guerrero UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERÍA Y ELECTRÓNICA PROYECTO DE GRADO Bogota DC 2004 ©

Transcript of Documento de Proyecto de Grado - Uniandes

Page 1: Documento de Proyecto de Grado - Uniandes

Proyecto de Grado

Aplicación de la tele instrumentación para el desarrollo de laboratorios a distancia y manejo de instrumentos

Ernesto Vanegas Suárez Asesor: Ing. Mauricio Guerrero

UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERÍA Y ELECTRÓNICA PROYECTO DE GRADO Bogota DC 2004 ©

Page 2: Documento de Proyecto de Grado - Uniandes

Resumen El objetivo del proyecto es diseñar una plataforma sobre la cual se puedan realizar mediciones y configuraciones de diferentes dispositivos por medio de Internet. Permitir manipular instrumentos y realizar mediciones didácticas que permitan al usuario entender conceptos o realizar trabajos sin estar en un laboratorio. Para esto se utilizarán instrumentos GPIB conectados a diferentes prácticas a través de un sistema de interconexión configurable. Todo será controlado por un servidor que manejará las conexiones TCP/IP de clientes entrantes y el bus GPIB. La arquitectura base fue diseñada y se ha implementado el sistema de interconexión. El software de interfaz de usuario y acceso al laboratorio se encuentra en una fase básica.

Page 3: Documento de Proyecto de Grado - Uniandes

Tabla de Contenido

1. Introducción ............................................................................................................ 5 1.1 Introducción General ..................................................................................... 5 1.2 Objetivos.......................................................................................................... 6

1.2.1 Objetivos Generales................................................................................ 6 1.2.2 Objetivos Específicos.............................................................................. 6

2. Marco Teórico......................................................................................................... 6 2.1 Otros Laboratorios del Mundo ..................................................................... 6

2.1.1 Weblab del MIT (Massachusetts Institute of Technology) [1] ........... 6 2.1.2 “The Telelabs Project” [2] ..................................................................... 7 2.1.3 DIRECT (DIstant Reality Environment for Control Teaching) [3] .. 9 2.1.4 Laboratorio para la enseñanza de Robótica [4]................................. 10

2.2 GPIB [5]......................................................................................................... 11 2.2.1 Historia del GPIB ................................................................................. 11 2.2.2 ¿Cómo Funciona? ................................................................................. 12 2.2.3 Características físicas del GPIB .......................................................... 13 2.2.4 Tipos de Conexión de Instrumentos GPIB......................................... 15 2.2.5 Requerimientos de Configuración ...................................................... 16 2.2.6 Protocolo de Direccionamiento del GPIB [6] ..................................... 16

3. Desarrollo .............................................................................................................. 17 3.1 Planteamiento de una Arquitectura............................................................ 17 3.2 Diseño de los Módulos. ................................................................................. 21

3.2.1 Sistema de Interconexión ..................................................................... 21 3.2.1.1 Definición de la Arquitectura .......................................................... 21 3.2.1.2 Modulo GPIB .................................................................................... 23 3.2.1.3 Matriz de Switches ........................................................................... 28 3.2.1.4 Matriz de Relés ................................................................................. 29 3.2.1.5 Control del Sistema .......................................................................... 29

3.2.2 Servidor ................................................................................................. 32 3.2.2.1 Definición de una arquitectura........................................................ 32 3.2.2.2 Manejo Clientes ................................................................................ 32 3.2.2.3 Manejo GPIB .................................................................................... 33 3.2.2.4 Control del Servidor......................................................................... 33 3.2.2.5 Base de Datos .................................................................................... 33

3.2.3 Cliente .................................................................................................... 34 3.2.4 Practicas ................................................................................................ 34 3.2.5 Instrumentos ......................................................................................... 34

3.3 Protocolos de Comunicación entre Módulos.............................................. 35 3.3.1 Servidor – Sistema de interconexión................................................... 35 3.3.2 Servidor – Instrumentos ...................................................................... 36 3.3.3 Servidor – Practicas.............................................................................. 36 3.3.4 Servidor - Cliente.................................................................................. 36

4. Resultados ............................................................................................................. 37 4.1 Sistema de Interconexión ............................................................................. 37

4.1.1 Control del Sistema .............................................................................. 38

Page 4: Documento de Proyecto de Grado - Uniandes

4.1.2 Modulo GPIB ........................................................................................ 38 4.1.3 Matriz de Relés ..................................................................................... 41

4.2 Servidor ......................................................................................................... 43 5. Conclusiones.......................................................................................................... 44 6. Perspectivas ........................................................................................................... 44 7. Bibliografía y Referencias.................................................................................... 45 8. Anexos.................................................................................................................... 46

8.1 Tabla de Comandos de Interfase GPIB [6] ................................................ 46 8.2 Esquemáticos Finales del Sistema de Interconexión ................................. 48 8.3 Hojas de datos de los dispositivos utilizados [10,12,13] ............................ 51

Page 5: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 5 -

1. Introducción 1.1 Introducción General

Con el reciente crecimiento de la educación a distancia en Colombia y el mundo, siempre los educadores se han preguntado si la falta de experiencias prácticas y táctiles, dentro de un laboratorio, afecta el aprendizaje de los estudiantes. Este cuestionamiento llevo a diferentes investigadores y pedagogos a realizar actividades que pudieran elaborarse a distancia y reemplazaran la experiencia del estudiante en un laboratorio real. Aparecieron dos tipos de laboratorios a distancia. El primer tipo es el de aquellos laboratorios remotos completamente virtuales, en los cuales se simula el comportamiento de los instrumentos. El segundo tipo de laboratorios son aquellos laboratorios a distancia reales. Estos laboratorios son más complejos. Ellos tienen sus instrumentos ubicados físicamente en alguna parte, toman las mediciones y devuelven al usuario la información obtenida. Considerando que aunque son mucho mas frecuentes los laboratorios virtuales por su menor costo, los laboratorios reales son mucho mas apreciados. Esto se debe a varias ventajas como son:

• La facilidad de crear nuevas practicas dado que los instrumentos ya se encuentran.

• Se pueden analizar cosas que ocurren en la realidad como el ruido.

• Se pueden hacer mediciones de dispositivos reales, difíciles de simular como

son antenas y dispositivos lógicos muy grandes. En el caso de los laboratorios remotos de electrónica se ha venido utilizando a lo largo de los últimos años en diversos temas. Los temas más recurrentes de enseñanza en laboratorios a distancia de electrónica son el control y la microelectrónica. El objetivo de este proyecto de grado fue iniciar una base para un laboratorio a distancia real de electrónica para la Universidad de Los Andes. El alcance básico al que se desea llegar es a una configuración mínima que siente las bases de un sistema más complejo, como una plataforma sobre la cual se pueda ir incrementando. Se trabajará en toda la parte de comunicaciones entre instrumentos, computador y el modulo de interconexiones del sistema.

Page 6: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 6 -

1.2 Objetivos 1.2.1 Objetivos Generales

• Lograr una comunicación y control a distancia con dispositivos que no se

encuentren físicamente cerca; permitiendo lectura de información y configuración de variables de manera remota.

• Desarrollar un sistema, hardware y software, que permita la configuración de prácticas y su correcta validación a distancia, a través de Internet.

1.2.2 Objetivos Específicos

• Desarrollar una tarjeta que permita la conexión remota de instrumentos y prácticas configurables a través de Internet.

• Desarrollar un servidor básico, que permita la atención de usuarios y la

configuración de prácticas.

2. Marco Teórico

2.1 Otros Laboratorios del Mundo 2.1.1 Weblab del MIT (Massachusetts Institute of Technology) [1]

El Weblab del MIT es un laboratorio enfocado principalmente en la caracterización de dispositivos semiconductores. Este laboratorio fue diseñado persiguiendo principalmente dos metas:

• Entregar una buena experiencia educacional en caracterización de dispositivos semiconductores a computadores remotos.

• Tener la habilidad de llegar a un gran número de estudiantes así como a distintos cursos.

Page 7: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 7 -

La arquitectura de este laboratorio es la siguiente:

Figura 1. Arquitectura del Weblab

Este laboratorio utiliza un servidor que controla las conexiones de los usuarios desde Internet y a través de un bus GPIB maneja dos instrumentos principales. Estos instrumentos son:

• HP 4155B: Este instrumento fabricado por Hewlett-Packard tiene como función la caracterización DC de dispositivos y materiales semiconductores. Permite el análisis mediante graficas. Permite la programación de cualquier estimulo a muy alta resolución. Este instrumento tiene un costo de aproximadamente 76.000$ dólares1.

• HPE5250A: Este instrumento multiplexa hasta ocho diferentes dispositivos

dentro del sistema. Es una matriz de switches fabricada por Hewlett-Packard. El instrumento habilita al usuario escoger uno de ocho posibles dispositivos para ser caracterizados. La matriz entonces conecta el dispositivo escogido al HP4155B.

2.1.2 “The Telelabs Project” [2]

Este laboratorio fue diseñado para trabajar como tema principal en robótica y en particular en un robot fabricado por ABB (Asea Brown Bovery). Dado que ellos deseaban poder monitorear el robot mediante video, ubicaron una cámara dentro del laboratorio la cual envía imágenes hacia el cliente del robot. La arquitectura y el software diseñado para este laboratorio fueron diseñados para minimizar el trabajo requerido para conectar cualquier dispositivo a Internet. Este laboratorio decidió utilizar Java Applets para la comunicación del laboratorio con sus

1 http://www-mtl.mit.edu/~alamo/weblab/pages/additionalinfo.html

Page 8: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 8 -

usuarios. Esto debido a que los Java Applets, a diferencia del otro método común, denominado CGI (Common Gateway Interface) utiliza solicitudes HTTP y estas solicitudes solo pueden ser realizadas por el navegador del usuario. Lo cual obligaría a que el usuario esté constantemente actualizando la información dentro de su navegador y que en casos donde no exista nueva información el servidor estaría gastando sus recursos inútilmente. Esto se soluciona gracias a los Java Applets los cuales permiten una comunicación constante entre el computador del usuario y el servidor del laboratorio. El robot utilizado en este laboratorio de robótica se ilustra en la siguiente foto:

Figura 2. Robot de The Telelabs Project

La arquitectura de este laboratorio esta basada en Message Oriented Middleware (MOM). El centro del laboratorio es un servidor que enruta todos los mensajes del laboratorio. Este servidor es conocido como el servidor MOM.

Figura 3. Arquitectura de The Telelabs Project

Page 9: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 9 -

La interfaz con el usuario permite ver constantemente la posición del robot mediante fotos y enviarle comandos, además de tener un área de Chat para poder hablar con otras personas que estén conectadas al laboratorio.

Figura 4. Interfaz Hombre-Maquina

2.1.3 DIRECT (DIstant Reality Environment for Control Teaching) [3]

Este laboratorio busca enseñar principalmente control y ayuda a que los usuarios implementen cualquier ley de control, elaborada por ellos dentro de algún software como Matlab o Simulink, en alguno de los sistemas de control que tienen dentro del laboratorio. Hasta el momento tienen dos experimentos, el péndulo invertido y un motor DC. Esto presenta la ventaja de poder comparar la simulación lineal, el modelo no lineal y el experimento real pudiendo ver, entre otros, los efectos de no linealidades que no fueron modeladas y la dinámica que se omitió. La arquitectura de este laboratorio es la siguiente:

Figura 5. Arquitectura de DIRECT

Page 10: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 10 -

En este laboratorio se utilizan varios computadores como servidores cada uno de ellos con una función importante:

• Tutorial Server: Este servidor es un clásico servidor Web con información sobre como usar el laboratorio y todos los archivos y claves que se requieren para acceder al laboratorio.

• Reservation Server: Este es el centro de control del laboratorio. Este servidor

conoce los experimentos disponibles y los usuarios conectados. Habilita a los usuarios a usar los experimentos y está siempre pendiente de posibles errores en los experimentos.

• Experiment: Este es un computador con la interfaz necesaria para manejar el

experimento físico. Lee y envía la información obtenida del experimento. Este módulo tiene una arquitectura en si mismo:

Figura 6. Arquitectura del Módulo Experimento

Utilizando un procesador se manipula el dispositivo físico. Este procesador se comunica con un computador el cual realiza la interfaz con el servidor y el computador del estudiante.

2.1.4 Laboratorio para la enseñanza de Robótica [4] Este laboratorio se enfatizó en la enseñanza de robótica porque a diferencia de campos de enseñanza tradicionales, la robótica todavía es un área emergente. Existen muy pocos programas de postgrado y muchos menos de pregrado. Los cursos existentes son nuevos y están abiertos a cambios rápidos y nuevas metodologías. La arquitectura de este laboratorio tiene como actor central un servidor de Internet que hace las veces de transmisor de órdenes al robot. El servidor y el robot se comunican a través de radiofrecuencia.

Page 11: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 11 -

Figura 7.Arquitectura del Laboratorio de robótica.

2.2 GPIB [5]

El Standard mundial de conexión de varios instrumentos mediante un bus es el GPIB. Permite conectar múltiples instrumentos de manera eficiente. Dentro del laboratorio existen varios instrumentos con interfaz GPIB, esto motivo a escoger el GPIB como el bus de control e interconexión dentro del laboratorio. A continuación se presenta este bus más a fondo.

2.2.1 Historia del GPIB

GPIB proviene de las siglas en ingles de General Purpose Interfase Bus. El GPIB original fue desarrollado en 1965 por Hewlett-Packard para conectar y controlar instrumentos programables que Hewlett-Packard fabricaba. Hewlett-Packard decidió llamar a este bus HP-IB (Hewlett-Packard Interface Bus). Con la introducción de controladores digitales y equipo de medición y prueba programable la necesidad por un Standard empezó a aumentar dentro de la comunicación entre instrumentos y controladores de diferentes vendedores. En 1975, El Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) publico el Standard ANSI/IEEE 488 – 1975, basado en el bus desarrollado por Hewlett-Packard. En 1978 el Standard fue revisado principalmente para claridad editorial. Este Bus es usado ahora mundialmente y es conocido por tres nombres:

• GPIB (General Purpose Interface Bus)

Page 12: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 12 -

• HPIB (Hewlett-Packard Interface Bus) • IEEE 488 Bus

Dado que el documento original IEEE 488 no contenía guías para una sintaxis preferida y convenciones de formato, el trabajo continuó para aumentar la compatibilidad y la configurabilidad entre sistemas de prueba. Este trabajo resulto en un Standard suplementario, IEEE 488.2, Códigos, Formatos, Protocolos y Comandos Comunes, para el uso con el IEEE 488 el cual fue renombrado como IEEE 488.1. El Standard IEEE 488.2 se construye sobre el IEEE 488.1 definiendo un conjunto mínimo de capacidades de interfaz, un conjunto de códigos y formatos comunes, un protocolo de mensajes entre dispositivos, un conjunto genérico de comandos necesitados comúnmente y un nuevo modelo de reportar el estado de los dispositivos. En 1990, la especificación IEEE 488.2 incluyo un documento con los Comandos Standard para Instrumentación Programable (SCPI). SCPI define comandos específicos que cada clase de instrumento debe obedecer. Entonces SCPI garantiza una compatibilidad y configurabilidad completa del sistema entre estos instrumentos. Ya no es necesario aprender un diferente conjunto de instrucciones para cada instrumento en un sistema que cumpla con SCPI y es fácil reemplazar un instrumento de un vendedor al de otro.

Figura 8. Historia resumida del GPIB [7].

2.2.2 ¿Cómo Funciona?

Los dispositivos con interfaz GPIB se comunican entre si enviando mensajes que dependen de cada dispositivo y mensajes de interfaz.

• Los mensajes que dependen de cada instrumento son los datos o mensajes de datos. Contienen información específica de cada instrumento, como instrucciones de programación, resultados de mediciones o archivos.

• Los mensajes de interfaz controlan el bus. Usualmente denominados comandos

o mensajes de comandos. Estos comandos tienen funciones como inicializar el bus, direccionar dispositivos o habilitar dispositivos para programación local o remota.

Page 13: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 13 -

Los dispositivos GPIB pueden ser “Parlantes” (Talkers), “Oyentes” (Listeners) o “Controladores” (Controllers). Un talker, como su nombre lo indica, envía datos a través del bus a uno o más listeners, los cuales reciben estos datos. El controlador envía comandos a todos los dispositivos manejando el flujo de información en el bus GPIB. El controlador para establecer una comunicación entre dos dispositivos debe decir entonces quien va a hablar y quien va a escuchar (Talker y Listener) direccionando cada uno de los dispositivos e indicándole que función va a realizar a continuación. Una vez el mensaje del talker es recibido por el listener el controlador puede configurar de nuevo el bus para conseguir otro flujo de información.

2.2.3 Características físicas del GPIB El bus GPIB se conforma de veinticuatro líneas en las cuales se maneja lógica inversa con niveles de salida TTL; dieciséis de ellas son líneas de señal y ocho son líneas de tierra. Estas dieciséis líneas de señal se pueden subdividir de la siguiente manera:

• líneas de datos: Son ocho líneas por donde se transmiten los bytes de información. Estos bytes pueden ser de datos o de comandos. Estas líneas son llamadas DIO1-DIO8.

• líneas de handshaking: Con estas líneas se realiza la sincronización del envío

de la información. o NRFD: Not Ready For Data, Esta línea indica cuando un dispositivo

esta listo o no para recibir un byte. Es utilizada por todos los dispositivos dentro del bus cuando se envían comandos y utilizada por los listeners cuando se envían datos.

o NDAC: Not Data Accepted, Esta línea indica cuando un dispositivo ha aceptado o no un byte enviado. Es utilizada por todos los dispositivos dentro del bus cuando se envían comandos y utilizada por los listeners cuando se envían datos.

o DAV: Data Valid, Esta línea indica cuando un byte ubicado en las líneas de dato ya son estables (Validas) y pueden ser leídas por los dispositivos. El controlador utiliza DAV cuando envía comandos y el talker cuando se envían datos

• líneas de manejo de interfaz: Estas líneas manejan el flujo de información

dentro del bus. o ATN: Attention, esta línea indica cuando el controlador va a enviar

comandos dentro del bus. Si esta en cero (uno lógico) significa que se van a enviar comandos, si esta en uno (cero lógico) se van a enviar datos. Solo es usada por el controlador.

o IFC: Interface Clear, es usada por el controlador para inicializar el bus. o REN: Remote Enable, es usada para ubicar a los dispositivos en

programación remota o local. Es usada por el controlador. o SRQ: Service Request, es usada por cualquier dispositivo dentro del bus

para solicitar servicio del controlador asincrónicamente. o EOI: End Or Identify, esta línea tiene dos propósitos, el primero es que

el talker marque el fin de una cadena de bytes enviados, el segundo es

Page 14: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 14 -

usado por el controlador para decirle a los dispositivos que identifiquen su respuesta en un sondeo paralelo.

Figura 9. Grupos de señales del GPIB

Figura 10. Conector y asignación de pines del GPIB

Page 15: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 15 -

2.2.4 Tipos de Conexión de Instrumentos GPIB

Existen dos formas clásicas de conectar los instrumentos en un bus GPIB. Se pueden usar cualquiera de las dos o una combinación de las dos:

Figura 11. Conexión de Instrumentos Lineal

4 Figura 12. Conexión de Instrumentos Estrella

Page 16: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 16 -

2.2.5 Requerimientos de Configuración

Existen ciertos requerimientos físicos para lograr que el bus logre un buen desempeño. Estos son:

• Máximo de 15 dispositivos conectados. • Deben estar encendidas las dos terceras partes de los instrumentos. • Máxima separación entre instrumentos: 4 metros. • Separación promedio: 2 metros. • Para alcanzar desempeño a altas velocidades no se puede tener más de 15

metros de cable en total.

2.2.6 Protocolo de Direccionamiento del GPIB [6] El GPIB tiene ocho líneas de datos, las cuales son usadas para enviar información un byte a la vez. Los comandos usan 7 de estos ocho bits como se muestra en la siguiente figura:

Tabla 1. Protocolo de Direccionamiento GPIB

Los bits del 0 al 4 indican la dirección primaria del dispositivo, para el cual la asignación de talker o listener es dirigida. Si el bit 5 esta en uno, el dispositivo debe escuchar. Si el bit 6 esta en uno el dispositivo debe hablar. El bit 7 es ignorado. Cada dispositivo dentro del bus debe tener una única dirección. Dado que son 5 bits para direccionar, se pueden tener direcciones entre el 0 y el 31 para un total de 32 direcciones. Sin embargo la dirección 31 nunca es usada porque es usada para comandos de mensajes especiales. Esto nos deja con opciones del 0 al 30. El controlador del bus debe ser siempre por defecto la dirección 0, lo cual nos deja finalmente con direcciones desde la 1 hasta la 30. Para ver todos los posibles comandos del bus GPIB Véase anexo 7.1.

Page 17: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 17 -

3. Desarrollo

3.1 Planteamiento de una Arquitectura

Lo primero que debíamos definir para este futuro laboratorio remoto era una arquitectura. Esta arquitectura debería cumplir con los requerimientos y especificaciones planteadas por el equipo de trabajo. Para esto se procedió a establecer que se quería que hiciera el laboratorio. Todos los laboratorios que investigamos tenían en común la enseñanza de un mismo tema en particular. Unos se enfocaban en control, otros en robótica y otros en caracterización de dispositivos semiconductores. Estos laboratorios presentaban instrumentos y robots costosos o varios servidores, que sin una inversión alta de capital serian muy difíciles de implementar. Tratando de hacer el laboratorio a distancia de la universidad lo más funcional y económico posible se realizaron las siguientes especificaciones:

• Debía utilizar los instrumentos que ya se tenían dentro del laboratorio de la universidad, para no invertir en nuevos instrumentos.

• Debe ser flexible en su utilización. Que pudieran hacerse prácticas de circuitos, control, robótica, caracterización de dispositivos, etc.

• Era importante que fuera modular y permitiera la creación de nuevas prácticas o experimentos y pudieran ser ingresados fácilmente dentro del laboratorio.

• La libertad del usuario de poder ubicar los instrumentos en donde él quisiera medir. Esto da una mayor independencia al usuario para realizar la práctica lo que traduce en un aprendizaje mucho más interactivo.

Estas especificaciones nos situaron en una posición de hacer algo novedoso con los laboratorios a distancia; hacer que las prácticas sean multitemáticas y plenamente configurables. Los instrumentos que se tenían dentro de la universidad tenían como interfaz hacia un computador, el bus GPIB. Este bus nos permitía cumplir con todas las expectativas de comunicación dentro del laboratorio. Además en el laboratorio se tiene una tarjeta controladora GPIB de National Instruments. Entonces se escogió el GPIB como interfaz dentro del laboratorio. (Se emplea además una tarjeta de conversión PCI-PCMCIA)

Figura 13. Tarjeta Controladora GPIB

Page 18: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 18 -

Se identificó la necesidad de utilizar un sistema que permitiera conectar los instrumentos programables a las prácticas. Dado que se quería poder conectar cualquier instrumento a cualquier punto de medición dentro de la práctica, se debía utilizar un sistema que permitiera interconectar las prácticas y los instrumentos de manera programable. De esto surgió el sistema de interconexión. Este sistema realiza esta función y se debería comportar como un instrumento GPIB para poder ser configurado. Para que se pudieran manejar diferentes temas dentro del laboratorio se idearon las prácticas modulares. Estas prácticas debían poder ser creadas y conectadas al laboratorio fácilmente. Esto permitiría que cada práctica pudiera manejar un tema distinto compartiendo los instrumentos presentes en el laboratorio. Las prácticas se pensaron para que pudieran ser instrumentos GPIB por si se requería configurar algún parámetro dentro de ellas. Las restricciones del GPIB nos impiden tener todas las prácticas que deseemos. El bus GPIB permite un máximo de quince instrumentos conectados al tiempo. Teniendo en cuenta que pensamos tener hasta ocho instrumentos dentro del laboratorio y el sistema de interconexión como otro instrumento, esto solo nos da espacio para seis practicas conectadas al tiempo. El servidor es el centro del laboratorio y requiere módulos que manejen el bus GPIB y las conexiones entrantes de los usuarios. Se pensó en que pueda manejar cola de espera y asignación de turnos, además de poder llevar registro de todo lo que ocurre dentro del laboratorio. El computador del usuario nos pareció importante que corriera ciertos procesos para desocupar el trabajo del servidor. Nos pareció importante que toda verificación de conexión de las prácticas se hiciera dentro del computador del usuario para evitar que este enviara la información y después se le dijera que había configurado mal la práctica. Esto ocasionaría un flujo de información entre el servidor y el cliente ocupando innecesariamente el servidor. Teniendo en cuenta todas estas especificaciones se propuso la siguiente arquitectura (Véase Figura 14) que nos pareció la mas adecuada teniendo en cuenta las especificaciones de nuestro laboratorio.

Page 19: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 19 -

Figura 14. Arquitectura propuesta para el Laboratorio.

Page 20: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 20 -

Aplicación

Servidor

ComunicaciónTCP/IP

Protocolo IP deComunicación

ComunicaciónTCP/IP

Protocolo IP deComunicación

Aplicación

Web Browser

Cliente

Control BusGPIB

ControlInstrumentos

(Medición)

Control de Configuración

Validación de

Usuarios

Manejo de Colas y Turnos

Tarjeta GPIB

Servidor del Laboratorio

Configuración de

Parámetros

Lectura y Envío

de Datos

Matrices de Conexión

Puerto GPIB

Puntos de Medición

Puerto GPIB

Configuración Interconexiones

Configuración Parámetros

InstrumentosSistema de

Interconexión Practicas

Laboratorio

Manejo GPIB Manejo GPIB

ServidorMaestro

Base de

Datos

Manejo GPIB

Puerto GPIB

ManejoClientes

Figura 15. Diagrama Estructural Jerárquico.

Page 21: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 21 -

3.2 Diseño de los Módulos.

3.2.1 Sistema de Interconexión

3.2.1.1 Definición de la Arquitectura Una primera arquitectura nos mostraba un sistema simple y robusto que satisfacía nuestros requerimientos. Comunicarse con el bus GPIB para ser configurado y permitir conectar los instrumentos con las prácticas.

Sistema de Interconexion

Modulo Secundario sucesivo 3

Modulo Secundario sucesivo 1

Modulo Principal

GPIBModule

Instrumentos

Control

Matriz Matriz Matriz

Practica 1 Practica 3Practica 2

GPI

B

Figura 16. Arquitectura preliminar del Sistema de Interconexión.

El sistema de interconexión debía poder conectar cualquier punto de medición dentro de una práctica con cualquier instrumento. Para esto se debía realizar algún tipo de

Page 22: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 22 -

conmutación análoga. Se buscaron y compararon diferentes tecnologías que permitieran realizar esta tarea. Las tecnologías investigadas fueron:

• Switches Análogos • Relés • Matrices de Switches – “Analog Switching Matrix”

A continuación se muestra un cuadro comparativo de estas tecnologías:

Switches Relés Matrices de Switches

Precio

Tienen un precio razonable. (2 – 50 U$)

Se consiguen en un amplio rango de precios. (0.5 - ??? U$)

Son bastante costosas dependiendo de la cantidad de conexiones posibles y del fabricante. (20 – 200U$)

Facilidad Uso

Son fáciles de usar, solo requieren unaseñal para que conduzcan o no.

Son fáciles de usar, solo requieren una señal para que conduzcan o no.Necesitan un driver para administrar la corriente al solenoide.

Requieren un protocolo de manejo.

Calidad de Señal

Muy baja relación señal a ruido; mejora muchísimo en componentes más costosos.

Se comportan casi como un cable conductor permitiendo muy poco ruido y muy poca atenuación. Además permiten aislar el circuito digital de interconexión del análogo de medición.

Son mayormente usadas en aplicaciones de video (Masters, etc.) por lo que su relación señal a ruidoes buena. Logran una muy buena conexión análoga mediante un solo Circuito Integrado.

Tamaño de Futuro PCB

Grande. Por cada interconexión un dispositivo.

Grande. Por cada interconexión un dispositivo.

Pequeña área, una matriz permite realizar múltiples conexiones.

Transmisión de Potencia

Media. Permiten transmitir hasta 250mA a 5V

Alta. Dependiendo del relé, desde 5W en adelante.

Baja. Su máximacantidad de corriente de salida es de 20mA.

Tabla 2. Comparación entre Tecnologías de conmutación.

Observando esta comparación vemos como una gran ventaja de las matrices sobre las otras dos tecnologías el hecho del ahorro de espacio en PCB lo que significa un ahorro de costos significativo. Además una sola matriz permite conectar cada práctica, economizando grandes cantidades de switches o de relés. Por estas razones se escogió la matriz como tecnología a usar en las interconexiones. El único problema de la matriz es que la máxima corriente que pasa a través de ella es de 20mA. Esto no afecta para los instrumentos ya que estos no demandan mucha corriente. El verdadero problema era conectarle las fuentes, tanto DC como un

Page 23: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 23 -

generador de señales, ya que se quería que el punto de alimentación de las practicas pudiera ser configurado. Estas fuentes entregarían más de 20mA. Por esta razón se decidió realizar una arquitectura hibrida que permitiera tener las ventajas de la matriz para los instrumentos y las ventajas de los relés para las fuentes. La arquitectura a la que se llegó luego de esta decisión fue la siguiente:

Figura 17. Arquitectura definitiva del Sistema de Interconexión.

Con esta arquitectura se garantiza la transmisión de potencia de las fuentes y poder conectar cualquier instrumento mediante la matriz de manera rápida y económica de espacio.

3.2.1.2 Modulo GPIB Primero se procedió a diseñar un modulo que permitiera la conexión del sistema de interconexión con el bus GPIB. Este modulo sería también utilizado por cada una de las practicas.

Page 24: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 24 -

El handshaking del GPIB es como se muestra en la siguiente figura:

Figura 18. HandShaking del GPIB[8].

Los dispositivos GPIB manejan estas líneas mediante salidas tipo Open Collector Esto permite que así un solo instrumento mantenga la señal baja toda la línea se encuentra en un nivel bajo. El proceso es el siguiente:

1. El talker o el controlador ubican los datos en las ocho líneas y espera a que el dato sea estable.

2. El talker espera a que el listener desconecta NRFD (‘0’ lógico). Esto indica que el listener puede recibir datos.

3. El Talker envía la señal DAV para indicar que el nuevo dato en las líneas es valido.

4. El listener responde conectando NRFD (‘1’ lógico) para decir que no se envíen mas datos todavía.

5. Una vez el listener acepta el byte desconecta NDAC. 6. El talker desconecta DAV. 7. El listener conecta de nuevo NDAC. La transferencia termino. Este proceso se

repite para transferir los siguientes bytes. El siguiente paso para elaborar este modulo fue definir un diagrama de bloques. Este diagrama se ilustra en la siguiente figura.

Figura 19. Diagrama de Bloques Módulo GPIB.

Page 25: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 25 -

Estas son las señales mínimas que se necesitan del bus GPIB para comunicarse a través de él. Se le configuro una interfaz interna a este modulo para permitir entregar los mensajes que llegan desde el bus. Esta interfaz es un simple handshaking de dos líneas donde una le indica al receptor que Hay un Dato (HD) y el receptor le indica que el Dato fue Recibido (DR).

Figura 20. Macro algoritmo del Módulo GPIB.

Observando este diagrama de bloques se definió entonces un macro algoritmo que debía cumplir este modulo para permitir la comunicación con el bus GPIB. Primero se reciben

Page 26: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 26 -

comandos para saber si el modulo debe escuchar o hablar y después de que se han recibido los comandos se procede a recibir o enviar los datos. Véase Figura 20. Este macro algoritmo solo recibe los comandos que nos interesan. Es decir, el modulo solo reconoce las instrucciones de escuchar o hablar en el bus, con cualquier otra instrucción sigue esperando nuevas instrucciones. Cada uno de los procesos coloreados en gris representa una transmisión de datos entre el bus y el modulo GPIB. En los coloreados en un gris suave se esta escuchando, bien sean comandos o datos. En el coloreado gris oscuro se están enviando datos por el bus. El algoritmo de escuchar el bus aunque ya fue explicado anteriormente, queda mucho mas claro observándolo en este diagrama de flujo:

Figura 21. Diagrama de Flujo de Listener [9].

Page 27: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 27 -

El diagrama de flujo de hablar por el bus es el siguiente:

Figura 22. Diagrama de Flujo de Talker [9].

Una vez conocido lo que debía hacer nuestro modulo GPIB debíamos decidir en que tecnología lo implementábamos. Las dos posibilidades eran Lógica Programable (FPGA, CPLD) o Microprocesador. Se decidió utilizar lógica programable pues si realizábamos una descripción VHDL (Véase Punto 4.1.2) de este modulo esta descripción podría ser migrada o modificada hacia cualquier dispositivo sin necesidad de cambiar el código. Esto es importante ya que como se pretende ir creando nuevas prácticas a través del tiempo puede ocurrir algo

Page 28: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 28 -

con fabricantes o proveedores y es importante tener este modulo libre de estas restricciones.

3.2.1.3 Matriz de Switches Después del dimensionamiento de las prácticas, se llego a la conclusión que con cuatro puntos de medición sería suficiente para cada una de las prácticas. Teniendo entonces un dimensionamiento de ocho instrumentos, la matriz requerida seria de 8x4 conexiones. Se evaluaron varias matrices de diferentes fabricantes y la más adecuada y económica fue escogida. Se escogió la matriz del fabricante Zarlink referencia MT88V32. Esta matriz tiene 8x4 conexiones, justo las necesarias. Tiene como especificaciones más relevantes para nosotros:

• Maneja señales de 12 Voltios pico a pico. • Ancho de banda de 200MHz. • Permite lectura de la información programada, para saber si un switch dentro de

la matriz esta conectado o no. • Chip Select y Master Reset.

Esta matriz posee una interfaz para conectar o desconectar los switches de forma digital a través de dos etapas de latches. Tiene un control interno que realiza las conexiones. El diagrama de bloques de este circuito integrado es la siguiente:

Figura 23. Diagrama de Bloques de la Matriz de Switches [10].

Gracias a sus dos etapas de latches esta matriz permite actualizar las conexiones de una en una o todas a la vez. Para realizar la escritura en esta matriz y activar una conexión se deben seguir los siguientes pasos:

1. STROBE2 en cero

Page 29: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 29 -

2. CS y R/W en cero; MR en uno 3. AX0-AX1 y AY0-AY2 direccionando la conexión deseada de acuerdo a la tabla

2. 4. DATA en uno para cerrar la conexión o en cero para abrirla. 5. STROBE1 con cambio rápido de uno a cero y de nuevo a uno.

Tabla 3. Direccionamiento de la matriz de switches [10].

3.2.1.4 Matriz de Relés

La matriz de relés se diseño para cumplir la función de conectar una fuente de alimentación hacia la práctica. Dado que se tienen dos fuentes de alimentación una AC y otra DC, se dimensionó en que estas fuentes podían ir a uno de dos puntos de alimentación. Estructuralmente se deseaba realizar esta configuración:

Figura 24. Estructura de la Matriz de Relés.

De esta forma con cuatro bits se puede controlar la matriz para que conecte cualquiera de las dos fuentes a cualquiera de los dos puntos de alimentación dentro de cada una de las prácticas.

3.2.1.5 Control del Sistema Este bloque del sistema de interconexión debía controlar todos los demás módulos y recibir la información desde el modulo GPIB. Este modulo interpreta las instrucciones

Page 30: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 30 -

que llegan desde el modulo GPIB y configura las matrices para poder realizar las mediciones sobre la practica. Se realizó un diagrama de bloques para identificar que señales debía manejar el controlador. Debía controlar señales sobre la matriz de relés, la matriz de switches y comunicarse con el modulo GPIB. El diagrama de bloques elaborado se encuentra en la figura 25.

ModuloGPIB

8

HD

DR

Switching MatrixMT88V32AP

Latches

CS

Dato

AR4

6

MR

R/WData

AX2

AY3

Matriz de Reles

4

Strobe1

IFC

Control delSistema

EOI

Figura 25. Diagrama de bloques del control del sistema de interconexión.

El siguiente paso en el diseño fue crear un conjunto de instrucciones que pudieran ser decodificadas por el control del sistema y estas instrucciones serian enviadas por el servidor. Este conjunto de instrucciones seria un protocolo de comunicaciones entre el servidor y el sistema de interconexión. El conjunto de instrucciones debía cumplir con varias especificaciones.

• Permitir decir que practica va a ser utilizada. • Configurar la matriz de Relés. • Configurar cada punto de interconexión dentro de la matriz de switches.

Se enviaran dos tipos de bytes cada vez, se podrá repetir el segundo cuantas veces se necesite para configurar la matriz hasta que se diga fin. Véase el punto 3.3.1. Usando como base este protocolo de comunicación entre el control del sistema y el servidor, usando como puente de información el modulo GPIB, se procedió a implementar un macro algoritmo que permitiera realizar las funciones del control. El macro algoritmo diseñado se puede observar en la figura 27.

Page 31: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 31 -

Inicio

InstruccionNum. 1

No

DecodificacionInstruccion

Num. 1

Si

Lectura de Practica y Fuentes

Escritura de Practicas y

Fuentes

Master Reset

Lectura

Escritura

Reset

Envio Datos

InstruccionNum. 2

No

Decodificacion Instruccion

Num. 2

Lectura de Punto de

Interconexion Escritura de Punto de

Interconexion

Lectura Escritura

Envio Datos

¿Bit de Fin?Si No

IFC

Diagrama de Flujo del Controlador del sistema de Interconexión

Figura 26. Macro algoritmo del control del sistema de interconexión.

Page 32: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 32 -

3.2.2 Servidor

3.2.2.1 Definición de una arquitectura El servidor es el centro del laboratorio. Este permite manejar las conexiones de los diferentes clientes, autorizando o no, la realización de una práctica. También configura los instrumentos, prácticas y el sistema de interconexión como se requiera. El servidor realizado en este proyecto es muy básico. Sencillamente recibe los comandos del usuario, los interpreta y los transmite a través del bus GPIB. De esta forma configura el sistema de interconexión, las prácticas y los instrumentos, toma las medidas obtenidas por los instrumentos y las retorna al usuario. El servidor básico se diseño primero subdividiéndolo en diferentes módulos funcionales. Estos módulos se muestran en la siguiente arquitectura:

Figura 27. Arquitectura Interna del Servidor.

Como se puede observar la arquitectura es básica para un servidor y permite probar la funcionalidad del sistema de interconexión y las practicas. Es una arquitectura fácilmente escalable. Se decidió utilizar como lenguaje de programación del servidor Visual Basic 6.0 debido a la facilidad de programación y a los paquetes de librerías, tanto de GPIB como de comunicación TCP/IP. Esto nos permitiría tener una plataforma rápida de implementar para poder validar el correcto funcionamiento del laboratorio base.

3.2.2.2 Manejo Clientes Este módulo maneja la conexión de los distintos clientes al laboratorio. Recibe varias conexiones al tiempo y asigna a cada conexión un turno dentro de una cola de espera para indica cuál es el siguiente cliente en ser atendido.

Page 33: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 33 -

El manejo de clientes se hizo a través de Winsock que me permite recibir conexiones entrantes e información de una manera sencilla. La estructura de Winsock se ilustra en la siguiente figura.

Figura 28. Arquitectura Interna de Winsock [11].

3.2.2.3 Manejo GPIB

Este módulo debe permitir la interfaz entre el software realizado por nosotros y la tarjeta GPIB que controla el bus GPIB. Se podrá escribir y leer la información que viaja por el bus. Este modulo controla el bus GPIB a través de la tarjeta controladora Nacional Instruments. National Instruments provee librerías que permiten que Visual Basic controle el bus GPIB de una manera simple. Las funciones incluidas dentro de la librería manejan todo el protocolo de handshaking y el direccionamiento dentro del GPIB entonces el programa solo debe enviar los datos deseados.

3.2.2.4 Control del Servidor Controlará todas las funciones del servidor indicando que proceso se debe hacer. Coordinará los dos módulos anteriormente mencionados. Interpreta la información que llega desde el usuario y la convierte hacia instrucciones que entiendan los instrumentos, el sistema de interconexión y las practicas.

3.2.2.5 Base de Datos Esta Base de Datos está pensada para que almacene la información que pasa por el laboratorio. Podría almacenar tiempos de utilización para llevar registros y estadísticas del uso del laboratorio. Almacenar también que usuario utilizó cual practica y como la

Page 34: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 34 -

configuró, para saber si los datos tomados en cierta practica si fueron realizados por este usuario. Este modulo no será implementado en este proyecto de grado.

3.2.3 Cliente Este módulo es el software que va instalado en el computador del usuario. Este programa permite la conexión del usuario al laboratorio y le entrega una interfaz amigable para la realización de las prácticas. Comprobará que las conexiones realizadas por el usuario no perjudiquen los instrumentos, que sean factibles y no enviará la información al servidor hasta que no esté correctamente configurada la práctica. Este bloque se compone básicamente de dos módulos:

• Conexión Remota: Realiza la conexión con el manejo de clientes del servidor. Envía

y recibe la información con el servidor.

• Interfaz Hombre – Maquina: Esta es la parte del sistema que el usuario observa. Le permite configurar sus prácticas y a su vez lo restringe para que sólo pueda ubicar valores apropiados.

3.2.4 Practicas

Las prácticas son los dispositivos didácticos que se desean medir en el laboratorio. Estos dispositivos serán conectados al bus GPIB para la configuración de ciertos parámetros. A través del sistema de interconexión podrán medirse diferentes voltajes y corrientes de cada práctica.

3.2.5 Instrumentos Los instrumentos para el laboratorio son varios; entre estos se cuenta con: Fuentes de Alimentación (generador de señales y fuente DC), osciloscopio, multímetro, voltímetro, analizador de espectros, entre otros. Estos instrumentos se van a configurar a través de puertos GPIB. Para configurarlos se utilizará el controlador elaborado por el fabricante y en caso de no existir controlador se implementará un controlador.

Los instrumentos deben ser fácilmente renovables y con posibilidad de añadir algún instrumento nuevo. Es por esto que se usarán los controladores del fabricante del instrumento. Para permitir modularidad en el software y evitar que por un cambio de instrumentos se deba modificar el programa del servidor. Los instrumentos que se tienen actualmente dentro del laboratorio son:

• Osciloscopio TDS Serie 1000.

• Multímetro FLUKE 8500 A.

• Voltímetro HP 3437 A.

Page 35: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 35 -

• Fuente de voltaje y de corriente

• Generador de funciones HP 3325 A.

• Analizador HP 8590

• Analizador de redes HP 8753 3.3 Protocolos de Comunicación entre Módulos

3.3.1 Servidor – Sistema de interconexión

Para la comunicación entre el servidor y el sistema de interconexión se definió un protocolo que mediante el envío de bytes de comandos pudiera interpretar estas instrucciones y configurar el sistema de la forma deseada. La configuración de puntos de conexión dentro de la matriz debe realizarse punto por punto de conexión. Las instrucciones de configuración de la matriz podrían repetirse varias veces durante una misma configuración. Por esta razón el protocolo que se diseño permite que el byte que configura los puntos de conexión se pueda repetir varias veces hasta que llegue un bit de fin.

1. El primer Byte le dirá al controlador de matriz cual es la practica que se va a usar y como se van a usar las fuentes de alimentación del circuito (Relés).

R/W: Indica si es instrucción de lectura o escritura. Escritura es 0. PR#: Tres bits que dicen que practica se va a usar. 111 significa master reset. CON EL R/W EN CERO.

F#: cada uno de estos bits dice si se va a usar la fuente 1 o 2. A#: estos bits indican a que punto conecto la fuente si al 1 o al 2. Si la fuente no se va a usar este bit es irrelevante.

2. El segundo tipo de byte será usado cuantas veces sea necesario y será usado para configurar la matriz de switches. R/W: Indica si es lectura o escritura. Escritura es 0. I#: Conjunto de bits que indican que instrumento conectar. P#: Conjunto de bits que indican a que punto de medición dentro de la matriz conectar. FIN: cuando llega fin se indica que ya se mandaron todas las conexiones a conectar y se puede terminar el ciclo de control y regresar al reposo.

A7 A6 A5 A4 A3 A2 A1 A0R/W PR2 PR1 PR0 F1 A1 F2 A2

B7 B6 B5 B4 B3 B2 B1 B0 0 R/W I2 I1 I0 P1 P0 FIN

Page 36: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 36 -

Cuando el servidor lea el sistema de interconexión se responderá dependiendo de lo que consulta. Si se consulta la información que se configura con el primer byte se enviara un byte con iguales características de regreso. Si se lee sobre un punto de interconexión en particular de la matriz de switches se regresara un byte FF para decir que esta conectado y 00 para decir que esta abierta la conexión.

3.3.2 Servidor – Instrumentos Los instrumentos del laboratorio serán comunicados con el servidor del laboratorio a través del bus GPIB. Algunos de estos instrumentos poseen controladores elaborados por sus fabricantes2. Los más antiguos no poseen controlador y por ende deberán ser implementados por nosotros.

3.3.3 Servidor – Practicas Las prácticas permiten configurar ciertos parámetros. Estos parámetros pueden ser posiciones de switches o valores de resistencias. Para configurarlos el servidor envía a la práctica instrucciones que esta puede comprender. Estas instrucciones son definidas por dos bytes de información. El primer byte indica si se va a configurar una resistencia o un switch, cual es y tres bits que son los mas significativos en el valor de este parámetro. El segundo byte contiene 8 bits mas para el valor del parámetro.

0 R-S #R/S5 #R/S4 #R/S3 C10 C9 C8Primer Byte

C7 C6 C5 C4 C3 C2 C1 C0

Segundo Byte

• Reset: Valores por defecto, un byte (FF). • R-S: Uno para configurar resistencias. Cero para configurar switch. • C10-C0: Valores de resistencia o switch.

3.3.4 Servidor - Cliente

La comunicación entre el servidor y el cliente se realiza físicamente mediante el protocolo TCP/IP. Entre estos dos módulos se enviaran cadenas de caracteres. El cliente dirá al servidor mediante cadenas de caracteres que practica desea configurar, que instrumentos desea usar, a que puntos de medición los desea conectar y que parámetros hay que modificar. El servidor toma estos datos y los transforma al lenguaje que cada uno de los dispositivos entiende; direccionando cada información hacia donde debe dirigirse. 2 Se pueden conseguir en una base de datos de controladores de instrumentos ubicada en: http://www.ni.com/devzone/idnet/

Page 37: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 37 -

Así pues un envío del cliente podría verse como lo que sigue a continuación:

Practica1 --Escoge la practica a usar R1 10K --La resistencia 1 de la practica 1 debe ser de 10KΩ S2 3 --El switch 2 de la practica 1 debe estar en la posicion3

Y así sucesivamente sobre cada una de las posibles configuraciones del laboratorio hasta que se indique el fin y se tomaran las mediciones.

4. Resultados Se ha logrado la correcta comunicación entre el servidor y el bus a través de la tarjeta GPIB. Se ha logrado un dimensionamiento de la arquitectura del laboratorio y principales componentes a utilizar. Se dimensionaron las prácticas para saber qué podemos y qué no podemos hacer en nuestro laboratorio. Se ha terminado por completo el sistema de interconexión.

4.1 Sistema de Interconexión El sistema de interconexión completamente diseñado fue implementado en un circuito impreso (PCB). Los esquemáticos del PCB se encuentran en el anexo 7.2. A continuación se muestra una foto donde puede observarse la tarjeta implementada para el sistema de interconexión. En esta figura puede apreciarse la ubicación de cada uno de los módulos.

Figura 29. Sistema de Interconexión Terminado

MODULO PRINCIPAL MODULO SECUNDARIO

Modulo GPIB Control de Sistema

Instrumentos Fuentes

GPIB

Matriz de Relés

Matriz de Switches Practica

Page 38: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 38 -

4.1.1 Control del Sistema Luego de dimensionar mediante el diagrama de bloques del control se observo que se requería de un microcontrolador de 31 puertos de entrada/salida. Dado que las instrucciones del microprograma de este control no requerían de mayor complejidad, se decidió usar un PIC de Microchip que tiene un conjunto pequeño de instrucciones y gran cantidad de puertos de entrada/salida; haciéndolo suficiente y sin sobredimensionar para este módulo. El microprograma realizado para este modulo fue realizado utilizando el código ensamblador de Microchip utilizando el programa MPLAB IDE entregado gratis por Microchip en su pagina de Internet.

4.1.2 Modulo GPIB Este modulo fue implementado dividiendo el modulo en dos. Un modulo se encargaría de realizar la maquina de estados y manejar las entradas y salidas del modulo y un segundo modulo decodificaría los comandos provenientes del bus. El decodificador interpretaría si la instrucción es para este modulo o no, mediante la comparación de la dirección, y enviaría al modulo de la máquina de estados instrucciones para que este tome las acciones correspondientes a la determinada instrucción.

Figura 30. Diagrama de Bloques Interno implementado en VHDL

La arquitectura fue implementada en VHDL de la siguiente forma:

Page 39: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 39 -

Page 40: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 40 -

Una vez sintetizada la descripción VHDL del modulo GPIB se escogió un dispositivo en el cual la síntesis de hardware cupiera lo más exacto posible. El dispositivo escogido fue un CPLD de Xilinx cuya referencia es XC9572 de 44 pines.

Macrocells Used Pterms Used Registers

Used Pins Used Function

Block Inputs Used

40/72 (56%) 204/360 (57%)36/72 (50%)31/34 (92%)105/144 (73%)

Tabla 4. Recursos Utilizados en el CPLD

Figura 31. Simulación de recepción de Comando MLA3.

Page 41: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 41 -

En esta simulación se puede observar la correcta recepción del comando de parte del modulo GPIB. La dirección del modulo (addr) se encuentra en 00011 (3) y la instrucción enviada por el GPIB es MLA3, es decir el dispositivo 3 haga de listener. La línea de ATN se encuentra en cero indicando que son comandos lo que se va a recibir. Las líneas azules dentro de las simulaciones representan alta impedancia a la salida del dispositivo, lo cual se traduce en una salida en nivel alto dado las salidas open collector. El handshaking se realiza correctamente: luego de que se pone el DAV en cero, el dispositivo ubica NRFD en cero y recibe el byte de instrucción. Una vez lo ha decodificado y asimilado ubica NDAC en uno, DAV es colocado en uno y NDAC vuelve a bajar a cero terminando el ciclo de recepción de la instrucción.

Figura 32. Simulación de recepción de un dato.

Luego de haber configurado el dispositivo como listener se procede a enviarle un dato. Observemos que la línea de ATN se encuentra en uno indicando que son datos lo que se va a transmitir. Vemos como el dato es transmitido desde las líneas DIO provenientes del bus GPIB hacia las líneas BIO que son las de la interfaz interna del modulo GPIB (Véase Figura 19). Se activa el handshaking interno indicando que hay un dato (HD) y luego de que el receptor ha recibido el dato levanta una señal (DR) y el modulo GPIB se encarga de decirle al bus que el dato fue recibido terminando el protocolo de handshaking (Véase Figura 18).

4.1.3 Matriz de Relés La matriz de Relés debía tener la estructura mostrada en la figura 24 y debía ser controlado por un sistema digital. Para prevenir el exceso de corriente exigida a los dispositivos digitales se obtuvo como resultado un circuito que permite que la corriente de alimentación de los Relés provenga directamente de la fuente. El circuito diseñado se muestra a continuación:

Page 42: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 42 -

Figura 33. Circuito de Alimentación de un Relé.

Ubicando un circuito de estos en cada uno de los Relés se pudo realizar la matriz de Relés circuito que se encuentra en el anexo 7.2. El diodo ubicado en paralelo con el solenoide del relé es utilizado para permitir que el solenoide se descargue sin dañar los transistores. Elaborando una simulación del circuito completo con los cuatro Relés para ver como se comporta la conmutación del circuito se llegó a la siguiente grafica:

Time

0s 1s 2s 3s 4s 5s 6s 7s 8s 9s 10sV(U2:NO)

-5.0V

0V

5.0V

SEL>>

V(U3:NC)-5.0V

0V

5.0VV(F1:+) V(R8:1) V(A1:+) V(R10:1)

0V

2.5V

5.0V

Figura 34. Simulación de la Matriz de Relés.

La parte superior de la grafica son las entradas a la matriz de relés manejadas por un circuito digital. La segunda es la salida del primer punto de alimentación y la tercera es la salida del segundo punto de alimentación. Si se le dice a la matriz que desconecte las fuentes estas quedan aisladas de los puntos de salida, como se ve en la primera mitad del tiempo de simulación. Si le decimos que

Salida Digital

Page 43: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 43 -

conmute entre los dos puntos las dos fuentes lo hace fácilmente si lo vemos en la segunda mitad de la simulación.

4.2 Servidor Para el servidor se realizó un programa muy sencillo que recibe conexiones entrantes a través de TCP/IP y todo texto que reciba lo convierte a comandos que cada uno de los dispositivos dentro del laboratorio entiende, configurando así, el laboratorio para realizar mediciones. En la actualidad simplemente realiza una lectura de cada uno de los instrumentos y devuelve el resultado. La interfaz de este servidor se ve a continuación en la figura 35.

Figura 35. Interfaz del Servidor.

Esta interfaz permite ver que información ha circulado dentro del servidor. Es bastante sencillo pero permite la comunicación correcta entre los dispositivos. No recibe instrucciones de configuración hacia las prácticas. El trabajo en este modulo solo ha empezado y aunque los primeros resultados son alentadores este modulo y el cliente son los que mas desarrollo necesitan en las próximas etapas del proyecto.

Page 44: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 44 -

5. Conclusiones Se ha desarrollado una arquitectura flexible que permitirá aumentar las funciones del laboratorio. La posibilidad de configurar casi cualquier parámetro a través de Internet nos da una gran flexibilidad. La modularidad del sistema hace sencillo aumentar la cantidad de instrumentos dentro del laboratorio y las prácticas podrán ser implementadas rápidamente para algún requerimiento específico. Este laboratorio plantea una herramienta académica novedosa. Permite enseñar conceptos específicos o generales con cierta facilidad de uso y la comodidad de poder realizar las mediciones a cualquier hora. Los instrumentos de medición son compartidos eficientemente protegiéndolos de cualquier error de conexión que los pueda dañar. Esto es especialmente útil para los instrumentos costosos de un laboratorio. Dado que el módulo cliente debe revisar que conexiones configuradas podrían presentar un peligro para los instrumentos.

6. Perspectivas Este proyecto de crear un laboratorio a distancia para la Universidad de Los Andes tiene grandes perspectivas y objetivos para avanzar. Estas perspectivas y se pueden ilustrar en los siguientes puntos: • Tener una interfaz hombre-maquina muy intuitiva grafica y fácil de configurar. Una

interfaz grafica que permita ver en un dibujo el esquema de la práctica y que el usuario mediante el ratón del computador pueda ubicar los instrumentos donde desee y reciba sus resultados en graficas.

• Desarrollar la base de datos y el manejo de clientes del servidor para manejar colas de espera y poder reservar turnos y dar ciertos privilegios a diferentes usuarios. Ciertos usuarios como administradores del laboratorio deberían tener ciertos privilegios de revisar información y estado del laboratorio. La posibilidad de otorgar turnos de uso del laboratorio daría prioridad a estudiantes y usuarios interesados en trabajar en una hora específica.

• Realizar prácticas cada vez más interesantes dentro del laboratorio. Aprovechando que el laboratorio es multitemático, intentar cada vez crear nuevas y más retantes prácticas para los usuarios.

• Integrar nuestro laboratorio con otros laboratorios y generar un programa de convenios que permita realizar practicas que se tengan en otros laboratorios de alrededor del mundo.

• Realizar pruebas con estudiantes para probar la eficacia real del laboratorio e identificar aspectos a mejorar.

Page 45: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 45 -

7. Bibliografía y Referencias

[1] J. A. del Alamo et al.. “The MIT Microelectronics WebLab: a Web- Enabled Remote Laboratory for Microelectronic Device Characterization”. In NL 2002. See http://weblab.mit.edu. [2] B. Dalton and K. Taylor. “A Distributed Framework for Telerobotics”. See http://telerobot.mech.uwa.edu.au/. [3] Jean-Marie Gilliot, Arben Çela and Alain Carrière, “A Distant Reality Environment For Control Teaching”. Laboratoire COSI, Groupe ESIEE. France. [4] F. Rodriguez, A. Khamis, R. Barber, and M. Salichs, “A Remote Laboratory for Teaching Mobile Robotics”, 2001. [5] GPIB Tutorial www.raunvis.hi.is/~rol/ Vefur/%E9r%20Instrupedia/CGPTUTO.PDF [6]http://zone.ni.com/devzone/conceptd.nsf/webmain/C22B1B6801D2BBE98625680F00535F1D [7] National Instruments, GPIB Tutorial. http://usuarios.lycos.es/basarov/Electronica/tutorial_gpib.pdf [8] Thomson, A. AN110, “Designing a GPIB Device Using the NAT9914”, National Instruments [9] Fisher, Eugene. “PET/CBM and the IEEE 488 bus: GPIB” Berkeley: Osborne, c1980. [10] Zarlink Semiconductor, “MT88V32 8 x 4 High Performance Video Switch Array”, Datasheet [11]http://www.microsoft.com/windows2000/en/datacenter/help/default.asp?url=/windows2000/en/datacenter/help/ws_switch_arch.htm [12] Xilinx, “XC9572 In-System Programmable CPLD”, August 21, 2003. [13] Microchip, “PIC16F87X Data Sheet 28/40-Pin 8-Bit CMOS FLASH Microcontrollers”, 2001. [14] Vicent M. Rodrigo Peñarrocha, Miguel Ferrando Bataller, Mariano Baquero Escudero, Alejandro Valero Nogueira. “Virtual Laboratories In Electronic Engineering Education”, Universidad Politécnica de Valencia (UPV) Camino de Vera S/N 46022 Valencia, Spain. [15]http://zone.ni.com/devzone/conceptd.nsf/webmain/1DF3ADFEBDFB9F77862567C300782C11 [16] http://www.hit.bme.hu/people/papay/edu/GPIB/tutor.htm [17] http://telerobot.mech.uwa.edu.au/index.html [18] M. Juric, I. Rozman, and M. Hericko, “Performance Comparison of CORBA and RMI”, Information and Software Technology, No. 42, pp. 915-933, 2000.

Page 46: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 46 -

8. Anexos

8.1 Tabla de Comandos de Interfase GPIB [6]

Hex Oct Dec ASCII Msg Hex Oct Dec ASCII Msg 00 000 0 NUL 20 040 32 SP MLA0 01 001 1 SOH GTL 21 041 33 ! MLA1 02 002 2 STX 22 042 34 " MLA2 03 003 3 ETX 23 043 35 # MLA3 04 004 4 EOT SDC 24 044 36 $ MLA4 05 005 5 ENQ PPC 25 045 37 % MLA5 06 006 6 ACK 26 046 38 & MLA6 07 007 7 BEL 27 047 39 ' MLA7

08 010 8 BS GET 28 050 40 ( MLA8 09 011 9 HT TCT 29 051 41 ) MLA9 0A 012 10 LF 2A 052 42 * MLA10 0B 013 11 VT 2B 053 43 + MLA11 0C 014 12 FF 2C 054 44 , MLA12 0D 015 13 CR 2D 055 45 - MLA13 0E 016 14 SO 2E 056 46 . MLA14 0F 017 15 SI 2F 057 47 / MLA15

10 020 16 DLE 30 060 48 0 MLA16 11 021 17 DC1 LLO 31 061 49 1 MLA17 12 022 18 DC2 32 062 50 2 MLA18 13 023 19 DC3 33 063 51 3 MLA19 14 024 20 DC4 DCL 34 064 52 4 MLA20 15 025 21 NAK PPU 35 065 53 5 MLA21 16 026 22 SYN 36 066 54 6 MLA22 17 027 23 ETB 37 067 55 7 MLA23

18 030 24 CAN SPE 38 070 56 8 MLA24 19 031 25 EM SPD 39 071 57 9 MLA25 1A 032 26 SUB 3A 072 58 : MLA26 1B 033 27 ESC 3B 073 59 ; MLA27 1C 034 28 FS 3C 074 60 < MLA28 1D 035 29 GS 3D 075 61 = MLA29 1E 036 30 RS 3E 076 62 > MLA30 1F 037 31 US 3F 077 63 ? UNL

Message Definitions DCL Device Clear MSA My Secondary AddressGET Group Execute Trigger MTA My Talk Address GTL Go To Local PPC Parallel Poll Configure LLO Local Lockout PPD Parallel Poll Disable

Page 47: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 47 -

MLA My Listen Address

Hex Oct Dec ASCII Msg Hex Oct Dec ASCII Msg 40 100 64 @ MTA0 60 140 96 ` MSA0,PPE 41 101 65 A MTA1 61 141 97 a MSA1,PPE 42 102 66 B MTA2 62 142 98 b MSA2,PPE 43 103 67 C MTA3 63 143 99 c MSA3,PPE 44 104 68 D MTA4 64 144 100 d MSA4,PPE 45 105 69 E MTA5 65 145 101 e MSA5,PPE 46 106 70 F MTA6 66 146 102 f MSA6,PPE 47 107 71 G MTA7 67 147 103 g MSA7,PPE

48 110 72 H MTA8 68 150 104 h MSA8,PPE 49 111 73 I MTA9 69 151 105 i MSA9,PPE 4A 112 74 J MTA10 6A 152 106 j MSA10,PPE 4B 113 75 K MTA11 6B 153 107 k MSA11,PPE 4C 114 76 L MTA12 6C 154 108 l MSA12,PPE 4D 115 77 M MTA13 6D 155 109 m MSA13,PPE 4E 116 78 N MTA14 6E 156 110 n MSA14,PPE 4F 117 79 O MTA15 6F 157 111 o MSA15,PPE

50 120 80 P MTA16 70 160 112 p MSA16,PPD 51 121 81 Q MTA17 71 161 113 q MSA17,PPD 52 122 82 R MTA18 72 162 114 r MSA18,PPD 53 123 83 S MTA19 73 163 115 s MSA19,PPD 54 124 84 T MTA20 74 164 116 t MSA20,PPD 55 125 85 U MTA21 75 165 117 u MSA21,PPD 56 126 86 V MTA22 76 166 118 v MSA22,PPD 57 127 87 W MTA23 77 167 119 w MSA23,PPD

58 130 88 X MTA24 78 170 120 x MSA24,PPD 59 131 89 Y MTA25 79 171 121 y MSA25,PPD 5A 132 90 Z MTA26 7A 172 122 z MSA26,PPD 5B 133 91 MTA27 7B 173 123 MSA27,PPD 5C 134 92 \ MTA28 7C 174 124 | MSA28,PPD 5D 135 93 MTA29 7D 175 125 MSA29,PPD 5E 136 94 ^ MTA30 7E 176 126 ~ MSA30,PPD 5F 137 95 _ UNT 7F 177 127 DEL

Message Definitions PPE Parallel Poll Enable SPE Serial Poll Enable PPU Parallel Poll Unconfigure TCT Take Control SDC Selected Device Clear UNL Unlisten SPD Serial Poll Disable UNT Untalk

Page 48: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 48 -

8.2 Esquemáticos Finales del Sistema de Interconexión

Módulo GPIB

Page 49: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 49 -

Control del Sistema

Matriz de Relés

Page 50: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 50 -

Matriz de Switches

Conector de la Práctica

Page 51: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 51 -

8.3 Hojas de datos de los dispositivos utilizados [10,12,13]

Page 52: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 52 -

Page 53: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 53 -

Page 54: Documento de Proyecto de Grado - Uniandes

IEL2-II-04-38

- 54 -