You are on page 1of 77

Prlogo

Prlogo
Un sistema de instrumentacin es una estructura compleja que agrupa un conjunto de instrumentos, un dispositivo o sistema en el que se mide, unas conexiones entre estos elementos y por ltimo, y ms importante, unos programas que se encargan de automatizar el proceso y de garantizar la repetibilidad de las medidas. El objetivo final, que no debe perderse de vista, del proceso de automatizacin de las medidas es el aumento de la calidad. Esta calidad puede entenderse desde el punto de vista del usuario del producto o del servicio que ha pasado por el proceso de prueba o desde el punto de vista del ingeniero que desarrolla, pone en marcha y mantiene el sistema de instrumentacin que realiza este proceso de prueba, y que cada vez con mayor insistencia debe ajustarse a estndares internacionales como la norma ISO 9000. Este libro se ha escrito pensando especialmente en el tipo de sistemas que se encuentran en departamentos de investigacin y/o desarrollo y para el control de la produccin, especialmente en control de calidad. Los sistemas que consideramos en mayor profundidad son los construidos en base a instrumentos comerciales que se unen mediante un bus digital que permite la programacin de las funciones de medida, el procesado de los datos y la presentacin de los resultados, lo que da lugar a lo que se ha denominado instrumento virtual. Para no perder generalidad y para enmarcar adecuadamente los temas centrales del libro hemos dedicado los dos primeros captulos a describir los objetivos, las estructuras y las funciones de los distintos tipos de sistemas de instrumentacin existentes. El resto de captulos se centran ya en sistemas construidos alrededor de buses estndar, en concreto IEEE-488 (conocido tambin por GPIB o HP-IB) y VXI, describiendo la arquitectura y funcionalidad de los mismos, las formas de programarlos y la forma genrica de las aplicaciones informticas que facilitan la tarea de desarrollar los programas de control y que conocemos habitualmente como instrumentacin virtual. La descripcin de los buses estndar de interconexin de instrumentos que suelen hacer los textos de instrumentacin es casi siempre muy somera (muchas veces por limitaciones de espacio), por lo que se limita a una descripcin mecnica y elctrica y a enumerar las caractersticas funcionales ms relevantes. Aquel ingeniero interesado en conocer ms profundamente el funcionamiento del sistema, ya sea como usuario avanzado o como diseador de aplicaciones, no tiene otra alternativa que recurrir al texto de las normas. En el presente libro hemos intentado una descripcin rigurosa pero didctica de los estndares. Aquel que necesite asegurar que su diseo, ya sea un equipo o una aplicacin informtica, cumple con el estndar no tendr otro remedio que acudir a l, pero el usuario avanzado que necesita comprender las razones del comportamiento de una determinada aplicacin encontrar en este texto el material suficiente para ello o para acudir a la parte

Los autores, 2000; Edicions UPC, 2000.

Sistemas de instrumentacin

del estndar requerida con suficiente base como para leerlo con provecho. La explicacin de los buses de interconexin de instrumentos, igual que la descripcin de buses de microprocesador, es una tarea que no se presta a ser desarrollada en un aula, sino que es ideal para el laboratorio. Por este motivo hemos desarrollado en paralelo con este libro un curso de laboratorio de instrumentacin virtual. Nuestra sugerencia para la docencia de esta materia es dedicar poco tiempo (4 a 6 horas) de pizarra para introducir los conceptos de sistemas de instrumentacin expuestos aqu y dedicar mucho ms tiempo (25 a 30 horas) al curso de laboratorio. Hecho de esta forma, el presente libro se deber usar como material de referencia y como tal se ha desarrollado. Este texto se ha escrito pensando en estudiantes de ingeniera, de ciclo corto o largo, que estn cursando materias de instrumentacin o cursos de laboratorio con instrumentos controlados de forma automtica. Tambin ser til a aquellos profesionales que trabajen con sistemas automticos de medida y que deban desarrollar aplicaciones de bajo nivel, no soportadas o suministradas por los fabricantes de los equipos o del entorno informtico de aplicacin.

Los autores Septiembre de 1995

Los autores, 2000; Edicions UPC, 2000.

ndice

ndice

1 Automatizacin de las medidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


1.1 Objetivos de los sistemas de instrumentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Estructura general de los sistemas de instrumentacin . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Sistemas dedicados y de bastidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11 12 13 14 15 17 17 21 23 25 29 29 30 30 31 33 35 36 37 38 38 39 42 43 43 44 46 47 50

2 Arquitectura de los sistemas de instrumentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


2.1 Estructura del hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Estructura del software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Sistema de direccionamiento de la seal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Tipos de instrumentos y buses de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Sistemas basados en el bus IEEE-488 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


3.1 Introduccin histrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Aspectos elctricos y mecnicos (IEEE-488.1-1987) . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Aspectos mecnicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Aspectos elctricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Transferencia de informacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Funciones de la interfase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Funciones bsicas de transferencia: AH y SH . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Funciones de emisin y recepcin de informacin (T, L, TE, LE) . . . . . . . 3.4.3 Funciones que afectan al instrumento (DC, DT y RL) . . . . . . . . . . . . . . . . 3.4.4 Funciones de peticin de servicio (SR y PP) . . . . . . . . . . . . . . . . . . . . . . . 3.4.5 Funcin de controlador (C) y codificacin de las rdenes . . . . . . . . . . . . . . 3.5 Cdigos, formatos, protocolos y comandos comunes (IEEE-488.2-1992) . . . . . . . . . 3.5.1 Requerimientos de la interfase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Registro de estado y peticin de servicio . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.3 Sintaxis de los mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.4 Comandos comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.5 Procedimientos comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Realizacin de interfases IEEE-488.1 y .2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Los autores, 2000; Edicions UPC, 2000.

10

Sistemas de instrumentacin

4 Sistemas basados en el bus VME y VXI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


4.1 Del VME al VXI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Especificaciones generales de la norma VXI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Descripcin de los buses VXI y VME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 El bus VME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Extensin del bus VME, el bus VXI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Modos de funcionamiento y arquitecturas del bus VXI . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Tipos de dispositivos en un sistema VXI . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Recursos del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.3 Protocolos de comunicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.4 Arquitecturas de un sistema VXI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53 53 54 54 55 56 59 59 61 62 63 65 66 69 70 72

5 Comandos de medida normalizados. SCPI, ADIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


5.1 Modelo de instrumento segn la norma SCPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Sintaxis y estilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Formato de datos: ADIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Instrumentacin virtual. Programas de ayuda al diseo de sistemas de instrumentacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


6.1 Clases de instrumentos virtuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Lenguajes de control para sistemas de instrumentacin . . . . . . . . . . . . . . . . . . . . . . .

75 75 78 83 83 84 84

Bibliografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Libros y artculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Catlogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Los autores, 2000; Edicions UPC, 2000.

Bibliografa

83

Bibliografa

Libros y artculos
[BUC92] BUCHLA, D.; MCLAHAN, W. Applied electronic instrumentation and measurement. New York, Macmillan, 1992.

[COO95]

COOMBS, C.F. JR. Electronic instrument handbook, 2a. Edicin, Nueva York, McGraw-Hill, 1995.

[MAN94]

MANUEL, A.; SNCHEZ, F,; SNCHEZ, J. "Controladores GPIB. Caractersticas y prestaciones". Mundo electrnico, 249, junio-julio 1994, pp. 32-36.

[MER91]

MERCAD, J. "SCPI normalizacin de comandos y datos en instrumentacin programable". Mundo electrnico, 220, septiembre 1991, pp. 62-67.

[SYD89]

SYDENHAM, P.H.; HANCOCK, N.H.; THORN, R. Introduction to measurement science and engineering. Chichester, Wiley, 1989.

[JOH94]

JOHNSON, G.W. LabVIEW Graphical programming. Practical Applications in Instrumentation and control, Nueva York, McGraw-Hill, 1994.

Los autores, 2000; Edicions UPC, 2000.

84

Sistemas de instrumentacin

Normas

ANSI/IEEE Std 488.1-1987, IEEE Standard Digital Interface for Programmable Instrumentation The Institute of Electrical and Electronics Engineers, Inc, 1988.

ANSI/IEEE Std 488.2-1992, IEEE Standard Codes, Formats, Protocols and Common Commands; The Institute of Electrical and Electronics Engineers, Inc, 1988, 1993.

ANSI/IEEE Std 728-1982, IEEE Recomended Practice for Code and Format Conventions for use with ANSI/IEEE Std 488-1978; The Institute of Electrical and Electronics Engineers, Inc, 1982.

IEEE Std 1014-1987, IEEE Standard for a Verastile Backplane Bus:VMEbus; The Institute of Electrical and Electronics Engineers, Inc, 1987.

IEEE Std 1155-1992, IEEE Standard VME bus extensions for Instrumentation:VXI; The Institute of Electrical and Electronics Engineers, Inc, 1992.

Standard Commands for Programmable Instruments:SCPI, SCPI Consortium, La Mesa (CA), 1991.

Catlogos
National Instruments, Instrumentation reference and catalogue 1995, Austin, Texas 1994.

Intelligent Instrumentation, The handbook of personal computer instrumentation, Tucson, Arizona, 1994.

Data Translation, 1993 Product Handbook: Data Acquisition and Image Procesing, Massachusetts, 1993.

Keithley, Data acquisition & control, Taunton, MA, 1991.

IOtech, Products for the IEEE-488 BUS, Cleveland, OH, 1992.

Los autores, 2000; Edicions UPC, 2000.

Automatizacin de las medidas

11

1 Automatizacin de las medidas


La imagen del tcnico o del cientfico, con bata blanca, manejando manualmente uno o varios instrumentos conectados mediante un amasijo de cables a una tarjeta de circuito impreso u otro dispositivo es una imagen ciertamente buclica pero poco representativa de la realidad de la instrumentacin electrnica actual. Con esto no queremos decir que esta imagen sea falsa, sino que los instrumentos que se usan de esta forma representan un porcentaje pequeo en el mercado global de la instrumentacin. El concepto bsico que subyace detrs del mundo de la instrumentacin es el concepto de calidad. La calidad puede entenderse desde el punto de vista del usuario o desde el punto de vista del tcnico de medida (test engineer). Desde el punto de vista del usuario, la calidad de un producto o servicio puede descomponerse en tres mbitos objetivos: la fiabilidad, la facilidad de mantenimiento y la disponibilidad [SYD89]. La disponibilidad es una cuestin de capacidad de produccin y canales de distribucin. La facilidad de mantenimiento es fundamentalmente una cuestin de diseo del producto y del servicio post-venta. La fiabilidad es la capacidad del producto para realizar una determinada funcin durante un intervalo de tiempo especificado. En la fiabilidad de un producto o servicio intervienen numerosos factores que impiden que sta pueda calcularse de forma simple. Por este motivo hay que recurrir a ensayos que nos permitan determinar si el producto es funcionalmente correcto y estimar estadsticamente la tasa de fallos. Estos ensayos consisten siempre en la aplicacin de estmulos (elctricos, mecnicos, entradas del usuario, etc.), la recogida de datos de las respuestas a los estmulos y la generacin de los informes que documentan la prueba. Este proceso no puede realizarse de forma manual. El motivo no es nicamente la cantidad de productos que deben ensayarse sino el ensayo en s mismo. Tomemos como ejemplo un sistema digital basado en microprocesador. Hacer una prueba funcional exhaustiva del sistema significara aplicar la totalidad de las entradas distintas posibles para cada uno de los estados posibles del sistema. La generacin de los estmulos (en este contexto se llaman vectores de prueba) debe hacerse de forma sistemtica si no queremos correr el riesgo de olvidar partes importantes. La comparacin de las respuestas recogidas con las respuestas esperadas no puede hacerse de forma manual, al menos en un tiempo razonable, y el informe no puede mecanografiarse a mano porque se tardara semanas en escribirlo. Aunque en la prctica no se prueben todos los vectores posibles, sino solo algunos considerados significativos, el volumen de informacin que se maneja slo se puede tratar de forma automtica. Hay otros ejemplos donde la cantidad de informacin no es tan grande pero para poder asegurar la exactitud o la repetibilidad requerida en las pruebas es necesaria una sistematizacin de los ensayos que solo puede asegurarse, con un tiempo y un coste razonable, si se realiza de forma automtica.

Los autores, 2000; Edicions UPC, 2000.

12

Sistemas de instrumentacin

Desde el punto de vista del tcnico, aumentar la calidad de una medida puede constituir simplemente en el aumento de la velocidad de adquisicin o procesado de los datos, el aumento de la exactitud o la disminucin del coste. As deberamos incluir aquellos sistemas destinados a adquirir conocimiento del mundo fsico para contrastar hiptesis sobre el mismo, el uso de los cuales solo repercutir en la calidad de un producto o servicio de forma muy indirecta, o bien los sistemas de control donde, tradicionalmente, se ha dado ms importancia a los algoritmos que se usaban para decidir las acciones a seguir que a la instrumentacin usada para adquirir los datos con que se alimentan estos algoritmos.

1.1 Objetivos de los sistemas de instrumentacin


El objetivo bsico de un sistema de instrumentacin es la adquisicin de informacin del mundo fsico a la mxima velocidad posible, con la mayor exactitud que se pueda obtener y con el menor coste. Si esto se usa para adquirir conocimiento hablaremos de sistema de instrumentacin o sistema de medida. Si esta adquisicin de informacin se usa para determinar la respuesta a los ensayos a los que se somete un circuito integrado, un sistema electrnico o mecnico, etc. hablaremos de sistemas automticos de prueba (automatic test equipment:ATE). Histricamente el trmino ingls ATE se ha reservado a aquellos sistemas destinados a realizar ensayos en circuitos integrados, componentes electrnicos discretos, placas de circuito impreso o sistemas electrnicos completos, pero puede generalizarse a otros tipos de ensayo como trmicos o mecnicos. La diferencia estructural entre los sistemas de medida y los de prueba radicara en la existencia en estos ltimos de un subsistema destinado a aplicar excitaciones al elemento que se somete a ensayo. Este subsistema puede sustituirse, a nivel formal, por la existencia de una hiptesis sobre el comportamiento del sistema fsico en el que se mide. Salvado este extremo ambos tipos de sistema admiten igual tratamiento, por lo que usaremos ambos trminos de forma indistinta. Podemos definir los objetivos de los sistemas de instrumentacin segn el tipo de comprobacin que realizan en el sistema bajo prueba (SBP):

1. Anlisis de defectos: el objetivo de estos sistemas es la realizacin de ensayos en dispositivos o elementos complejos, para determinar si las medidas realizadas se corresponden con un conjunto de medidas de referencia realizadas en un elemento que se considera correcto. El objeto o sistema que se mide puede estar o no realizando su funcin habitual. Las medidas que se realizan no tienen por qu corresponder a parmetros de algn componente del sistema ni a salidas funcionales del mismo. Simplemente sirven para determinar si aquello que se mide es igual o distinto a lo que se esperaba obtener. El objetivo final es determinar si el objeto presenta defectos, ya sea de fabricacin o ensamblaje o bien debidos al uso o manipulacin. 2. Medida de parmetros: en este caso se trata de obtener un conjunto de parmetros de un elemento del SBP. El elemento o dispositivo puede estar aislado del sistema o conectado a l. El sistema puede estar funcionando o no. Por ejemplo podemos medir el valor de un resistor o caracterizar el tiempo de subida de un elemento lgico al variar las condiciones de carga. La tcnica de medida cambia si el elemento est aislado o insertado en un sistema [COO95].

Los autores, 2000; Edicions UPC, 2000.

Automatizacin de las medidas

13

3. Pruebas funcionales:

el objetivo de estos ensayos es determinar si el SBP realiza la funcin para la cual fue diseado. Es obvio que en este caso el sistema debe estar funcionando y deben suministrrsele las entradas correspondientes, ya sean de usuario o bien de los subsistemas que le precedan cuando el sistema opera normalmente. Este tipo de ensayo es el que requiere un sistema de instrumentacin ms complejo, ya que deben simularse todos los modos de operacin del SBP y deben realizarse las medidas a la velocidad real de funcionamiento del mismo.

1.2 Estructura general de los sistemas de instrumentacin

Fig. 1.1 Esquema conceptual de un sistema de instrumentacin

En la figura 1.1 se puede ver el esquema conceptual de un sistema de instrumentacin genrico. El sistema bajo prueba (SBP) recibe excitaciones generadas por una serie de dispositivos o instrumentos que estn conectados a un bus. Estas excitaciones se aplican a travs a actuadores spara el caso de un sistema no elctrico. El SBP adems puede recibir entradas directas del usuario, por ejemplo si se hace una prueba funcional. La respuesta a las excitaciones es recogida por los elementos de adquisicin. Al igual que para los generadores de excitacin, estos elementos pueden ser circuitos diseados a medida o bien instrumentos comerciales independientes. Los sensores tampoco estarn presentes si se mide en un sistema elctrico.

Los autores, 2000; Edicions UPC, 2000.

14

Sistemas de instrumentacin

Tanto la parte de generacin de la excitacin como la de adquisicin estn unidas a nivel digital mediante buses de comunicaciones. Puede haber uno o ms buses coexistiendo en un mismo sistema. Estos buses se conectarn a un elemento inteligente, tpicamente un ordenador de propsito general, mediante las correspondientes interfases. A partir de este punto entramos en el dominio de la programacin, que se ha representado como un estructura jerrquica de capas. Los datos que llegan de los buses van a parar a una capa de control y gestin de bajo nivel que pasa la informacin a una capa de procesado y esta, a su vez, la pasa a una aplicacin de presentacin y recogida de seales del usuario.

Fig. 1.2 Sistema de prueba dedicado de alta velocidad para entornos de fabricacin HP84000 (Hewlett-Packard)

1.3 Sistemas dedicados y de bastidor


Una forma de realizar un sistema de instrumentacin consiste en disear cada una las partes que lo componen a medida de la aplicacin. Este proceso acaba en un sistema, que tiene la estructura vista en el apartado anterior, y que normalmente conocemos como instrumento. En el caso de un sistema de prueba automtico (ATE), el instrumento finalmente diseado (incluido el ordenador) puede tener un volumen considerable, como el sistema de la figura 1.2. No obstante, se le contina considerando un instrumento aislado ms que un sistema de instrumentacin. La ventaja de esta aproximacin es la adecuacin perfecta entre instrumento y aplicacin. La desventaja es el coste y la incapacidad de reconfiguracin para cubrir nuevas necesidades. Por este motivo los sistemas dedicados slo son factibles econmicamente si cubren una necesidad suficientemente amplia que permita a sus diseadores/fabricantes producir una cantidad significativa, y aun as su precio puede resultar muy elevado. Es del dominio pblico el hecho que durante la dcada de los 70 los circuitos integrados digitales estaban limitados a 40 terminales porque los equipos de prueba que se usaban tenan previsto como mximo este nmero de entradas y cambiarlos supona un coste excesivo. Esta

Los autores, 2000; Edicions UPC, 2000.

Automatizacin de las medidas

15

limitacin afect a microprocesadores tan populares como el Z80 o el i8086. La alternativa a esta aproximacin consiste en escoger instrumentos de propsito general, disponibles comercialmente, colocarlos unos encima de los otros (stack) en un bastidor (rack) comercial y controlarlos mediante un bus estndar de instrumentacin, como IEEE-488 o VXI. A esta aproximacin se le conoce, en terminologa inglesa, como rack & stack. Las ventajas son, esencialmente, el menor coste de adquisicin y la posibilidad de reutilizacin del todo o de las partes y por tanto la rentabilizacin de la inversin. Como contrapartida deberemos destinar un cierto tiempo a configurar las conexiones del sistema y a realizar la aplicacin informtica de control y presentacin. Esta solucin suele adoptarse en laboratorios de investigacin/desarrollo donde las necesidades de los ensayos a realizar cambian rpidamente, o bien en empresas que por la poca continuidad de la produccin deben reconfigurar frecuentemente los sistemas de prueba.

1.4 Aplicaciones
La aplicaciones ms importantes de los sistemas de instrumentacin las encontramos en los campos del diseo y desarrollo, de la produccin, de las medidas de campo y del control de procesos [BUC92]. Cada uno de estos campos tiene caractersticas especiales que repercuten en la concepcin del sistema de instrumentacin, y que comentaremos muy brevemente.

