18
GPIB

GPIB - s09e85a3b31fd5e07.jimcontent.com

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GPIB - s09e85a3b31fd5e07.jimcontent.com

GPIB

Page 2: GPIB - s09e85a3b31fd5e07.jimcontent.com

Descripción de GPIB

GPIB es un estándar de conexión que permite la comunicación de unordenador con instrumentos electrónicos de medida, como pueden ser generadores defunciones, osciloscopios, etc. Las siglas corresponden a General Purpose InterfaceBus, pero a pesar de este nombre, fue diseñado específicamente para la conexiónde instrumentos de medida.

Historia

Fue creado en 1965 por la compañía Hewlett-Packard, que lo denominóoriginalmente HP-IB, y se popularizó con rapidez, debido a sus altas tasas detransferencia de datos (8 Mbytes/s).

En 1975, para evitar la dispersión de características, los principales fabricantesacordaron la estandarización del GPIB (IEEE 488.1), centrándose en las característicaseléctricas y mecánicas del bus. En Europa se acoge con la norma IEC-625.1, quemodifica el conector.

En 1978 se revisó el documento y terminó siendo adoptado ampliamente en laindustria bajo las siguientes denominaciones:

- GPIB (General Purpose Interface Bus)- HP-IB (Hewlet-Packard Interface Bus)- IEEE 488 Bus- IEEE 488.1 (denominación posterior, al definir el IEEE 488.2).En 1987 tuvo lugar una segunda estandarización (IEEE 488.2) que delimitó de

forma más concreta la programación del GPIB, definiendo comandos de aparatos, formatode mensajes y estado de los instrumentos. Se pretendía aumentar la compatibilidadentre sistemas. Sin embargo este protocolo no llegó a reemplazar al original. De hecho hoydía sigue habiendo aparatos que responden únicamente al IEEE 488.1.

En 1990 se adoptó el formato de comandos SCPI, incluido en el 488.2, queestructura las órdenes a los aparatos de forma coherente, permitiendo una compatibilidadmás extensa.

Características físicas

El bus de transmisión de datos de GPIB es de 8 bits en paralelo, y lógicanegativa con niveles TTL estándar (cierto si el voltaje es 0.8 V y falso si el voltaje es2.0 V). Los cables y conectores tienen el aspecto típico mostrado en la figura 2. Estánapantallados y permiten velocidades de transferencia de 1 MB/s, aunque existen versionesque llegan hasta los 8 MB/s.

Los conectores tienen dos lados de conexión (macho y hembra) permitiendodiversas estructuras topológicas (bus, estrella y combinaciones) tal y como se muestra enla figura 2. Los hay de dos tipos: americano (24 pines) y europeo (IEC-625.1, 25 pines).

Page 3: GPIB - s09e85a3b31fd5e07.jimcontent.com

Figura 1: cable de conexión GPIB: aspecto físico y distribución de señales (americano).

Figura 1: ejemplo de configuración de un sistema GPIB.

Page 4: GPIB - s09e85a3b31fd5e07.jimcontent.com

El bus consta de 24 pines, repartidos de la siguiente forma

- 8 líneas de transmisión de datos (DIO1-DIO8).- 3 líneas para el control asíncrono de la comunicación (NRFD, NDAC y

NRDAV). Mediante estas líneas se verifica la correcta transmisión de los datos, que esuna de las fortalezas del GPIB.

- 5 líneas que gestionan la transmisión de comandos (ATN, IFC, REN, SRQ yEOI).

- El resto componen las tierras de las diferentes líneas.

Para que el bus GPIB alcance la velocidad de transmisión para la que fue diseñado(hasta 8 Mbytes/s), deben cumplirse los siguientes requisitos:

- Puede haber un máximo de 15 dispositivos conectados al bus, y al menos dostercios de ellos deben estar encendidos.

- La separación máxima entre dos dispositivos es 4 m, y la separación promedioen toda la red debe ser menor de 2 m (National Instruments comercializa un extensor defibra óptica (GPIB 140 y 140/2) que permite alcanzar una longitud de hasta 2 km).

- La longitud total de la red no debe exceder los 20 m.

Un sistema típico constará de un ordenador con una tarjeta controladora GPIB,más los instrumentos (compatibles con IEEE 488, obviamente). Existen tarjetasGPIB para prácticamente todos los ordenadores presentes en el mercado (PC,Macintosh, estaciones Sun, Silicon Graphics, DEC Alpha, HP RS/6000, etc). En el casoconcreto del PC, las controladoras GPIB pueden conectarse al bus ISA, PCI, PCMCIA(portátiles), USB, Ethernet, Firewire, y los puertos serie y paralelo. Existen asimismoadaptadores para los estándares de comunicación RS-232 y RS-485. La figura 4 muestrauna tarjeta GPIB.

