IEEE 488 es una especificación de bus de interfaz multimaestro paralelo de 8 bits para comunicaciones digitales de corto alcance desarrollada por Hewlett-Packard como HP-IB ( bus de interfaz de Hewlett-Packard ). Posteriormente se convirtió en el tema de varios estándares y se conoce genéricamente como GPIB ( Bus de interfaz de propósito general ).
Aunque el bus se creó a fines de la década de 1960 para conectar equipos de prueba automatizados , también tuvo cierto éxito durante las décadas de 1970 y 1980 como bus periférico para las primeras microcomputadoras , especialmente el Commodore PET . Los estándares más nuevos han reemplazado en gran medida al IEEE 488 para el uso de computadoras, pero todavía lo utilizan algunos equipos de prueba.
Orígenes
A finales de la década de 1960, Hewlett-Packard (HP) [1] fabricó varios instrumentos de prueba y medición automatizados, como multímetros digitales y analizadores lógicos . Desarrollaron el bus de interfaz HP (HP-IB) para permitir una interconexión más sencilla entre instrumentos y controladores (computadoras y otros instrumentos).
El bus era relativamente fácil de implementar usando la tecnología en ese momento, usando un bus paralelo simple y varias líneas de control individuales. Por ejemplo, el programador de fuente de alimentación HP 59501 y el actuador de relé HP 59306A eran ambos periféricos HP-IB relativamente simples implementados en TTL , sin la necesidad de un microprocesador.
HP obtuvo la licencia de las patentes HP-IB por una tarifa nominal a otros fabricantes. Se conoció como el bus de interfaz de propósito general (GPIB) y se convirtió en un estándar de facto para el control de instrumentos industriales y automatizados. A medida que GPIB se hizo popular, fue formalizado por varias organizaciones de estándares .
Estándares
En 1975, el IEEE estandarizó el bus como Interfaz digital estándar para instrumentación programable , IEEE 488 ; fue revisado en 1978 (produciendo IEEE 488-1978). [2] El estándar fue revisado en 1987 y redesignado como IEEE 488.1 (IEEE 488.1-1987). Estos estándares formalizaron los parámetros mecánicos, eléctricos y de protocolo básico de GPIB, pero no dijeron nada sobre el formato de los comandos o los datos.
En 1987, IEEE introdujo códigos estándar, formatos, protocolos y comandos comunes , IEEE 488.2 . Fue revisado en 1992. [3] IEEE 488.2 proporcionó sintaxis básica y convenciones de formato, así como comandos independientes del dispositivo, estructuras de datos, protocolos de error y similares. IEEE 488.2 construido sobre IEEE 488.1 sin reemplazarlo; El equipo puede cumplir con IEEE 488.1 sin seguir IEEE 488.2.
Si bien IEEE 488.1 definió el hardware e IEEE 488.2 definió el protocolo, todavía no existía un estándar para los comandos específicos del instrumento. Los comandos para controlar la misma clase de instrumento, por ejemplo , multímetros, variaban entre fabricantes e incluso modelos.
La Fuerza Aérea de los Estados Unidos, [4] y más tarde Hewlett-Packard, reconocieron esto como un problema. En 1989, HP desarrolló su lenguaje TML [5], que fue el precursor de los comandos estándar para instrumentación programable (SCPI), introducido como estándar de la industria en 1990. [6] SCPI agregó comandos genéricos estándar y una serie de clases de instrumentos con los correspondientes comandos específicos de la clase. SCPI exigió la sintaxis IEEE 488.2, pero permitió otros transportes físicos (no IEEE 488.1).
La IEC desarrolló sus propios estándares en paralelo con la IEEE, con IEC 60625-1 e IEC 60625-2 (IEC 625), posteriormente reemplazada por IEC 60488 .
National Instruments introdujo una extensión compatible con versiones anteriores de IEEE 488.1, originalmente conocida como HS-488 . Aumentó la velocidad máxima de datos a 8 Mbyte / s, aunque la velocidad disminuye a medida que se conectan más dispositivos al bus. Esto se incorporó al estándar en 2003 (IEEE 488.1-2003), [7] a pesar de las objeciones de HP. [8] [9]
En 2004, IEEE e IEC combinaron sus respectivos estándares en un estándar IEEE / IEC de "logotipo dual" IEC 60488-1 , Estándar para protocolo de alto rendimiento para la interfaz digital estándar para instrumentación programable - Parte 1: General , [10] reemplaza a IEEE 488.1 / IEC 60625-1 e IEC 60488-2 , Parte 2: Códigos, formatos, protocolos y comandos comunes , [11] reemplaza a IEEE 488.2 / IEC 60625-2. [12]
Caracteristicas
IEEE 488 es un bus eléctricamente paralelo de 8 bits que emplea dieciséis líneas de señal, ocho utilizadas para transferencia de datos bidireccional, tres para protocolo de enlace y cinco para gestión de bus, más ocho líneas de retorno a tierra.
El bus admite 31 direcciones de dispositivos primarios de cinco bits numeradas del 0 al 30, asignando una dirección única a cada dispositivo en el bus. [13] [14]
El estándar permite que hasta 15 dispositivos compartan un solo bus físico de hasta 20 metros (66 pies) de longitud total del cable. La topología física puede ser lineal o en estrella (bifurcada). [15] Los extensores activos permiten buses más largos, con hasta 31 dispositivos teóricamente posibles en un bus lógico.
Las funciones de control y transferencia de datos están lógicamente separadas; un controlador puede dirigirse a un dispositivo como "hablante" y a uno o más dispositivos como "oyentes" sin tener que participar en la transferencia de datos. Es posible que varios controladores compartan el mismo bus, pero solo uno puede ser el "Controlador a cargo" a la vez. [dieciséis]
En el protocolo original, las transferencias utilizan un protocolo de enlace de tres cables listo-válido-aceptado enclavado. [17] La velocidad máxima de datos es de aproximadamente un megabyte por segundo. La última extensión HS-488 relaja los requisitos del protocolo de enlace, permitiendo hasta 8 Mbyte / s. El dispositivo participante más lento determina la velocidad del autobús. [18]
Conectores
Extender con el rodillo | |||
---|---|---|---|
Conector IEEE 488 hembra | |||
Pin 1 | DIO1 | Bit de entrada / salida de datos. | |
Pin 2 | DIO2 | Bit de entrada / salida de datos. | |
Pin 3 | DIO3 | Bit de entrada / salida de datos. | |
Pin 4 | DIO4 | Bit de entrada / salida de datos. | |
Pin 5 | EOI | Finalizar o identificar. | |
Pin 6 | DAV | Datos válidos. | |
Pin 7 | NRFD | No está listo para recibir datos. | |
Pin 8 | NDAC | No se aceptan datos. | |
Pin 9 | IFC | Interfaz clara. | |
Pin 10 | SRQ | Solicitud de servicio. | |
Pin 11 | ATN | Atención. | |
Pin 12 | PROTEGER | ||
Pin 13 | DIO5 | Bit de entrada / salida de datos. | |
Pin 14 | DIO6 | Bit de entrada / salida de datos. | |
Pin 15 | DIO7 | Bit de entrada / salida de datos. | |
Pin 16 | DIO8 | Bit de entrada / salida de datos. | |
Pin 17 | REN | Habilitación remota. | |
Pin 18 | GND | (alambre trenzado con DAV) | |
Pin 19 | GND | (alambre trenzado con NRFD) | |
Pin 20 | GND | (alambre trenzado con NDAC) | |
Pin 21 | GND | (alambre trenzado con IFC) | |
Pin 22 | GND | (alambre trenzado con SRQ) | |
Pin 23 | GND | (alambre trenzado con ATN) | |
Pin 24 | Tierra lógica |
IEEE 488 especifica un conector de microcinta diseñado por Amphenol de 24 pines . Los conectores de micro cinta tienen una carcasa de metal en forma de D, pero son más grandes que los conectores D-subminiatura . A veces se les llama "conectores Centronics" en honor al conector de microcinta de 36 clavijas que Centronics usaba para sus impresoras.
Una característica inusual de los conectores IEEE 488 es que comúnmente usan un diseño de "doble cabeza", con macho en un lado y hembra en el otro. Esto permite apilar conectores para una fácil conexión en cadena . Las consideraciones mecánicas limitan la cantidad de conectores apilados a cuatro o menos, aunque una solución alternativa que implique el soporte físico de los conectores puede solucionar esto.
Se mantienen en su lugar mediante tornillos, ya sea UTS (ahora en gran parte obsoleto) o roscas métricas M3.5 × 0.6 . Las primeras versiones del estándar sugerían que los tornillos métricos deberían ennegrecerse para evitar confusiones con las roscas UTS incompatibles. Sin embargo, en la revisión de 1987 esto ya no se consideró necesario debido a la prevalencia de hilos métricos. [19]
La norma IEC 60625 prescribe el uso de conectores subminiatura D de 25 pines (los mismos que se utilizan para el puerto paralelo en los compatibles con IBM PC ). Este conector no obtuvo una aceptación significativa en el mercado frente al conector de 24 pines establecido.
Capacidades
Función | Abreviatura | Descripción y ejemplos | |
---|---|---|---|
Apretón de manos de la fuente | SH | 1 | Completo |
Apretón de manos del aceptador | AH | 1 | Completo |
Hablador básico | T | 5 | Responde a una encuesta en serie; deja de hablar cuando se recibe la dirección de escucha; hablar solo capacidad |
6 | Untalks cuando se recibe la dirección de escucha; no hables solo | ||
7 | Sin encuesta en serie; deja de hablar cuando se recibe la dirección de escucha; hablar solo capacidad | ||
Hablador extendido | TE | 0 | No hablador extendido |
Oyente básico | L | 3 | Modo de solo escucha; no escucha si se recibe la dirección de conversación |
4 | No escucha si se recibe la dirección de conversación | ||
Oyente extendido | LE | 0 | Sin oyente extendido |
Solicitud de servicio | SR | 0 | Sin capacidad de solicitud de servicio |
1 | Completo | ||
Remoto-Local | RL | 0 | Sin bloqueo local |
1 | Completo | ||
Encuesta paralela | PÁGINAS | 0 | No responde a la encuesta paralela |
Dispositivo claro | corriente continua | 1 | completo |
Disparador de dispositivo | DT | 0 | Sin capacidad de activación de dispositivo |
1 | Completo | ||
Controlador | C | 0 | Sin función de controlador |
mi | 1 | Electrónica de accionamiento de colector abierto | |
2 | Tres conductores estatales |
Para obtener más información, consulte Tektronix. [20]
Usar como interfaz de computadora
Los diseñadores de HP no planearon específicamente que IEEE 488 fuera una interfaz periférica para computadoras de uso general; la atención se centró en la instrumentación. Pero cuando las primeras microcomputadoras de HP necesitaban una interfaz para periféricos ( unidades de disco , unidades de cinta , impresoras , trazadores , etc.), HP-IB estaba disponible y se adaptó fácilmente al propósito.
Los productos informáticos HP que utilizaban HP-IB incluían la serie HP 80 , la serie HP 9800 , [21] la serie HP 2100 , [22] y la serie HP 3000 . [23] Los periféricos informáticos de HP que no utilizaban la interfaz de comunicación RS-232 solían utilizar HP-IB, incluidos sistemas de disco como el HP 7935 . Algunas de las calculadoras de bolsillo avanzadas de HP de la década de 1980, como las series HP-41 y HP-71B , también tenían capacidades IEEE 488, a través de un módulo de interfaz opcional HP-IL / HP-IB.
Otros fabricantes también adoptaron GPIB para sus computadoras, como con la línea Tektronix 405x .
La gama Commodore PET (introducida en 1977) de computadoras personales conectaba sus periféricos usando el bus IEEE 488, pero con un conector de borde de tarjeta no estándar. Las siguientes máquinas de 8 bits de Commodore utilizaron un bus en serie cuyo protocolo se basó en IEEE 488. [24] Commodore comercializó un cartucho IEEE 488 para el VIC-20 [25] y el Commodore 64. [26] Varios proveedores externos de Commodore 64 Los periféricos fabricaron un cartucho para el C64 que proporcionaba una interfaz derivada de IEEE 488 en un conector de borde de tarjeta similar al de la serie PET. [27]
Finalmente, estándares más rápidos y completos, como SCSI, reemplazaron a IEEE 488 para el acceso periférico.
Parte posterior del Commodore CBM-II que muestra el puerto IEEE 488 del conector del borde de la tarjeta
Parte posterior de la unidad de disquete Commodore SFD 1001 con puerto IEEE 488
Parte posterior de un osciloscopio digital Tektronix TDS 210 con puerto IEEE 488
Vista posterior de un multímetro / chasis de adquisición de datos Keysight 34970A
Interfaz C64
Unidad de disco HP 7935 Panel HP-IB
Interfaz Acorn IEEE 488
Controlador GPIB de National Instruments para bus ISA de PC
Comparación con otros estándares de interfaz
Eléctricamente, IEEE 488 usó una interfaz de hardware que podría implementarse con alguna lógica discreta o con un microcontrolador. La interfaz de hardware permitió que los dispositivos fabricados por diferentes fabricantes se comunicaran con un solo host. Dado que cada dispositivo generaba las señales de protocolo de enlace asíncronas requeridas por el protocolo de bus, los dispositivos lentos y rápidos se podían mezclar en un bus. La transferencia de datos es relativamente lenta, por lo que se ignoran los problemas de la línea de transmisión , como la adaptación de impedancia y la terminación de la línea. No había ningún requisito de aislamiento galvánico entre el bus y los dispositivos, lo que creaba la posibilidad de que los bucles de tierra produjeran ruido adicional y pérdida de datos.
Físicamente, los conectores y el cableado IEEE 488 eran resistentes y se sujetaban con tornillos. Si bien los conectores físicamente grandes y resistentes eran una ventaja en configuraciones industriales o de laboratorio, el tamaño y el costo de los conectores eran una desventaja en aplicaciones como computadoras personales.
Aunque las interfaces eléctricas y físicas estaban bien definidas, no había un conjunto de comandos estándar inicial. Los dispositivos de diferentes fabricantes pueden usar diferentes comandos para la misma función. [28] Algunos aspectos de los estándares del protocolo de comando no se estandarizaron hasta los Comandos estándar para instrumentos programables (SCPI) en 1990. Las opciones de implementación (por ejemplo, el manejo de fin de transmisión) pueden complicar la interoperabilidad en dispositivos anteriores a IEEE 488.2.
Los estándares más recientes, como USB , FireWire y Ethernet, aprovechan los costos decrecientes de la electrónica de interfaz para implementar estándares más complejos que brindan mayor ancho de banda. Los conectores multiconductores (datos en paralelo) y el cable blindado eran intrínsecamente más costosos que los conectores y el cableado que se podían usar con estándares de transferencia de datos en serie como RS-232 , RS-485 , USB, FireWire o Ethernet. Muy pocas computadoras personales o periféricos del mercado masivo (como impresoras o escáneres) implementaron IEEE 488.
Ver también
- Comandos estándar para instrumentos programables (SCPI)
- Extensiones PCI para instrumentación (PXI)
- Extensiones LAN para instrumentación (LXI)
- Arquitectura de software de instrumentos virtuales (VISA)
- HP serie 80
- BÁSICO de las Montañas Rocosas
- CBM-bus , un bus serie patentado por Commodore
Referencias
- ^ Esta parte de HP se escindió más tarde (c. 1999) como Agilent Technologies , y en 2014 la división de pruebas y medidas de Agilent se escindió como Keysight Technologies .
- ^ Interfaz digital estándar IEEE para instrumentación programable , Instituto de ingenieros eléctricos y electrónicos , 1987, ISBN 0-471-62222-2, Norma ANSI / IEEE 488.1-1987, pag. iii
- ^ Códigos, formatos, protocolos y comandos comunes estándar IEEE para uso con IEEE Std 488.1-1987, Interfaz digital estándar IEEE para instrumentación programable , Instituto de ingenieros eléctricos y electrónicos , 1992, ISBN 978-1-55937-238-1, Norma IEEE 488.2-1992
- ^ Proyecto Mate en 1985
- ^ "GPIB 101, un tutorial del bus GPIB" . Electrónica ICS. pag. 5, párrafo = Comandos SCPI.
- ^ "Historia de GPIB" . Instrumentos Nacionales . Consultado el 6 de febrero de 2010 .
En 1990, la especificación IEEE 488.2 incluía el documento de Comandos estándar para instrumentación programable (SCPI).
- ^ "Estándar actualizado aumenta ocho veces la velocidad de los buses de instrumentos IEEE 488" . IEEE. 2003-10-06 . Consultado el 6 de febrero de 2010 .
- ^ "HP y otras empresas de pruebas y medición instan a IEEE a oponerse a las revisiones del estándar IEEE 488 establecido" (comunicado de prensa). Compañía Hewlett-Packard. Diciembre de 1997. Archivado desde el original el 10 de junio de 2011 . Consultado el 16 de febrero de 2010 .
- ^ "P488.1 Proyecto Inicio" . IEEE. Archivado desde el original el 28 de abril de 2010 . Consultado el 16 de febrero de 2010 .
- ^ Estándar IEC / IEEE para protocolo de alto rendimiento para la interfaz digital estándar para instrumentación programable - Parte 1: General (Adopción de IEEE Std 488.1-2003) . IEEE. doi : 10.1109 / IEEESTD.2004.95749 . ISBN 978-0-7381-4536-5.
- ^ Interfaz digital estándar para instrumentación programable - Parte 2: Códigos, formatos, protocolos y comandos comunes (adopción de (IEEE Std 488.2-1992) . IEEE. Doi : 10.1109 / IEEESTD.2004.95390 . ISBN 978-0-7381-4100-8.
- ^ "Publicaciones reemplazadas o retiradas" . IEC. Archivado desde el original el 17 de abril de 2012 . Consultado el 6 de febrero de 2010 .
- ^ "Direccionamiento GPIB" (PDF) . NI-488.2 Manual de Usuario . Corporación Nacional de Instrumentos. Febrero de 2005. p. A-2. NI P / N 370428C-01 . Consultado el 16 de febrero de 2010 .
La dirección principal es un número en el rango de 0 a 30.
- ^ "Tabla 1-1: Parámetros de configuración de la tarjeta de interfaz 82350 GPIB" (PDF) . Interfaz PCI GPIB Agilent 82350B: Guía de instalación y configuración . Tecnologías Agilent. 2009-07-20. pag. 26. Agilent P / N 82350-90004 . Consultado el 16 de febrero de 2010 .
se puede utilizar cualquier dirección en el rango de 0 a 30, inclusive
- ^ "Tutorial de control de instrumentos GPIB" . Instrumentos Nacionales. 2009-08-24 . Consultado el 16 de febrero de 2010 .
conectado en una topología en cadena o en estrella
- ^ NI-488.2 Manual de Usuario (PDF) . Corporación Nacional de Instrumentos. Febrero de 2005. p. A-1. NI P / N 370428C-01. Archivado desde el original (PDF) en 2008-12-02 . Consultado el 16 de febrero de 2010 .
- ^ "Líneas de apretón de manos" (PDF) . NI-488.2 Manual de Usuario . Corporación Nacional de Instrumentos. Febrero de 2005. p. A-3. NI P / N 370428C-01 . Consultado el 16 de febrero de 2010 .
- ^ "Uso de HS488 para mejorar el rendimiento del sistema GPIB" . Corporación Nacional de Instrumentos. 30 de marzo de 2009 . Consultado el 16 de febrero de 2010 .
- ^ Interfaz digital estándar IEEE para instrumentación programable , Instituto de ingenieros eléctricos y electrónicos , 1987, p. v, ISBN 978-0-471-62222-2, ANSI / IEEE Std 488.1-1987,
La "nota útil" sobre subprocesos métricos que se encuentran en ediciones anteriores se ha eliminado ya que el uso de subprocesos métricos es una práctica común de IEEE 488. En consecuencia, también se considera innecesaria la recomendación de recubrir dichas piezas con material negro para llamar la atención sobre las roscas métricas.
- ^ Tilden, Mark D. (1983), "Apéndice A: Los subconjuntos describen las funciones de la interfaz" (PDF) , Guía de programación de GPIB 4041 , Tektronix, Inc., págs. 113-115
- ^ "HP 98135A HP-IB Interface 9815" . Museo de Computadoras HP . Consultado el 6 de febrero de 2010 .
- ^ "Interfaz 59310A HP-IB" . Museo de Computadoras HP . Consultado el 6 de febrero de 2010 .
Interfaz HP-IB para equipos HP1000 y HP2000
- ^ "Interfaz HP-IB 27113A" . Museo de Computadoras HP . Consultado el 6 de febrero de 2010 .
Interfaz CIO HP-IB para 3000 Series 900
- ^ Bagnall, Brian (2006). On the Edge: The Spectacular Rise and Fall of Commodore , Variant Press. Página 221. ISBN 0-9738649-0-7
- ^ Dibujo de Commodore para VIC-1112 - Dibujo no. 1110010 Rev: A
- ^ Esquemas de ingeniería inversa para la interfaz IEEE Commodore C64
- ^ http://www.zimmers.net/anonftp/pub/cbm/schematics/cartridges/c64/ieee-488/index.html Enlace al esquema de uno de esos convertidores.
- ^ Los primeros dispositivos pueden responder a un
ID
comando con una cadena de identificación; los estándares posteriores hicieron que los dispositivos respondieran al*ID
comando.
enlaces externos
- IEC 60488-1: Protocolo de mayor rendimiento para la interfaz digital estándar para instrumentación programable . Parte 1: General. Comisión Electrotécnica Internacional. 2004-07-15.
- IEC 60488-2: Interfaz digital estándar para instrumentación programable . Parte 2: Códigos, formatos, protocolos y comandos comunes. Comisión Electrotécnica Internacional. 2004-05-07.
- Tutorial de múltiples páginas GPIB / IEEE 488