1.4.1 Diseo y desarrollo Las principales aplicaciones en este campo son la verificacin del diseo, las medidas de prestaciones y los ensayos ambientales. Los sistemas de verificacin de diseo son usados por los ingenieros de diseo para comprobar los primeros prototipos del producto desarrollado. Son sistemas con vida muy corta y niveles de automatizacin pequeos, donde los sistemas de tipo bastidor tienen sus dominios. En estos entornos, la existencia de aplicaciones informticas que permitan un desarrollo rpido de la automatizacin de las medidas es un factor clave. Las medidas de prestaciones se realizan en prototipos muy parecidos al producto final. Se usan para determinar las caractersticas de funcionamiento general del producto y el resultado suele utilizarse para redactar las hojas de especificaciones. Es habitual realizar tambin pruebas de robustez a base de variar algunos parmetros fuera del margen especificado, como por ejemplo la tensin de alimentacin o la frecuencia de trabajo. Los ensayos ambientales consisten en someter al producto a cambios en parmetros externos de funcionamiento como pueden ser la temperatura, la humedad, las interferencias electromagnticas, etc. Habitualmente existen normativas que obligan a realizar estas medidas de una forma determinada (p. ej. la directiva europea sobre compatibilidad electromagntica) y por tanto los sistemas de instrumentacin suelen estar altamente automatizados, para asegurar que las medidas se realizan de acuerdo con aquello que especifica la norma. Habitualmente estos sistemas no estn en las empresas de diseo o produccin, sino que se encuentran en laboratorios pseudo-gubernamentales especializados (p. ej.: Laboratori d'Assaigs de la Generalitat de Catalunya). 1.4.2 Sistemas para medidas en produccin Estos sistemas se usan para asegurar que el producto que se construye cumple con las especificaciones deseadas. En estos sistemas el factor clave es la velocidad puesto que limita la

Los autores, 2000; Edicions UPC, 2000.

16

Sistemas de instrumentacin

velocidad de la cadena de produccin. En el mundo de la fabricacin de productos electrnicos nos encontramos con sistemas de prueba de componentes en circuito, que determinan si cada uno de los componentes de una tarjeta de circuito impreso es correcto una vez los componentes han sido montados (esto no excluye que las tarjetas y los componentes se hayan podido probar por separado con anterioridad). El hecho de que los componentes estn montados en la placa impone tcnicas especiales de conexin y guarda para asegurar que se mide slo el componente deseado [COO95]. En el caso de circuitos digitales complejos (microprocesadores, FPGA, etc.) las pruebas dentro del circuito son difciles si se usan tcnicas convencionales. Por este motivo se ha desarrollado un mtodo conocido como Boundary Scan Test (IEEE Std. 1149.1-1990; 1149.1a-1993). Este mtodo requiere que el circuito a medir se haya diseado de forma especial, aadiendo un circuito a cada uno de los terminales de conexin. A estos circuitos (colocados en la periferia:boundary) se accede con un protocolo serie y pueden configurarse para operacin transparente, para fijar un nivel de tensin o para recoger la tensin de salida del terminal. Este mtodo facilita enormemente la medida en circuitos digitales complejos puesto que solo hay que acceder a dos puntos de cada tarjeta de circuito impreso. El sistema de instrumentacin requerido es, no obstante, muy complejo a nivel de generacin de vectores de prueba. Finalmente se suelen realizar pruebas funcionales con el producto ya acabado para determinar que ste realiza la funcin para la cual fue diseado. Es una prueba entrada/salida, es decir, considerando el producto como una caja negra. Si el producto no supera la prueba no es posible, en este estadio, saber cul es el componente defectuoso y debe volverse a alguna de las pruebas anteriores.

1.4.3 Medidas de campo Las medidas de campo suelen realizarse para reparar productos que han dejado de funcionar o no realizan su tarea a satisfaccin del cliente. Dado que los sistemas de instrumentacin necesarios han de desplazarse hasta el SBP, el tamao y el peso son factores muy importantes. Habitualmente son instrumentos diseados a medida. Tambin en esta campo la tcnica de Boundary Scan ofrece grandes ventajas.

1.4.4 Sistemas de control La enseanza clsica de los sistemas de control se centra en el estudio de los algoritmos necesarios para llevar al sistema a un estado deseado tomando como informacin de entrada el estado actual y la historia. Generalmente se supone que el conocimiento del estado actual es perfecto. Este conocimiento, sin embargo, se adquiere a travs de un sistema de instrumentacin, que puede ser muy simple, en el caso de controlar, por ejemplo, la velocidad de un motor, o muy complejo en el caso de controlar una refinera. La calidad del control que se puede realizar nunca ser mejor que la calidad de las medidas que se obtengan del estado del SBP [SYD89]. En la mayora de las aplicaciones se usan tarjetas de adquisicin conectadas a un ordenador de propsito general o bien a controladores especialmente diseados (PLC: Progammable Logic Controllers). A estas tarjetas se conectan directamente sensores con salidas estndar (0-5 V o 4-20 mA) y los programas de control son especiales para el PLC. Algunos entornos de instrumentacin virtual basados en ordenadores de propsito general incluyen algoritmos de control, como por ejemplo LabView de National Instruments.

Los autores, 2000; Edicions UPC, 2000.

Arquitectura de los sistemas de instrumentacin

17

2 Arquitectura de los sistemas de instrumentacin


Entendemos por arquitectura del sistema la estructuracin de ste en bloques funcionales y la definicin de las interacciones entre ellos. La estructura que se presenta intenta abarcar todos los aspectos conceptuales existentes en sistemas de instrumentacin para la prueba automtica. Lgicamente, la arquitectura concreta de cada sistema de instrumentacin depender de la aplicacin de ste, el cual constituido por un subconjunto de los bloques aqu descritos. El primer objetivo de este captulo es describir la funcionalidad de los bloques constituyentes de un sistema de instrumentacin, tanto en el aspecto hardware como software. El segundo objetivo es describir con ms profundidad los subsistemas que son ms especficos, como son el sistema de direccionamiento de seal y los diferentes tipos de instrumentos y buses de control existentes en el mercado actual.

2.1 Estructura del hardware


Desde el punto de vista de la realizacin fsica es a partir de donde un sistema de instrumentacin puede tomar estructuras ms diferentes. Pensemos, por ejemplo, en un equipo que integre en una sola caja los circuitos para realizar medidas de impedancias terminales, funciones de red, anlisis espectral y alguna cosa ms. Este equipo, un analizador de redes, constituye lo que hemos llamado un instrumento y en la estructura representada en la figura 2.1 aparecera como uno de los bloques con este nombre. Sin embargo, podramos realizar las mismas funciones de este equipo basndonos en varios equipos independientes (generadores de seal, amplificadores, analizadores de espectro) estructurados en un sistema de medida automtica (que podra estar descrita por el mismo esquema de bloques). En definitiva, la estructura interna del analizador de redes en realidad se puede descomponer en un conjunto de bloques (subsistemas) que se ajustaran a toda la estructura representada en la figura 2.1. Con esto queremos decir que la estructura que presentamos responde a un modelo funcional de las distintas partes del hardware y no a su apariencia o localizacin fsica, con lo que es til para describir el funcionamiento tanto de equipos ms o menos sencillos como sistemas complejos de instrumentacin. El funcionamiento y las partes ms importantes del sistema de instrumentacin de la figura 2.1 son los siguientes: el dispositivo o sistema bajo prueba (DBP o SBP) est conectado a los instrumentos mediante un sistema de contactos (fijacin del SBP) y un encaminamiento (conmutacin) de las seales que permite seleccionar qu seales aplicar a las entradas del SBP y dnde enviar (a qu instrumentos) las salidas del SBP. Todo el proceso de controlar el encaminamiento de la seal, las medidas a realizar por los instrumentos, el almacenado de la informacin adquirida y su posterior procesado y presentacin es realizado por el sistema de control.

Los autores, 2000; Edicions UPC, 2000.

18

Sistemas de instrumentacin

Normalmente ser un ordenador con todos los perifricos tpicos ms las interfases necesarias para controlar el sistema. A continuacin pasamos a describir cada bloque en mayor profundidad.

BUS DE CONTROL

CONTROL
INSTRUMENTO INSTRUMENTO INSTRUMENTO

DEL BUS SISTEMA DE CONTROL

CONEXIONADO DE SEAL
INSTRUMENTO (ALIMENTACIN) CONMUTACIN

PLACAS I/O

FIJACIN SBP

USUARIO

SBP

COMUNICACIONES

Fig. 2.1 Arquitectura general de un sistema de instrumentacin controlable

- Sistema bajo prueba (SBP) En ingls se le denomina Device Under Test: DUT o tambin System Under Test: SUT. Es el elemento que se mide con el objeto de caracterizar alguna o algunas de sus cualidades. Puede ser desde un componente electrnico de 2 terminales -resistor, condensador, etc- a un sistema de N terminales de entrada y M de salida. Tal como se representa en la figura 2.1, el SBP puede ser un sistema que requiera una programacin o un control. Para ello hay que prever el disponer del bus adecuado para poder reconfigurar de forma automtica el SBP.

- Fijacin del SBP Es el sistema que establece la conexin elctrica del SBP con el sistema de medida. Para aplicaciones en control de produccin suelen ser conjuntos de puntas de prueba (bed of nails) contra los que se enfrentan las placas de circuito impreso a examinar. Las puntas de prueba estn constituidas por una parte fija ms una mvil que gracias a un muelle tiene un cierto recorrido y ejerce una presin dada. La parte mvil es la que establece el contacto elctrico con las pistas o los pines existentes en las placas de circuito impreso bajo prueba.

Los autores, 2000; Edicions UPC, 2000.

Arquitectura de los sistemas de instrumentacin

19

Para que el contacto sea estable mecnicamente y de baja resistencia las puntas de prueba estn acabadas normalmente en formas puntiagudas con un bao de oro o de rodio. La ventaja de estos sistemas es la rapidez con que se establecen los contactos y que se puede acceder a cualquier punto de la placa de circuito impreso. En sistemas de laboratorio, usualmente, la conexin se realiza de forma manual a travs de conectores preestablecidos (paneles de conexin) o de sondas conectadas a pines de la placa o componente bajo prueba.

- Conmutacin Este bloque es el encargado de direccionar las seales entre los instrumentos y los contactos del sistema de fijacin del SBP para excitar o medir, en funcin de la medida a realizar, las entradas o salidas correspondientes del SBP. En algunos casos este sistema no existir o se reconfigurarn las conexiones de forma manual, reconectando los cables o las puntas de prueba. En sistemas automticos puede estar constituido por un sistema simple basado en interruptores independientes controlados directamente por el sistema de control, o por un instrumento especfico controlado a alto nivel que pueda establecer cualquier combinacin de conexiones entre sus entradas y salidas.

- Conexionado de seal El conjunto de cables para conectar los instrumentos con el SBP es una de las partes imprescindibles en un sistema de medida. Normalmente se realiza de una forma precipitada utilizando cualquier tipo de cable que tengamos a mano. Sin embargo, este sistema puede llevarnos a resultados totalmente falsos en algunas situaciones. La problemtica del sistema de conexionado estriba en los problemas que pueden surgir de diafona, bucles de masa, atenuaciones, desfases y reflexiones a alta frecuencia. En el apartado 2.3 se vern algunas directrices para atacar estos problemas.

- Instrumentos La seleccin de los instrumentos para realizar el sistema depende de muchos factores. Para empezar es adecuado hacer una lista de los parmetros a medir y sus mrgenes de variacin. Con esta lista se podrn disear los tipos de medidas a realizar y, por lo tanto, las seales a generar y los tipos de medidores necesarios. A partir de este punto ya entran en juego cuestiones de mercado y logsticas, como pueden ser la disponibilidad o no de equipos que renan las caractersticas de medida requeridas y, a su vez, un bus de control adecuado a nuestro sistema. Otro concepto fundamental a considerar es la flexibilidad que queramos tener en nuestro sistema para reconfigurarlo y poder realizar otras medidas. Este punto es de gran importancia ya que el coste del sistema suele ser elevado y las necesidades actuales de ensayo evolucionan de forma muy rpida lo que hace muy costoso el cambio de todo el sistema por una falta de previsin. Esta premisa de adaptabilidad es la que est impulsando los sistemas abiertos de instrumentacin frente a lo que seran los sistemas dedicados hechos a medida.

Los autores, 2000; Edicions UPC, 2000.

20

Sistemas de instrumentacin

- Alimentacin (distribucin de energa) En muchos casos los SBP tienen que ser examinados bajo unas condiciones preestablecidas de la alimentacin o, incluso, en un margen dado de sta. Para ello hemos considerado la alimentacin como una seal ms a aplicar al SBP. En realidad el bloque de alimentacin de la figura 2.1 puede considerarse como un instrumento ms del sistema de instrumentacin. Adems de esta alimentacin hay que considerar el diseo de la alimentacin de todos los dems elementos activos del sistema. En equipos comerciales, normalmente, este aspecto ya estar resuelto con una alimentacin directa de la red elctrica.

- Sistema de control (controlador) Es el ncleo central del sistema de instrumentacin, se encarga de controlar el funcionamiento general y de gestionar los datos adquiridos. Actualmente estn basados en sistemas con microprocesador y con todos los perifricos tpicos de sistemas tipo ordenador personal. En algunos casos el controlador es un ordenador personal o una estacin de trabajo (workstation), pero en otros, orientados a aplicaciones industriales, el controlador puede estar constituido por una sola tarjeta conectable a un bastidor (rack). En el caso de ordenadores personales existen multitud de placas de entradas y salidas, tanto analgicas como digitales. Con estas placas, tal como se muestra en la figura 2.1, pueden generarse y/o medirse seales que vayan al SBP o vengan de l, como si el ordenador incluyera un instrumento ms. Las lneas digitales de I/O tambin pueden utilizarse para controlar partes del sistema o del SBP. En el caso de los PC, para controlar el bus de control, normalmente se utilizan tarjetas especficas para cada uno de los buses normalizados. De este modo se puede tener ms de un bus de control. Al igual que en la seleccin de los instrumentos, para seleccionar el controlador hay que tener en cuenta aspectos como: fcil desarrollo del software de control y procesado, facilidad de mantenimiento, requerimientos de velocidad, etc. Otro de los aspectos ms importantes a considerar es la adaptabilidad del sistema a cambios de requerimientos.

- Bus de control Es el soporte fsico para realizar el control y la transferencia de datos entre los instrumentos y el controlador. Entre otras, las especificaciones ms importantes son las limitaciones en las velocidades de transmisin, las longitudes mximas de cable permitidas y el nmero de instrumentos que se pueden conectar. - Comunicaciones Cada da es ms importante el integrar todos los sistemas que forman parte del

Los autores, 2000; Edicions UPC, 2000.

Arquitectura de los sistemas de instrumentacin

21

proceso de produccin y de gestin de una empresa. Ello permite agilizar la transferencia de informacin al reducir costes y dar ms flexibilidad a la produccin. Para esto es necesario prever que los sistemas de prueba puedan integrarse en la red de comunicaciones de la empresa, por ejemplo mediante una conexin a la red de rea local.

2.2 Estructura del software


En un sistema de instrumentacin para test automtico es donde la expresin "el instrumento es el software" adquiere toda su significacin. La idea que subyace en esta expresin es la de hacer el mximo nmero de funciones por software, utilizando equipos de propsito general para realizar las medidas bsicas. Esta aproximacin permite adaptar el sistema a nuevas situaciones de medida con slo modificar el programa, con lo que se consigue alta flexibilidad a bajo coste. Sin embargo, la decisin del soporte informtico de nuestro sistema, desde el nivel de sistema operativo al nivel de aplicacin, puede ser crucial para determinar la flexibilidad final de nuestro sistema y los costes de mantenimiento y reprogramacin.

Fig. 2.2 Estructura en capas del software para el control de un sistema de instrumentacin

A continuacin revisaremos la estructura del software. En la figura 2.2 puede observarse la estructura en capas del software, desde el nivel inferior (el sistema operativo) al nivel superior (las aplicaciones). Para cada nivel se comentar su funcionalidad y los aspectos ms importantes a tener en cuenta.

- Sistema operativo (S.O.) Es el soporte bsico que relaciona las funciones programadas con el hardware concreto de la mquina. Determina aspectos tan importantes como son la posibilidad de ejecutar programas simultneamente (multitarea) y/o poder dar servicio a mltiples usuarios. En aplicaciones que requieran alta velocidad de adquisicin y proceso, por ejemplo sistemas en tiempo real, los monotarea pueden ser ms convenientes. Por otro lado, en sistemas que tienen que responder a eventos dados que no sean repetitivos, por ejemplo una central de alarmas, los sistemas multitarea sern ms adecuados. En todos los casos, el utilizar un S.O. de uso general como puede ser UNIX, DOS, OS/2 o MS-Windows permitir disponer de ms software comercial. Adems, facilitar las comunicaciones con otros ordenadores y su integracin en redes locales.

Los autores, 2000; Edicions UPC, 2000.

22

Sistemas de instrumentacin

- Controladores para el bus de interconexin Los controladores (drivers, en ingls) del bus de interconexin son las rutinas que gestionan los recursos concretos del gestor del bus, normalmente una placa que se instala en el ordenador de control. En el caso de un software bien estructurado stas seran las nicas subrutinas que se deberan modificar en el caso de que se sustituyese el controlador del bus o incluso el tipo de bus de control. La programacin de los instrumentos puede realizarse utilizando estos drivers pero para ello necesitamos saber qu cdigos especficos hay que enviar a cada instrumento para cada funcin a realizar. Esta tarea solo es interesante realizarla en el caso de que no se dispongan de drivers para un instrumento dado. En este caso lo ms apropiado es realizar un driver de instrumento siguiendo las mismas pautas que sigan los drivers de que disponemos.

- Controladores de instrumentos Estas son las rutinas (drivers) que controlan los instrumentos conectados al bus de control. Estas rutinas sern, por lo tanto, dependientes de cada instrumento. Normalmente se presentan como un conjunto de funciones de alto nivel que permiten programar un instrumento en concreto. La programacin se realiza llamando a rutinas diferentes para cada funcin o a una rutina general con un cierto nmero de parmetros. Para decidir la compra de drivers de instrumentos conviene considerar los siguientes puntos: - desde que lenguaje se pueden usar (C, Basic, Pascal,...) - extensin de la librera de instrumentos soportados - posibilidades de modificacin de los drivers existentes - posibilidad de incluir nuevos drivers o funciones - disponibilidad de herramientas para el desarrollo o la verificacin de nuevos drivers.

- Programas de prueba y diagnstico Estos son los algoritmos que realizan la programacin de los equipos para cada medida concreta. Se basan en llamadas a los drivers de instrumento para la programacin de estos. Normalmente se utilizan programas escritos en lenguajes de alto nivel, o tambin entornos de programacin especficos textuales o grficos. Idealmente en este nivel se tendran un conjunto de funciones que realizaran cada una de las medidas y devolveran los datos adquiridos por los instrumentos una vez procesados. Con lo visto hasta este momento se puede entender que, en un sistema automtico de medida, localizar, de forma manual, los posibles fallos puede ser muy costoso. Un mal funcionamiento puede ser debido a problemas de comunicaciones, problemas en un instrumento o problemas en el controlador y/o en su software. Por ello, los programas de diagnstico se hacen imprescindibles para localizar las causas de un mal funcionamiento del sistema.

Los autores, 2000; Edicions UPC, 2000.

Arquitectura de los sistemas de instrumentacin

23

- Programa de aplicacin y gestin (elaboracin de informes) Este es el nivel ms alto y se encarga de gestionar tanto los programas de prueba como los datos obtenidos. Puede incluir sistemas de diagnstico automtico y autoconfiguracin. Aspectos clave en este nivel son: la interfase de usuario, la presentacin de datos, la exportacin o los enlaces de datos a otros programas y las comunicaciones con otros sistemas.

2.3 Sistema de direccionamiento de la seal


El soporte fsico para el paso de seales entre los instrumentos y el SBP es lo que denominamos como sistema de direccionamiento de la seal. Est compuesto, como mnimo, por los cables y sus conectores (conexionado de seal) y tambin puede incluir etapas de multiplexado o demultiplexado (conmutacin) y sistemas para fijar el SBP. Como se ha comentado en el apartado anterior, normalmente el cableado se realiza de una forma precipitada utilizando cualquier tipo de cable que tengamos a mano, lo que puede acarrear serios problemas de medida. Una de las primeras recomendaciones es marcar todos los cables con etiquetas identificativas para evitar fallos en la interconexin. Mantener un cierto orden en la disposicin fsica de los cables y de los instrumentos tambin ayuda a la deteccin de posibles fallos y al mantenimiento. Aunque se cumplan estos requisitos bsicos an pueden surgir problemas como son: diafona, bucles de masa, atenuaciones indeseadas, desfases y reflexiones a alta frecuencia. Para evitar estos problemas es necesario estudiar el sistema de cableado y prestar atencin a los siguientes puntos: - utilizar en la medida de lo posible cables apantallados - separar las lneas digitales de las analgicas - definir un nico punto de puesta a tierra - utilizar sistemas diferenciales - los cables trenzados pueden ser tiles para evitar interferencias magnticas - separar las lneas de alta tensin o de alta corriente de las lneas de seales de bajo nivel La etapa de conmutacin es la que permite encaminar las seales hacia los instrumentos o los puertos de entrada del SBP de forma adecuada para cada medida. Puede estar constituido desde un sistema con rels individuales (figura 2.3.a) hasta un sistema basado en una matriz de interconexin (figura 2.3.b) que permita cualquier combinacin de conexiones. Los conmutadores son los elementos bsicos tanto de los multiplexores como de las matrices de conexiones. Segn la tecnologa pueden ser de los siguientes tipos: - rels de armadura - rels de lminas (reed): secos o de mercurio - interruptores de estado slido: FET o CMOS Las ventajas de los interruptores de estado slido frente a los mecnicos son: menor volumen, bajo costo y rapidez de conmutacin. El mayor inconveniente es la resistencia serie del interruptor cuando est cerrado.

Los autores, 2000; Edicions UPC, 2000.

24

Sistemas de instrumentacin

Fig. 2.3 Conmutacin utilizando un multiplexor (a) o por una matriz de conexin (b)

Segn el nmero de contactos fijos y contactos mviles (polos) los rels se clasifican en: - 1 polo 1 contacto (SPST: Single Pole Single Throw) form A por defecto el contacto est abierto form B por defecto el contacto est cerrado - 1 polo 2 contactos (SPDT: Single Pole Dual Throw) form C primero se abre el contacto inicial y luego se establece el contacto con el otro circuito, en ingls: break before make -bbmform D se establece el contacto con el segundo circuito antes de que se abra el primero, en ingls: make before break -mbb-. No es til como sistema de multiplexado porque cortocircuitara por un momento dos lneas de salida, pero s se puede usar para demultiplexado. - 2 polos 2 contactos (DPDT) y as sucesivamente. La principal ventaja de disponer de un sistema automtico de conmutacin es la velocidad con que se pueden reconfigurar las conexiones. Su principal inconveniente es que todas las seales confluyen hacia un punto en comn, lo que da lugar a los problemas vistos para el sistema de conexionado. Para evitar estos problemas hay que actuar de forma parecida a lo visto para los cables: - utilizar conmutadores apantallados - separar los conmutadores de seales digitales de los analgicos - utilizar conmutadores independientes separados fsicamente para seales de alto y bajo nivel - estudiar la puesta a tierra. Evitar bucles de tierra - utilizar multiplexores diferenciales Otras limitaciones de los conmutadores son: - la resistencia serie que presentan, especialmente los de estado slido - vida til limitada para los rels - limitacin de velocidad y rebotes del contacto en rels - la capacidad parsita a tierra - la diafona entrada salida

Los autores, 2000; Edicions UPC, 2000.

Arquitectura de los sistemas de instrumentacin

25

2.4 Tipos de instrumentos y buses de control Podemos clasificar los instrumentos, definidos como todo sistema que realice una medida concreta, en dos grandes grupos: los instrumentos modulares y los instrumentos autnomos (standalone).

Fig. 2.4 'Mainframe' para instrumentos modulares (Natinal Instruments)

Los instrumentos modulares son aquellos que requieren de un soporte fsico y normalmente tambin de un soporte informtico y de alimentacin externa. Ejemplos de este tipo de instrumentos son las placas conectables al bus de un PC o a un sistema basado en VME o VXI. La principal ventaja de estos sistemas es la posibilidad de configurar un sistema complejo de medida a base de conectar sobre un recurso comn diversas placas. Al compartir una misma fuente de alimentacin, un mismo bus digital y una misma estructura de soporte, los costos pueden ser menores. Normalmente la estructura de soporte (figura 2.4) es una caja tipo rack (Mainframe) con una placa posterior que contiene el bus comn (Backplane) con conectores en los que se insertan los instrumentos individuales. La fuente de alimentacin puede estar en la parte posterior o ocupar el espacio de una o varias tarjetas. Dentro de los instrumentos modulares podemos hacer una subdivisin entre los instrumentos para ordenadores personales y los sistemas especficamente diseados para instrumentacin industrial o de laboratorio. Actualmente existen instrumentos modulares para la mayora de ordenadores personales y estaciones de trabajo (workstations), como son: IBM PC/XT/AT, PS/2, Sun, DEC, NeXT, MAC, etc. A todos estos instrumentos se les denomina en ingls PLUG-IN'. Tambin se dispone de instrumentos conectables al bus de extensin EISA y PCMCIA. Entre los sistemas modulares especficos para instrumentacin tenemos: - SCXI: es un producto de National Instruments para configurar sistemas de instrumentacin, de adquisicin o de control, basados en PC. Es un sistema basado en mdulos conectables a un rack. La adquisicin de datos puede hacerse con una placa en el propio PC o utilizando una placa especfica de

Los autores, 2000; Edicions UPC, 2000.

26

Sistemas de instrumentacin

adquisicin en el rack. En este caso la transmisin de datos se realiza por el puerto paralelo estndar del PC. - CDS: es un producto de Colorado Data System para control industrial. Permite construir sistemas de hasta 100 placas especficas controladas mediante un puerto serie, paralelo o IEEE-488. es un bus digital estndar para sistemas de 32 bits que ha tenido expansin en el entorno industrial gracias a disponer de racks con caractersticas apropiadas para entornos industriales y gran nmero de instrumentos modulares. Su limitacin es que el bus comn del backplane es solo digital.

- VME:

- VXI: es una de las plataformas de sistemas modulares de instrumentacin con un crecimiento ms espectacular. Es un sistema basado en el bus digital del VME al que se han aadido ms conectores al backplane. Esto ha permitido aadir ms lneas digitales y, lo que es ms importante, lneas analgicas y de sincronizacin entre mdulos.

A pesar de que estos sistemas incorporan el control digital y permiten realizar sistemas completos de instrumentacin, todos ellos tienen posibilidades de comunicarse o ser incluso controlados por un sistema distinto. As, por ejemplo, un rack basado en VXI puede tener un controlador del bus VXI que acte controlado a su vez por un bus IEEE-488 al que estn conectados otros instrumentos o racks y todo a su vez controlado por un PC. Por ltimo, los instrumentos autnomos son los que disponen de todas las funciones necesarias para realizar las medidas de forma independiente. Para poder configurar un sistema de medida utilizando este tipo de instrumentos es imprescindible que sean controlables. La ventaja evidente de utilizar equipos autnomos es su posible utilizacin de forma independiente pero, para especificaciones parecidas, estos equipos sern ms caros que sus equivalentes modulares. Desde el punto de vista de la instrumentacin virtual y de sistema, el aspecto ms importante de estos instrumentos ser su posibilidad de ser controlados remotamente. Por ello estableceremos una clasificacin dependiente de los buses de control utilizados. El bus ms utilizado es el IEEE-488; es un bus paralelo de 8 bits ms las lneas de control y de protocolo de comunicacin (handshake). Diseado en 1965 por Hewlett-Packard bajo el nombre de HP-IB, gan popularidad gracias a su alta velocidad de transferencia (1 Mbyte/s), y fue recogido ya en 1975 por el IEEE como el standard IEEE-488. Otro nombre por el que se conoce es 'General Purpose Interfase Bus' (GPIB). Puede controlar hasta 14 instrumentos con una distancia total de cable de hasta 20 m.

Los autores, 2000; Edicions UPC, 2000.

Arquitectura de los sistemas de instrumentacin

27

Fig. 2.5 Sistemas de instrumentacin integrados en la red de comunicaciones de una empresa (Natinal Instruments)

El MXIbus (Multisystem eXtension Interface bus) es un bus digital multimaster de 32 bits diseado para interconectar sistemas de instrumentacin entre s (de hecho fue diseado para interconectar sistemas basados en VXI). El cable de conexin es parecido al de IEEE-488 con longitudes de hasta 20 m. Permite transmisin de palabras en paralelo de 8, 16 o 32 bits con velocidades tericas de 20 Mbytes/s. Su principal aplicacin es para la interconexin de mainframes basados en VXI entre ellos o a otros sistemas, por ejemplo PC. En entornos industriales son muy utilizados los buses de control serie ya que permiten distancias mayores entre los equipos. El ms utilizado es el RS-232, ya que est incorporado en la mayora de ordenadores. Otros buses serie son: RS-422, RS-486, I2C, CAN, LAN, etc. Otros tipos de equipos son los adaptadores de protocolos entre buses distintos. Por ejemplo, existen conversores de: RS-232 a IEEE-488, SCSI a IEEE-488, ETHERNET (con protocolo TCP/IP) a IEEE-488, etc. Para extender la longitud de los enlaces tambin se encuentran adaptadores que pasan del cable estndar paralelo de IEEE-488 a una transmisin serie por cable coaxial o fibra ptica y viceversa. Utilizando todos los recursos vistos hasta este momento se pueden realizar sistemas distribuidos de instrumentacin basados en redes de rea local. En la figura 2.5 podemos ver un sistema distribuido de una empresa basado en conexiones por internet entre centros, ethernet dentro de cada edificio y GPIB para el control dentro de cada laboratorio o zona de produccin.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

29

3 Sistemas basados en el bus IEEE-488


El bus IEEE-488, conocido tambin como GP-IB o HP-IB es, con mucho, el ms usado de los sistemas de interconexin de instrumentos presentes en el mercado. Este hecho debe justificarse, actualmente, ms por razones de mercado que por razones tecnolgicas. La muerte del bus IEEE-488 (que tiene una antigedad de jure de 20 aos, y de facto de casi 30) ha sido vaticinada varias veces, pero es previsible que subsista durante mucho ms tiempo. Dos son los motivos que podemos aducir. En primer lugar, disponer de un instrumento que pueda funcionar autnomamente es mucho ms rentable para empresas de tamao medio/pequeo y para departamentos de investigacin o desarrollo que adquirir instrumentacin que deba funcionar en un bastidor o conectada al bus de un ordenador, por las razones de tiempo de vida y necesidad de reconfiguracin comentadas en el captulo 1. En segundo lugar, aadir una interfase IEEE-488 a un instrumento supone, actualmente, un coste mnimo y prcticamente todos los instrumentos de gama media/alta lo llevan de serie. El bus IEEE-488 es un bus paralelo de 8 bits con una transferencia de informacin similar a la de un bus asncrono de ordenador, mediante el uso de 3 lneas de protocolo (Fig. 3.3). Permite transferir datos a una velocidad de 1 Mbyte/s, aunque en la prctica el lmite suele estar en 2505 kbyte/s. Algunos fabricantes han desarrollado circuitos de interfase que permiten hasta 8 Mbytes/s de velocidad de transmisin. Pueden conectarse un mximo de 14 instrumentos ms un controlador, de forma directa, y se pueden ampliar usando extensores de bus, con una longitud mxima de 20 m para cada seccin. Se pueden configurar estructuras fsicas lineales, en estrella o mixtas, aunque la estructura lgica es tipo bus (todos los instrumentos estn conectados en paralelo). La transmisin de rdenes de programacin y datos de medida suele hacerse usando cdigos ASCII, aunque no es obligatorio. Los instrumentos pueden pedir atencin al controlador mediante una nica lnea de interrupcin y se identifican con una direccin de 5 bits.

3.1 Introduccin histrica


En septiembre de 1965 la empresa Hewlett-Packard empez a disear lo que debera ser la interfase digital para "todos los instrumentos HP del futuro". Este trabajo se concret en la publicacin del General Purpose Interface Bus en el Hewlett Packard Journal en 1972. Esta publicacin fue tomada como documento de referencia por el International Electrotechnical Committe (IEC) para realizar la norma IEC-625-1, que fue aprobada de forma provisional en 1974 y de forma definitiva en 1980. Paralelamente el Institute of Electrical and Electronics Engineers (IEEE) defina una norma que fue publicada en 1975: IEEE Std 488-1975 con idntico contenido. Esta norma fue revisada en 1978, y se convirti en ANSI/IEEE Std 488-1978, IEEE Standard Digital

Los autores, 2000; Edicions UPC, 2000.

30

Sistemas de instrumentacin

Interface for Progammable Instrumentation. Esta publicacin cubre los aspectos elctricos y de protocolo de bajo nivel del bus (se podra asimilar a los niveles 1 y 2 del modelo de referencia OSI de la ISO), pero deja totalmente libre la estructura de los comandos de programacin de los instrumentos y los formatos de los datos. Dado que exista esta libertad, cada fabricante, e incluso cada instrumento de un mismo fabricante, usaba estructuras y codificaciones distintas, lo que complicaba el diseo de sistemas de instrumentacin. Un intento de solventar esta dispersin fue la norma ANSI/IEEE Std 728-1982, IEEE Recomended Practice for Code and Format Conventions for use with IEEE Std 4881978, que de hecho era similar al estndar internacional IEC-625.2. Este documento define estructuras sintcticas que permiten la construccin de mensajes y el intercambio de datos, aunque la difusin y el seguimiento del mismo fueron escasos. Un salto cualitativo se dio en 1987 cuando se volvi a revisar la norma. Despus de esta revisin aparecieron dos subnormas: ANSI/IEEE Std 488.1-1987 que toma como base el estndar de 1978 con el mismo nombre y ANSI/IEEE Std 488.2-1987, IEEE Standard Codes, Formats, Protocols, and Common Commands for use with ANSI/IEEE Std 488.1-1987 que toma como base y ampla el estndar IEEE 728-1982. En la norma 488.2, adems de definir la sintaxis, se definen tambin un conjunto de comandos comunes, unos cdigos de error tambin comunes y un conjunto de procedimientos de operacin. Slo el ltimo nivel, los comandos dependientes de cada instrumento, se dejan a libertad del fabricante. Esta norma ha sido revisada en 1992. Por lo que respecta a los comandos de programacin y los formatos de las estructuras de datos, un consorcio de fabricantes defini en 1991 los Standard Commands for Programmable Instruments: (SCPI). Esta "norma" no est recogida, de momento, por ningn rgano oficial.

3.2 Aspectos elctricos y mecnicos (IEEE-488.1-1987)


Empezaremos definiendo, en este apartado y el siguiente, los aspectos recogidos en la norma IEEE 488.1, que definen el tipo de conector, el cable, los niveles de tensin, la corriente, el tipo de salida lgica, la transferencia de datos y las capacidades que pueden tener las interfases de los instrumentos, as como los tiempos de respuesta a determinadas sealizaciones.

3.2.1 Aspectos mecnicos Se usa un conector de 24 contactos, dispuestos en 2 filas paralelas de 12 contactos (la norma IEC 625.1 especificaba inicialmente un conector de 25 contactos tipo D miniatura, como los usados en los puertos RS-232). Los nombres correspondientes a cada lnea estn en la tabla 1.1 y la distribucin fsica de contactos en la figura 3.1. En los instrumentos se usa un conector tipo hembra, dispuesto preferiblemente de forma horizontal y con el terminal 1 en el lado derecho superior. Los conectores dispuestos en el cable deben llevar un contacto macho y uno hembra a cada extremo (fig. 3.1), de forma que se puedan apilar, con lo que forman as la arquitectura fsica del bus. La longitud mxima de un cable individual es de 4 metros. Para reducir interferencias se usa un cable apantallado, con una cobertura del 85% como mnimo, aunque se recomienda el 90%, y la malla, junto con la carcasa metlica del conector, deben conectarse a la carcasa del instrumento y a tierra. Una forma de realizar el cable es usar pares trenzados para las lneas de control (6 + 2 lneas) y masa (6 lneas + GND comn + pantalla). Las lneas de datos (8 lneas) se colocarn alrededor de los pares anteriores. Otra solucin consiste en usar pares trenzados para todas las lneas de seal, aunque en este caso se requieren ms de 24 hilos en el cable.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

31

Fig. 3.1 Disposicin de contactos en un conector hembra y vista esquemtica de un conector situado en el extremo de un cable

El tipo de apantallamiento y la reduccin de interferencias, no obstante, debern disearse para cumplir con las normativas nacionales sobre compatibilidad electromagntica.
Tabla 3.1 Nombres de las lneas y distribucin de contactos en un conector IEEE-488

NMERO CONTACTO 1..4 5 6 7 8 9 10 11 12 13..16 17 18..23 24

NOMBRE DIO1..DIO4 EOI DAV NRFD NDAC IFC SRQ ATN Shield DIO5..DIO8 REN GND GND

DESCRIPCIN Lneas de datos. DIO1 es la de menor peso "End Or Identify". Se usa para sealizar el fin de un mensaje "Data VAlid". Lnea del protocolo asncrono, gestionada por el emisor "Not Ready For Data". Lnea de protocolo, gestionada por el receptor "No Data ACcepted". Lnea de protocolo, gestionada por el receptor "InterFace Clear". Ordena una inicializacin de todas las interfases "Service ReQuest". Peticin de servicio de un instrumento "ATeNtion". Indica que los comandos son de programacin de interfase Conexin de la malla del cable Lneas de datos. DIO8 es la de mayor peso "Remote ENable". Indica a los instrumentos que van a ser programados Lneas de masa. Apareadas con lneas 6..11 respectivamente Lnea comn de masa

Los autores, 2000; Edicions UPC, 2000.

32

Sistemas de instrumentacin

3.2.2 Aspectos elctricos Las especificaciones elctricas estn basadas en circuitos con tecnologa TTL usando lgica negada, de forma que un 0 lgico corresponde a un nivel alto (VL > +2.0 V) y un 1 lgico corresponde a un nivel bajo (VL < +0.8 V). Las lneas SRQ (Service ReQuest), NRFD (Not Ready For Data) y NDAC (No Data ACcepted) debern tener los circuitos de ataque tipo colector abierto. El resto de las lneas, incluidas las de datos, podrn ser colector abierto o de tres estados. Con circuitos de tres estados se consigue mayor velocidad. En el caso de querer implementar la funcin de consulta en paralelo, las lneas de datos deben ser colector abierto. Los circuitos de ataque deben ser capaces de entregar hasta 5.2 mA al bus en estado alto y sumir 48 mA en estado bajo. Para los circuitos de recepcin es recomendable usar comparadores con histresis, con un ciclo de histresis de 0.4 V, para aumentar la inmunidad al ruido. Cada una de las lneas de seal, en cada instrumento conectado al bus, tendr una carga resistiva, de forma que la tensin de la lnea no sea flotante ni cuando todos los circuitos de ataque estn en estado de alta impedancia. Ser necesario, adems, proteger los circuitos de recepcin contra tensiones negativas que pudieran aparecer en la lnea. La carga que supone un instrumento conectado al bus debe ser tal que la relacin V/I est dentro de la zona no sombreada de la figura 3.2(a). Un posible circuito que realiza todo lo enumerado anteriormente se puede ver en la figura 3.2(b).

+2 mA +2V +4V -2 mA Vcc

3k ATAQUE

-4 mA

-6 mA -8 mA

RECEPTOR

6.2 k

-10 mA

BUS

-12 mA

(a)

(b)

Fig. 3.2 (a) Requerimientos de carga para cada instrumento conectado al bus, (b) circuito que cumple con los requerimientos de carga. (trazo grueso en (a)).

Se contempla la posibilidad de que exista una capacidad parsita entre cada lnea y masa, que no debe exceder de 100 pF por cada instrumento. La existencia de una capacidad alta puede comprometer las especificaciones de velocidad. La mxima resistencia de las lneas de datos y control es de 0.14 S/m, para la lnea de masa a

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

33

comn es de 0.085 S/m y para la malla de apantallamiento 0.0085 S/m. La mxima capacidad entre cualquier lnea de seal y cualquiera de las otras conectada a masa debe ser inferior a 150 pF/m, medida a 1 kHz. Esta capacidad es la que limita la longitud mxima del cableado. El lmite mximo es de 20 m, pero este lmite solo puede alcanzarse si hay ms de 10 instrumentos en el sistema, y considerando que la velocidad mxima que se conseguir no superar los 500 kbytes/s. Si el nmero de instrumentos es menor, el lmite es de 2m * nmero de instrumentos. La razn hay que buscarla en la impedancia de carga que supone cada instrumento. Al aumentar el nmero de instrumentos disminuye la resistencia de carga total de la lnea y la constante de tiempo entre la capacidad parsita de la lnea y esta impedancia disminuye tambin, de forma que la velocidad mxima se mantiene, a costa de aumentar el consumo. El lmite de 4 m para el cable individual, o lo que es lo mismo, la mxima longitud de cable entre 2 instrumentos, es debida a problemas de retardos de propagacin (hay que distribuir la carga de la lnea de forma uniforme).

3.3 Transferencia de informacin


El nivel siguiente (nivel 2 o de trama en un modelo OSI) hace referencia a cmo se realizan las transferencia bsicas de informacin entre elementos conectados al bus. Ya hemos comentado que la transferencia se realiza de forma similar a un bus asncrono de ordenador. Antes de comentar en detalle las seales y las temporizaciones comentaremos la estructura genrica que puede tener un bus IEEE-488. En la figura 3.3 podemos ver un ejemplo de conexin con 4 instrumentos. En este caso el dispositivo A es capaz de emitir mensajes de control de la interfase, y es capaz de emitir y recibir informacin del bus. El dispositivo B es capaz de emitir y leer informacin, el dispositivo C solo es capaz de leer informacin (p. ej. una impresora) y el dispositivo D solo es capaz de emitir informacin (p. ej. un contador). En esta figura, adems, se ha puesto de manifiesto la conexin paralelo de todas las lneas del bus y su agrupacin funcional, en lneas de datos, lneas de protocolo (DAV, NRFD y NDAC) y de control. Antes de poder realizar una transferencia en el bus es necesario saber quien va a emitir la informacin y quin va a leerla. Para determinar esto el controlador configurar cada uno de los instrumentos. Es evidente que solo puede haber un instrumento que emita informacin, pero puede haber ms de un elemento que la reciba. En el apartado 3.4 se comentarn con ms detalle las funciones en el bus. Una vez configurados los instrumentos, cuando el que est configurado para emitir informacin (talker) tiene la informacin disponible da comienzo el protocolo de comunicacin (handshake). El momento en que se empieza a emitir depende totalmente del instrumento. La informacin a emitir puede ser, por ejemplo, un dato de medida que no se adquiere nunca porque la condicin de disparo no se cumple y por tanto el instrumento, aunque configurado como talker, no realizar ninguna transferencia. Este tipo de problemas no estn contemplados en la norma y suelen solucionarse con la introduccin de timeouts, de forma que si el controlador detecta que ha pasado mucho tiempo desde que ha configurado el sistema y todava no se ha realizado la transferencia puede reinicializar la interfase. El proceso de intercambio de informacin puede verse en la figura 3.4. Justo despus de ser configurado, el talker pone la lnea DAV (DAta Valid) a nivel alto (0 lgico, falso) (1). En esta situacin los otros instrumentos, configurados como listeners, ponen la lnea NDAC (No Data ACcepted) a nivel bajo indicando que no se ha aceptado ningn dato y la lnea NRFD (Not Ready For

Los autores, 2000; Edicions UPC, 2000.

34

Sistemas de instrumentacin

DISPOSITIVO A Capacidad para EMITIR, RECIBIR y CONTROLAR p.e.: ordenador DATOS

DISPOSITIVO B Capacidad para EMITIR y RECIBIR

p.e.: multmetro

PROTOCOLO TRANSFERENCIA INFORMACIN

DISPOSITIVO C Capacidad para RECIBIR

p.e.: impresora CONTROL de la INTERFCIE

DISPOSITIVO D Capacidad para EMITIR

p.e.: contador

DIO1..8 DAV NRFD NDAC

IFC ATN SRQ REN EOI

Fig. 3.3 Estructura genrica de un sistema IEEE-488 donde se hace patente la conexin en paralelo de todas las lneas

Data) tambin a nivel bajo, indicando que no estn listos para aceptar datos (2). En el momento que los instrumentos estn listos para aceptar datos irn poniendo esta lnea a nivel alto. Al ser colector abierto, hasta que el ltimo de ellos no la haya puesto a nivel alto, la lnea del bus estar baja (5). Cuando el talker detecta NRFD alta, activa DAV (6) si haba puesto los datos (3) con antelacin suficiente (4). Al detectar DAV activa, los instrumentos ponen NRFD baja (7) para indicar que no aceptan ms datos y a medida que cada uno lee el dato presente en el bus va desactivando NDAC (8) hasta que todos la han puesto a nivel alto (9). En este momento el talker sabe que el dato ha sido ledo, desactiva DAV (10) y quita el dato del bus (11) poniendo el siguiente si lo hubiera. Los listeners van poniendo NRFD alta (14) hasta que todos ellos vuelven a estar listos para aceptar ms datos (15) y recomienza el proceso descrito a partir de (6). Este procedimiento provoca que el ms lento de los instrumentos que intervienen en la comunicacin sea el que fije la velocidad real de transmisin de la informacin. Los instrumentos que no han sido configurados ni como talker ni como listener mantienen la interfase en un estado inactivo (idle), dejando NRFD y NDAC a nivel alto, y por tanto no entorpecen la comunicacin.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

35

Fig. 3.4 Proceso de intercambio de informacin (handshake) en bus IEEE-488

El tiempo de establecimiento de los datos, representado por el estado de espera (4) en la figura 3.4, debe ser mayor que 2 s. Con esto se consiguen velocidades de transmisin de hasta 250 kbytes/s. Si se quiere aumentar la velocidad, el dispositivo que acta como talker debe reducir este tiempo hasta un mnimo de 350 ns (Fast Handshake), y usar circuitos de tres estados para los datos y DAV. Si utilizamos un instrumento con estas caractersticas, debemos asegurarnos de que la capacidad total de la lnea sea menor que 50 pF por cada instrumento conectado. Esto obliga a usar un cableado muy corto (1 m/instrumento). Si se violan estas restricciones usando un talker con un retardo de 350 ns se pueden producir errores.

3.4 Funciones de la interfase


El resumen de funciones que pueden realizar las interfases se ve en la tabla 3.2. En este apartado veremos con algn detalle cmo se realizan estas funciones, haciendo hincapi en los aspectos prcticos y en la codificacin de algunos mensajes de control de una lnea o multilnea. Para cada una de estas funciones existen diferentes niveles de realizacin, que se indican con un nmero que sigue al smbolo de la funcin. A veces el conjunto de capacidades de un instrumento est escrito junto al conector del bus. Otras veces est en el manual, aunque la norma no especifica que deba suministrarse esta informacin. As, un instrumento que tuviera escrito el siguiente conjunto de smbolos: AH1, SH1, T5, TE0, L3, LE0, SR0, RL1, PP0, DC0, DT0, C0 debera interpretarse como: el dispositivo realiza las funciones bsicas de handshake, puede actuar como talker de forma completa pero no puede usar direcciones extendidas. Puede actuar como listener de forma completa pero tampoco puede usar direcciones extendidas. No tiene capacidad de generar un peticin de servicio. Los controles del panel pueden bloquearse mediante rdenes desde el bus, no puede responder a una consulta en paralelo, el instrumento no puede inicializarse mediante una orden, no puede iniciarse un medida desde el bus y no tiene capacidad de controlador. Es un conjunto tpico de capacidades para un instrumento de medida, como un osciloscopio digital o un DMM.

Los autores, 2000; Edicions UPC, 2000.

36 Tabla 3.2 Funciones de la interfase IEEE 488.1 SMBOLO SH AH NOMBRE Source Handshake Acceptor Handshake DESCRIPCIN

Sistemas de instrumentacin

Capacidad de generar el protocolo de transferencia de informacin (DAV). Capacidad de responder al protocolo de transferencia de informacin (NDAC, NRFD) Capacidad de enviar mensajes dependientes del instrumento. Incluye la capacidad de responder a un Serial Poll. Requiere SH. Capacidad de recibir mensajes para el instrumento. Requiere AH. Capacidad de pedir atencin al controlador Capacidad de inhibir los controles del panel frontal Capacidad de responder a una consulta tipo paralelo Capacidad del instrumento para ser inicializado remotamente Capacidad de ser iniciada una medida desde el bus Capacidad de actuar como controlador Capacidad de usar direcciones extendidas como talker Capacidad de usar direcciones extendidas como listener

Talker

L SR RL PP DC DT C TE LE

Listener Service Request Remote Local Parallel Poll Device Clear Device Trigger Controller Talker Extended Listener Extended

3.4.1 Funciones bsicas de transferencia: AH y SH Son las funciones que permiten leer y mandar informacin multilnea, usando las lneas de datos. Esto, por si solo, permite recoger comandos de la interfase. Si adems van acompaadas de las funciones L o T podrn leer o generar mensajes que dependan del instrumento (datos de medida, etc). Para cada funcin la norma especifica un diagrama de estados donde se indica cundo debe activarse o desactivarse una funcin, etc. En la figura 3.5 puede verse, como ejemplo, el diagrama de estados de la funcin AH.

Fig. 3.5 Diagrama de estados de la funcin Acceptor Handshake (AH)

Despus de poner en marcha el instrumento (pon) o bien si la lnea ATN (Attention) es falsa y no est configurado como Listener, la interfase est en un estado inactivo (AIDS: Acceptor Idle

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

37

State). De este estado sale si se activa ATN (significa que el controlador va a mandar rdenes a la interfase) o bien est configurado como listener, y se entra en un estado de no operacin (ANRS: Acceptor Not Ready State). De este se sale cuando la interfase est dispuesta a recibir informacin, con lo que pasa a ACRS. Cuando se activa DAV (ver el cronograma del protocolo de comunicacin) se pasa a un estado de aceptacin de datos, del que se sale cuando se ha aceptado, y se pasa a un estado de espera, AWNS, hasta que el elemento talker desactiva DAV. Junto con el diagrama de estados deberamos indicar el estado de las lneas que se controlan, en este caso NRFD y NDAC. Por ejemplo en AIDS las lneas NRFD y NDAC estn a nivel alto, como se ha comentado en 3.3.

3.4.2 Funciones de emisin y recepcin de informacin (T, L, TE, LE) Las funciones T y L permiten que una interfase enve o reciba datos dependientes del instrumento (datos de medida, comandos de programacin, etc.). Para que un instrumento acte como talker o listener debe haber sido configurado como tal por el controlador. La forma de realizar esta configuracin la veremos al hablar de la funcin controller. Ya hemos comentado que solo puede haber un talker pero puede haber varios listeners, aunque en la prctica la mayora de transferencias de informacin se realizan entre un instrumento y el controlador (ordenador de propsito general), que se encarga de procesarlas. Alternativamente, en un bus sin controlador, puede haber instrumentos configurados como talk only o listen only. En este punto no hay que confundir un instrumento con solo capacidad de recibir mensajes (L1) con un instrumento configurado como listen only. Un instrumento con solo capacidad de recibir (p. ej. una impresora) no har caso de los datos hasta que alguien (el controlador) lo configure como listener. Un instrumento configurado como listen only har caso de todos los datos que circulen por el bus. La utilidad de instrumentos que puedan ser configurados como listen only o talk only est, precisamente, en poder construir buses sin controlador, por ejemplo uniendo un osciloscopio y una impresora para poder imprimir los resultados que aparecen en la pantalla. Es evidente que los instrumentos no pueden ser configurados como listen only o talk only a travs del bus. Antiguamente se haca usando microinterruptores en la parte posterior del instrumento. Actualmente se hace mediante mens, pero en cualquier caso es el usuario que debe hacerlo manualmente. En instrumentos complejos o modulares, cada una de las partes del instrumento puede tener "personalidad" propia. En este caso el instrumento global tiene una direccin y cada uno de los mdulos tiene una sub-direccin. Se puede configurar como talker o listener a uno de los submdulos. No se puede configurar a un submdulo como talker y a otro como listener porque la interfase es nica. Esto se usaba p. ej. en los analizadores lgicos HP64000, y actualmente en los sistemas VXI cuando se conectan a un ordenador mediante una interfase IEEE-488. Un tema importante es saber cmo se finaliza un mensaje multibyte. Hay dos formas habituales de hacerlo, aunque la norma no impone ninguna de ellas. Se puede usar la lnea EOI (End Or Identify) o se puede usar un carcter especfico, conocido como terminador. Si la transmisin es en ASCII, el terminador suele ser el carcter LF (Line Feed). De todas formas, al no especificar nada la norma, esto debe ser un acuerdo entre emisor y receptor. Si este extremo no est bien resuelto suele haber problemas de comunicacin.

Los autores, 2000; Edicions UPC, 2000.

38

Sistemas de instrumentacin

3.4.3 Funciones que afectan al instrumento (DC, DT y RL) Estas tres funciones no afectan al estado de la interfase sino al estado de las funciones de medida del instrumento. La funcin RL (Remote Local) permite que el instrumento sea programado desde la interfase IEEE-488. Hay instrumentos que son capaces de volcar datos de medida al bus pero no son capaces de ser programados. Cuando un instrumento es programado desde el bus los mandos locales dejan de funcionar. Suele haber un botn (habitualmente llamado local) que devuelve el control al operador. Si el instrumento posee la caracterstica de realizar un lockout de los mandos, entonces incluso el botn de local deja de funcionar y no puede controlarse el instrumento manualmente hasta que se desbloqueen los mandos desde el bus. La funcin DC (Device Clear) permite que el instrumento (no la interfase) sea inicializado desde el bus. La norma no especifica en qu estado debe quedar el instrumento despus de realizar esta funcin, por lo que cada fabricante la realiza de la forma que ms le conviene. La funcin DT (Device Trigger) permite que se inicie una medida mediante una orden desde el bus. La orden se puede dar a un instrumento de forma selectiva o a un grupo de instrumentos. Como los tiempos de respuesta desde la orden hasta que la medida se realiza efectivamente no estn especificados, la utilidad de esta funcin para sincronizar varios instrumentos es muy limitada.

3.4.4 Funciones de peticin de servicio (SR y PP) Cuando se produce un determinado evento en un instrumento, si este ha sido programado para ello, puede pedir la atencin del controlador mediante la activacin de la lnea de interrupcin (Service Request: SR). El evento causante puede ser una condicin de error o la finalizacin de una medida y no est especificado en la norma qu eventos pueden o no producir peticiones de servicio y cmo se codifican estos eventos. Si el controlador decide hacer caso de la peticin tiene dos maneras alternativas de identificar al elemento causante y la causa de la interrupcin. La primera se llama Serial Poll y esta incluida dentro de la funcin de talker. En este caso el controlador enva una orden de Serial Poll Enable que indica a todos los instrumentos que se va a realizar una consulta en serie. Despus configura de forma secuencial a cada uno de los instrumentos como talker. Estos responden con una palabra de estado donde el bit 7 indica si el instrumento ha causado o no la peticin de interrupcin. El resto de bits de la palabra de estado estn sin definir y cada instrumento puede codificar aqu informacin especfica. Una vez identificado al causante o causantes de la interrupcin se enva una orden Serial Poll Disable y se contina con la actividad normal. El inconveniente de este mtodo, en un bus con muchos instrumentos, es la lentitud del mismo. La forma alternativa consiste en realizar un consulta en paralelo (Parallel Poll). El controlador inicia la consulta con una orden PPE (Parallel Poll Enable). Despus de esto todos los instrumentos con capacidad para ello vuelcan el byte de estado a las lneas de datos. Para que esto funcione las lneas de datos deben ser tipo colector abierto. Si cada instrumento ha sido configurado para poner un cero en una lnea determinada en el caso de ser el causante de la interrupcin y no hay ms de ocho dispositivos, es posible identificar al causante con una sola lectura. Si hay mas de ocho instrumentos se pueden compartir lneas. En este caso se tendr que realizar una consulta serie para acabar de decidir entre dos o mas posibles candidatos.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

39

3.4.5 Funcin de controlador (C) y codificacin de las rdenes La funcin de controlador es la ms compleja de todas las del bus y no la comentaremos en detalle. Puede haber ms de un instrumento capaz de actuar como controlador, pero solo uno de ellos puede estar activo en un instante dado (Controller In Charge:CIC). Hay procedimientos que permiten transferir el control de un dispositivo a otro. El controlador activo es el nico que puede enviar rdenes de configuracin de las interfases mediante la activacin de la lnea ATN (Attention). Si adems puede gestionar las lneas IFC (InterFace Clear), para dejar las interfases en un estado inicial conocido y REN (REmote eNable) para permitir la programacin remota de los instrumentos, entonces se le llama controlador del sistema (System Controller). Solo puede haber un dispositivo con la capacidad para actuar como controlador del sistema, ya sea, o no, el controlador activo en un momento dado. Una vez el controlador ha configurado las interfases de los instrumentos, puede dejar que la transferencia de informacin se realice sola o puede participar en ella, con lo que se configura el mismo como listener (a no ser que l sea realmente el originador o receptor de la informacin). En el caso que no participe en la transferencia de informacin debe poder monitorizar las lneas del bus para saber cuando finaliza la misma o bien inicializar la interfase si se detecta algn problema. Estos procedimientos, no obstante, no estn contemplados en la norma. Para la programacin de las interfases se usan rdenes de tipo unilnea (U), como por ejemplo REN e IFC, u rdenes de tipo multilnea (M), que involucran las lneas de datos o varias lneas de control. Dependiendo de a quin vayan dirigidas la rdenes se dividen en varias clases: AC: Addressed Commands. Afecta a aquellos instrumentos configurados como listeners AD: Address. La orden lleva incorporada la direccin del dispositivo UC: Universal Commands. Afecta a todos los dispositivos conectados En las dos pginas siguientes se puede ver la codificacin de todos los mensajes posibles en una interfase IEEE-488.1. Como ejemplo, si quisisemos configurar al instrumento cuya direccin es 12 como talker deberamos enviar el byte Y101100 con la lnea ATN activada. En esta orden el bit de mayor peso puede tomar cualquier valor. Los dos siguientes (10) indican que se configura la interfase como talker y los 5 ltimos son la direccin del dispositivo. Desde el punto de vista del controlador esta orden se llama TAG:Talker Address Group mientras que desde el punto de vista del dispositivo cuya direccin es la especificada se llama MTA: My Talk Address. Una vez realizada la transferencia, si quisiramos reprogramar las interfases deberamos enviar los comandos UNL:Unlisten i/o UNT:Untalk para desprogramarlas y volverlas a programar. Estos comandos son casos especiales de comandos clase AD puesto que, de hecho, no llevan incorporada la direccin del dispositivo.

Los autores, 2000; Edicions UPC, 2000.

40

Sistemas de instrumentacin

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

41

Los autores, 2000; Edicions UPC, 2000.

42

Sistemas de instrumentacin

3.5 Cdigos, formatos, protocolos y comandos comunes (IEEE-488.2-1992)


Para acabar con parte de la dispersin de codificacin de informacin o la indefinicin respecto al contenido de los registros de estado surgi la norma IEEE-488.2 en 1987, que posteriormente fue modificada en 1992. La interrelacin entre esta norma y la IEEE-488.1, con los aspectos que cubre cada una de ellas, puede verse en la figura 3.6.

Dispositivo X

Dispositivo Y

BUS
Mensajes dependientes del dispositivo

Comandos y cuestiones comunes

Sintaxis y estructura de datos

Mensajes de la interfase

Especfico del dispositivo

IEEE-488.2

IEEE-488.1

IEEE-488.2

Especfico del dispositivo

Fig. 3.6 Capas de protocolos cubiertos por las normas IEEE 488.1 y IEEE 488.2

Vemos que la norma IEEE-488.2 define una sintaxis y unas estructuras de datos por encima de la codificacin de mensajes vista en el apartado anterior. Adems define un conjunto de comandos y preguntas, basados en esta sintaxis, y por tanto multibyte, y las estructuras asociadas. De todas formas queda un nivel por encima de la norma que no se define y que est constituido por los mensajes particulares de programacin de cada instrumento. El objetivo de la norma son los sistemas de instrumentacin compuestos de un controlador y unos dispositivos programables. Los sistemas sin controlador, aunque posibles, no estn contemplados de forma explcita.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

43

3.5.1 Requerimientos de la interfase Para que un dispositivo pueda programarse de acuerdo con lo que especifica la norma IEEE488.2, la interfase debe realizar, obligatoriamente, un cierto subconjunto de las funciones definidas en el apartado 3.4. Las ms significativas, y que pueden provocar que un dispositivo no diseado especficamente para cumplir la norma IEEE-488.2 no se comporte correctamente, son: 1.Debe poder generar y aceptar el protocolo de transferencia de informacin (SH1 y AH1). Adicionalmente se especifica que se debe entrar en el estado AIDS (ver figura 3.5) como mximo 1 ms despus que la seal ATN se desactive, a no ser que se haya programado como listener. Esto se hace para asegurar que el protocolo FindListeners funcione correctamente. Los dispositivos debern usar la misma direccin como talker que como listener. Habitualmente esto es as, pero la norma IEEE-488.1, de hecho, no lo especifica. Los dispositivos debern tener las capacidades bsicas de emitir informacin y debern poder responder a un Serial Poll (T5 o T6). Tambin debern tener capacidad de recibir informacin (L3 o L4). Se supone, adems, que un dispositivo configurado como listener se desconfigura automticamente si recibe MTA (My Talk Address) y viceversa. Los dispositivos deben responder a una orden Device Clear de la siguiente forma: - Limpiar la cola de rdenes de entrada y datos de salida - Abortar el comando que se estuviese ejecutando (caso de un dispositivo con procesado en paralelo de comandos) - Guardando los datos internos de medida que se hubiesen adquirido - Cambiando slo el bit indicado en el registro de estado. Las lneas ATN, EOI y DAV debern usar circuitos de ataque de tres estados. Las lneas de datos tambin excepto que el dispositivo este respondiendo a un consulta en paralelo (Parallel Poll), en cuyo caso sern colector abierto.

2.-

3.-

4.-

3.5.2 Registro de estado y peticin de servicio Cada dispositivo tendr, como mnimo, 4 registros en los que se indica su estado y se configura la posibilidad de pedir atencin al controlador. La estructura de estos registros se puede ver en la figura 3.7. El registro de sucesos habituales (Standard Event Status Register:SESR) contiene el estado del dispositivo. Es un registro de 16 bits. Los 8 de mayor peso estn reservados y deben ponerse a 0. Cada uno de los restantes tiene asociado un suceso. Este registro tiene asociada una mscara. Si cualquiera de los bits est a 1 y la mscara lo permite se activara el bit 5 del registro de estado (Status Register). Este es el registro que se devuelve al controlador como consecuencia de una consulta en serie. Al igual que el anterior, este registro tiene asociada una mscara. Si cualquiera de los bits est activado y la mscara lo permite se activar el bit 6 y se generar una peticin de interrupcin. De hecho, slo 3 bits de este registro tienen funcin definida: el bit 6 indica que se ha producido una peticin de servicio. El bit 5 indica que se ha producido un suceso habitual no enmascarado y el bit 4 indica que la cola de mensajes de salida no est vaca. El resto de bits pueden estar asociados a otros registros de estado distintos del SESR, especficos de cada dispositivo

Los autores, 2000; Edicions UPC, 2000.

44

Sistemas de instrumentacin

Fig. 3.7 Registros de estado, y sus interrelaciones, definidos en la norma IEEE-488.2

3.5.3 Sintaxis de los mensajes La norma distingue entre mensajes de programacin (generados por el controlador) y mensajes de dispositivo (generados por los diferentes dispositivos). Las normas sintcticas que se aplican son comunes, y los mensajes de dispositivo son un subconjunto de los de programacin. Comentaremos slo la estructura de estos ltimos.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

45

Un mensaje consta de un cuerpo, <PROGRAM MESSAGE>, ms un terminador, <PROGRAM MESSAGE TERMINATOR>. Este terminador puede ser, o bien la activacin de la lnea EOI con el ltimo carcter transmitido, o bien un carcter NL (New Line, ASCII 0AH) o una combinacin de ambos. El cuerpo del mensaje puede constar de una o varias unidades, <PROGRAM MESSAGE UNIT> separadas por el carcter ';'. Hay dos tipos de unidad, los comandos de programacin y las preguntas. Ambas se componen de una cabecera y unos datos, separados por un espacio en blanco. Las cabeceras de las preguntas llevan un carcter '?' al final, antes de los datos y especifican al dispositivo que debe devolver un mensaje de respuesta. Los datos pueden ser numricos o cadenas de caracteres. Si son numricos pueden estar representados en ASCII o transmitirse en binario. Si hay ms de un dato, estos se separan con el carcter ','. Las cabeceras pueden ser de tres tipos: simples, compuestas y comandos comunes (common command). Una cabecera simple es un mnemotcnico. Una cabecera compuesta es una sucesin de mnemotcnicos separados por el carcter ':'. Un comando comn es un mnemotcnico precedido de carcter '*'. As, por ejemplo: *IDN? Es un comando comn. IDN es un mnemotcnico de IDeNtify. El interrogante indica al dispositivo que debe devolver una cadena de identificacin. MED:CORR:DC? 1A,0.001A Es una cabecera compuesta. Podra indicar al dispositivo que realice una medida de corriente continua en la escala de 1 amperio con una resolucin de 0,001 amperios. El interrogante indica que el dispositivo debe devolver el resultado de la medida. CONF:REP 10;VOLT:AC AUTO Es un mensaje con dos unidades. La primera podra indicar que se tienen que hacer 10 medidas. La segunda que debe medir tensiones alternas en una escala automtica.

En los ejemplos anteriores el significado de los mnemotcnicos es inventado. Excepto para los comandos comunes la norma no especifica ni la forma ni el significado de estos mnemotcnicos. Cuando los datos numricos representan magnitudes fsicas, el smbolo de la unidad se puede especificar, acompaado de un multiplicador si fuese necesario. El conjunto de smbolos y multiplicadores han sido elegidos siguiendo la norma ISO Std 2955-1983 y han sido modificados adecuadamente para representar unidades que no son del Sistema Internacional y para poder usar un conjunto restringido de caracteres (solo maysculas o solo minsculas). As el mnemotcnico que representa 10-3 es el carcter 'm' o 'M' mientras que para 106 es 'ma' o 'MA'. En el caso de usar unidades compuestas formadas por el producto o cociente de unidades simples, los smbolos de producto '.' y cociente '/' se pondrn de forma explcita. En el caso de mensajes de respuesta de dispositivos, se siguen los mismos criterios expuestos antes. Hay slo dos diferencias significativas. Las cabeceras de pregunta no existen y el terminador de los mensajes debe ser el carcter NL, enviado simultneamente con la activacin de la lnea EOI.

Los autores, 2000; Edicions UPC, 2000.

46

Sistemas de instrumentacin

3.5.4 Comandos comunes La norma define 39 comandos comunes. De ellos 13 deben ser implementados por todos los dispositivos, mientras que los otros son opcionales u obligatorios si el dispositivo tiene capacidades adicionales a las estrictamente obligatorias (Parallel Poll, Device Trigger, Controller). Los comandos obligatorios se pueden ver en la siguiente tabla:

Tabla 3.2 Comandos comunes obligatorios definidos en la norma IEEE-488.2-1987 MNEMOTCNICO *CLS DESCRIPCIN Clear Status. Borra toda la informacin de estado del dispositivo y por tanto tambin la condicin o las condiciones de error presentes. Standard Event Status Enable. Fija la mscara de interrupcin del registro de sucesos habituales ("Standard Event Register"). La mscara se pasara como un nmero decimal entre 0 y 256 en cualquiera de los formatos aceptados en al norma (decimal, hexa, octal, binario, coma flotante, etc.). Solicita del dispositivo el valor de la mscara del registro de sucesos habituales. La respuesta debe hacerse como un nmero entero en cualquiera de los formatos admitidos. Solicita del dispositivo el valor del registro de sucesos habituales. La respuesta se dar como en el caso anterior. Solicita la identificacin del dispositivo. La respuesta es una cadena de caracteres ASCII (7 bits) dividida en 4 campos separados por el carcter ','. Los campos son: fabricante, modelo, nmero de serie y versin del firmware. Si los dos ltimos no estn disponibles se devolver el carcter '0'. "Operation Complete". Provoca que el dispositivo active el bit correspondiente del registro de sucesos habituales cuando todas las operaciones pendientes hayan finalizado. "Operation Complete Query". Provoca que el dispositivo mande un carcter '1' cuando todas las operaciones pendientes finalicen. "Reset". Provoca una inicializacin del dispositivo. No debe afectar al estado de la interfase ni debe modificar los registros de estado y sus mscaras. "Service Request Enable". Fija la mscara de interrupcin del registro de estado que habilita la generacin de una peticin de servicio. La mscara debe suministrarse con un nmero decimal en el margen 0 a 255 en cualquiera de los formatos permitidos. Solicita el valor de la mscara del registro de estado. La respuesta debe darse como en el comando *ESE? Solicita el valor del registro de estado. La respuesta debe ser como en el caso anterior. "Self test Query". Provoca que el dispositivo realice un secuencia de prueba interna y enve un mensaje con el resultado. EL mensaje de respuesta es un entero en el margen -32767 a 32767. El valor 0 indica que la prueba interna se super con exito. Cualquier otro valor indica que la prueba no se finaliz o se detect algn error. El significado de los cdigos distintos de 0 depende del dispositivo. "Wait". Impide que el dispositivo realice ninguna operacin hasta que la operacin en curso haya sido completada. Solo tiene sentido en aquellos dispositivos con capacidad de realizar operaciones en paralelo.

*ESE

*ESE?

*ESR?

*IDN?

*OPC

*OPC?

*RST

*SRE

*SRE?

*STB? *TST?

*WAI

Si un dispositivo recibe un comando comn que no puede ejecutar (de los opcionales) debe activar el bit de error correspondiente en el registro de sucesos habituales.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

47

3.5.5 Procedimientos comunes Hay tres grupos de procedimientos contemplados en el mbito de la norma IEEE-488.2: Las tcnicas de sincronizacin, la configuracin automtica del sistema y los protocolos comunes del controlador.

3.5.5.1 Tcnicas de sincronizacin Las tcnicas de sincronizacin son procedimientos que puede usar el controlador para asegurar que los comandos de programacin que ha enviado a un dispositivo han sido completados. Los dispositivos pueden ejecutar comandos de forma secuencial o solapada (paralela). Esto depende del dispositivo y del tipo de comando. La primera tcnica de sincronizacin consiste en forzar al dispositivo a que ejecute los comandos de forma secuencial. Esto se consigue con el comando *WAI. As, por ejemplo la secuencia de comandos: MEDIDA1?; MEDIDA2; *WAI; MEDIDA3?; *WAI; MEDIDA4? provocara que MEDIDA1 comenzara a realizarse. Si el dispositivo lo permite, MEDIDA2 empezar en paralelo, o algo ms tarde. El comando *WAI se ejecutar en paralelo con ambas y no finalizar hasta que las dos hayan finalizado. Hasta que el comando *WAI no haya finalizado, no empezar la ejecucin de MEDIDA3. Igual que antes, *WAI se ejecutar en paralelo con MEDIDA3 e impedir la ejecucin de MEDIDA4 hasta que aquella termine. La segunda tcnica de sincronizacin consiste en programar al dispositivo para que enve un mensaje al finalizar el comando deseado. Esto se consigue con la consulta *OPC? El dispositivo no responder a la consulta hasta que el comando precedente haya finalizado. As, por ejemplo, si deseamos disponer un generador de funciones para que entregue una seal senoidal de 1 kHz y medir esta seal con un frecuencmetro, debemos asegurarnos de que el generador ha colocado la seal a la salida antes de programar el frecuencmetro. Esto se conseguira con una secuencia de programacin: APPLY:SEN 1V, 1KHZ; *OPC? El generador no responder a la consulta *OPC? hasta que la salida de seal sea la programada. Dado que la respuesta a la consulta *OPC? es la misma para todos los dispositivos, si se necesita sincronizar varios de ellos debe recurrirse a otra tcnica. Usando el comando *OPC provocamos que el bit de menor peso el registro de sucesos habituales (SESR) se ponga a 1 cuando el comando que precede a *OPC haya finalizado. Podemos detectar este evento bien leyendo el registro SERS con el comando *ESR? bien programando el dispositivo para que genere una peticin de servicio al activarse este bit. Generar una peticin de servicio habitualmente provoca una interrupcin interna en el controlador, que suele ser un ordenador de propsito general con una interfase adecuada. Manejar interrupciones en entornos multitarea (UNIX, MS-Windows, etc) no siempre es una tarea fcil o agradecida, por lo que las tcnicas basadas en peticiones de servicio no suelen usarse excepto en aplicaciones muy consolidadas o si los requerimientos de velocidad lo aconsejan.

Los autores, 2000; Edicions UPC, 2000.

48

Sistemas de instrumentacin

3.5.5.2 Configuracin automtica del sistema La configuracin automtica del sistema se refiere fundamentalmente a la asignacin automtica de direcciones en un sistema cuando este es configurado por primera vez o cuando es reconfigurado. El procedimiento general contempla dos clases de dispositivos: aquellos cuyas funciones de interfase pueden configurarse remotamente y aquellos cuyas funciones de interfase slo pueden configurarse localmente o no pueden configurarse. En primer lugar se determinarn las direcciones de aquellos dispositivos cuya direccin no es modificable remotamente (que es el caso habitual). Para hacerlo se utiliza el protocolo FindListeners, que se comentar ms adelante. Este protocolo devuelve las direcciones de todos los dispositivos con capacidad de listener. Para que solo respondan al protocolo aquellos cuya direccin no es configurable, antes de ejecutar este protocolo se inhabilita la funcin listener de los dems mediante el comando *DLF (opcional). Una vez identificados estos dispositivos se devuelve la capacidad de listener a los dems mediante un Device Clear y se procede a asignarles las direcciones libres mediante el comando *AAD. Una vez asignadas las direcciones se construye una tabla que contiene las direcciones realmente ocupadas y la identificacin del dispositivo obtenida mediante la orden *IDN?. Esta tabla servir al usuario para enviar las rdenes de programacin de medida adecuadas. La existencia de dispositivos que no cumplan con la norma IEEE-488.2 debe ser detectada de forma manual. Estos dispositivos no respondern, por ejemplo, a una orden *IDN? o incluso pueden no ser detectados con el protocolo Find Listeners si la interfase no pasa a un estado inactivo en un tiempo mximo de 1 ms despus que ATN se ha desactivado. La experiencia nos ensea que puede haber incluso dispositivos ms perversos. Nos hemos encontrado con dispositivos cuya interfase no funciona correctamente a no ser que se active la lnea REN, lo que permite la programacin remota del instrumento. Este hecho puede parecer anecdtico, aunque provoca que protocolos como Find Listeners no detecten ningn dispositivo conectado. Estos dispositivos, de hecho, no cumplen siquiera con el estndar IEEE-488.1.

3.5.5.3 Secuencias de control y protocolos comunes La norma IEEE-488.1 establece los cdigos de los comandos para configurar la interfase pero no especifica en qu orden deben enviarse ni qu secuencias de cdigos son necesarias para una determinada accin. En la norma IEEE-488.2 se establece un conjunto de secuencias de control que permiten realizar acciones bsicas en el sistemas de instrumentacin as como protocolos que ayudan, por ejemplo, a la configuracin automtica del sistema. En la tabla 3.3 pueden verse las secuencias de control que debe realizar el controlador. Adicionalmente se pueden implementar secuencias de control que permiten el paso de control a otro dispositivo y la configuracin de una consulta en paralelo. En este conjunto de secuencias de comandos se ha previsto slo que la transferencia de informacin se realice a travs del controlador. Ya mencionamos anteriormente que ste era el caso ms habitual. No obstante, si fuese necesario realizar una transferencia entre dos dispositivos sin que el controlador actuase de intermediario (por ejemplo, por motivos de velocidad), deberan programarse las interfases del sistema usando la secuencia SEND COMMAND. De todas formas, el

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

49

controlador debera tomar parte en la transferencia, como listener. Algunos programas de aplicacin tienen prevista esta situacin y provocan que el controlador responda nicamente al handshake, sin almacenar realmente la informacin, aunque esto escapa un poco del contenido de la norma.

Tabla 3.3 Secuencias de control obligatorias para el controlador SECUENCIA DE CONTROL SEND COMMAND DESCRIPCIN Permite enviar comandos de programacin de la interfase, activando la lnea ATN Configura el sistema para que el controlador pueda enviar mensajes de programacin del instrumento a uno o varios dispositivos El controlador enva mensajes de programacin de instrumento a los dispositivos configurados como "listeners" con el comando anterior Realiza las dos secuencias anteriores secuencialmente Configura el sistema para que un dispositivo acte como "talker" y el controlador pueda recibir la informacin El controlador recibe el mensaje del dispositivo previamente configurado Realiza las dos secuencias anteriores secuencialmente Pulsa la lnea IFC durante un tiempo mayor que 100 s. Solo puede realizarlo el controlador del sistema Provoca una inicializacin de los dispositivos, bien de todos ellos ("Device Clear") o de un conjunto ("Selected Device Clear") usando rdenes 488.1 Coloca en estado local los dispositivos seleccionados o todo el sistema, permitiendo el uso de los controles manuales Configura todo el sistema o algunos dispositivos para que puedan recibir comandos de programacin de medida de forma remota, activando la lnea REN Impide que se puedan utilizar los controles locales de los instrumentos seleccionados ("Local LockOut") Impide que se puedan usar los controles locales de todos los instrumentos, aunque de hecho no los dispone en estado de programacin remota. Realiza una lectura del registro de estado de un dispositivo. De hecho se realiza una consulta serie ("Serial Poll") a un solo dispositivo Enva un "Group Execute Trigger" (IEEE-488.1 GET) a todo el sistema o a un conjunto seleccionado de dispositivos

SEND SETUP

SEND DATA BYTES

SEND RECEIVE SETUP

RECEIVE RESPONSE MESSAGE RECEIVE SEND IFC

DEVICE CLEAR

ENABLE LOCAL CONTROLS

ENABLE REMOTE

SET RWLS

SEND LLO

READ STATUS BYTE

TRIGGER

Los protocolos comunes son algoritmos diseados para realizar determinadas funciones. La diferencia con las secuencias de comandos es la existencia de sentencias condicionales. Solo hay dos protocolos obligatorios: RESET y ALLSPOLL. RESET esta diseado para realizar una inicializacin completa del sistema. En primer lugar se enva un mensaje IFC que provoca que todas las interfases queden en un estado inactivo y el controlador se autoconfigura como controlador activo (CIC) y despus se activa una secuencia ENABLE REMOTE. En segundo lugar se pone en marcha una secuencia DEVICE CLEAR para todo el sistema y en tercer lugar se enva el comando *RST a todos los dispositivos del sistema usando una

Los autores, 2000; Edicions UPC, 2000.

50

Sistemas de instrumentacin

secuencia SEND. Para este ltimo paso el controlador debe conocer las direcciones de los dispositivos. Si existieran dispositivos que no tuviesen implementada la orden *RST, debera saberse de antemano cmo reaccionan cuando la reciben, ya que podran provocar situaciones inesperadas (errores, peticiones de servicio, etc.). El protocolo ALLSPOLL realiza una consulta serie de todos los dispositivos en el sistema. Para poder ejecutarse correctamente el controlador debe saber las direcciones de los dispositivos con capacidad de responder a una consulta serie (todos los que cumplan IEEE-488.2). Hay otros protocolos que se pueden realizar de forma opcional y que comentamos brevemente: FINDRQS: FINDLSTN: TESTSYS: SETADD: PASSCTL: REQUESTCTL: Determina el dispositivo que ha pedido servicio. Se basa en ALLSPOLL. Determina las direcciones de todos los dispositivos con capacidad de ser configurados como listener. Realiza un autotest de todos los dispositivos del sistema. Configura las direcciones de aquellos dispositivos con esta capacidad. Cede el control a un dispositivo con capacidad para ello. Pide el control a otro dispositivo.

3.6 Realizacin de interfases IEEE-488.1 y .2


Sera posible emular el funcionamiento de una interfase IEEE-488.1 usando una interfase de entradas -salidas digitales y realizando los diagramas de estados a travs de programas que se ejecutasen en un microprocesador. Esta solucin fue adoptada en alguna mquina basada en i8086 con un puerto de E/S basado en i8255 que se usaba normalmente como interfase CENTRONICS para una impresora y que, mediante el programa adecuado, se converta en IEEE-488.1. Si bien es una solucin muy barata, la velocidad de transferencia de informacin se ve muy comprometida. Por este motivo han ido apareciendo en el mercado circuitos integrados que realizan en ms o en menos las funciones de una interfase IEEE-488.1 y que se conectan como un perifrico de microprocesador al sistema informtico que se usa como controlador. Los circuitos ms significativos comercialmente son el TMS9914 de Texas Instruments, el i8291A e i8292 de Intel, el PD7210 de NEC y el conjunto Turbo488, NAT4882 y TNT4882 de National Instruments [MAN94]. Excepto los circuitos de National Instruments, todos los dems fueron diseados antes de la aparicin de la norma IEEE-488.2, por lo que no se podr realizar una interfase que implemente la totalidad de esta norma con dichos circuitos integrados. Los chips de Intel realizan las funciones de Talker y Listener en un circuito (8291) y las de Controller en otro (8292), por lo cual se puede dimensionar mejor la interfase si no se est diseando un controlador. Estos dos integrados requiren circuitos de interfase fsica con las lneas del bus. Si se quiere realizar una interfase completa se debe recurrir a los circuitos 8293, especialmente diseados para ello. Los integrados de Texas y NEC tienen todas las funciones (T, L, C) en el mismo circuito. Tambin requiren chips adicionales para la interfase fsica con el bus, pero en este caso se pueden usar circuitos 75160/161/162, que son mucho ms asequibles que los anteriores.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus IEEE-488

51

Las diferencias entre todos estos circuitos son pequeas por lo que respecta a la funcionalidad de la interfase IEEE-488 y quiz algo mayores por lo que respecta a la interfase con el microprocesador que los controla. En cualquier caso, conviene leer detenidamente las hojas de caractersticas de todos ellos antes de realizar la eleccin. Por lo que respecta al circuito de National Instruments TNT4882, ste consiste en la unin en un solo chip de los circuitos NAT4882 (T, L, C), Turbo488 (interfase rpida con el microprocesador) y unos drivers para el bus, con lo cual se puede hacer una interfase GPIB con un solo circuito. Adems de esto, este integrado tiene algunas caractersticas especiales que le permiten realizar protocolos previstos en la norma IEEE-488.2, como son la monitorizacin de todas las lneas del bus o la deteccin automtica del terminador de mensaje. Finalmente, este circuito es capaz de implementar un protocolo de comunicacin llamado HS488 (High Speed 488) que permite alcanzar velocidades de transferencia de datos de hasta 8 Mbyte/s. Este protocolo se basa en que la mayor parte de las transferencias de informacin se realizan hacia o desde el controlador a un dispositivo, con lo cual el protocolo de tres lneas clsico (handshake) se puede obviar y por tanto evitar los retardos asociados con el mismo. La revisin de la norma IEEE-488.1 (que fue reafirmada en 1994) para incluir este protocolo de alta velocidad y la extensin de los mensajes de la interfase que permita la conmutacin dinmica entre el protocolo clasico y el nuevo est actualmente en fase de proyecto.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus VME y VXI

53

4 Sistemas basados en el bus VME y VXI

4.1 Del VME al VXI


A finales de la dcada de los setenta, muchos fabricantes diseaban y construan sus propios sistemas de instrumentacin modulares o en tarjeta. Sin embargo, la mayor parte de estos equipos utilizaban arquitecturas propias y slo algunas soportaban los equipos de ms de un fabricante. La aparicin previa del estndar del bus VME para sistemas basados en microprocesador, junto con el deseo del Departamento de Defensa de los Estados Unidos de reducir el tamao de sus equipos de prueba automticos, propiciaron la aparicin del bus VXI. Para conseguirlo recurrieron al bus VME, que en aquel momento, gracias a su estructura modular, y velocidad de transferencia de datos, tena un exito comercial importante. Era particularmente til en el diseo de aplicaciones de test digital y procesado digital de seal. No obstante, la limitacin ms importante del bus VME era que su diseo no estaba orientado al diseo de sistemas de instrumentacin, en especial no incorporaba lneas analgicas ni de sincronizacin. Para solventar este problema se cre en abril de 1987 un comite de cinco empresas fabricantes de instrumentacin (Colorado Data Systems, Hewlett Packard, Racal Dana, Tektronix y Wavetek). Cuatro meses despus se defina un nuevo estndar abierto para instrumentacin basado en el bus VME llamado VXI (VME bus Extensions for Instrumentation). El bus VXI es una arquitectura abierta para todos los fabricantes de instrumentos modulares. Esta especificacin pblica de sistema permite la coexistencia y el funcionamiento de un amplio margen de instrumentos dentro del mismo bastidor. Mientras que el estndar IEEE-488 es principalmente un estndar de comunicaciones para facilitar la integracin del sistema, el bus VXI es un estndar de sistema. En la norma VXI no se define nicamente el protocolo de comunicaciones y la conexin fsica de dichos instrumentos, se definen tambin aspectos mecnicos, elctricos, de compatibilidad electromagntica y tipos de instrumentos. El bus VXI est orientado a aplicaciones que requieren una capacidad de integracin y velocidad que se encuentran fuera de las capacidades del bus IEEE-488. Sin embargo, la enorme popularidad de la norma IEEE-488 se tuvo en cuenta en la definicin de la norma VXI y se utiliz como modelo para el protocolo de comunicaciones entre dispositivos e instrumentos.

Los autores, 2000; Edicions UPC, 2000.

54

Sistemas de instrumentacin

4.2 Especificaciones generales de la norma VXI


Desde la primera definicin de la norma en el ao 1987 han ido apareciendo sucesivas versiones que incorporaban ligeras modificaciones sobre el borrador original, de las cuales la ltima versinha sido la 1.4, correspondiente a abril de 1992, que se ha consolidado con el reconocimiento por parte del IEEE como estndar IEEE-1155. El consorcio original de cinco empresas se ha ampliado con nuevos miembros como Bruel & Kjaer, Fluke, GenRad, Keythley y National Instruments. Para la definicin de la norma se tom como base el bus VME (IEEE-1014). Su estructura jerrquica, velocidad, flexibilidad y la existencia de multitud de tarjetas ya disponibles lo hacen ideal en este contexto. La primera consecuencia es la posibilidad de integrar dispositivos o sistemas VME ya existentes en futuras aplicaciones basadas en VXI. La norma VXI define las caractersticas mecnicas, elctricas, los protocolos y los procesos de inicializacin as como las peculiaridades de los posibles interficies IEEE-488 que puedan emplearse para la comunicacin con elementos de control externos. Dentro de la norma VXI se pueden distinguir un conjunto de nueve especificaciones que hacen referencia a diferentes aspectos del diseo de sistemas VXI y son:

VXI-0 Visin general de las especificaciones del bus VXI. Revisin 1.0 mayo 1992. VXI-1 Especificacin de un sistema basado en el bus VXI. Revisin 1.4, abril 1992. VXI-2 Especificacin para dispositivos extendidos basados en registros y para dispositivos VXI de memoria extendidos basados en registros. Revisin 1.0, febrero 1991. VXI-3 Especificacin de comandos de palabra serie para la identificacin de la versin y el nmero de serie de dispositivos VXI. Revisin 1.0, febrero 1991. VXI-4 Especificacin de mnemotcnicos comunes en la norma VXI. Revisin 1.0, junio 1991. VXI-5 Especificacin de los comandos ASCII comunes del sistema. Revisin 1.0, junio 1991. VXI-6 Especificacin de la interfase estndar para la extensin del bus VXI. Revisin 1.0, febrero 1991. VXI-7 Especificacin del formato de datos de memoria compartida. Revisin 1.0, marzo 1992. VXI-9 Especificacin del protocolo de memoria compartida para sistemas VXI. Revisin 1.0, mayo 1992.

Todas ellas estn recogidas y publicadas dentro de un documento conocido como VXIbus System Specifications Revision 1.4. El ncleo principal de la norma, donde se comprende la configuracin y el funcionamiento de un sistema VXI, es la especificacin VXI-1.

4.3 Descripcin de los buses VXI y VME


La norma VXI constituye una extensin del la norma VME. Por tanto, los dispositivos VME son un subconjunto dentro de los instrumentos VXI.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus VME y VXI

55

4.3.1 El bus VME El bus VME es bus asncrono formado por cuatro sub-buses: transferencia de datos, arbitraje, interrupciones y utilidades.

- Bus de transferencia de datos: Es un bus asncrono de datos que puede transferir palabras de 8, 16 o 32 bits entre mdulos. Est compuesto de un conjunto de 32 lneas de direccin (A1-A32), 32 lneas de datos (D1-D32) y lneas de control. El espacio de direcciones puede configurarse de tres maneras diferentes: -Direccionamiento corto (A16) 64 kbyte -Direccionamiento estndar (A24) 16 Mbyte -Direccionamiento extendido (A32) 4 Gbyte

- Bus de arbitraje de transferencia de datos: Permite transferir el control del bus de datos entre diferentes dispositivos maestros de una manera ordenada y garantizando que nicamente un dispositivo maestro controla el bus de datos en cualquier instante.

- Bus de interrupciones Dispone de siete lneas de interrupcin (IRQ1-IRQ7) con diferentes niveles de prioridad y un mximo de siete controladores de interrupcin. Permite a los dispositivos realizar sus peticiones de interrupcin y que stas sean reconocidas por el mdulo controlador del sistema.

- Bus de utilidades Suministra la alimentacin, las seales de inicializacin del sistema, deteccin de fallos en la alimentacin, seales de reloj y una lnea auxiliar de transmisin de datos serie.

Dentro de la norma VME se definen tarjetas de dos dimensiones estndar diferentes (figura 4.1); Eurocard, tamao A (100 mm x 160 mm), y doble Eurocard, tamao B (233 mm x 160 mm), figura 4.1. Las seales descritas estn disponibles en dos conectores denominados P1 y P2 de 96 contactos cada uno. En el primer conector se utilizan las 96 lneas y del segundo (P2) se utilizan las 32 lneas centrales del conector. Las tarjetas de tamao A incluyen nicamente el conector P1, que es la configuracin mnima de funcionamiento. El espacio de direcciones en la tarjeta de tamao A puede ser el A24 (16 Mbytes) o A16 (64 kbytes) con palabras de 8 o 16 bits. El tamao B dispone de los dos conectores P1 y P2 y el espacio de direcciones puede ser el A16, A24 o A32 (4 Gbytes) con palabras de 8, 16 o 32 bits.

Los autores, 2000; Edicions UPC, 2000.

56

Sistemas de instrumentacin

P1

VME Tamao A

100 mm x 160 mm

P1
VME Tamao B 233 mm x 160 mm

P2

P1
VXI Tamao C 233 mm x 340 mm

P2

P1 P2 P3
VXI Tamao D 366 mm x 340 mm

Fig. 4.1 Tarjetas estndar VXI y VME

4.3.2 Extensin del bus VME, el bus VXI La extensin del bus VME, por parte de la norma VXI, a un bus para instrumentacin modular contempla diversos aspectos. El primero de ellos es el mecnico. Se definen dos nuevos tamaos adems de los ya incorporados en la norma VME, y son el C (233,35 mm x 340 mm) y el D (366,7 mm x 340 mm) a los que se les aade un nuevo conector P3. El segundo define los sub-buses que se han aadido utilizando las dos lneas de contactos del conector P2, que quedan libres en la norma VME, y el conector P3. Los nuevos sub-buses son:

Bus de reloj Est formado por dos seales de reloj de 10 MHz y 100 MHz y una seal de sincronizacin de reloj para esta ltima. La seal de 10 MHz (CLK10) est disponible en el conector P2 y la seal de 100 MHz (CLK100) junto con la de sincronizacin (SYNC100) estn ubicadas en el conector P3. CLK10, CLK100 y SYNC100 son seales diferenciales con niveles ECL y disponen de un amplificador en el bus para cada mdulo para aumentar el aislamiento entre mdulos y reducir el efecto de carga sobre la seal de reloj. El controlador del bus VXI, el mdulo 0, puede generar estos relojes o pueden ser suministrados a partir de un generador de frecuencia patrn a travs del panel frontal del mdulo 0. La seal SYNC100 permite sincronizar diferentes mdulos con un determinado flanco de subida de la seal CLK100. Bus en estrella Situado en el conector P3, est formado por doce pares de lneas (STARXn y STARYn) que unen respectivamente cada uno de los mdulos con el mdulo 0 como muestra la figura 4.2. Adems son lneas bidireccionales diferenciales con niveles ECL.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus VME y VXI

57

El bus en estrella ofrece una va de comunicacin de alta velocidad entre mdulos para procesos en los cuales la temporizacin es extremadamente crtica. La norma VXI fija un retardo mximo de 5 ns entre cualquier mdulo y el mdulo 0 y una desviacin de 2 ns entre cualquier par de seales STARXn-STARYn.
Lneas de reloj y sincronismo Lneas de identificacin (MODID) Bus en estrella

Bus Local

bus VME Bus de Disparo Bus Suma

Fig. 4.2 Esquema de la estructura completa de un BUS VXI

Bus de disparo El bus de disparo puede subdividirse en 8 lneas de disparo con niveles TTL (TTLTRG*) y 6 lneas con niveles ECL (ECLTRG). Todas la lneas TTLTRG* y dos de las ECLTRG estn situadas en el conector P2. Las cuatro restantes ECLTRG estn en el conector P3. Su utilizacin por un instrumento o grupo de ellos posibilita la implementacin de complejos patrones de disparo y temporizacin. Se han definido diversos protocolos para la coordinacin y comunicacin entre mdulos. Adems de seales de disparo y reloj es posible el intercambio de informacin digital a travs de estos buses mediante la agrupacin de lneas con el fin de descargar y complementar al bus VME. La velocidad de transmisin en las lneas TTLTRG* puede llegar a una frecuencia mxima de 12,5 MHz mientras que en las ECLTRG este lmite llega a 62,5 MHz. Las lneas TTLTRG* son TTL en colector abierto y estn terminadas en cada uno de los extremos del bus con una red pasiva. El nivel lgico alto, 5 V, viene fijado por las terminaciones del bus. Para la temporizacin de procesos mediante estas lneas la norma recomienda utilizar los flancos descendentes de las seales al tener un tiempo de bajada menor por la configuracin de colector abierto.

Los autores, 2000; Edicions UPC, 2000.

58

Sistemas de instrumentacin

La norma define seis protocolos para las seales TTLTRG*: - Disparo sncrono: una nica lnea transmite una seal de disparo que no requiere una validacin por parte de ningn receptor. La velocidad de repeticin mxima es de 12,5 MHz. - Disparo semisncrono: una nica lnea transmite una seal de disparo, nivel bajo, y mltiples receptores validan la seal poniendo la misma lnea a nivel bajo. - Disparo asncrono: Se utilizan dos lneas. Hay una nica fuente de disparo y un nico receptor para validar la seal de disparo. - Transmisin de reloj: Cualquier lnea TTLTRG* puede utilizarse para la transmisin de una seal de reloj desde 0 Hz a 12,5 MHz. - Transmisin de datos: Una o ms lneas TTLTRG* pueden agruparse para la transmisin de datos en paralelo. Una de estas lneas se usa como reloj o disparo. - Protocolo Start/Stop: Una lnea TTLTRG* es controlada por el modulo Slot 0 y su estado significa el inicio o el final de la operacin de otros mdulos.

Bus local Est formado por 36+36 lneas (12+12 en el conector P2 y 24+24 en P3) que comunican cada mdulo nicamente con los inmediatamente adyacentes y con el que se pueden realizar transferencias de hasta 200 MHz, proporcionando una velocidad de transmisin efectiva de 1 Gbyte/s. Su funcin es la de enlazar localmente diferentes tarjetas a gran velocidad, por ejemplo un mdulo digitalizador y un mdulo de procesado de seal. Al no estar ligado al conjunto de los mdulos, la definicin de las seales transferidas se realiza segn las necesidades de cada dispositivo, estando prevista la transferencia de seales digitales TTL y ECL y analgicas de bajo, medio y alto nivel (-42 V a 42 V).

Bus de suma analgica Est presente en el conector P2 y forma un nodo comn a todos los mdulos del sistema. Est terminado con una resistencia de 50 S conectada a la masa de seal en cada extremo del bus. La seal de suma analgica est situada en un extremo del conector P2, alejada de las seales digitales y apantallada por tres terminales de masa. Est previsto que cualquier mdulo pueda enviar o recibir de esta lnea. Cada mdulo puede transmitir a esta lnea mediante una fuente de corriente con una impedancia de salida mayor de 10 kS con una capacidad en paralelo menor de 4 pF. El receptor deber tener una impedancia equivalente de entrada mayor de 10 kS con una capacidad en paralelo menor de 3 pF. Un ejemplo de utilizacin es la generacin de formas de onda complejas a partir de las salidas de diferentes mdulos que se combinara de forma aditiva en el bus suma. La ventaja de este mtodo es que permite combinar diferentes mdulos de generacin de seal para crear una forma de onda compleja que, de otra forma, requerira un instrumento de mayor coste.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus VME y VXI

59

Bus de identificacin de mdulos El bus de identificacin de mdulos esta formado por 12 lneas de P2 (MODID) conectadas cada una de ellas a una de las 12 ranuras disponibles en el bus VXI para la conexin de mdulos. Estas lneas se alimentan desde el mdulo conectado en la ranura 0 y permiten la deteccin de la existencia de los dispositivos conectados al bus, incluso en el caso de fallo de los mismos, ya que se basa en la deteccin de un contacto a masa. Es de gran utilidad en el diagnstico de fallos y en el proceso de autoconfiguracin en los mdulos que dispongan del conector P2.

Bus de alimentacin El bus de distribucin de la alimentacin puede suministrar hasta 268 W a un nico mdulo que tenga los conectores P1, P2 y P3. Esta potencia se entrega en siete tensiones reguladas diferentes. El bus VXI aade con respecto a la norma VME tensiones de +24 V y -24 V para la alimentacin de circuitos analgicos, y -5.2 V y -2 V para circuitos ECL. En la figuras 4.2 y 4.3 puede verse una esquema de la estructura completa de sub-buses del bus VXI y la distribucin de las diferentes seales en los conectores P1, P2 y P3.

4.4 Modos de funcionamiento y arquitecturas del bus VXI


En el apartado anterior se han descrito los recursos fsicos disponibles en la norma VXI que se basan en un bus especfico. La norma tambin define las relaciones entre los componentes del sistema y las estructuras que permiten la realizacin de configuraciones efectivas. Un sistema VXI puede estar constituido por un mximo de 256 dispositivos incluyendo uno o ms subsistemas VXI. Cada subsistema incluye un mdulo central o ranura 0 (SLOT0), que genera las seales de reloj, temporizacin y control del sistema, y hasta 12 instrumentos o mdulos adicionales. Todo el subsistema se encuentra ubicado en un bastidor normalizado. Los dispositivos son los elementos bsicos de un sistema VXI; estn formados generalmente por un solo mdulo, pero pueden existir varios dispositivos en un solo mdulo, o bien un dispositivo puede ocupar varios mdulos. Cada uno de los 256 dispositivos que pueden existir en un sistema VXI tiene una direccin lgica asociada entre 0 y 255. A cada dispositivo se le adjudican 64 direcciones absolutas de memoria en el mapa de direcciones A16, de 64 kbytes. La direccin lgica del dispositivo define la direccin de este segmento de 64 bytes. Estos 64 bytes contienen los registros de configuracin y los registros de comunicacin del dispositivo.

4.4.1 Tipos de dispositivos en un sistema VXI En la norma VXI se ha buscado, ante todo, una gran flexibilidad que facilite su adaptacin a los ms variados entornos y aplicaciones. Se han definido cuatro tipos diferentes de dispositivos VXI: basados en mensajes, basabdos en registros, memoria y extendidos. Los dispositivos de memoria proporcionan posiciones de almacenamiento de datos en bloques de memoria RAM o ROM. Permiten mover grandes cantidades de datos. Los dispositivos

Los autores, 2000; Edicions UPC, 2000.

60
Definicin del conector P1 del bus VXI; Slot 0-12 Nmero de PIN 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Fila A Seal D00 D01 D02 D03 D04 D05 D06 D07 GND SYSCLK GND DS1* DS0* WRITE* GND DTACK* GND AS GND IACK* IACKIN* IACKOUT* AM4 A07 A06 A05 A04 A03 A02 A01 -12V +5V Fila B Seal BBSY* BCLR* ACFAIL* BG0IN* BG0OUT* BG1IN* BG1OUT* BG2IN* BG2OUT* BG3IN* BG3OUT* BR0* BR1* BR2* BR3* AM0 AM1 AM2 AM3 GND SERCLK(1) SERDAT*(1) GND IRQ7* IRQ6* IRQ5* IRQ4* IRQ3* IRQ2* IRQ1* +5VSTDBY +5 Fila C Seal D08 D09 D10 D11 D12 D13 D14 D15 GND SYSFAIL* BERR* SYSRESET* LWORD* AM5 A23 A22 A21 A20 A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 +12V +5V

Sistemas de instrumentacin
Definicin del conector P2 del bus VXI; Slot 0 Nmero de PIN 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Fila A Seal ECLTRG0 -2V ECLTRG1 GND MODID12 MODID11 -5,2V MODID10 MODID09 GND MODID08 MODID07 -5,2V MODID06 MODID05 GND MODID04 MODID03 -5,2V MODID02 MODID01 GND TTLTRG0* TTLTRG2* +5V TTLTRG4* TTLTRG6* GND RSV2 MODID00 GND SUMBUS Fila B Seal +5 GND RSV1 A24 A25 A26 A27 A28 A29 A30 A31 GND +5V D16 D17 D18 D19 D20 D21 D22 D23 GND D24 D25 D26 D27 D28 D29 D30 D31 GND +5V Fila C Seal CLK10+ CLK10GND -5,2V LBUSC00 LBUSC01 GND LBUSC02 LBUSC03 GND LBUSC04 LBUSC05 -2V LBUSC06 LBUSC07 GND LBUSC08 LBUSC09 -5,2V LBUSC10 LBUSC11 GND TTLTRG1* TTLTRG3* GND TTLTRG5* TTLTRG7* GND RSV3 GND +24V -24V

Definicin del conector P3 del bus VXI; Slot 0 Nmero de Fila A Fila B Fila C PIN Seal Seal Seal 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ECLTRG2 GND ECLTRG3 -2V ECLTRG4 GND ECLTRG5 -2V STARY12+ STARY12STARX12+ STARY11+ STARY11STARX11+ STARY10+ STARY10STARX10+ STARY09+ STARY09STARX09+ STARY08+ STARY08STARX08+ STARY07+ STARY07STARX07+ GND STARX+ STARXGND CLK100+ +24V -24V GND RSV5 -5,2V RSV7 +5V GND +5V STARY01STARX12GND STARY02STARX11+5V STARY03STARX10-2V STARY04STARX09GND STARY05STARX08+5V STARY06STARX07GND -5,2V GND -5,2V -2V +12V -12V RSV4 +5V RSV6 GND -5,2V GND STARX01+ STARX01STARY01+ STARX02+ STARX02STARY02+ STARX03+ STARX03STARY03+ STARX04+ STARX04STARY04+ STARX05+ STARX05STARY05+ STARX06+ STARX06STARY06+ GND STARY+ STARY-5,2V SYNC100+

Fig. 4.3 Distribucin de seales en los conectores P1, P2 y P3 de un bus VXI

basados en registros disponen de una inteligencia limitada. Se comunican con su mdulo controlador por medio de protocolos especficos definidos por el fabricante, en forma de escrituras directas en sus

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus VME y VXI

61

registros de configuracin o comunicacin. Su principal desventaja es la dificultad de programacin, y su mayor ventaja es la facilidad de diseo y coste reducido. Los dispositivos extendidos se encuentran reservados, y permiten la definicin de nuevas subclases de dispositivos VXI en futuras ampliaciones de la norma. Los dispositivos basados en mensajes, en contraste con los basados en registros, se comunican mediante mensajes de caracteres ASCII similares a los empleados por los instrumentos IEEE-488. El protocolo de comunicacin est definido en la norma, denominado Word Serial Protocol (WSP), proporciona un soporte bsico para la transmisin serie de los comandos de alto nivel. Actualmente se tiende a la estandarizacin de los comandos, de forma que dispositivos equivalentes de diferentes fabricantes puedan ser perfectamente intercambiables. Esta tendencia se recoge en la normativa SCPI (Standard Commands for Programmable Instrumentation), que se describe en el captulo siguiente. Un instrumento puede estar compuesto por ms de un mdulo. Los buses definidos en la norma son el soporte fsico que permite el funcionamiento de los distintos mdulos como un nico instrumento. En cuanto al soporte lgico, software, es necesario que la accin de los componentes del instrumento sea coordinada adecuadamente y que la informacin se comparta de la forma ms natural y transparente posible. La norma VXI contempla la constitucin de estructuras jerrquicas basadas en dispositivos Servants y Commanders (ver figura 4.4). Varios dispositivos Servants dependen de un nico dispositivo Commander. Un determinado Commander puede a su vez ser un Servant de otro. Los dispositivos Servants pueden ser de dos tipos, basados en registro o basados en mensajes. Sin embargo, los Commander ha de ser dispositivos basados en mensajes que permitan controlar a los Servant.
COMMANDER

SERVANT COMMANDER

SERVANT

SERVANT

SERVANT

Fig. 4.4 Estructura e interrelaciones entre un 'comander' y un 'servant'

4.4.2 Recursos del sistema Como ya se ha comentado, la arquitectura del bus VXI ofrece un conjunto de recursos comunes al sistema. Estos recursos o funciones estn centralizados en dos entidades conocidas como Slot 0 y Resource Manager. Normalmente se implementan en un mismo mdulo que, adems, incluye la interfase de comunicacin (IEEE-488, RS232 o MXI) o control adecuados. El Slot 0 debe generar las seales de reloj, CLK10, CLK100 y SYNC100 as como las seales del Bus de Identificacin de Mdulos (MODID) y comunicacin STARXn, STARYn.

Los autores, 2000; Edicions UPC, 2000.

62

Sistemas de instrumentacin

El Resource Manager tiene asignadas funciones de mas alto nivel. Es un dispositivo basado en mensajes con capacidad de Commander que debe estar situado en la direccin lgica 0 y que, al arrancar el sistema, realiza las siguientes funciones:

-Identificar todos los dispositivos VXI del sistema. -Gestionar el autotest y la secuencia de inicializacin del sistema. -Configurar el mapa de direcciones A24 y A32 del sistema. -Configurar las jerarquas Commander/Servant del sistema. -Iniciar la operacin normal del mismo.

4.4.3 Protocolos de comunicacin La comunicacin dentro de un sistema VXI se establece entre un Commander y cualquiera de sus Servants a iniciativa del primero. En el nivel superior de la estructura jerrquica se encuentra el controlador VXI o el dispositivo de comunicacin entre el controlador externo y el bus VXI.

SCPI
PROTOCOLOS ESPECFICOS

488.2 488-VXI

MEMORIA COMPARTIDA

WORD SERIAL

COMUNICACIN CONFIGURACIN
Fig. 4.5 Jerarquia de comunicacin en un bus VXI

La comunicacin con los dispositivos basados en registros, que slo pueden actuar como Servants, no est especificada por la norma VXI y depende del fabricante del equipo. En este caso el sistema deber incluir el dispositivo o los dispositivos Commander adecuados del fabricante para poder controlar el Servant basado en registros. La comunicacin entre Commanders y Servants basados en mensajes est totalmente definida en la norma. El protocolo empleado es conocido como Word Serial. Permite el envo y la recepcin de informacin secuencialmente de una forma similar a la usada en el entorno IEEE-488. Se trata de un protocolo asncrono cuya velocidad se adapta al dispositivo ms lento en cada momento. La longitud de estas palabras es de 16 bits, aunque existen variantes de 8, 32 o 48 bits. El protocolo hace uso del contenido de diversos registros en el Servant normalizados para la coordinacin y configuracin de las transmisiones. Un protocolo alternativo es de memoria compartida. En este, zonas de memoria, del espacio de direcciones VME, pueden ser utilizadas por ms de un dispositivo y usarse para la transferencia de grandes bloques de informacin. La memoria puede estar fsicamente incluida en los propios dispositivos o estar en tarjetas de memoria conectadas a tal efecto al bus. En la figura 4.5 puede verse la estructura jerrquica de los diferentes niveles de comunicacin para un sistema VXI.

Los autores, 2000; Edicions UPC, 2000.

Sistemas basados en el bus VME y VXI

63

4.4.4 Arquitecturas de un sistema VXI La norma VXI permite una gran variedad de configuraciones posibles. Las ms tpicas son: 1.Un nico controlador externo, Host, conectado al sistema a travs del SLOT 0 y el Resource Manager mediante una interfase IEEE-488, RS232 o red local. Un nico controlador interno que realiza adems las funciones de SLOT0 y Resource Manager. Los controladores VXI existentes se basan, en su mayora, en la arquitectura PC, con procesadores de la familia INTEL 80x86. Varios procesadores internos con control distribuido de sistemas.

2.-

3.-

La primera opcin es la ms frecuente. La disponibilidad de controladores adecuados, las velocidades de transferencia posibles y el hecho de que la mayora de sistemas que incluyen equipamiento VXI sean mixtos al hacer uso de instrumentacin IEEE-488, son las razones que avalan esta eleccin. En este caso el controlador se conecta a uno o varios subsistemas a travs de un mdulo de interfase adecuado presente en cada uno de ellos. Este dispositivo realiza adems las funciones de SLOT 0 y Resource Manager. La norma especifica cmo ha de ser la traduccin de protocolos entre el bus VXI y el IEEE-488 pero no define nada sobre los esquemas de direccionado, que quedan estos libres a eleccin del fabricante o diseador. Las soluciones adoptadas hasta el momento han sido tres: a) Mltiples primarias: Cada instrumento VXI se identifica mediante una direccin primaria vlida dentro del bus IEEE-488. Tiene como ventaja la similitud con la programacin de instrumentacin IEEE-488, pero el nmero de direcciones de dispositivos se limita a 30. Mltiples secundarias: Las direcciones secundarias IEEE-488 se utilizan para extender el espacio de direccionamiento. En este caso una nica direccin primaria se asignara al bastidor y una direccin secundaria a cada dispositivo VXI. Direccin incluida en los comandos, Embeded Addressing. Se enva con cada comando un identificador antepuesto al mismo indicando qu dispositivo lgico es el destinatario de la informacin. Se utiliza una nica direccin primaria y el nombre del dispositivo queda a eleccin del programador.