Page 5: GPIB - s09e85a3b31fd5e07.jimcontent.com

Figura 4: Tarjeta GPIB-PCI para ordenadores PC.

1. Inicio de conexiónEl proceso es de tipo three-way-handshake y se desarrolla como sigue. Cuando el

regulador o un transmisor desea transmitir datos sobre el GPIB, fija la línea de DAV (Datavalid, Dato válido) a nivel alto, y comprueba que las líneas de NRFD (Nor ready for data,Instrumento no preparado para recibir datos) y de NDAC (No data accepted, Dato noaceptado) están a nivel bajo, y entonces pone los datos en las líneas de datos.

Cuando todos los dispositivos que pueden recibir los datos están listos, cada unolibera su línea de NRFD. Cuando el receptor anterior libera la NRFD, y pasa a ALTO, elregulador o el transmisor toma el punto bajo de DAV que indica que los datos válidos ahoraestán en el GPIB.

En respuesta, cada receptor pone de nuevo a nivel bajo la línea de NRFD paraindicar que está ocupado y libera NDAC cuando ha recibido los datos. Cuando el últimoreceptor ha validado los datos, la línea NDAC pasará a nivel alto y el regulador o el

Page 6: GPIB - s09e85a3b31fd5e07.jimcontent.com

transmisor puede fijar la DAV a nivel alto otra vez para transmitir el siguiente byte dedatos.

Obsérvese que si después de la activación la línea de DAV está a nivel alto, elcontrolador o el transmisor entiende que tanto la línea NRFD como la NDAC están a nivelalto, siendo esta circunstancia una posible causa de error. Así mismo, si cualquierdispositivo falla al elaborar su parte del handshake y libera la NDAC o la NRFD, los datosno pueden ser transmitidos por el bus. Es posible que se genere un error por sobrepasar eltiempo asignado.

La velocidad de transferencia de datos es controlada por el dispositivo más lentoconectado al bus, de ahí la dificultad de estimar el flujo de transmisión de datos en el busIEEE-488, ya que depende de los dispositivos conectados.

2.Líneas de control del interfazLas cinco líneas de gestión del interfaz (ATN, EOI, IFC, REN, SRQ) controlan el

flujo de las señales de control y datos a través del interfaz.La señal ATN (Attention, Atención) es activada por el controlador para indicar que

está colocando un byte de dirección, de control o de datos en el bus. La ATN es liberadapara permitir que el transmisor seleccionado ponga sus datos en el bus. El controladorrecupera el control reactivando la línea ATN; esto se suele hacer sincronizadamente con elhandshake para evitar las confusiones entre los bytes de control y los de datos.

La señal EOI (End or Identify, Fin o Identificación) tiene dos funciones. Untransmisor podría activar EOI al mismo tiempo que el último byte de datos para indicar elfinal de los datos. El controlador podría activar EOI junto con ATN para iniciar un sondeoen paralelo. Como quiera que mucho dispositivos no usan la sondeo en paralelo, todos losdispositivos deberían usar la señal de EOI para indicar el fin de la transmisión (esto esposible en la mayoría de los instrumentos).

La señal de IFC (Interfaz Clear, Borrado del interfaz) es activada sólo por elcontrolador del sistema para colocar los interfaces de todos los dispositivos en un estadoconocido. Después de recuperar el IFC, el controlador del sistema pasa a ser el controladoractivo.

La señal REN (Remote Enable) es activada únicamente por el controlador delsistema. Su activación no coloca a los dispositivos en el modo de control remoto; la señalREN sólo habilita el paso a modo remoto de cierto dispositivo direccionado como receptor.Cuando un dispositivo está funcionando en modo remoto, debe ignorar las órdenes quereciba a través de su panel de control.

La línea de SRQ (Service Request, Solicitud de servicio) puede ser activada porcualquier dispositivo para solicitar el acceso al controlador y así realizar cualquier acción.El controlador debe averiguar que dispositivo es el que ha realizado la SRQ, para lo cualutiliza una sondeo en serie o en paralelo. En el sondeo serie, el controlador direcciona losinstrumentos uno a uno hasta encontrar al peticionario. En la respuesta se emplea un bitpara indicar si solicitó ser consultado, y 7 para indicar la petición. El dispositivo que hace lasolicitud libera la línea de SRQ.

