lunes, 27 de mayo de 2013


INTERFAZ GPIB


El bus GPIB s un estándar de conexión, fue diseñado específicamente para la conexión de instrumentos de medida que permite la comunicación de un ordenador con instrumentos electrónicos de medida, como pueden ser generadores de funciones, osciloscopios, etc.

Historia

El bus GPIB fue inventado por Hewlett Packard a finales de los años 1960. La  intención era crear un bus fiable, especialmente diseñado para conectar computadoras e  instrumentos en una configuración de red que poseyera las características requeridas por  un equipo de medida.

En 1975, el IEEE publicó el estándar ANSI/IEEE 488-1975, el cual contenía las especificaciones eléctricas, mecánicas y funcionales de un sistema de interfaz.

En 1978 se revisó el documento y terminó siendo adoptado ampliamente en la industria bajo las siguientes denominaciones:
  •  Bus de Interfaz de Uso General (GPIB)
  •  Bus de Interfaz Hewlett-Packard (HP-IB)
  •  Bus IEEE 488

    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, formato de mensajes y estado de los instrumentos. 

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

CONCEPTOS GENERALES SOBRE GPIB


El principal objetivo del bus GPIB consiste en gestionar la transferencia de información entre dos o más dispositivos. Antes de enviar los datos hacia los dispositivos (instrumentos conectados al bus) éstos deben configurarse de acuerdo con  este protocolo de transmisión de información.

El elemento controlador del equipo GPIB es único supervisa todas las operaciones que se realizan en el bus, y determina el dispositivo que envía la  información y el momento en que se realiza su envío. El controlador puede designar un  sustituto si en un determinado momento no puede atender los requisitos de control.

En resumen, se consideraran los siguientes elementos o conceptos más relevantes y específicos, involucrados en un equipo red de instrumentación mediante el protocolo GPIB:

• Controlador del equipo controlador activo.
• Dispositivos conectados al bus.
• Dispositivo fuente.
• Dispositivos destino.
• Comandos y funciones.

DISEÑO

El IEEE-488 permite que hasta 15 dispositivos inteligentes compartan un simple bus paralelo de 8 bits, mediante conexión en cadena, con el dispositivo más lento determinando la velocidad de transferencia. La máxima velocidad de transmisión está sobre 1 Mbps en el estándar original y en 8 Mbps con IEEE-488.1-2003 (HS-488).

Las 16 líneas que componen el bus están agrupadas en tres grupos de acuerdo con sus funciones: 8 de bus de datos, 3 de bus de control de transferencia de datos y 5 de bus general.

Por ejemplo, un osciloscopio con dirección primaria 4 puede tener un módulo de acondicionamiento de señal con dirección secundaria 1.

Los conectores tienen dos lados de conexión (macho y hembra) permitiendo diversas estructuras topológicas (bus, estrella y combinaciones). Los hay de dos tipos: americano (24 pines) y europeo (IEC-625.1, 25 pines).


PROPIEDADES DEL BUS

 Direccionamiento de los dispositivos

Cada dispositivo del equipo GPIB posee una dirección, codificada como un número entre 0 y 30. Es decir, existen 31 direcciones primarias permitidas para instrumentos transmisores de datos (“talkers”) conectados al bus interfaz GPIB. A cada instrumento se le asigna una dirección codificada mediante 7 bits. Algunos dispositivos conectados al bus pueden direccionarse también mediante direcciones secundarias. Éstas hacen referencia a alguno de sus bloques funcionales.

Velocidad de transferencia máxima

 Permiten velocidades de transferencia de 1 MB/s, aunque existen versiones que llegan hasta los 8 MB/s.

Longitud del cable