b)

c)

Los autores, 2000; Edicions UPC, 2000.

Comandos de medida normalizados

65

5 Comandos de medida normalizados. SCPI, ADIF


La norma ANSI/IEEE 488.2 de 1987 (revisada en 1992) introdujo una estandarizacin de muchos aspectos que no estaban incluidos en la norma previa de 1975, como son: el formato de datos, el reporte de estados, el tratamiento de errores, la funcionalidad del controlador y algunos comandos bsicos al que todos los instrumentos deben responder. As, esta norma establece algunas especificaciones del software que no estaban incluidas en la norma original. Sin embargo, deja abierto el formato y tipo de comandos que hay que enviar a los instrumentos (ver la figura 3.6). La norma SCPI (Standard Commands for Programmable Instruments) aparece en 1991 para conseguir una estandarizacin de los comandos de control y el formato de los datos de los instrumentos. El objetivo es que, independientemente del fabricante, equipos que tienen la misma funcionalidad respondan de igual forma a un conjunto estndar de comandos.

Fig. 5.1 Jerarqua de las normas para instrumentos controlables

La norma SCPI es el escaln ms alto dentro de la jerarqua normativa para el control de sistemas de instrumentacin. Tal como se puede ver en la figura 5.1, la norma SCPI se asienta sobre la IEEE-488.2 y esta, a su vez, se basa en la IEEE-488.1. A pesar de esta jerarqua los comandos y la estructura de datos basados en la norma SCPI pueden usarse, y se usan, en sistemas de instrumentacin que no estn basados en IEEE-488, por ejemplo en sistemas basados en VXI, RS-232 o LAN. El objetivo general de la norma SCPI es reducir los costes de desarrollo y mantenimiento de programas de control de sistemas de instrumentacin para prueba automtica. Este objetivo se consigue ya que el cumplimiento de la normativa: - facilita el aprendizaje y uso de los comandos y los datos. - facilita el desarrollo y mantenimiento de los programas. - posibilita la sustitucin de equipos con los mnimos cambios de software. Para conseguir estos objetivos la norma establece la sintaxis y los formatos de los mensajes para que instrumentos con la misma funcionalidad o instrumentos del mismo tipo utilicen los mismos comandos. Por ejemplo, los comandos para medir una frecuencia utilizando frecuencmetros de distintos fabricantes sern los mismos. Adems, la medida de la frecuencia con otro instrumento que