En el sondeo paralelo cada instrumento indica en uno de los 8 bits de datos sisolicitó la consulta. Tiene como ventaja una mayor rapidez de búsqueda pero implica unaconfiguración previa de los equipos y además limita su número a 8.

Page 7: GPIB - s09e85a3b31fd5e07.jimcontent.com

3.Direccionamiento de los dispositivosEl estándar IEEE-488 permite la interconexión de 15 dispositivos a través de un

único bus. Cada dispositivo tiene asignada una única dirección primaria, (comprendidaentre la 0 y la 30), por medio de la actuación de los microinterruptores de direccionamientode los que dispone el dispositivo. También es posible hacer un direccionamientosecundario, desde la dirección 0 a la 30, para lo cual es recomendable dirigirse a ladocumentación que ofrece el fabricante del dispositivo, que podrá darnos más informaciónsobre como direccionar el dispositivo, con la dirección primaria obligatoria o con lasecundaria opcional.

Modos de operación de un equipo

En cada momento, un equipo conectados al bus GPIB pueden estar seleccionadocomo uno o varios de los siguientes modos de comportamiento: "Controller", concapacidad de establecer quien envía o recibe datos y el modo de operación del bus (solo unequipo puede ser "controller"); Talker", con capacidad de enviar datos a otros equipos;"Listener", con capacidad de recibir datos de otros equipos; "Idler" sin ninguna capacidadrespecto del bus.

CONTROLLER Entre los equipos conectados al bus existen dos tipos de controladores: el "system

controller" y los "active controllers". En un bus, solo puede existir un único "systemcontroller" con capacidad de poder tomar control del bus en todo momento. Este equipotiene exclusividad en el control de las líneas IFC y REN. Cada sistema debe disponer deuno o mas dispositivos capaces de asumir la función de "active controller", aunque en cadamomento, solo uno de esos equipos puede operar como tal. El controlador activo tiene lacapacidad de seleccionar los equipos que deben operar como "listener" o como "talker" aefecto de la transferencia de datos, de enviar los comandos de bus, y de supervisar medianteencuestas el status de los equipos.

En una situación estándar, es un computador el que actúa a la vez como "systemcontroller" y como único "active controller". Algún sistema diferente, podrá en unmomento dado requerir del controlador del sistema su interés en convertirse en controladoractivo, a fin de llevar a cabo una operación compleja, tal como transferir unos datos al"plotter", o almacenar un fichero en un disco, etc.. Como respuesta a este requerimiento elcontrolador de sistema, transferirá el control al equipo que lo ha solicitado, el cual pasa aconstituirse en controlador activo del bus. Cuando concluye su operación, retorna de nuevoel control del bus, al controlador de sistema. Obsérvese que las capacidades propias decontrolador de sistema no pueden ser transferidas.

Un sistema construido sobre el bus GPIB puede ser configurado en uno de lossiguientes tres modos:

- Sin "controller" : En esta configuración uno de los equipos debe tener sólocapacidad para actuar como "talker", y los restantes sólo como "listener". La transferenciade datos posibles es desde el "talker" a todos los "listener" simultáneamente.

- Con "controller" único: En esta configuración las transferencias de datos posiblesson: Desde el "controller" a los equipos en modo comando y datos, de un equipo al"controller" solo en modo datos, y de un equipo a otro equipo solo en modo datos.

- Con múltiples "controller": En este caso tiene las mismas capacidades que la

Page 8: GPIB - s09e85a3b31fd5e07.jimcontent.com

configuración anterior, solo que en ésta también es posible la transferencia entre equipos dela capacidad de operar como "controller" activo.

TALKER: En cada configuración pueden existir uno o varios equipos con capacidad de enviar

datos a otros equipos. Cuando el "controller" ejecuta un comando "talk" con la dirección deuno de estos equipos, este pasa a ser "active talker", y a partir de ese instante tienecapacidad para enviar datos por el bus, controlando la línea DAV, siempre que todos losequipos que han de recibir los datos ("listener") se encuentren dispuestos a ello (líneaNRFD a valor lógico "0").

LISTENER:En cada configuración pueden existir uno o varios equipos con capacidad de recibir

datos desde el bus. Cuando el "controller" ejecuta un comando "Listen" utilizando ladirección de uno de estos equipos, este pasa a ser un "active listener", y a partir de estemomento recibe y lee cada uno de los datos que cualquier "talker" envíe por el bus. Esfrecuente que en una configuración existan múltiples equipos en estado "active listener", ytodos ellos reciben en paralelo y simultáneamente todos los datos que sean transferidos porel bus.

