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.
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:
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.
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