You are on page 1of 23

Leccin 10

Sistemas de adquisicin
de datos basados
10.1 Introduccin
10.2 Configuraciones
10.3 Tarjetas de adquisicin de datos
10.4 Buses de instrumentos

F. J. Ferrero-2006

10.1 Introduccin
Aplicaciones de test, medida, automatizacin, etc.
PCI, PXI, USB, Puerto serie, etc.

La adquisicin de datos implica la adquisicin de seales de las fuentes de


medida y su digitalizacin para su almacenaje, anlisis y presentacin en un PC.
Los sistemas de adquisicin de datos (SAD) pueden presentarse en diferentes
formatos tecnolgicos, de forma que se tenga una mayor flexibilidad. Se puede
tener SAD en para buses PCI, PXI, PCMCIA, USB, IEEE 1394, o bien para los
puertos paralelo o serie del ordenador.
Los SAD se utilizan principalmente en aplicaciones muy diversas para test,
medida y automatizacin as como en laboratorios de investigacin. La figura
muestra los elementos principales que hay que considerar a la hora de configurar
un SAD:
Sensores
Acondicionamiento de seal
Hardware de adquisicin de datos
Drivers y software de aplicacin

10.2 Configuraciones

Sensores

Computador
(PC)
Acondicionamiento

Tarjeta
de
adquisicin de
datos

SAD basado en un computador

Los SAD basados en un computador se han convertido en una de las


alternativas ms prometedoras debido a su coste y versatilidad. En esta
configuracin, suele utilizarse un computador como plataforma para realizar el
procesamiento, el almacenamiento y la visualizacin, y una tarjeta de adquisicin
de datos para la captura de las seales analgicas.
Aunque el computador se ha convertido en un excelente recurso para
construir un SAD, esta plataforma no est suficientemente acondicionada para
trabajar en un entorno industrial exigente, as, su inmunidad a interferencias es
bastante pobre, su refrigeracin deficiente, sus ranuras de expansin muy
limitadas, etc. Goza, sin embargo, de un alto grado de conectividad que permiten
realizar la administracin y monitorizacin remota a travs de redes (LAN,
Internet, etc.) y sobre todo, una capacidad de visualizacin y cmputo bastante
avanzadas, junto a un soporte de herramientas de programacin muy potente.
En general, suele utilizarse una alternativa de este tipo cuando no se requieran
altas prestaciones de velocidad y el nmero de seales de captura no sea
excesivo.

Instrumentos autnomos

Sensores

INSTRUMENTOS
Acondicionamiento

TALK / DATA
TALK

RS CS TR RD TD CD

TALK / DATA
TALK

RS CS TR RD TD CD

TALK / DATA
TALK

RS CS TR RD TD CD

Bus (GPIB)

Los SAD basados en instrumentos independientes suelen utilizarse en


aplicaciones ms exigentes que requieran capturar un gran nmero de variables
con gran precisin y fiabilidad. En general, son soluciones de mayor coste pero
estn mejor acondicionadas y ofrecen mayores prestaciones que la anterior. En
el mercado existen diferentes soluciones para resolver las necesidades ms
exigentes: sistemas de adquisicin, sistemas actuadores, data-loggers, etc. para
resolver las necesidades ms exigentes.
En general, son equipos con una determinada funcionalidad que puede ser
administrada por el usuario a travs del panel frontal del instrumento o por
software. En este ltimo caso, el instrumento dispone de algn tipo de interfaz
(GPIB o serie) para la conexin a un computador, disponiendo de un conjunto
prefijado de comandos que son enviados por el computador al instrumento y que
permiten automatizar su funcionamiento. Adems, pueden aprovechar el
computador como dispositivo de clculo y visualizacin de los datos adquiridos.
La capacidad de comunicacin de estos instrumentos se amplia cada vez ms,
dotndolos, en ocasiones, de conexin a redes como ethernet lo que permite su
gestin remota.