COMANDOS DEL BUS

Los dispositivos conectados al bus GPIB pueden potencialmente enviar o recibirdatos de cualquier otro equipo. Antes de que se produzca una transferencia de datos, el"controller" debe establecer cual es el equipo (solo uno) que debe actuar como "talker", ycuales van a actuar como "listener" (uno o varios equipos). Además de esta operaciónbásica relacionada con la transferencia de datos, el "controller" y los otros equiposconectados al bus pueden realizar otras muchas operaciones no específicamente relacionadacon el intercambio de datos entre equipos, sino con la gestión y organización de losdiferentes equipos. A estas operaciones se las denomina genéricamente Comandos de Bus.En los comandos de bus se envían datos por el bus de datos (si la operación lo requiere) deigual modo en la transferencia de datos, solo que en estos casos la señal ATN es establecidaa 1 lógico por el "controller", para indicar que es un comando, y en este caso, todos losequipos con independencia de que sean "talker" o "listener" reciben el comandomanteniendo el protocolo con el "controller". El "controller" puede enviar cinco tipos decomandos de bus a los otros equipos: "addressed", "listen", "talk", "universal" y"secondary". Solo los 7 bits menos significativos del bus son utilizados en los comandos debus. Los tres bit b7, b6 y b5. definen la naturaleza de cada comando:

b7 b6 b5 tipo de comando 0 0 0 addressed 0 0 1 universal 0 1 x listen 1 0 x talk 1 1 x secondary Los equipos conectados al bus GPIB tienen asignado un código o dirección de bus

comprendido entre 0-30. Este código debe ser establecido en cada equipo, bienestableciendo unos conmutadores hardware presentes en su panel trasero, o bien en algunos

Page 9: GPIB - s09e85a3b31fd5e07.jimcontent.com

casos programando el equipo mediante su software interno. Normalmente, los cinco bitmenos significativos de la línea de datos b5, b4, b3, b2, b1 se utilizan en un comando paraestablecer a que equipos hace referencia un comando.

COMANDOS TALK/LISTEN Comandos My Talk Address (MTA) o (también llamado TAG Take Address

Group): Es un comando destinado a establecer un equipo del bus como "talker". El formatode este comando es (0 1 0 d5 d4 d3 d2 d1). Cuando se ejecuta este comando, todos losequipos reciben el comando, y solo aquel cuya dirección esté presente en el comando, pasaa modo "talker". Tras finalizar este comando, el equipo que ha sido establecido como"talker" puede enviar datos a otros equipos.

Comando Untalk (UNT): Es un comando que cuando es establecido por el"controller" requiere de todos los dispositivos que se encuentran en modo "talker", para queabandonen ese estado y pasen a su estado base. El formato de este comando es:

0 1 0 1 1 1 1 1Comando My Listen Adrress (MLA) (o también llamada LAG Listener Address

Group): Es un comando que establece un equipo del bus como "listener". El formato de estecomando es :

0 0 1 d5 d4 d3 d2 d1Cuando se ejecuta este comando, todos los equipos reciben el comando, y solo aquel

cuya dirección sea la del comando, pasa a modo "listener". A partir de ese momento, elequipo recibe todos los datos que transmita cualquier "talker".

Comando Unlisten (UNL): Es un comando que cuando es establecido por el"controller" requiere de todos los dispositivos que se encuentran en modo "Listener" paraque abandonen ese estado y pasen a un estado base. El formato de este comando es:

0 0 1 1 1 1 1 1

COMANDOS UNIVERSALES (UGC)Es un conjunto de comandos que ejecuta el "controller" con destino a todos los

dispositivos del bus.Comando Local Lockout (LLO): Se utiliza para deshabilitar los paneles de control

propios de cada uno de los equipos conectados al bus. Con esta deshabilitación, se evita quese produzcan conflictos entre las instrucciones recibidas por el bus, y las realizadas a travésde los controles manuales del panel. El formato de esta instrucción es:

0 0 0 1 0 0 0 1Comando Device Clear (DCL): Es un comando que resetea todos los equipos

disponibles sobre el bus.0 0 0 1 0 1 0 0Comando Parallel Poll Unconfigure (PPU): Es un comando que se utiliza para

resetear la programación realizada sobre los diferentes equipos a fin de que respondan enlas encuestas paralelas ("parallel poll"). El formato de este comando es

0 0 0 1 0 1 0 1Comando Serial Poll Enable (SPE): Este comando habilita a todos los equipos para