Los autores, 2000; Edicions UPC, 2000.

66

Sistemas de instrumentacin

lo permita, por ejemplo un osciloscopio digital o un multmetro, tambin utilizarn los mismos comandos. La norma establece tres tipos de compatibilidad entre instrumentos: 1.- Vertical: equipos de un mismo tipo tienen los mismos controles. Ejemplo: en dos multmetros distintos la seleccin de escala se realizar de la misma forma. 2.- Horizontal: equipos que realizan la misma medida, aunque sea de formas distintas, utilizarn los mismos comandos. Ejemplo: un osciloscopio que pueda medir perodos y un frecuencmetro-contador utilizarn los mismos comandos para medir el perodo de una seal. 3.- Funcional: dos equipos distintos que puedan realizar la misma funcin lo harn con los mismos comandos. Ejemplo: un analizador de espectros que pueda realizar barridos de frecuencia y un generador de seal sern funcionalmente compatibles si el barrido de frecuencia se programa con los mismos comandos. Para conseguir un conjunto de comandos que puedan ser utilizados en cualquier instrumento, optimizando la compatibilidad, la norma define un modelo de instrumento universal. Este modelo es el que pasamos a ver de forma ms detallada a continuacin. Para facilitar el aprendizaje de los nombres de los comandos, que provienen de abreviaciones de palabras inglesas, usaremos las denominaciones inglesas para las distintas partes de los instrumentos.

