Sistemas de Interconexión de Instrumentos Programables
Los sistemas de interconexión de instrumentos programables tienen las siguientes características:
- Bus de Instrumentación: Constituyen un bus de conexión único para todos los instrumentos que permite realizar un sistema de medida modular.
- Dispositivo Controlador: Permiten que uno de los instrumentos o un computador actúe como dispositivo controlador de todo el sistema.
- Emisor y Receptor: Facilitan la comunicación bidireccional, actuando como emisor (talker) y receptor (listener) de datos.
La interfaz de comunicaciones por la que los instrumentos acceden al bus debe ser capaz de:
- Generar las señales eléctricas adecuadas para la comunicación.
- Encargarse de la transferencia de información entre instrumentos.
- Gestionar el flujo de información por el medio de comunicación.
El procesador digital situado en el instrumento debe ser capaz de:
- Ejecutar las instrucciones enviadas por otros instrumentos.
- Generar órdenes de operación destinadas a otros instrumentos.
- Secuenciar las operaciones coordinadas de los diferentes instrumentos.
- Dialogar con el operador del sistema de medida automatizado.
Para asegurar la compatibilidad de la conexión física, es necesario normalizar tanto las características relativas a las señales eléctricas del bus como los materiales y dimensiones mecánicas de los cables. Un bus de instrumentación puede implementarse de dos formas diferentes:
- Bus Independiente: Puede ser independiente del bus interno del microcomputador y requerir una interfaz que adapte el bus interno al bus de instrumentación.
- Bus Coincidente: Puede ser coincidente con el bus interno del computador. Cada instrumento se conecta al bus interno del microprocesador a través de su correspondiente interfaz.
Todos los instrumentos deben utilizar el mismo protocolo de comunicación. Hay que tener en cuenta la conexión entre:
- El operador y el sistema de medidas automatizado.
- El controlador y la interfaz de comunicación.
- Cada instrumento programable y su correspondiente interfaz de comunicación.
La primera no es más que la herramienta que permite al operador indicar la secuencia de medidas a realizar. La segunda se encarga de convertir las instrucciones indicadas por el lenguaje de alto nivel utilizando por el controlador a códigos del interfaz de comunicación. Por último, la conexión instrumento programable-interfaz de comunicación permite independizar los formatos y los códigos internos utilizados por cada instrumento programable del formato y códigos de las funciones básicas del interfaz de comunicación.
GPIB: Especificaciones Físicas
El GPIB (General Purpose Interface Bus), también conocido como IEEE 488, es un bus digital paralelo con 8 bits de datos compatible con tecnología TTL y utiliza lógica inversa. Es decir, el 1 lógico se asocia a nivel de tensión bajo (<0.8V) y el 0 lógico con un nivel de tensión alto (>2V).
Físicamente, el bus consiste en un conjunto de 24 cables apantallados (conector americano; el conector europeo consta de 25 pines) acabados en cada extremo con un conector macho-hembra, lo que permite apilarlos (piggyback). El conector dispone de varias líneas de masa, pues cada cable (excepto el 24) forma un par trenzado con el que tiene justo enfrente (el 23 con el 1, el 22 con el 2, y sucesivamente). Las líneas de datos (DIO8…DIO1) tienen un retorno común (logic GND).
La longitud del bus está limitada a 2 metros entre equipos, con una longitud máxima total entre dispositivos de 20 metros. Solo 15 dispositivos pueden estar en funcionamiento simultáneamente.
En cuanto a la configuración de los bloques E/S de la interfaz (del dispositivo conectado al bus), estas pueden ser en colector abierto o triestado (0, 1 y alta impedancia), salvo en las líneas NRFD, NDAC y SRQ, que tienen que ser de colector abierto. La salida en colector abierto permite una OR cableada con el resto de drivers conectados a la misma línea, asegurando una tensión (a nivel alto) en la línea cuando ningún dispositivo ha establecido la línea a un nivel de tensión bajo forzando el transistor a conducción. El bloque E/S con salida triestado puede establecer alta impedancia, es decir, actuar como si no estuviera conectado al bus.
Contador Digital Universal
Los contadores digitales universales son dispositivos que permiten la medición de señales temporales. El circuito de entrada convierte la señal a evaluar en una onda cuadrada que pueda ser procesada por el circuito digital de control. Este último recibe, por un lado, la señal de entrada adaptada y, por otro, una señal de referencia con una determinada frecuencia o periodo que le suministra la base de tiempos. A partir de esa información, genera una serie de señales de control que indican a un contador cuándo debe iniciar y detener la cuenta. El resultado de la cuenta es almacenado en el registro, el cual ofrece los datos al display.
La base de tiempos consta de una cadena de divisores de frecuencia que, a partir de una señal de un oscilador de precisión basado normalmente en un cristal de cuarzo, obtiene una serie de señales de diferente duración.
Medidas de Frecuencia
El circuito de control genera 3 señales: una de puesta a cero del contador, otra de habilitación de la cuenta y otra de almacenamiento en el registro. El proceso de cuenta se realiza durante un tiempo t fijado por la base de tiempos (t=N * Trefe). Inmediatamente después de resetear el contador, en el siguiente ciclo de reloj de referencia se habilita la cuenta y se mantiene así durante el tiempo t prefijado. Durante el mismo, los flancos de subida de la señal de entrada son contabilizados. El último valor de la cuenta es transferido al registro.
Medidas de Tiempo
La señal de habilitación conmuta a cada flanco de subida de la señal de entrada, de tal forma que se mantiene activa justo durante un periodo completo T de la señal. Durante ese tiempo, se contabiliza el número de flancos de subida N de la señal del reloj. El número aproximado de ciclos es: T=N * Trefe
Especificaciones Funcionales del GPIB
Se consideran tres tipos de elementos en el bus GPIB:
- Receptor (Listener): Solo pueden recibir datos cuando son direccionados y solo puede haber un máximo de 14 activos en un momento dado.
- Emisor (Talker): Solo puede transmitir datos cuando es direccionado y, por lo tanto, solo puede haber uno activo en un momento dado.
- Controller: Es el elemento que se encarga de direccionar a los listeners y talkers para que lleven a cabo la comunicación. Puede haber uno activo en un momento dado controlando las comunicaciones, y este puede cambiar a lo largo del tiempo.
Los bits TA y LA se utilizan para indicar que se está direccionando o desdireccionando un talker o un listener, respectivamente. La comunicación en GPIB es asíncrona para adaptarse al dispositivo más lento. Para el control de la transferencia se hace uso de las siguientes líneas:
- DAV (Data Valid): Indica que el dato presente en las líneas DIOx es válido.
- NFRD (Not Ready for Data): Utilizado por un dispositivo para indicar su disposición a aceptar un dato.
- NDAC (Not Data Accepted): Utilizado para indicar que se ha aceptado un dato.
Cuando un dispositivo está direccionado como listener, intentará ponerse en estado de escucha. Cuando un determinado dispositivo no está listo para recibir datos, su línea NFRD estará a true, lo que en lógica inversa implica nivel de tensión bajo. De esta forma, forzará que esta línea del bus esté igualmente a nivel bajo (estas salidas son de colector abierto). Cuando todos los dispositivos estén preparados para recibir datos, sus salidas conectadas a NFRD serán false y la línea pasará a nivel de tensión alto.
Una vez que NFRD pase a nivel de tensión alto, el talker sabrá que todos los dispositivos están listos y colocará el dato a transmitir en el bus. A continuación, indicará a los receptores que el dato ya está disponible activando la línea DAV (true -> nivel bajo de salida).
Cuando el primer listener ha leído el dato, cambia nuevamente su estado NFRD a true, por lo que esta línea del bus pasa nuevamente a nivel de tensión bajo. Igualmente, intenta cambiar el estado de la línea NDAC del bus a false, para indicar que ya ha leído el dato del bus. Sin embargo, no lo consigue, pues otros listeners aún no han terminado, y las salidas desde los dispositivos a la línea NDAC son de colector abierto.
Cuando todos los listeners han leído ya el dato, cambian su estado NDAC a false, y la línea del bus se pone finalmente a nivel de tensión alto.
El talker retira el dato del bus, estableciendo la línea DAV a nivel de tensión alto (false) para indicar que su contenido ya no es válido. Todas las líneas están nuevamente en sus estados iniciales, pudiéndose repetir otra vez todo el proceso con un nuevo dato.
Aparte de las líneas de control de transferencia, se dispone de 5 líneas de control del bus y de las líneas bidireccionales de datos (DIO1-DIO8), donde los datos se transmiten normalmente codificados ASCII de 7 bits, siendo DIO1 el menos significativo, DIO7 el más significativo y DIO8 el bit de paridad.
- ATN (Attention): El controlador indica si está enviando datos (nivel de tensión alto) o comandos (nivel de tensión bajo).
- IFC (Interface Clear): Permite al controlador inicializar el bus a un estado conocido.
- SRQ (Service Request): Sirve para que algún dispositivo pueda solicitar la atención del controlador. Cuando el controlador recibe una solicitud, este inicia un sondeo (polling), que puede ser serie o paralelo, para identificar al dispositivo que la produjo.
- REN (Remote Enable): Permite al controlador, con otros controles de interfaz, seleccionar el modo de control local o remoto de un dispositivo.
- EOI (End Or Identify): Indica el fin de un mensaje si la usa un talker o la identificación si la usa el controlador.
Generador de Barrido
El generador de barrido genera una señal de tensión creciente linealmente que, una vez alcanzado el valor máximo (haz de electrones en la parte derecha de la pantalla del osciloscopio), debe regresar rápidamente a su valor inicial (haz de electrones a la izquierda en la pantalla del osciloscopio). Dado que un retorno no puede hacerse suficientemente rápido, no interesa ver el retorno del haz impreso en la pantalla; durante el flanco de bajada de esta señal en diente de sierra, debe anularse el haz haciendo uso del circuito de control de intensidad. Por ello, el generador de barrido emite unos impulsos de borrado que indican cuándo debe inhibirse la emisión de electrones.
La sincronización del barrido se encarga al circuito de disparo. Este es un comparador que genera una onda cuadrada cuyos flancos de subida y de bajada se producen en los instantes de tiempo en que la señal a visualizar alcanza un determinado nivel de amplitud, llamado nivel de disparo. Tras dicho comparador, un diferenciador genera los impulsos de sincronismo a partir de los flancos de subida y de bajada de la onda cuadrada. Por último, el eliminador de impulsos se encarga de seleccionar uno de los dos tipos de impulsos.