que respondan en modo de encuesta serie ("serial poll"). Cuando se habilita el modo deencuesta serie , cada vez que se envía un comando "talk" a un equipo presente en el bus,este contesta enviando su estatus. El formato de este comando es:

0 0 0 1 1 0 0 0

Page 10: GPIB - s09e85a3b31fd5e07.jimcontent.com

Comando Serial Poll Disable (SPD): Deshabilita el modo de encuestaserie en todoslos equipos conectados al bus y pasan a modo normal. El formato de este comando es:

0 0 0 1 1 0 0 1

COMANDOS ADDRESSED (ACG)Los comandos de este grupo van destinados únicamente a aquellos equipos que

previamente han sido establecidos en "listener".Comando Go To Local (GTL): Cuando se envía este comando, todos los equipos

que se encuentran en modo "listener" vuelven el control a sus paneles locales. Estecomando cancela el efecto establecido por el comando universal Local LockOut (LLO). Elformato de este comando es:

0 0 0 0 0 0 0 1Comando Selected Device Clear (SDC): Este comando resetea de forma selectiva a

aquellos equipos que están en modo "listener". El formato de este comando es:0 0 0 0 0 1 0 0Comando Parallel Poll Configure (PPC): Este comando pone a todos los equipos

que se encuentran en modo "listener" en modo para ser programados a efecto de respondera una encuesta paralela ("parallel poll"). El formato de este comando es:

0 0 0 0 0 1 0 1El "controller" ejecuta una encuesta paralela estableciendo las líneas de control ATN

y EOI a 1 lógico. Cuando los equipos conectados al bus reciben este estado de las líneas,responden situando un bit de estatus sobre la línea del bus de datos que se le haya asignadoen el comando PPC. El "controller" puede leer el estado del conjunto de las líneas del busde datos, y obtener información global sobre todos los equipos que fueron programadospara la encuesta paralela. El comando PPC se usa para especificar por que líneas del bus dedatos debe responder cada equipo, y si el dispositivo debe responder con un "0" o un "1"lógico el requerimiento de servicio. Tras ser transmitido el comando PPC todos los equiposque se encontraba en modo "listener" se ponen a la espera de recibir un comandosecundario ("My Secondary Adrees" (MSA) o también llamado "Secondary Address Group(SAD)") con el que queda programada su respuesta a una encuesta paralela. Los cuatro bitsmás bajos del comando secundario 0 0 1 b4 b3 b2 b1 contienen la siguiente información:

b4 : Indica la forma como debe responde por la línea asignada. Si b4 =0 indica queel equipo debe indicar durante la encuesta paralela, que requiere servicio estableciendo un"0" lógico en la línea que le ha sido asignada. b4=1 significa que el equipo debe indica elrequerimiento de servicio poniendo un "1" lógico sobre la línea.

b3b2b1 : Indica la línea entre 0 y 7 por la que deben responder los equipo que estánsiendo programados.

Varios equipos pueden ser programados para que respondan en una encuestaparalela respondiendo sobre una misma línea. Dado la lógica wire-or utilizada para elcontrol de la línea, y las dos posibilidades de modo de respuesta a la encuesta paralela quepuede establecerse, caben la posibilidad de determinar si alguno de los equipos queresponden pos la misma línea requiere servicio, o si todos esos equipos requierensimultáneamente servicio.

Comando Group Trigger (GET): Permite sincronizar la operación de un conjunto deequipo que previamente han sido programados para que se encuentre a la espera delcomando. El formato de este comando es

0 0 0 0 1 0 0 0

Page 11: GPIB - s09e85a3b31fd5e07.jimcontent.com

Comando Take Control (TCT): Con este comando el "controller" transfiere sufunción como controlador a otro equipo capacitado para ello. Para ello, primero debeestablecer el equipo que va a ser establecido como nuevo "controller" a modo "listener", yposteriormente enviar este comando TCT para convertirlo en el "controller" del bus. Elformato de este comando es:

0 0 0 0 1 0 0 1

IEEE 488.2

Para permitir una mayor compatibilidad entre instrumentos, se amplió la normadefiniendo una serie de funciones sobre el protocolo anterior, dispensadas por elcontrolador activo. A este nuevo conjunto de normas se le denominó IEEE 488.2, pasandoel antiguo IEEE 488, a ser el IEEE 488.1. Entre las nuevas características se incorporaba laposibilidad de conocer el estado del instrumento y consultar posibles estados de error(Apéndice I). En el apéndice II se muestra una tabla con las funciones agregadas.