Fig. 5.2 Modelo de instrumento general definido en la norma SCPI

5.1 Modelo de instrumento segn la norma SCPI


El objetivo de establecer un modelo general de instrumento es estandarizar un conjunto de bloques funcionales a los que se les asignar un conjunto de comandos para su programacin. De esta forma cada instrumento concreto podr ser descrito mediante un subconjunto de estos bloques

Los autores, 2000; Edicions UPC, 2000.

Comandos de medida normalizados

67

funcionales y su programacin se realizar utilizando los comandos correspondientes a estos bloques. El modelo de instrumento es el representado en la figura 5.2. Este modelo describe el flujo de datos en un instrumento genrico; las lneas de trazo continuo representan flujo de datos y las lneas a trazos representan controles.

Cada instrumento especfico se representa slo por los bloques que lo constituyen. Por ejemplo, un multmetro digital puede tener slo los bloques de funcin de medida, TRIGger y FORMat (figura 5.3). En cambio, para un generador de funciones slo tendramos: FORMat y Signal generation (figura 5.4)1.

Fig. 5.3 Modelo para un multmetro digital

Fig. 5.4 Modelo para un generador de funciones

A continuacin se describe cada uno de los bloques del modelo de instrumento definido. - Signal ROUTing Representa la posibilidad que tienen ciertos instrumentos para direccionar las seales de sus conectores de entrada a distintos circuitos internos. Es anlogo al bloque de direccionamiento de seal visto en el apartado 5.2. Los comandos que controlan esta seccin se denominan ROUTe. - MEASurement Function Este bloque es el que realiza la medida, entendida en su sentido ms amplio como una transformacin de una seal en un cdigo que luego podr ser procesado. Este bloque se subdivide a su vez en los siguientes (figura 5.5): INPut, SENSe y CALCulate. La subdivisin del bloque de medida en estas tres partes no se ha incluido en el modelo de instrumento (figura 5.2) porque hay instrumentos que no seran 'horizontalmente compatibles a este nivel pero s lo son a nivel del bloque funcional de medida. Por ejemplo, la medida del valor eficaz de una senoide con un voltmetro y con un osciloscopio digital podran ser horizontalmente compatibles utilizando instrucciones al nivel del bloque MEASurement (utilizaran los mismos comandos), pero los comandos para programar la medida a un nivel