La normativa especifica que pueden usarse hasta 20 metros de cable encadenado en línea, apilando las conexiones; también recomienda no emplear tramos de cable de más  de 4 metros de longitud. Una regla práctica consiste en multiplicar el número de  dispositivos conectados por 2, comparar el resultado con 20 metros y tomar el menor  número. Por ejemplo, si conectamos 8 dispositivos, la línea puede tener hasta 16 metros, y no se puede llegar a 20. Es decir, puede haber hasta 20 metros de cable entre el  controlador y el último dispositivo, y entre cada dos dispositivos no puede haber más de  2 metros.

Modo de transferencia de datos

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 es una de las fortalezas del GPIB.
  • 5 líneas que gestionan la transmisión de comandos (ATN, IFC, REN, SRQ y EOI).
  • 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 dos tercios de ellos deben estar encendidos.
  • La separación máxima entre dos dispositivos es 4 m, y la separación promedio en toda la red debe ser menor de 2 m.
  • 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 tarjetas GPIB para prácticamente todos los ordenadores presentes en el mercado (PC, Macintosh, estaciones Sun, Silicon Graphics, DEC Alpha, HP RS/6000, etc). En el caso concreto del PC, las controladoras GPIB pueden conectarse al bus ISA, PCI, PCMCIA (portátiles), USB, Ethernet, Firewire, y los puertos serie y paralelo. Existen asimismo adaptadores para los estándares de comunicación RS-232 y RS-485.




Modo de transferencia de mensajes

Transferencia asíncrona de bytes en serie y bits en paralelo. Esta transferencia es controlada por las líneas de “handshake”.

Funciones de la interfaz

Posee 10: 5 funciones de comunicación primarias y 5 especializadas. La norma no exige a todos los instrumentos poseer todas las funciones.

Handshake

La recepción de cada byte de datos es reconocida mediante el handshake. Consta de 3 líneas.

Líneas de control general para necesidades especiales

Existen 5 líneas controlan el flujo de señal en el bus. A continuación se detallan las funciones de las líneas del bus y su funcionamiento, con el fin de mostrar sus posibilidades de diseño fiable. mediante el handshake. Consta de 3 líneas.
 
LÍNEAS DE TRANSMISIÓN DE SEÑAL
La interfaz GPIB consta de 16 líneas. Las 8 restantes del bus (hasta 24) corresponden a líneas de retorno a tierra. De las 16 líneas, 8 son de datos (1 byte) y 8 para mensajes de control y estados de los dispositivos. De estas últimas 8 líneas, 3 son para el control de transferencia de datos (handshake) y 5 para el control general de la interfaz.



Líneas de datos


Las 8 líneas de datos DIO1-DIO8 pueden transportar tanto datos como órdenes. El estado de la línea ATN (una de las 5 de control general) determina si son datos u órdenes los presentes en el bus. Si está a nivel bajo son órdenes o direcciones, y si está a nivel alto son datos. Todas las órdenes y la mayoría de los datos emplean 7 bits codificados en ASCII o ISO.

Líneas de control de transferencia de datos (handshake)

NRFD Indica cuándo un dispositivo está preparado pararecibir un byte. La línea es conducida por todos los dispositivos cuando reciben órdenes y por el orador o transmisor de datos cuando habilita el protocolo HS488.
 
 NDAC Indica cuándo un dispositivo ha aceptado un mensaje.
 
DAV Indica cuándo las señales en las líneas de datos se han estabilizado y pueden ser aceptadas con seguridad por los dispositivos.
 

Líneas de control general  del interfaz

La señal ATN  es activada por el controlador para indicar que está colocando un byte de dirección, de control o de datos en el bus. Esto se suele hacer sincronizadamente con el handshake para evitar las confusiones entre los bytes de control y los de datos.

La señal EOI tiene dos funciones. Un transmisor podría activar EOI al mismo tiempo que el último byte de datos para indicar el final de los datos. El controlador podría activar EOI junto con ATN para iniciar un sondeo en paralelo.

La señal de IFC  es activada sólo por el controlador del sistema para colocar los interfaces de todos los dispositivos en un estado conocido.