Posteriormente, se elaboraron nuevas funcionalidades que se recogieron en unprotocolo de mayor nivel denominado SCPI

SCPI

A pesar de los estándares IEEE 488.1 y 488.2, existía libertad para que cadafabricante eligiera los comandos de sus instrumentos. En 1990 un grupo de empresasfabricantes de instrumentos acordaron crear un conjunto de órdenes con una sintaxiscomún, que fue llamada SCPI (Comandos Estándar para Instrumentos Programables).Lógicamente, SCPI se construyó respetando los principios del anterior 488.2.

Si dos instrumentos (por ejemplo, dos osciloscopios), de fabricantes distintos, seadhieren al estándar SCPI, es teóricamente posible intercambiarlos con mínimasmodificaciones en el programa de control. Los comandos SCPI se escriben como textoASCII, y tienen una estructura jerárquica por niveles, separados por dos puntos:

IEEE-488.2Estructura de datos y sintaxis. Ordenes y consultas comunes. Protocolo de mensajes.

Secuencias de control

SCPIFormato de intercambio de datos. Ordenes jerárquicas normalizadas

IEEE-488.1Especificaciones mecánicas, eléctricas.

Funciones básicas de control y handshaking

Page 12: GPIB - s09e85a3b31fd5e07.jimcontent.com

Los caracteres en mayúsculas son necesarios para especificar la orden, mientrasque los que están en minúsculas pueden suprimirse, sirviendo sólo para facilitar lalectura de programas por usuario. Los comandos en sí pueden ser escritos indistintamenteen mayúsculas o minúsculas. Así, SCALE, sca y scale representan todos al mismocomando. Por ejemplo:

HOR:MAIN:SCA 5.0E-4

establece la escala de la base de tiempos en 500 µs/división. El signo de dos puntos(:) separa los niveles de la jerarquía. Si quisiéramos preguntar al osciloscopio por laescala actual de la base de tiempos habría que escribir:

HOR:MAIN:SCA?

Los comandos se pueden concatenar utilizando un punto y coma (;). Por ejemplo,se puede escribir la orden:

ACQuire:MODe AVE; NUMAVg 16

que indica al osciloscopio que la adquisición va a ser en modo promedio (average)y que va a constar de 16 muestras. Nótese que los niveles jerárquicos ACQuire:MODe, alser comunes, sólo necesitan ser indicados una vez; es decir, la orden anterior equivale a:

ACQuire:MODe AVE; ACQuire:MODe NUMAVg 16

Una ventaja del estándar SCPI es la definición homogénea de comandos para todoslos aparatos de una misma clase; por ejemplo, para un osciloscopio, las principalescategorías de raíz se muestran en la tabla 1.

Page 13: GPIB - s09e85a3b31fd5e07.jimcontent.com

Tabla 1: Principales apartados de la jerarquía de comandos de un osciloscopio en SCPI.

VISA e IVI

Como se ha podido ver, la programación de un sistema GPIB a base decomandos SCPI es bastante laboriosa. Aunque hace años era la única opción disponible;hoy en día disponemos de drivers para los principales entornos de programación quepermiten el acceso a los instrumentos a más alto nivel.

Históricamente, el primer paso hacia la estandarización fue VISA (VirtualInstruments Software Architecture), un convenio de Agilent y NI para acceder a losinstrumentos de la misma forma independientemente de la interfaz física (GPIB, puertoserie, etc).

En 1998 surgió el consorcio IVI (Interchangeable Virtual Instruments) entreuna treintena de compañías, incluyendo usuarios de sistemas como Boeing, yfabricantes de hardware como Agilent, Tektronix, NI, etc, con el objetivo de alcanzaruna estandarización de los drivers de los instrumentos. En concreto, IVI aporta lassiguientes novedades:

-Adopción de VISA (independizando la programación respecto al bus de interfaz).-Posibilidad del intercambio de instrumentos, incluso de distintos fabricantes.-Posibilidad de trabajar con instrumentos simulados durante el desarrollo de

aplicaciones, cuando la disponibilidad de los equipos está restringida.-Acceso a los instrumentos mediante una caché de estado, que optimiza el

tráfico del bus cambiando el estado del instrumento sólo de forma incremental.-Posibilidad de programación multihilo.

Los drivers IVI están clasificados en ocho clases o plantillas,correspondientes a los siguientes instrumentos de medida:

- Fuentes DC- Multímetros digitales- Generadores de funciones- Osciloscopios- Medidores de potencia- Generadores de RF- Analizadores de espectros- Conmutadores de señales (switches)Con una librería IVI, el programador de C puede emplear rutinas de alto