Instrumentos basados en mdulos

MDULOS

CPU

E/S digitales

Genrador
s eal

D/A

A/D

Acondiciona

Sensores

Display

Instrumento modular
(VXI, PXI)

Los sistemas basados en instrumentos modulares permiten configurar SAD


ms potentes y a un coste que puede llegar a ser ms reducido que con
instrumentos autnomos, sobre todo en sistemas de cierta dimensin o con
necesidad de crecimiento futuras. Los sistemas basados en mdulos son muy
robustos, flexibles y potentes. Se dispone de mdulos de gran cantidad de
fabricantes siguiendo estndares muy aceptados en la industria.

10.3 Tarjetas de adquisicin de datos


Etapa analgica (Analog Front End)

Entradas
analgicas

Multiplexor

Reloj

AGP

S&H

Conversor
A/D

Memoria
Bus interno

E/S
Digitales

Temp./
Contador

Lgica de
control

Interfaz
BUS

Bus del PC

Las tarjetas de adquisicin de datos (TAD) se conectan directamente al


computador a travs de las ranuras de expansin. Generalmente son de tipo
PCI, que es el bus de comunicacin con dispositivos perifricos tpico en el PC.
El ncleo central de una TAD est compuesto por los circuitos analgicos de
entrada (el llamado front-end) y el CAD. Los circuitos analgicos de entrada
incluyen un multiplexor, al que llegan los distintas variables de entrada, un
amplificador de ganancia programable (AGP) y un circuito de muestreo y
retencin (S&H); a continuacin se encuentra el propio CAD. En general, las
tarjetas disponen de una memoria temporal o buffer donde se almacenan las
muestras capturadas por el CAD antes de transferirlas a travs del interfaz de
bus a la memoria del computador con el objeto de permitir una mayor velocidad
de trabajo del sistema. La comunicacin entre los bloques que constituyen la
tarjeta se realiza a travs de un bus interno y la conexin con el bus de E/S del
computador se realiza a travs del interfaz de bus.
En otras tarjetas puede realizarse un tratamiento de los datos en la propia
tarjeta incorporando para ello un procesador especializado, p.e. uno o varios
DSP. Estas tarjetas suelen utilizarse en aplicaciones exigentes (alta velocidad de
adquisicin y gran cantidad de procesamiento) donde se demande
procesamiento local, bien porque el procesador central del computador no posea
la suficiente potencia para procesar las muestras en tiempo real, o bien porque
existan limitaciones derivadas de la velocidad mxima de transferencia de datos
a travs del bus.

Ejemplo

Advantech (www.advantech.com)
Adlink Technology (www.adlinktech.com)
Data Translation (www.datatranslation.com)
Keithley Instrumnets (www.keithley.com)
National Instruments (www.ni.com)

Exactitud
% FS LSB
ENOB

Los fabricantes suelen especificar la exactitud en porcentaje del valor de


fondo de escala o en nmero de bits (0,01% suele corresponder a tarjetas de alta
calidad). Este parmetro engloba una combinacin de varios errores que estn
presentes, sobre todo, en el circuito analgico de entrada.
Para tener en cuenta el efecto conjunto de todos estos errores y poder
conocer la exactitud del sistema de adquisicin de una forma global se puede
utilizar el denominado nmero efectivo de bits (ENOB) que mide la actuacin del
sistema de adquisicin en su conjunto en condiciones reales de funcionamiento,
realizando las pruebas a la mxima velocidad de adquisicin, usando ms de un
canal y midiendo una seal dinmica. Podemos encontrarnos con tarjetas de 16
bits con un nmero efectivo de bits de 13,5 o menos.

CHn

CHn+

+
vo
-

GND

CH0CH1CHn-

Multiplexor

CH0
CH1

Multiplexor

CH0+
CH1+

Multiplexor

Entradas simples y diferenciales

+
vo
-

Single-ended inputs

GND

Differential inputs

