7 Instrumentos Electrónicos Programables (GPIB; norma IEEE-488.2) 1 Antecedentes e Introducción Los equipos de Instrumentación Electrónica Virtual han permitido diseñar interfaces a medida, definidas por el usuario y orientadas a la aplicación de media o control para la que se conciben. Esta flexibilidad, junto con el desarrollo de protocolos de interconexión de instrumentos y el avance microelectrónico aplicado a los PCs, permite el diseño de redes de instrumentos de medida que operan según los requisitos de un equipo de instrumentación electrónica tradicional, de banco. El bus interfaz de propósito general (GPIB; General Purpose Interface Bus) y su protocolo de comunicaciones asociado se han convertido en elementos integradores de la unidad de instrumentación virtual y los instrumentos tradicionales de banco, originando las redes de instrumentación electrónica. Estos equipos integrados en red cumplen con las tres características esenciales de un equipo de medida: posibilidad de control remoto, aceptación de la transferencia de datos que permita fiabilidad en la operación, y capacidad de operación en tiempo real. A continuación se describen los conceptos generales sobre GPIB con el fin de introducir paulatinamente su funcionamiento. 2 Conceptos generales sobre GPIB 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. El control remoto de los instrumentos es un aspecto relevante del bus, pero hay otros más importantes como el reconocimiento de recepción de datos ( data hardware 1
Instrumentación Electrónica. Juan José González de la Rosa handshake ), que dota a las operaciones de fiabilidad; o la capacidad de respuesta en tiempo real. 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. Entre los parámetros relativos al protocolo se encuentra la asignación de direcciones a los instrumentos interconectados. La numeración del dispositivo, o asignación de su dirección, se realiza desde el panel frontal o alterando la conexión de los puentes de su tarjeta interfaz, que suele ser accesible desde la parte posterior del instrumento. El elemento controlador del equipo GPIB es único (generalmente la tarjeta controladora instalada en un PC, en cuyo caso se le asigna la dirección 0), 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. El nuevo controlador recibe el nombre de controlador activo. El controlador asegura que no puede haber dos o más instrumentos enviando información al bus simultáneamente. Además, establece los dispositivos que permanecen en estado de recepción o escucha, ya que no todos los instrumentos están siempre interesados en captar la información del bus. Esta función la realiza despertando a los dispositivos en estado de latencia mediante una solicitud de reafirmación, y mediante órdenes que especifican los nuevos receptores y el nuevo emisor. Cuando el proceso de transmisión-recepción ha finalizado, el controlador del equipo se asegura de que todos los receptores han recibido la información enviada al bus por el emisor mediante el data hardware handshake o control de transferencia de datos. Este protocolo permite asegurar la recepción de la información por parte de los dispositivos más lentos. Como consecuencia, el dispositivo más lento limita la velocidad de operación del equipo GPIB. 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. 3 El estándar IEEE-488. Evolución y situación actual El primer equipo de instrumentación basado en bus fue diseñado en 1965 por Hewlett Packard (en la actualidad, la división de Test y Medida con el nombre de Agilent Technologies ), y recibió el nombre de HP-IB, acrónimo de Hewlett Packard Interface Bus. Su finalidad consistía en conectar su red de instrumentos programables a sus ordenadores de laboratorio. Debido a su elevada velocidad de transferencia (1 Mbyte/s nominal) y a su fiabilidad, este interfaz adquirió popularidad a pasos agigantados. Así, en 1973 se convirtió en un estándar, siendo aceptado por la organización IEEE. Entre 1973 y 1975 recibió el 2 JJGDR-UCA
7 Instrumentos Electrónicos Programables nombre de estándar de comunicaciones IEEE-488, y en 1987 adoptó el nombre de ANSI/IEEE-488.1, como se le conoce en la actualidad, estando más extendida su designación mediante el acrónimo GPIB. En el mismo año, 1987, la designación ANSI/IEEE-488.2 supuso una ampliación del protocolo en la línea de describir con exactitud cómo los controladores y los instrumentos se comunicaban. Se establece entonces el conjunto de órdenes comunes a todos los instrumentos (SCPI; Standard Commands for Programmable Instruments). En paralelo a la evolución del bus GPIB la IEC (International Electronic Comisión), responsable de la estandarización fuera de los Estados Unidos, aprobó el estándar IEC625.1. Este protocolo empleaba un conector DSUB de 25 pines, a diferencia del IEEE-488.1 que empleaba uno similar al Centronics pero de 24 polos. Ésta última versión es la que se emplea hoy día, pero siguen existiendo adaptadores de 25 a 24 polos, con el fin de evitar la obsolescencia de determinados instrumentos. 4 Especificaciones técnicas. Propiedades del bus 4.1 Direcciones y estructura de la interconexión 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. Puede haber hasta 15 dispositivos conectados en un bus contiguo, siendo sólo uno de ellos el controlador. Es decir, a una tarjeta controladora pueden conectarse hasta 14 dispositivos, por ejemplo encadenando cables IEEE-488 de un dispositivo al siguiente. Algunos dispositivos conectados al bus pueden direccionarse también mediante direcciones secundarias. Éstas hacen referencia a alguno de sus bloques funcionales. Por ejemplo, un osciloscopio con dirección primaria 4 puede tener un módulo de acondicionamiento de señal con dirección secundaria 1. 4.2 Velocidad de transferencia máxima Es de 1 Mbyte por segundo en distancias cortas. Es usual es un valor comprendido entre 250 y 500 kilobytes/segundo. 4.3 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. La alternativa de conexión en estrella se emplea para aumentar el número de dispositivos interconectados, pero tiene como inconveniente la mayor capacidad parásita de la red, que introduce retardos y, en consecuencia, errores de transmisión. JJGDR-UCA 3
Instrumentación Electrónica. Juan José González de la Rosa 4.3 Modo de transferencia de datos Es de 8 bits en paralelo. Se dedican pues 8 líneas a datos. Estas líneas son bidireccionales. 4.4 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. 4.5 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. 4.6 Handshake La recepción de cada byte de datos es reconocida mediante el handshake. Consta de 3 líneas. 4.7 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. 5 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. La figura 1 muestra la estructura de las líneas del bus. 8 líneas de datos GPIB 3 líneas de handshake 5 líneas de control de interfaz 8 líneas de retorno de tierra Fig. 1. Líneas del bus GPIB. A continuación se describen con detalle las líneas que componen el bus GPIB. 4 JJGDR-UCA
7 Instrumentos Electrónicos Programables 5.1 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. En este caso el octavo bit se emplea para paridad o no se emplea. 5.2 Líneas de control de transferencia de datos (handshake) Estas 3 líneas realizan el control asíncrono de las transferencias de los mensajes en forma de byte entre los dispositivos. Este proceso garantiza que la transmisión y la recepción se han realizado sin errores, dotando a la transmisión de información de seguridad. Las líneas son: NRFD (Not Ready For Data): Indica cuándo un dispositivo está preparado para recibir un byte. La línea es conducida por todos los dispositivos cuando reciben órdenes (cuando actúan como receptores de datos manteniéndose a la escucha), y por el orador o transmisor de datos cuando habilita el protocolo HS488. NDAC (Not Data Accepted): Indica cuándo un dispositivo ha aceptado un mensaje (en forma de byte). La línea es conducida por todos los dispositivos al recibir órdenes y/o datos, cuando reciben la información. DAV (Data Valid): Indica cuándo las señales en las líneas de datos se han estabilizado (se consideran válidas) y pueden ser aceptadas con seguridad por los dispositivos. El controlador conduce la línea de datos al enviar órdenes. Los transmisores de datos la conducen cuando envían mensajes de datos. 5.3 Líneas de control general de la interfaz SRQ (Service ReQuest): Se emplea para solicitar turno al controlador. IFC (InterFace Clear): Realiza un reset de los parámetros y direcciones del bus. REN (Remote ENable): Establece el control remoto de un dispositivo deshabilitando su control a través del panel. Es decir, el usuario ya no podrá realizar un control manual. EOI (End Or Identify): Se emplea como indicador de fin de transferencia de datos. ATN (ATtentioN): La emplea el controlador para distinguir entre los datos y los mensajes de control. Determina el tipo de información presente en las líneas de datos. 6 Funcionamiento. Transferencia de datos y cronograma El estándar IEEE 488.1 establece un handshake de 3 líneas de control de datos. La introducción de esta lógica negativa permite la implementación de la función lógica OR mediante cableado. De esta forma, no se transmiten datos hasta que no esté listo el receptor (listener) más lento, y queda asegurado que la transmisión sea lo suficientemente lenta como para que al receptor más lento le dé tiempo a aceptar el dato. JJGDR-UCA 5
Instrumentación Electrónica. Juan José González de la Rosa La línea NRFD es controlada por cada receptor e indica si cada uno de ellos no está listo (nivel bajo) o lo está (nivel alto) para recibir datos. La línea DAV es controlada por el transmisor e indica si los datos en las líneas de datos (DIO) son correctos y, en consecuencia, pueden ser aceptados por los receptores. Finalmente, la línea NDAC es controlada por cada receptor para indicar que no ha recibido los datos (nivel bajo) o que los ha recibido (nivel alto). La figura 2 muestra el diagrama de tiempos de operación. En principio, el transmisor comprueba que las líneas NRFD (Not Ready For Data) y NDAC están a nivel bajo. La primera indica que no todos los receptores están listos para recibir datos y la segunda indica que no han aceptado ningún nuevo byte. Observar que la línea NRFD no pasa a nivel alto hasta que todos los receptores están listos. Una vez que el transmisor ha detectado que la línea NRFD está a nivel alto y transcurre cierto retardo, necesario para dar tiempo a estabilizar los niveles de los datos que envía a los receptores, pone la línea DAV a nivel bajo indicando que los datos que envía son válidos (instante 3). Se transfiere así un byte de datos. El receptor más rápido pone la línea NRFD a nivel bajo con el fin de indicar que no está listo para recibir otro byte (instante 4). Los demás harán lo mismo cada uno a su ritmo. Es decir, el receptor más rápido indica al equipo que no mande más información porque él ha tomado ya la que había y tiene que aceptarla o procesarla (es posible que se requiera de él una respuesta). Finalmente, los receptores van aceptando el byte poniendo a nivel alto sus líneas NDAC. Cuando todos han aceptado los datos (instante 6), la línea pasa a nivel alto, el transmisor lo detecta y pone la línea DAV a nivel alto para indicar que ya no valen los datos (instante 7). El primer receptor que detecta que la línea DAV ha pasado a nivel alto pone la línea NDAC a nivel bajo (instante 8). El transmisor pondrá otros datos nuevos en las líneas DIO y comienza otro nuevo ciclo. Un byte pude no transferirse en menos tiempo de la duración de los siguientes eventos: Propagación del cambio de estado de la línea NRFD hacia el emisor de datos (talker). Propagación de la señal DAV a todos los receptores. Que los receptores acepten el byte y confirmen la línea NDAC (la pasen a nivel alto). Que la señal NDAC regrese al emisor. Que el emisor permita el tiempo de establecimiento de los datos en el bus antes de confirmar la línea DAV (pasarla a nivel bajo). 7 Configuraciones y características físicas y eléctricas Los dispositivos suelen conectarse mediante un cable apantallado de 24 polos, con la particularidad que en cada extremo es al mismo tiempo enchufe y receptáculo. Es posible encadenar dispositivos mediante configuraciones lineales, en estrella o utilizando una versión híbrida. La figura 3 muestra las conexiones lineal y en estrella. 6 JJGDR-UCA
7 Instrumentos Electrónicos Programables ATN T S DIO DAV Transferencia de 1 NRFD Algunos están preparados NDAC 1 2 3 4 5 6 7 8 Algunos Todos han Todos preparados aceptado los aceptaron datos datos Fig. 2. Diagrama de tiempos de operación. T S es el tiempo de estabilización de los datos. (a) (b) Fig. 3. Conexiones lineal (a) y en estrella (b) de un equipo de dispositivos GPIB. JJGDR-UCA 7
Instrumentación Electrónica. Juan José González de la Rosa La figura 4 muestra la parte trasera de dos instrumentos reales conectado en serie en un bus GPIB. 8 Instrumentos ieee 488.2 Fig. 4. Conexiones lineal de dos instrumentos GPIB. Los instrumentos de este estándar son más fáciles de programar, ya que responden a órdenes y solicitudes comunes, empleando un protocolo estándar de intercambio de mensajes. Este protocolo constituye la base del estándar SCPI, que permite la programación de equipos de test y medida incluso de una forma más sencilla. La tabla 1 muestra las órdenes y solicitudes ( commands and queries ) comunes a todos los instrumentos de este estándar. 8 JJGDR-UCA
7 Instrumentos Electrónicos Programables Tabla 1. Órdenes y solicitudes comunes a todos los instrumentos IEEE488-2. Nemónico Grupo de órdenes Descripción *IDN? Datos del equipo Solicitud de identificación *RST Operaciones internas Reset *TST? Operaciones internas Solicitud de autocomprobación *OPC Sincronización Operación completa *OPC? Sincronización Solicitud de operación completa *WAI Sincronización Esperar a completar *CLS Estatus y suceso Borrar estado (estatus) *ESE Estatus y suceso Habilitación estado suceso *ESE? Estatus y suceso Solicitud de habilitación estado de suceso *ESR? Estatus y suceso Solicitud de registro de estado de suceso *SRE Estatus y suceso Habilitación de solicitud de servicio *SRE? Estatus y suceso Petición de habilitación de servicio *STB? Estatus y suceso Solicitud de lectura de byte de estado 9 tarjeta controladora y aplicación básica de gobierno del bus La figura 4 muestra una tarjeta controladora GPIB con conexión PCI al PC. La figura 5 muestra la ventana MSDOS de la aplicación básica de programación incluida por el fabricante. En ella se observa el empleo de la función send para enviar a un instrumento que tiene asignada la dirección 1 la secuencia de órdenes del campo data. Fig. 4. Tarjeta controladora GPIB con conexión PCI al ordenador PC. JJGDR-UCA 9
Instrumentación Electrónica. Juan José González de la Rosa Fig. 5. Aplicación TRTEST para control GPIB diseñada por CEC. Referencias [1] Keithley Instruments Inc., IEEE-488 Interface Boards. User s Manual. Cleveland, Ohio, EE.UU., 2002. [2] R. Pallás, Adquisición y distribución de señales, Marcombo, Boixareu editores, 1993. [3] R. Pallás, Instrumentación Electrónica Básica, Marcombo, Boixareu editores, 1987. 10 JJGDR-UCA