nivel sin necesidad de conocer el conjunto de comandos SCPI que el instrumentoentiende. Como consecuencia, el desarrollo de aplicaciones de esta forma se ha

Page 14: GPIB - s09e85a3b31fd5e07.jimcontent.com

agilizado considerablemente respecto al uso de comandos SCPI.

Software existente para GPIB

La primera alternativa (y, en ocasiones, la más práctica), es el uso de softwarepropietario desarrollado por los mismos fabricantes del instrumento. Por ejemplo, elprograma gratuito Intuilink de Agilent Technologies, o el programa de pago Wavestarpara los osciloscopios de Tektronix Inc.

La ventaja evidente de estos programas es que pueden ser empleados nadamás conectar los instrumentos, y proporcionan ya hechas las funciones más comunes queuno puede desear realizar, sin necesidad de programar.

Las desventajas son también claras: por tratarse de software cerrado, sólo puede serusado para la tarea para la que fue diseñado, y además son imposibles de integrar con otrosprogramas.

A) Labwindows/CVI y LabVIEW de National InstrumentsLabWindows/CVI es un entorno de desarrollo completo basado en ANSI C (el

nombre significa C para Instrumentación Virtual). Los aspectos más destacables de esteproducto son:

- Completas librerías para la comunicación entre dispositivos (puerto serie,paralelo, GPIB, TCP/IP, etc).

- Especial facilidad para el desarrollo de interfaces gráficas adaptadas a losinstrumentos de medida (dispone de elementos para mostrar formas de onda,conmutadores, potenciómetros, etc)

- Soporte para los drivers IVI de numerosos instrumentos (extensión .fp).- Posibilidad de ofrecer el programa final desarrollado mediante una aplicación de

instalación.National Instruments, creadores de LabWindows/CVI, ofrecen también

LabVIEW, que, con la misma funcionalidad, está orientado a programación gráficaen vez de al desarrollo de código C. NI mantiene la compatibilidad con otroscompiladores de propósito general, como las distintas suites de Microsoft Visual Studio(Visual Basic, Visual C++, .NET, etc), a través de su producto Measurement Studio.

B) Matlab con Instrument Control ToolboxMatlab, que fue en origen un conjunto de rutinas para manipulación de matrices,

ha evolucionado con el tiempo para convertirse en un entorno de programación depropósito general con gran potencia matemática y aplicabilidad en muchos ámbitos dela ciencia y la ingeniería, gracias a sus módulos de extensión (toolboxes) deprocesamiento de señales, control, ecuaciones diferenciales, y un largo etcétera. Enmuchos casos las toolboxes representan el estado del arte en programación numérica ensus respectivos campos.

Recientemente, los creadores de Matlab, Mathworks, emprendieron una línea clarade ampliación de su mercado hacia la conexión de hardware con el PC,distribuyendo toolboxes para el control de tarjetas de adquisición, generación de código yemulación de DSPs, xPC (control remoto de PCs para operación en tiempo real),adquisición de imágenes, etc. La primera versión de la toolbox específica de control deinstrumentos de medida apareció en 2001, y la versión 2.1 disponible en la actualidad(2004) está suficientemente depurada para ser competitiva con productos másmaduros como CVI. Existe también una toolbox de adquisición de datos con soporte para

Page 15: GPIB - s09e85a3b31fd5e07.jimcontent.com

tarjetas de entrada y salida de señales analógicas y digitales, dentro de esta mismalínea de productos.

La toolbox ha sido diseñada de forma que el acceso a los instrumentos de medidase realiza mediante objetos, que pueden ser de dos clases: interfaz o de dispositivo.Mientras que el primer método equivale a la programación con comandos SCPI, elsegundo enfoque permite explotar toda la potencia de IVI. Para ello es preciso disponerdel driver de Matlab correspondiente (extensión .mdd), obtenible en la página deMathworks o bien usar una utilidad llamada makemid para convertir (o envolver ) eldriver IVI ya instalado en el sistema. La utilidad midedit permite ver y modificar todaslos objetos definidos en los aparatos, sus propiedades, y las funciones ejecutables.

El futuro de la conexión de instrumentos de medida

Las dos tecnologías de comunicación con instrumentos más comunes en laindustria, GPIB y el puerto serie, provienen de los años 70; está claro que desde entoncesla industria informática ha experimentado cambios radicales. ¿Existe alguna tecnologíaque pueda desbancar al GPIB en el futuro?