La parte de las palabras que est en maysculas coincide con el nombre de los comandos estndares abreviados para cada bloque.

Los autores, 2000; Edicions UPC, 2000.

68

Sistemas de instrumentacin

ms bajo seran distintos. En el voltmetro la medida se realiza con un comando del bloque SENSe, mientras que en el osciloscopio habra que calcular (utilizando comandos del bloque CALCulate) el valor eficaz a partir de las muestras adquiridas.

Fig. 5.5 Bloque de medida expandido

- INPut Representa la etapa de adaptacin de la seal de entrada, por ejemplo el acoplo AC, DC, GND de osciloscopios. - SENSe Es propiamente el bloque de medida, que pasa de una seal elctrica a un cdigo que luego puede ser procesado digitalmente. - CALCulate Su funcin es pasar los datos adquiridos por el bloque de medida a valores que sean ms apropiados para una aplicacin concreta. Por ejemplo, calcular perodos, frecuencias, tiempos de subida, etc. en un osciloscopio digital.

Fig. 5.6 Bloque de generacin expandido

Los autores, 2000; Edicions UPC, 2000.

Comandos de medida normalizados

69

- Signal Generation Este bloque tambin esta subdividido al igual que el de medida (figura 5.6). Su funcin es la de pasar datos a una seal elctrica. Para ello se pueden distinguir los siguientes sub-bloques: - CALCulate Su funcin es modificar el flujo de datos recibido para generar la seal deseada a la salida. - SOURce La funcin de este bloque es determinar las caractersticas de la seal generada a partir del flujo de datos suministrado. - OUTput Es la parte que determina cmo se aplica la seal generada. Incluye las funciones de atenuacin, filtrado, suma de tensiones continuas, etc. - TRIGger Su funcin es proveer al instrumento de medios para sincronizarse con eventos de las seales, tanto internas como externas. - MEMory Es el almacn de datos interno al instrumento. Segn sea el caso pueden realizarse lecturas de datos, escrituras o guardarse parmetros de calibracin internos. - FORMat Es el encargado de transformar el formato de los datos digitales internos al instrumento a otros que sean transferibles a travs del bus de control.