La señal REN es activada únicamente por el controlador del sistema.  Sólo habilita el paso a modo remoto de cierto dispositivo direccionado como receptor.

La línea de SRQ  puede ser activada por cualquier dispositivo para solicitar el acceso al controlador y así realizar cualquier acción.

MODOS DE OPERACIÓN DE UN EQUIPO

En cada momento, unos equipo conectados al bus GPIB pueden estar seleccionado como uno o varios de los siguientes modos de comportamiento: "Controller", con capacidad de establecer quien envía o recibe datos y el modo de operación del bus; Talker", con capacidad de enviar datos a otros equipos; "Listener", con capacidad de recibir datos de otros equipos; "Idler" sin ninguna capacidad respecto 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 "system controller" con capacidad de poder tomar control del bus en todo momento. Este equipo tiene exclusividad en el control de las líneas IFC y REN. Cada sistema debe disponer de uno o mas dispositivos capaces de asumir la función de "active controller", aunque en cada momento, solo uno de esos equipos puede operar como tal. El controlador activo tiene la capacidad de seleccionar los equipos que deben operar como "listener" o como "talker" a efecto de la transferencia de datos, de enviar los comandos de bus, y de supervisar mediante encuestas el status de los equipos.

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

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

Ø  Con "controller" único: En esta configuración las transferencias de datos posibles son: 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 configuración anterior, solo que en ésta también es posible la transferencia entre equipos dela capacidad de operar como "controller" activo.

TALKER:


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

LISTENER:

Cuando el "controller" ejecuta un comando "Listen" utilizando la dirección de uno de estos equipos, este pasa a ser un "active listener", y a partir de este momento recibe y lee cada uno de los datos que cualquier "talker" envíe por el bus.

SOFTWARE EXISTENTE PARA GPIB

La primera alternativa), es el uso de software propietario desarrollado por los mismos fabricantes del instrumento.

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

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

A) Labwindows/CVI y LabVIEW de National Instruments
Los aspectos más destacables de este producto 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 otros compiladores 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 Toolbox

Matlab, 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 de propósito general con gran potencia matemática y aplicabilidad en muchos ámbitos de la ciencia y la ingeniería, gracias a sus módulos de extensión (toolboxes) de procesamiento de señales, control, ecuaciones diferenciales, y un largo etcétera. En muchos casos las toolboxes representan el estado del arte en programación numérica en sus respectivos campos.
Recientemente, los creadores de Matlab, Mathworks, emprendieron una línea clara de 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 y emulació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 de instrumentos 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ás maduros como CVI. Existe también una toolbox de adquisición de datos con soporte para tarjetas de entrada y salida de señales analógicas y digitales, dentro de esta misma línea de productos.

La toolbox ha sido diseñada de forma que el acceso a los instrumentos de medida se 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, el segundo enfoque permite explotar toda la potencia de IVI. Para ello es preciso disponer del driver de Matlab correspondiente (extensión .mdd), obtenible en la página de Mathworks o bien usar una utilidad llamada makemid para convertir  el driver IVI ya instalado en el sistema. La utilidad midedit permite ver y modificar todas los objetos definidos en los aparatos, sus propiedades, y las funciones ejecutables.


Glosario

numero
Termino
definición
1
ATN
Attention, Atención
2
BUS
el bus (o canal) es un sistema digital que transfiere datos entre los componentes de una computadora o entre computadoras
3
DAV
Data Valid
4
EOI
End or Identify, Fin o Identificación
5
INTERFAZ GPIB
interfaz de propósito general (General Purpose Interface Bus)
6
IFC
Interfaz Clear, Borrado del interfaz
7
IEEE
Institute of Electrical Electronic Engineers
8
NRFD
Not Ready For Data
9
NDAC
Not Data Accepted
10
REN
Remote Enable
11
SRQ
Solicitud de servicio





No hay comentarios:

Publicar un comentario