USB: Universal Serial BusEl USB fue creado como puerto para la conexión de periféricos (impresoras,

cámaras digitales, unidades de disco, escáners, etc) a los PCs. En el diseño de USB seoptó por plug and play, de forma que el PC reconozca y configure los dispositivos en elmomento de su conexión. Permite la conexión simultánea de hasta 127 dispositivos enun puerto, con una velocidad de transferencia de datos de hasta 60 Mbytes/s(estándar USB 2.0). USB es un sistema de comunicación barato y estáimplementado en cualquier PC moderno.

Sin embargo, los cables USB no están preparados para entornos industriales (con

Page 16: GPIB - s09e85a3b31fd5e07.jimcontent.com

posible pérdida de datos ante el ruido electromagnético), carecen de un mecanismo deenganche al PC, y la distancia de conexión está limitada a 30 m. Además, no existe unprotocolo estándar sobre USB: cada fabricante debería desarrollar el suyo propio.

EthernetEthernet es una tecnología de conexión de ordenadores madura y de amplia

implantación. Las ventajas son su ubicuidad, la posibilidad de control remoto, y lafacilidad para compartir los instrumentos entre varios usuarios. La velocidad detransmisión de datos tiene un máximo teórico entre 10, 100 o 1000 Mbits/s (estándarEthernet Gigabit), aunque hay que considerar que raramente es alcanzable encondiciones normales, siendo muy dependiente del tráfico de la red. Una desventajaimportante inherente al diseño de Ethernet es que no es determinista. También se puedeplantear la seguridad global del sistema, y, como factor psicológico en contra elque los ingenieros tuvieran que recurrir a los administradores de red para montar susistema. Otra alternativa interesante es la Ethernet inalámbrica (IEEE 802.11).

Firewire (IEEE 1394)Diseñado por Apple, y estandarizado por el IEEE 1394 en 1995, Firewire fue

concebido para la transmisión masiva de datos en entornos multimedia (por ejemplo,cámaras de vídeo digitales), alcanzando velocidades de 400 Mbits/s (el siguienteestándar establecerá velocidades de hasta 3.2 Gbits/s). Firewire soporta hasta 16dispositivos en cadena, pudiendo estar separados mutuamente un máximo de 4.5 m dedistancia.

Al contrario que USB, existe un protocolo definido para el control de instrumentossobre IEEE 1394; sin embargo, pocos instrumentos de medida lo reconocen. Dosinconvenientes para la implantación de este estándar son la ausencia de los chipsetscorrespondientes en las placas base de los PCs, por lo que el usuario debe adquirir unatarjeta PCI por separado (Macintosh la incorporan de fábrica) y que los cables Firewireno están inmunizados al ruido, siendo por tanto no aptos para entornos industriales.

ConclusiónA pesar de su enorme potencial, ninguna de las tres tecnologías discutidas

ha conseguido una penetración apreciable en el sector del control de instrumentos demedida, donde GPIB sigue siendo el estándar dominante. Esto se debe a: (a) el hecho deque ninguno de los competidores se haya impuesto como predominante; (b) la rapidezcon la que cambia la tecnología PC, en contraste con la de los instrumentos demedida, que tienen un tiempo de vida más largo; (c) el elevado coste de dichosinstrumentos, que les confiere una gran inercia para actualizarse.

Muchos fabricantes ofrecen adaptadores que permiten conectar instrumentos GPIBa otros como Ethernet, operando de una forma más o menos transparente para elprogramador. Asimismo, el estándar VISA ha simplificado considerablemente eldesarrollo de software al hacer bastante transparente el bus físico de conexión.

Los instrumentos de medida de gama alta mantienen abiertas todas las puertas parala conexión. Es el caso por ejemplo de los osciloscopios de la serie Infiniuum deAgilent, que incorporan de serie dos puertos USB, dos puertos PS/2, GPIB yconexión a Ethernet. El inconveniente: su precio, más parecido al de un coche que aun osciloscopio.

Page 17: GPIB - s09e85a3b31fd5e07.jimcontent.com
Page 18: GPIB - s09e85a3b31fd5e07.jimcontent.com

Fuentes

Instrumentación Electrónica . Miguel A. Pérez García, Juan C. Álvarez Antón,Juan C. Campo Rodríguez, F. Javier Ferrero Martín, Gustavo J. Grillo Ortega.Universidad de Oviedo.

Conexión de Instrumentos de Medida con GPIB , Fernando Seco Granja. CSIC.

Instrument Control Toolbox , Matlab.