Entradas referidas a masa (single-ended inputs): un terminal de entrada en


todos los canales est referido a la masa del sistema de adquisicin y, el otro,
est disponible para su conexin a entradas exteriores. Esta configuracin es
aceptable cuando la diferencia de tensin entre la entrada conectada a la masa
del sistema de adquisicin y el comn analgico no sea significativa; de lo
contrario se producen errores debido a las corrientes de los bucles de masa.
Generalmente se utiliza en la adquisicin de seales de nivel alto donde el error
introducido por la seal en modo comn es despreciable.
Entradas en modo diferencial (differential inputs): no existe ningn terminal
referido a masa. Los dos terminales de entrada se corresponden con dos
terminales de entrada de la tarjeta. Esta configuracin es til en la adquisicin de
seales de bajo nivel o seales inmersas en entornos ruidosos (el ruido presente
sobre ambos terminales es tratado como una seal de modo comn y es
atenuado por la caracterstica CMRR del amplificador.
Relacionado con la entrada tambin podemos considerar la forma de realizar
el acoplamiento de la entrada a la tarjeta. Se especifica como dc o ac, conexin
directa o acoplamiento en alterna. El acoplamiento en ac inserta un condensador
en serie con la entrada para eliminar la componente de continua.

Disparo

Seal analgica
de entrada

NIVEL
DE
REFERENCIA

DISPARO
(trigger)

Un aspecto interesante en las tarjetas se refiere a la posibilidad de realizar la adquisicin


sincronizada con algn evento externo. Generalmente, la adquisicin se inicia por software,
escribiendo sobre un bit de un registro determinado de la tarjeta o bien se realiza mediante un
temporizador interno a un ritmo establecido. Sin embargo, tambin puede iniciarse externamente
cuando la tarjeta dispone de una entrada especial denominada entrada de disparo externo
(trigger input). As, cuando una seal toma un valor determinado, p.e., cuando se introduce un
flanco de subida, se realiza la captura.
El disparo exterior suele utilizarse en aplicaciones donde la temporizacin entre muestras sea
crtica o cuando slo se pretende capturar datos en momentos exactos de tiempo. Algunas
tarjetas permiten mecanismos de disparo ms sofisticados basados en la presencia de
determinados niveles analgicos introducidos por la entrada de disparo: disparo analgico. Por
ejemplo, puede realizarse la captura cuando una seal sobrepasa un valor, se mueve dentro de
un margen o incluso pueden adoptarse modos de captura definiendo ciclos de histresis. En la
figura el disparo se genera cuando el valor de la seal es mayor que el nivel de referencia.
Algunas tarjetas permiten tambin que el usuario programe modos de rastreo. Un rastreo es
una serie de muestreos sobre los canales de entrada repetidos en un orden determinado. Un
modo de rastreo muy comn es la captura de un nmero determinado de muestras despus del
disparo.

10

Dispositivos USB

8 entradas analgicas
Frecuencia de muestreo: 10 kS/s
Resolucin: 12 bits
2 puertos E/S digitales (8,4 bits)
1 Contador: 32 bits, 5 MHz
2 Salidas analgicas
Memoria FIFO: 512 bytes

11

10.4 Buses de instrumentos


GPIB
VXI, PXI

Los sistemas de adquisicin de datos basados en instrumentos


independientes pueden funcionar de forma autnoma o bien conectarse a un PC
y a otros instrumentos a travs de un bus de comunicacin.
En general, el bus ms difundido para la conexin de instrumentos es el bus
GPIB. En el caso de los instrumentos modulares, la interconexin entre los
mdulos del sistema se realiza a travs de un bus de conexin local de altas
prestaciones como VXI o PXI. Este bus adopta la forma de un panel posterior al
que se conectan los distintos mdulos que componen el sistema de adquisicin
montado en un rack. Estos sistemas pueden conectarse, a su vez, a
computadores, a otros racks de mdulos o a instrumentos independientes
permitiendo la configuracin de soluciones muy verstiles.

12

El Bus GPIB
GPIB = General Purpose Interface Bus
Comunicacin de un ordenador con instrumentos de medida
1965: HP-IB
1975: IEEE 488.1
1987: IEEE 488.2
1990: SCPI (Standard Commands for Programable Instrumentation)

GPIB es un estndar de conexin que permite la comunicacin de un


ordenador con instrumentos electrnicos de medida, como pueden ser
generadores de funciones, osciloscopios, etc. Las siglas corresponden a General
Purpose Interface Bus, pero a pesar de este nombre, fue diseado
especficamente para la conexin de instrumentos de medida. Fue creado en
1965 por la compaa Hewlett-Packard, que lo denomin originalmente HP-IB, y
se populariz con rapidez, debido a sus altas tasas de transferencia de datos
(mximo 8 Mbytes/s). Para evitar la dispersin de caractersticas, los principales
fabricantes acordaron la estandarizacin del GPIB en 1975 (IEEE 488.1),
centrndose en las caractersticas elctricas y mecnicas del bus. Una segunda
estandarizacin (IEEE 488.2 de 1987) delimit de forma ms concreta la
programacin del GPIB, definiendo comandos de aparatos, formato de mensajes
y estado de los instrumentos. El siguiente paso de importancia fue la adopcin
del formato de comandos SCPI, que estructura las rdenes a los aparatos de
forma coherente, permitiendo (hasta cierto punto), la sustitucin de instrumentos
de distintos fabricantes con mnimos cambios.

13

Ejemplo

Un sistema GPIB consiste en una serie de instrumentos de medida


conectados a un bus, y controlados, normalmente, por un PC dotado de una
tarjeta GPIB. Existe bastante libertad en la configuracin topolgica del bus, que,
en general, es una combinacin de disposiciones lineales y en estrella, como se
muestra en la figura.
El dispositivo controlador (normalmente un PC dotado de una tarjeta GPIB)
gestiona el flujo de datos y comandos a los diferentes elementos del sistema.

14

Especificaciones bsicas
Especificacin
Mecnicas

Elctricas
Funcionales

Concepto

Descripcin

Topologa

Estrella o bus

Longitud

2 m entre instrumentos,
mximo 20 m

Conector

Instrumento (Hembra)
Cable (apilable: macho-hembra)

1 lgico

< 0,8 V

0 lgico

> 2,0 V

Tipos de instrumentos

Controller (controlador)
Talker (emisor)
Listener (receptor)

N max de Instrumentos

15

N instrumentos activos

> 2/3

Velocidad

Hasta 8 MB/s

La tabla resume las especificaciones del bus GPIB. Para que el bus GPIB
alcance la velocidad de transmisin para el que fue diseado (hasta 8 MB/s),
deben cumplirse los siguientes requisitos:
Puede haber un mximo de 15 dispositivos conectados al bus, y al menos dos
tercios de ellos deben estar encendidos.
La separacin mxima entre dos dispositivos es 4 m, y la separacin promedio
en toda la red debe ser menor de 2 m.
La longitud total de la red no debe exceder los 20 m.

15

Seales del bus GPIB


INSTRUMENTO
DAV
NDAC
NRFD

PC

ATN
EOI
SRQ
IFC
REN

Control transmisin
de los datos

Control transmisin
de comandos

DIO0

Bus de datos
DIO7

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


8 lneas de transmisin de datos (DIO1-DIO8)
3 lneas para el control asncrono de la comunicacin (NRFD, NDAC y DAV).
Mediante estas lneas se verifica la correcta transmisin de los datos, que es una
de las fortalezas del GPIB.
5 lneas que gestionan la transmisin de comandos (ATN, IFC, REN, SRQ y
EOI).
El resto componen las masas de las diferentes lneas.

16

Programacin de GPIB
int osciloscopio;
osciloscopio = ibdev (0, 8, NO_SAD, T10s, 1, 0);
if (osciloscopio<0) error ();
ibclr (osciloscopio);
ibwrt (osciloscopio,
ibwrt (osciloscopio,
ibwrt (osciloscopio,
ibwrt (osciloscopio,
ibwrt (osciloscopio,

"SEL:CH1 ON;CH2 ON");


"ACQ:MOD AVE");
"MEASU:IMM:SOU CH2");
"MEASU:IMM:TYP PK2");
"MEASU:IMM:VAL?");

char medida [100];


ibrd (osci,rd,20);
printf ("Voltaje = %f V\n", atof (rd));

La programacin de los sistemas GPIB se realiza por intercambio de mensajes entre los
dispositivos. Estos mensajes pueden ser de dos tipos:
De interfaz, para la gestin del bus: inicializacin y direccionamiento de los aparatos.
De datos, dirigidos a un dispositivo especfico, para decirle que tome una medida, cambiar su
configuracin, etc.
Los dispositivos se identifican en la red GPIB por su direccin numrica (asignada en el
instrumento y leda por el driver GPIB instalado en nuestro sistema), aunque mediante el lenguaje
de programacin le podremos dar un handler alfanumrico ms descriptivo. Las rdenes bsicas
para escribir y leer en los aparatos son ibwrt e ibrd, respectivamente. Cada instrumento GPIB
posee un manual de programacin en el que se explican los diferentes comandos que entiende el
aparato. Gracias a las sucesivas normas, se ha conseguido cierta homogeneidad entre los
fabricantes, tanto en las rdenes concretas como en su sintaxis
Como ejemplo en la transparencia se muestra como direccionar el osciloscopio TDS1012 de
Tektronix presente en la direccin 8 del bus. A continuacin cmo medir la amplitud pico a pico
de la seal del canal 2. Finalmente como leer la respuesta del osciloscopio y mostrarla en
pantalla.

17

Comandos SCPI

Ejemplo:

HOR:MAIN:SCA 5.0E-4
HOR:MAIN:SCA?

A pesar de los estndares IEEE 488 y 488.2, exista libertad para que cada
fabricante eligiera los comandos de sus instrumentos. En 1990 un grupo de
empresas fabricantes de instrumentos acordaron crear un conjunto de rdenes
con una sintaxis comn, que fue llamada SCPI. Lgicamente, SCPI se
construy respetando los principios del anterior 488.2.
Si dos instrumentos (p.e., dos osciloscopios), de fabricantes distintos, se
adhieren al estndar SCPI, es tericamente posible intercambiarlos con mnimas
modificaciones en el programa de control.
Los comandos SCPI se escriben como texto ASCII, y tienen una estructura
jerrquica por niveles, separados por dos puntos. Los caracteres en maysculas
son necesarios para especificar la orden, mientras que los que estn en
minsculas pueden suprimirse, sirviendo slo para facilitar la lectura de
programas por usuario.
Los comandos en s pueden ser escritos indistintamente en maysculas o
minsculas. As, SCALE, sca y scale representan todos al mismo comando. Por
ejemplo: HOR:MAIN:SCA 5.0E-4 establece la escala de la base de tiempos en
500 s/divisin. El signo de dos puntos (:) separa los niveles de la jerarqua. Si
quisiramos preguntar al osciloscopio por la escala actual de la base de tiempos
habra que escribir: HOR:MAIN:SCA?

18

Ejemplo

OSCILOSCOPIO

Una ventaja del estndar SCPI es la definicin homognea de comandos para


todos los aparatos de una misma clase; por ejemplo, la tabla muestra las
principales categoras de raz para un osciloscopio.

19

VISA e IVI
VISA = Virtual Instruments Software Architecture
IVI = Interchangeable Virtual Instruments

Ejemplo:
hp33120a_ConfigureStandardWaveform (Generador, "1",
HP33120A_VAL_WFM_SINE, amplitud, 0.00, frecuencia*1e3, 0.00);

La programacin de un sistema GPIB a base de comandos SCPI es bastante


laboriosa. Aunque hace aos era la nica opcin disponible; hoy en da
disponemos de drivers para los principales entornos de programacin que
permiten el acceso a los instrumentos a ms alto nivel.
El primer paso hacia la estandarizacin fue VISA (Virtual Instruments
Software Architecture), un convenio de Agilent y NI para acceder a los
instrumentos de la misma forma independientemente de la interfaz fsica (GPIB,
puerto serie, etc). En 1998 surgi el consorcio IVI (Interchangeable Virtual
Instruments) entre una treintena de compaas, incluyendo usuarios de sistemas
como Boeing, y fabricantes de hardware como Agilent, Tektronix, NI, etc, con el
objetivo de alcanzar una estandarizacin de los drivers de los instrumentos.
Con una librera IVI, el programador de C puede emplear rutinas de alto nivel
sin necesidad de conocer el conjunto de comandos SCPI que el instrumento
entiende. Por ejemplo en la figura se muestra la rutina C usada para configurar la
salida de un generador de funciones de Agilent mediante el driver IVI. Como se
observa es mucho ms compacta y comprensible que la secuencia de comandos
GPIB necesarios para obtener el mismo efecto.

20

El Bus VXI

Sistema abierto (IEEE 1014), flexible y modular


Alto rendimiento: 32 bits
Fiable y robusto.
Tamao reducido
Altas velocidades de adquisicin: 40 MB/s
Configuracin y programacin sencilla (plug&play)

Fsicamente, el bus VXI consiste en un chasis con un plano posterior


(backplane) sobre el que se conectan unos mdulos en forma de tarjetas
enchufables.
El VXI se utiliza fundamentalmente cuando se necesita un sistema de
adquisicin de datos fiable, de altas prestaciones (alta velocidad de adquisicin),
con gran nmero de variables a capturar y con posibilidades de ampliacin. En
general, para la adquisicin de pocos canales (hasta 20) una tarjeta de
adquisicin de datos puede ser suficiente. Para un nmero de canales superior
(hasta 100) puede utilizarse un instrumento externo de adquisicin
independiente. Cuando las necesidades aumentan, VXI puede ser la mejor
solucin. Por ejemplo, con un bastidor de 6 ranuras pueden disponerse de hasta
320 canales. En general, el coste de las tarjetas es menor que el de un
instrumento independiente y su potencia es superior a la de una tarjeta de
adquisicin.

21

Software de adquisicin de datos

22

Software LabVIEW
Laboratory Virtual Instrument Engineering Workbench

Panel frontal

Diagrama de bloques

LabVIEW es un software especialmente concebido para la adquisicin, el


anlisis y la representacin de datos. Est basado en un lenguaje de
programacin grfico que utiliza un modelo de programacin basado en el flujo
de datos. En este modelo el orden de ejecucin no es secuencial y se determina
por el flujo de los datos entre los objetos que componen el programa.
Los programas se componen de objetos conectados entre s y organizados
de forma jerrquica fomentndose mucho la programacin modular, la
escalabilidad y la reutilizacin del software.
Bsicamente, el programador comienza diseando el interfaz de usuario o
apariencia del instrumento que pretende realizar: detalla los botones,
interruptores, indicadores numricos, grficos, etc., Para ello utiliza una ventana
denominada panel frontal donde se sita los objetos con los que interactuar el
usuario.
El cdigo del programa se confecciona en otra ventana, denominada
diagrama de bloques, donde se realiza la conexin y se definen las
operaciones con los objetos situados en el panel frontal.
En el contexto de LabVIEW los programas se denominan instrumentos
virtuales.
LabVIEW es un entorno abierto que permite su conexin con software de
terceras partes (.NET, ActiveX, DLLs, ).

23