IEEE 488 , también conocido como HP-IB ( Hewlett-Packard Interface Bus ) y genéricamente como GPIB ( General Purpose Interface Bus ), es una especificación de bus de interfaz multimaestro paralelo de 8 bits de comunicaciones digitales de corto alcance desarrollada por Hewlett-Packard . Posteriormente fue objeto de varias normas.
Aunque el bus fue creado a finales de los años 1960 para conectar equipos de prueba automatizados , también tuvo cierto éxito durante los años 1970 y 1980 como bus periférico para las primeras microcomputadoras , en particular el Commodore PET . Los estándares más nuevos han reemplazado en gran medida al IEEE 488 para uso informático, pero todavía se utiliza en equipos de prueba.
A finales de la década de 1960, Hewlett-Packard (HP) fabricó diversos instrumentos automatizados de prueba y medición, como multímetros digitales y analizadores lógicos . Desarrollaron el HP Interface Bus (HP-IB) para permitir una interconexión más sencilla entre instrumentos y controladores (computadoras y otros instrumentos). Esta parte de HP se escindió más tarde (c. 1999) como Agilent Technologies , y en 2014 la división de pruebas y mediciones de Agilent se escindió como Keysight Technologies . [ cita necesaria ]
El bus era relativamente fácil de implementar utilizando la tecnología de la época, utilizando un simple bus paralelo 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 periféricos HP-IB relativamente simples implementados en TTL , sin necesidad de un microprocesador.
HP concedió licencias de las patentes HP-IB a otros fabricantes por una tarifa nominal. Se conoció como 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, varias organizaciones de estándares lo formalizaron .
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). [1] 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 datos.
En 1987, IEEE introdujo códigos, formatos, protocolos y comandos comunes estándar , IEEE 488.2. Fue revisado en 1992. [2] 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 basado en 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 y IEEE 488.2 definió el protocolo, todavía no existía un estándar para comandos específicos de instrumentos. 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, [3] y más tarde Hewlett-Packard, reconocieron esto como un problema. En 1989, HP desarrolló su lenguaje de medición de pruebas (TML) [4] o lenguaje de sistemas de medición y prueba (TMSL) [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 clase. SCPI exigía la sintaxis IEEE 488.2, pero permitía 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 reemplazadas 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 Mbytes /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 rendimiento superior 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]
IEEE 488 es un bus eléctricamente paralelo de 8 bits que emplea dieciséis líneas de señal (ocho utilizadas para la transferencia de datos bidireccional, tres para el protocolo de enlace y cinco para la gestión del 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 único bus físico de hasta 20 metros (66 pies) de longitud total de 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 sólo uno puede ser el "Controlador a cargo" a la vez. [dieciséis]
En el protocolo original, las transferencias utilizan un protocolo de enlace entrelazado de tres cables, listo, válido y aceptado . [17] La velocidad máxima de datos es de aproximadamente un megabyte por segundo. La última extensión HS-488 relaja los requisitos de protocolo de enlace, permitiendo hasta 8 Mbyte/s. El dispositivo participante más lento determina la velocidad del autobús. [18]
IEEE 488 especifica un conector de microcinta de 24 pines diseñado por Amfenol . Los conectores de microcinta tienen una carcasa metálica en forma de D, pero son más grandes que los conectores subminiatura D. A veces se les llama "conectores Centronics" por el conector de microcinta de 36 pines que Centronics usaba para sus impresoras.
Una característica inusual de los conectores IEEE 488 es que comúnmente utilizan un diseño de "doble cabeza", con un macho en un lado y una hembra en el otro. Esto permite apilar conectores para una fácil conexión en cadena . Las consideraciones mecánicas limitan el número de conectores apilados a cuatro o menos, aunque una solución alternativa que implique soportar físicamente los conectores puede solucionar este problema.
Se mantienen en su lugar mediante tornillos, ya sea de 6-32 UNK [19] (ahora en gran medida obsoletos) o de rosca métrica M3,5×0,6 . Las primeras versiones de la norma sugerían que los tornillos métricos deberían ennegrecerse para evitar confusión con las roscas UTS incompatibles. Sin embargo, en la revisión de 1987 esto ya no se consideraba necesario debido a la prevalencia de roscas métricas. [20]
El estándar IEC 60625 prescribe el uso de conectores subminiatura D de 25 pines (los mismos que se usan para el puerto paralelo en PC compatibles con IBM ). Este conector no obtuvo una aceptación significativa en el mercado frente al conector establecido de 24 pines.
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 adaptaba fácilmente al propósito.
Los productos informáticos HP que utilizaban HP-IB incluían la serie HP 80 , la serie HP 9800 , [22] la serie HP 2100 , [23] y la serie HP 3000 . [24] Los periféricos de computadora HP que no utilizaban la interfaz de comunicación RS-232 a menudo usaban HP-IB, incluidos sistemas de discos 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 de computadoras personales Commodore PET (introducida en 1977) conectaba sus periféricos mediante 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 serie cuyo protocolo se basó en IEEE 488. [25] Commodore comercializó un cartucho IEEE 488 para el VIC-20 [26] y el Commodore 64. [27] 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. [28]
Con el tiempo, estándares más rápidos y completos, como SCSI, reemplazaron al IEEE 488 para el acceso a periféricos.
Eléctricamente, IEEE 488 utilizó una interfaz de hardware que podría implementarse con alguna lógica discreta o con un microcontrolador. La interfaz de hardware permitió que dispositivos fabricados por diferentes fabricantes se comunicaran con un solo host. Dado que cada dispositivo generaba las señales de intercambio asíncrono requeridas por el protocolo del bus, se podían mezclar dispositivos lentos y rápidos 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 era necesario un aislamiento galvánico entre el bus y los dispositivos, lo que creaba la posibilidad de que los bucles de tierra causaran ruido adicional y pérdida de datos.
Físicamente, los conectores y el cableado IEEE 488 eran resistentes y se sujetaban mediante tornillos. Si bien los conectores físicamente grandes y resistentes eran una ventaja en instalaciones industriales o de laboratorio, el tamaño y el costo de los conectores eran un inconveniente en aplicaciones como las computadoras personales.
Aunque las interfaces eléctricas y físicas estaban bien definidas, no existía un conjunto de comandos estándar inicial. Los dispositivos de diferentes fabricantes pueden utilizar comandos diferentes para la misma función. [29] 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 del final de la 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 la disminución de los costos de la electrónica de interfaz para implementar estándares más complejos que proporcionen un mayor ancho de banda. Los conectores multiconductores (datos paralelos) y el cable blindado eran inherentemente más costosos que los conectores y el cableado que podían usarse 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.
En 1990, la especificación IEEE 488.2 incluía el documento Comandos estándar para instrumentación programable (SCPI).
La dirección principal es un número en el rango de 0 a 30.
Se puede utilizar cualquier dirección en el rango 0 - 30, inclusive.
conectado en una topología en cadena o en estrella
Algunos cables existentes utilizan hilos ingleses (6-32UNK).
la "nota útil" sobre subprocesos métricos que se encuentra 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.
{{citation}}
: La cita utiliza un título genérico ( ayuda ){{cite web}}
: Comprobar |url=
valor ( ayuda )Interfaz HP-IB para computadoras HP1000 y HP2000
{{cite web}}
: Comprobar |url=
valor ( ayuda )Interfaz CIO HP-IB para 3000 Serie 900
{{cite web}}
: Comprobar |url=
valor ( ayuda )ID
comando con una cadena de identificación; Los estándares posteriores hicieron que los dispositivos respondieran al *ID
comando.