5.2 Sintaxis y estilo


Los comandos en la norma SCPI se agrupan jerrquicamente en forma de rbol. En la raz del rbol se encuentran los comandos que hacen referencia a los bloques que aparecen en el modelo de instrumento visto en la seccin anterior. Cada uno de estos comandos se divide en un conjunto de ramas identificadas por palabras clave que a su vez identifican a funciones subordinadas al bloque raz y as sucesivamente. En la figura 5.7 se representa el arbol del bloque de INPut. La notacin que se sigue es la siguiente: : indican el paso a un nivel jerarquico inferior. Para clarificar la notacin tambin se ha utilizado identacin de los niveles inferiores. [] palabras clave opcionales <> encierran el tipo de parmetro | separa parmetros opcionales (solo se puede poner uno de ellos) ; separa comandos que estn en la misma lnea (no cambia el nivel del ltimo comando) , se usa para separar distintos parmetros dentro de un mismo nivel ? indica que es un comando de consulta y que se espera una respuesta del equipo al que se enva. Es muy importante leer el dato solicitado; de no ser as al enviar otro comando se crea una situacin de error en el instrumento.

Los autores, 2000; Edicions UPC, 2000.

70

Sistemas de instrumentacin

KEYWORD INPut :ATTenuation :AUTO :BIAS [:STATe] :VOLTage [:DC] :AC :TYPE . . . :COUPling :GAIN :AUTO . . .

PARAMETER FORM

NOTES

<numeric_value> <Boolean>|ONCE <Boolean> <numeric_value> <numeric_value> CURRent|VOLTage

<tipo de variable> | separa parmetros opcionales opcional opcional

otras opciones . . AC|DC|GROund <numeric_value> <Boolean>|ONCE otras opciones . .

Fig. 5.7 Estructura jerrquica de comandos para el bloque de INPut de un instrumento.

Comandos SCPI correctos para este bloque son: INPut:BIAS:STATe OFF INP:COUPling ? INP:ATT 20 INPut:ATTenuation:AUTO; INPut:BIAS:STATe ON; INPut:BIAS:VOLTage:DC 0.1 V INP:ATT:AUTO; INP:BIAS:STAT ON; VOLT:DC 0.1 V (esta lnea realiza la misma programacin del instrumento que la anterior) La sintaxis para los valores numricos, las unidades y sus prefijos es la definida en los apartados 7.2 y 7.3 de la norma IEEE-488.2. Los parmetros numercos pueden ser en cualquier tipo de notacin: entera, decimal o cientfica. Entre los sufijos numercos aceptados estn: MA (106), k o K (103), m o M (10-3), u o U (por : 10-6). Tambin pueden enviarse las palabras MAXimum, MINimum y DEFault. Los parmetros booleanos pueden escribirse como ON y OFF o como 0 y 1. Los instrumentos siempre respondern con 0 o 1. Existen dos grupos de comandos definidos en la norma: comunes y especficos de instrumento. Los comandos comunes son los mismos comandos que se definen como obligatorios en la norma IEEE 488.2. stos sirven para funciones tales como: reinicializacin, autocomprobacin y operaciones de estado. Los comandos especficos de instrumento son los propios que define la norma SCPI. La sintaxis de cada grupo puede verse en la figura 5.8.

5.3 Comandos
Los comandos comunes definidos en la norma IEEE-488.2 que deben estar implementados para cumplir la norma SCPI son:

Los autores, 2000; Edicions UPC, 2000.

Comandos de medida normalizados

71

*CLS Clear Status Command *ESE Standard Event Status Enable Command

Fig. 5.8 Sintaxis para los comandos comunes y especficos.

*ESE? *ESR? *IDN? *OPC *OPC? *RST *SRE *SRE? *STB? *TST? *WAI

Standard Event Status Enable Query Standard Event Status Register Query Identification Query Operation Complete Command Operation Complete Query Rest Command Service Request Enable Command Service Request Enable Query Read Status Byte Query Self Test Query Wait-to-Continue Command Para una explicacin de estos comandos vase el apartado 3.5.4.

Los comandos especficos definidos en la norma SCPI se dividen a su vez en dos grupos, los obligatorios y los opcionales. Los nicos bloques que son obligatorios son el de SYSTem y el de STATus. Los comandos especficos definidos en la norma SCPI son los siguientes: - MEASure - CALCulate - CALibration - DIAGnostic - DISPlay - FORMat - INPut - INSTrument - MEMory - MMEMory - OUPut - PROGram - ROUTe - SENSe - SOURce - STATus - SYSTem - TEST - TRACe|DATA - TRIGger - UNIT - VXI

En la norma se estipulan todos los niveles inferiores posibles para cada uno de estos bloques. En un instrumento en particular slo se utilizarn aquellos comandos que tengan una funcin definida. En la figura 5.9 pueden verse los comandos que son funcionales en un multmetro digital

Los autores, 2000; Edicions UPC, 2000.

72

Sistemas de instrumentacin

para los bloques de medida y configuracin. Se debe notar que si se enva un comando de medida, por ejemplo:
MEASure :VOLTage:DC? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :VOLTage:DC:RATio? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :VOLTage:AC? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :CURRent:DC? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :CURRent:AC? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :RESistance? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :FRESistance? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :FREQuency? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :PERiod? {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :CONTinuity? :DIODe? CONFigure :VOLTage:DC {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :VOLTage:DC:RATio {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :VOLTage:AC {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :CURRent:DC {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :CURRent:AC {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :RESistance {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :FRESistance {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} :FREQuency {<range>|MIN|MAX|DEF},{<resolution>|MIN|MAX|DEF} Fig. 5.9 Ejemplo de comandos posibles en un multmetro digital para los bloques de medida y configuracin

MEAS:VOLT:DC? 10, 0.003 el multmetro automticamente realizar una medida y esperar a que se lea su registro de salida. En cambio, con la instruccin: CONF:VOLT:DC 10, 0.003 solo se configurar el instrumento pero la medida no se realizar hasta que se enve una instruccin adecuada, por ejemplo: TRIG:SOUR EXT; READ? en este caso el multmetro esperar a recibir un sincronismo de reloj externo para realizar la medida y ponerla en su registro de salida.

5.4 Formato de datos: ADIF


El objetivo de este formato de datos es el de disponer de un estndar para el intercambio de datos entre instrumentos o sistemas de forma automtica. El formato ADIF est diseado para que la informacin de cada bloque de datos sea autosuficiente. La estructura est diseada para que sea muy flexible y extensible, y puede almacenar desde datos sencillos como un vector unidimensional a estructuras complejas multidimensionales. El formato de datos est estructurado en bloques. De forma general, un conjunto de datos consiste en varios bloques de descripcin y un bloque de datos. Los bloques de descripcin contienen palabras claves que identifican sub-bloques en los que otras palabras clave seguidas de variables definen las caractersticas de la informacin contenida en el bloque de datos.

Los autores, 2000; Edicions UPC, 2000.

Comandos de medida normalizados

73

Los bloques definidos por la norma son 10; entre corchetes [] se incluyen los bloques que son opcionales: ADIF: define el bloque general en el que se incluyen los dems, asignndole una etiqueta. STD: define la versin de ADIF usada. es un texto libre que contiene comentarios generales sobre los datos. da nombre al bloque de datos, describe de dnde proviene y contiene identificadores como nmero de prueba, fecha y hora de captura, etc. especifica la codificacin de todos los datos numricos del bloque y, opcionalmente, su valor mximo y mnimo o su resolucin. este bloque puede repetirse varias veces y especifica la estructura y el formato de cada bloque de datos. Los datos pueden ser implcitos, y en este este caso se incluirn en el bloque DATA, o explcitos estando definidos en este bloque. Contiene otras caractersticas como son: escala, offset y unidades de medida. especifica el orden dentro del bloque de datos para cada una de las dimensiones implcitas que tenga. Los datos pueden estar ordenados por dimensiones (DIM) o de forma alternada con un dato de cada dimensin (TUPLe). agrupa lgicamente las variables en forma de arrays, superficies o conjuntos arbitrarios. Da nombres a las trazas y puede dar informacin sobre posibles simetras de stas. define relaciones entre los distintos grupos de trazas (TRACe), por ejemplo puede identificar a una dimensin como parte real y a otra como parte imaginaria de un nmero complejo. contiene los datos propiamente dichos en el orden indicado por ORDer y en el nmero indicado por las dimensiones implcitas y su longitud. Normalmente incluye una comprobacin de errores basada en una suma (CSUM)

[REMark]: [IDENtify]:

[ENCode]:

DIMension:

[ORDer]:

[TRACe]:

[VIEW]:

DATA:

El formato est estructurado en bloques; en la figura 5.10 puede verse un ejemplo. Cada nivel jerrquico est definido por un nombre de bloque seguido de un parntesis que incluye a los bloques subordinados. Dentro de cada sub-bloque hay palabras clave seguidas de uno o ms valores numricos. Los valores numricos estn separados por comas. Esta estructura de datos es compatible con lo definido por la norma IEEE 488.2. Todos los carcteres usados son ASCII de 7 bits (ANSI X3.4-1977). Los datos en el bloque DATA pueden ir codificados en otros cdigos distintos de ASCII. La norma especifica 11 tipos distintos de codificacin, desde nmeros enteros en ASCII a bloques de datos en binario con distintas longitudes (8, 16, 32 o 64 bits) pasando por formatos especiales para cadenas de caracteres, tiempo y fecha. El ejemplo de la figura 5.10 es bastante complejo; para mostrar el caso ms simple podemos poner parte de la misma informacin de la siguiente forma:

Los autores, 2000; Edicions UPC, 2000.

74

Sistemas de instrumentacin

ADIF = datos1 ( STD (1.0) DIM = amplitud ( TYPE EXP UNIT "V") DATA ( CURV ( VAL 233, -134, ... 389 ) ) )
ADIF = canal1 ( STD (VERSion 1.0) REMARK ( NOTE "array opcional de un mximo de 255 caracteres") IDENtify ( NAME "Ejemplo de formato" DATE 1995-08-22 TIME 13:15:10.55 TEST (NUMBer "AD1","3.1")) ENCode ( NOTE "array opcional de caracteres" FORMat INT16 HRANge 1000 LRANge -1000) DIMension = amplitud ( TYPE EXPLicit SCALe 3.2E-6 OFFSet 1.0E-5 UNITs "V") DIMension = tiempo ( TYPE IMPLicit SCALe 1E-6 SIZE 1024 UNITs "S") ORDer ( BY DIMension) TRACE = respuesta_impulsional ( SYMMetry NONE INDependent (LABel tiempo) DEPendent (LABel amplitud)) DATA ( CURVe ( VALue 233,-134,...389 CSUM 67))) Fig. 5.10 Ejemplo de formato de datos ADIF

La estructura se ha simplificado mucho pero a costa de perder informacin (en este caso la escala temporal y otros datos identificativos), lo que est en contra de la filosofa bsica de la norma, que es el contener los datos en una estructura que sea autosuficiente para reconstruir toda la informacin adquirida por los instrumentos de medida.

Los autores, 2000; Edicions UPC, 2000.

Instrumentacin virtual

75

6 Instrumentacin virtual. Programas de ayuda al diseo de sistemas de instrumentacin

6.1 Clases de instrumentos virtuales


Un instrumento virtual es simplemente un conjunto de programas y equipos con una interfase grfica que tiene la apariencia y el aspecto de un instrumento fsico. El usuario puede manejar el instrumento a travs del panel grfico como si fuera un instrumento real. Los instrumentos tradicionales son autocontenidos, tanto las capacidades de entrada salida como la interfase de usuario, botones, pulsadores, pantallas, etc., y otras caractersticas adicionales son fijas. Dentro de la caja del instrumento convertidores A/D, circuitos acondiconadores de seal, microprocesadores, memoria y un bus interno convierten seales del mundo real, las analizan, y las presentan como resultados al usuario. El fabricante define completamente la funcionalidad del instrumento, sin la posibilidad de ser cambiada por el usuario. La tendencia actual en instrumentacin es utilizar el ordenador como un elemento ms. Los instrumentos virtuales se benefician de la arquitectura abierta de los estndares de ordenadores para ofrecer las capacidades de procesado, memoria y visualizacin; mientras que las tarjetas de adquisicin, de bajo coste, y las tarjetas de interfase IEEE-488 y VXI conectadas en el bus del ordenador sirven de vehculo para las capacidades del instrumento virtual. La funcionalidad del instrumento la define el propio usuario y la potencia de procesado puede ser incluso mucho mayor que en los instrumentos convencionales. El instrumento virtual simula cada una de las partes descritas anteriormente, apoyndose en elementos hardware accesibles por el ordenador (tarjetas de adquisicin, instrumentos IEEE-488, VXI, RS-232). Cuando se ejecuta un programa que funciona como instrumento virtual, el usuario ve en la pantalla de su ordenador un panel cuya funcin es idntica a la de un instrumento fsico, lo que facilita la visualizacin y el control del aparato. A partir de los datos reflejados en el panel frontal, el instrumento virtual debe actuar recogiendo o generando seales, como lo hara su homlogo fsico. El usuario, y no el fabricante, define la funcionalidad final del instrumento. El software es la clave en los instrumentos virtuales; ofrece al usuario las herramientas necesarias para construir instrumentos virtuales y expandir su funcionalidad ofreciendo una conectividad con las enormes posibilidades de los PC y las estaciones de trabajo, y otras aplicaciones. Esta flexibilidad que permite

Los autores, 2000; Edicions UPC, 2000.

76

Sistemas de instrumentacin

el software puede, sin embargo, llevar un coste asociado mayor que el del instrumento tradicional. Si el usuario no dispone de las herramientas adecuadas de programacin para el desarrollo de la aplicacin, las horas invertidas en la realizacin de los programas encarecern el valor real del instrumento final. Las diferencias entre intrumentos tradicionales y virtuales se pueden resumir en la siguiente tabla:

Instrumentos tradicionales
Definido por el fabricante Funcin especfica, conectividad limitada

Instrumentos virtuales
Definido por el usuario Sistema orientado a la aplicacion con conectividad a redes, perifricos y aplicaciones El software es la clave Bajo coste, reutilizable Abierto, funcionalidad flexible utilizacin de una tecnologa familiar Adaptacin rpida a los cambios tecnolgicos, (1-2 aos de ciclo de vida) El software minimiza los costes de desarrollo y mantenimiento

El hardware es la clave Caro Cerrado, funcionalidad fija Cambios lentos en la tecnologa (5-10 aos de ciclo de vida) Constes de desarrollo y mantenimiento grandes

Tal como se ha visto, un instrumento virtual est formado por tres elementos principales: adquisicin de datos, anlisis y presentacin, tal como muestra la figura 6.1. Junto al gran crecimiento de la microinformtica han ido apareciendo en el mercado diversas herramientas de programacin para el desarrollo de sistemas de instrumentacin virtual, que se centran en alguno o en todos los elementos del sistema. La eleccin del entorno de programacin vendr condicionada por la aplicacin final del usuario.

El software que realiza el instrumento virtual y que se ejecuta sobre el controlador, en este caso el ordenador, ha evolucionado con el tiempo. Los primeros entornos de programacin permitan el control de instrumentos o dispositivos externos al ordenador, un ejemplo es el Basic de la familia HP9000 (la mayor parte de los instrumentos de HP programables mediante el bus IEEE-488 todava incluyen ejemplos de programacin en Basic). Otros fabricantes de interfases para ordenador suministraban, primero, un conjunto de funciones (funciones de nivel 0 o de registro) que se dejaban residentes en memoria y a las que se acceda mediante interrupciones software. Posteriormente suministraban libreras de funciones (funciones de nivel 1) que se podan llamar desde lenguajes de alto nivel, ( C, Basic o Pascal) que ejecutaban las interrupciones software. Estas primeras herramientas facilitaban el control de la interfase de comunicaciones con instrumentos externos y eran independientes del instrumento a controlar. No obstante, stas no incluan utilidades para el anlisis de datos ni la presentacin de los mismos. La creacin de instrumentos virtuales, con

Los autores, 2000; Edicions UPC, 2000.

Instrumentacin virtual

77

interfases grficas de usuario, requeran un gran esfuerzo de programacin y adolecan de flexibilidad de adaptacin o modificaciones.

Fig. 6.1 Partes integrantes de un instrumento virtual

Programacin grfica Programacin lingustica


Adquisicin Anlisis Drivers de instrumentos Presentacin

488.2 Mensaje IEEE 488.2

VXI Mensaje Registro

DAQ DSP Registro

Comandos Serie Mensaje

GPIB

VXI

Bus Ordenador

RS-232 Serie

Fig. 6.2 Arquitectura del entorno de programacin para instrumentacin virtual

El siguiente paso fue crear libreras de funciones especficas para un determinado instrumento o conjunto de instrumentos de un fabricante. Evitan la necesidad de aprender los comandos o las instrucciones del instrumento por parte del programador. Cada una de estas funciones (de nivel 2) suele hacer uso de una serie ms o menos compleja de funciones de nivel 1 y 0. A este conjunto de funciones se le denomina driver de instrumento y pueden encontrarse en forma de libreras enlazables a un lenguaje de programacin (C, Basic, Pascal), o bien en formato DLL (Dyamic Link Library) para

Los autores, 2000; Edicions UPC, 2000.

78

Sistemas de instrumentacin

MS-Windows de manera que se pueden llamar desde cualquier entorno de programacin (figura 6.2).

Al igual que las funciones de nivel 1 y 0, las de nivel 2 siguen abarcando nicamente la adquisicin de datos, bien sea a travs de instrumentos convencionales provistos de interfase GPIB, RS-232 o VXI, o con tarjetas de adquisicin de datos incorporadas al bus del propio ordenador.

No obstante, los mismos fabricantes de software ofrecen entornos programacin propios para el desarrolo de aplicaciones que permiten acceder a estas libreras de una forma mas fcil. Estos entornos ya incluyen herramientas para el anlisis y presentacin de datos ms o menos elaboradas.

6.2 Lenguajes de control para sistemas de instrumentacin


Los entornos de programacin para el control de sistemas de instrumentacin virtual pueden clasificarse en diversas categoras o clases segn el grado de flexibilidad y facilidad de uso.

El primer grupo lo comprenden aquellos entornos que han sido desarrollados para el control de un instrumento especfico o tarjeta de adquisicin de datos. Permiten, mediante una interfase de mens desplegables, configurar y programar el dispositivo para la adquisicin de una seal y su visualizacin. Un ejemplo de estos entornos es el software DAQ-Ware de National Instruments que ofrece con sus tarjetas de adquisicin datos. Permite configurar el nmero de canales, la ganancia y la frecuencia de muestreo de sus tarjetas y visualizar en pantalla las seales adquiridas as como salvarlas a fichero.

En el segundo grupo estn los entornos de programacin lingsticos. El acceso a las funciones de nivel 2, para la adquisicin de datos, se hace a travs de un terminado lenguaje de programacin, este puede ser estndar (C, BASIC, etc.) o propio del entorno. Adems se dispone de libreras de funciones para el anlisis y la presentacin de datos. Algunos de estos entornos incorporan una interfase grfica de mens desplegables que permite el acceso a estas funciones para facilitar la generacin del programa. Otro parmetro importante es el modo de ejecucin de la aplicacin final. Algunos entornos permiten nicamente la ejecucin de la aplicacin dentro del mismo. Tienen como ventaja las facilidades de depuracin que incluyen y la simplificancin de la interfase con el hardaware del controlador. Sin embargo, la velocidad de ejecucin es mucho menor y requiere el pago, en la mayora de los casos, de una licencia run-time para su distribucin o venta.

Algunos de los entornos ms utilizados son:

LabWindows y LabWindows/CVI (National Instruments): Son entornos de programacin propios en C y Basic, con mens de ayuda para la generacin de cdigo de forma interactiva, para aplicaciones MS-DOS y MS-Windows, respectivamente, de test, medida y control. Incluyen compiladores de ANSI-C, linker, debugger y libreras para adquisicin de datos, anlisis y presentacin. Se pueden incorporar ficheros fuente externos, mdulos objeto y DLL (en la versin MS-Windows). Ambas versiones pueden generar aplicaciones ejecutables fuera del entorno aunque

Los autores, 2000; Edicions UPC, 2000.

Instrumentacin virtual

79

en la versin MS-DOS es necesario un compilador C estndar externo al entorno, no suministrado con el paquete. Una caracterstica importante de estos paquetes de programacin es la inclusin de libreras de instrumentos, drivers, dentro del mismo entorno y que el fabricante suministra de forma gratuita para una gran diversidad de fabricantes de instrumentos controlables: IEEE-488, VXI, RS232 y CAMAC.

VisuaLab (IOtech): Es una extensin del entorno Visual Basic para el desarrollo de aplicaciones de adquisicin de datos.

Asyst (Keithley-MetraByte): Entorno de programacin en un lenguaje propio para MSDOS. Aplicaciones de adquisicin de datos y anlisis. Incluye libreras de anlisis y drivers para tarjetas de adquisicin de varios fabricantes. Los programas corren nicamente dentro del entorno.

HPITG II (Hewlett-Packard): Es un entorno de programacin con una interfase grfica que permite mediante mens generar secuencias sencillas de medida y anlisis. Estas pueden grabarse en un fichero y convertirse posteriormente a una secuencia de llamadas de funciones en C para incorporar dentro de la aplicacin final. Incluye nicamente libreras para instrumentos de HewlettPackard, aunque dispone de un instrumento genrico que permite programar cualquier instrumento con interfase IEEE-488.

Fig. 6.4 Panel frontal de un instrumento virtual creado con labVIEW

Los autores, 2000; Edicions UPC, 2000.

80

Sistemas de instrumentacin

Los entornos de programacin grficos forman el tercer grupo. Su aparicin en el mercado es ms reciente. El desarrollo de aplicaciones es totalmente diferente. Permiten crear al usuario soluciones completas uniendo iconos de una forma totalmente grfica y segn una estructura jerrquica; vase la figura 6.5. Los bloques son mdulos software preprogramados que aparecen como iconos en la pantalla. Algunos iconos son estndares para cualquier aplicacin, pero otros corresponden a un hardware especfico del sistema de medida. Pulsando sobre cualquier icono se abre una ventana de dilogo que contiene un listado de propiedades para su funcionamiento. Una de las caractersticas ms importantes de la programacin grfica es que se dispone de iconos para crear interfases de usuario muy similares a las de cualquier instrumento convencional. Al igual que los lenguajes de programacin clsicos se dispone de mltiples tipos de datos y estructuras de programacin (bucles, condiciones, E/S, etc.) incluyendo algunos entornos un compilador grfico para aumentar la velocidad de ejecucin.

El ciclo de aprendizaje y programacion se reduce drsticamente al ser entornos que imitan una forma de programacin muy parecida a un diagrama de flujo o bloques. Esta simplificacin en la forma de programacin lleva asociada algunas limitaciones. La velocidad final de la aplicacin ser mucho menor que su versin en lenguaje C y la utilizacin de muchos elementos grficos e iconos requiere grandes cantidades de memoria y potencia de clculo.

Existen en el mercado diversos paquetes de programacin grfica; no todos son iguales y deben hacerse algunas distinciones. Una diferencia bsica es que algunos, como LabView, son entornos que funcionan por s solos y otros, como el Visual DAS de Keithley, son adaptaciones de entornos de programacin de uso comn como el Visual Basic. Otra diferencia importante a considerar a la hora de la adquisicin del paquete de programacin son los drivers para dispositivos, instrumentos, tarjetas de adquisicin, etc.., que incluyen. Algunos paquetes nicamente cubren los del propio fabricante , por lo que obligan prcticamente a utilizar su hardware.

Fig. 6.5 Ejemplo de un programa grfico para un instrumento virtual (LabVIEW)

Los autores, 2000; Edicions UPC, 2000.

Instrumentacin virtual

81

Uno de los primeros y ms conocido de los entornos de programacin grfica es el LabView (National Instruments), que apareci en el ao 1986. Las primeras versiones funcionaban slo sobre Macintosh, que eran entonces los nicos que disponan de memoria suficiente, 1 Mbyte, y de un sistema operativo avanzado. Actualmente est disponible en versiones Macintosh, PC MS-Windows y para estaciones de trabajo Sun SPARC.

El usuario dispone de una completa gama de libreras de iconos para la manipulacin de datos, control de flujo, interfase de usuario (botones, grficos, mens, etc..), tarjetas de adquisicin de datos del propio fabricante y drivers de la mayora de instrumentos controlables (IEEE-488, VXI, RS232, CAMAC) disponibles en el mercado. Tambin pueden incluirse rutinas en lenguaje C como iconos y llamadas a funciones de libreras externas, por ejemplo DLL de MS-Windows.

El editor grfico incluye un compilador para aumentar la velocidad de la aplicacin. La aplicacin final corre dentro del entorno y es necesario el pago de una licencia run-time para aplicaciones comerciales.

VEE (Hewlett-Packard): Es un entorno de programacin grfica propio que funciona sobre diferentes plataformas: Macintosh, PC (MS-Windows, Windows NT), y estaciones de trabajo HP y SUN. Dispone de libreras para la manipulacin de datos, control de flujo, interfases de usuario y drivers de instrumento controlables de HP (IEEE-488, VXI, RS-232). No dispone, sin embargo, de libreras de drivers para el control de tarjetas de adquisicin. Tambin permite el uso de libreras externas. El editor grfico no incluye compilador y existe una versin run-time para la aplicacin final.

DT VEE (Data Translation): Es un entorno propio, disponible nicamente en la versin PC (MS-Windows). Est orientado a la programacin de sus tarjetas de adquisicin y presentacin de datos. No dispone de drivers para instrumentos controlables.

Los autores, 2000; Edicions UPC, 2000.

You might also like