BPGI

Especificación de bus de interfaz de propósito general (GPIB)
Cable IEEE 488 con conectores apilables

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 para comunicaciones digitales de corto alcance desarrollada por Hewlett-Packard . Posteriormente se convirtió en objeto de varias normas.

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 los primeros microordenadores , en particular el Commodore PET . Los estándares más nuevos han reemplazado en gran medida al IEEE 488 para uso informático, pero aún se usa en equipos de prueba.

Historia

En la década de 1960, Hewlett-Packard (HP) fabricó varios instrumentos de medición y prueba automatizados, como multímetros digitales y analizadores lógicos . Desarrollaron el bus de interfaz HP (HP-IB) para facilitar la interconexión entre instrumentos y controladores (computadoras y otros instrumentos). [1] Esta parte de HP se escindió más tarde (c. 1999) como Agilent Technologies , y en 2014 la división de medición y prueba de Agilent se escindió como Keysight Technologies . [ cita requerida ]

El bus era relativamente fácil de implementar utilizando la tecnología de la época, utilizando 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 necesidad de un microprocesador.

HP otorgó licencias de las patentes HP-IB a otros fabricantes por una tarifa nominal. Se lo 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). [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 datos.

En 1987, el IEEE introdujo los códigos estándar, formatos, protocolos y comandos comunes , IEEE 488.2. Fue revisado en 1992. [3] El IEEE 488.2 proporcionaba convenciones básicas de sintaxis y formato, así como comandos independientes del dispositivo, estructuras de datos, protocolos de error y similares. El IEEE 488.2 se basó en el IEEE 488.1 sin reemplazarlo; el equipo puede cumplir con el IEEE 488.1 sin seguir el IEEE 488.2.

Si bien el IEEE 488.1 definía el hardware y el IEEE 488.2 el protocolo, todavía no existía un estándar para los comandos específicos de cada 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, posteriormente, Hewlett-Packard, reconocieron que esto era un problema. En 1989, HP desarrolló su lenguaje de medición de pruebas (TML) [5] o lenguaje de sistemas de medición y pruebas (TMSL) [6], que fue el precursor de los comandos estándar para instrumentación programable (SCPI), introducido como estándar de la industria en 1990. [7] SCPI agregó comandos genéricos estándar y una serie de clases de instrumentos con comandos específicos de clase correspondientes. 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 el IEEE, con IEC 60625-1 e IEC 60625-2 (IEC 625), posteriormente reemplazada por IEC 60488-2 .

National Instruments introdujo una extensión compatible con versiones anteriores de IEEE 488.1, conocida originalmente como HS-488. Esta extensión 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. Esta extensión se incorporó al estándar en 2003 (IEEE 488.1-2003), [8] a pesar de las objeciones de HP. [9] [10]

En 2004, el IEEE y el IEC combinaron sus respectivos estándares en un estándar IEEE/IEC de "doble logotipo" IEC 60488-1, Estándar para el protocolo de alto rendimiento para la interfaz digital estándar para instrumentación programable - Parte 1: General , [11] reemplaza a IEEE 488.1/IEC 60625-1, e IEC 60488-2, Parte 2: Códigos, formatos, protocolos y comandos comunes , [12] reemplaza a IEEE 488.2/IEC 60625-2. [13]

Características

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), además de 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. [14] [15]

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). [16] 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 separadas lógicamente; un controlador puede dirigirse a un dispositivo como "hablante" y a uno o más dispositivos como "escuchas" 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. [17]

En el protocolo original, las transferencias utilizan un protocolo de enlace de tres hilos entrelazado, listo, válido y aceptado . [18] La velocidad máxima de datos es de aproximadamente un megabyte por segundo. La extensión posterior HS-488 flexibiliza los requisitos del protocolo de enlace, permitiendo hasta 8 Mbyte/s. El dispositivo participante más lento determina la velocidad del bus. [19]

Conectores

IEEE 488
Distribución de pines
Conector IEEE 488 hembra
Pin 1Dio1Bit de entrada/salida de datos
Pin 2Dio2Bit de entrada/salida de datos
Pin 3DIO3Bit de entrada/salida de datos
Pin 4DIO4Bit de entrada/salida de datos
Pin 5Expresión de interésFin o identificación
Pin 6DAVDatos válidos
Pin 7NRFDNo está listo para los datos
Pin 8NDACNo se aceptan datos
Pin 9Corporación Financiera InternacionalInterfaz clara
Pin 10Pregunta frecuenteSolicitud de servicio
Pin 11ATENCIÓNAtención
Pin 12BLINDAJE
Pin 13DIO5Bit de entrada/salida de datos
Pin 14DIO6Bit de entrada/salida de datos
Pin 15Dio7Bit de entrada/salida de datos
Pin 16Dio8Bit de entrada/salida de datos
Pin 17RenéHabilitación remota
Pin 18Tierra(cable trenzado con DAV)
Pin 19Tierra(cable trenzado con NRFD)
Pin 20Tierra(cable trenzado con NDAC)
Pin 21Tierra(cable trenzado con IFC)
Pin 22Tierra(cable trenzado con SRQ)
Pin 23Tierra(cable trenzado con ATN)
Pin 24Tierra lógica

La norma IEEE 488 especifica un conector de cinta micro de 24 pines diseñado por Amphenol . Los conectores de cinta micro tienen una carcasa metálica en forma de D, pero son más grandes que los conectores subminiatura D. A veces se los denomina "conectores Centronics" por el conector de cinta micro de 36 pines que Centronics utilizaba para sus impresoras.

Una característica inusual de los conectores IEEE 488 es que suelen utilizar un diseño de "doble cabezal", con un conector macho en un lado y una hembra en el otro. Esto permite apilar los conectores para facilitar la 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 sujetar físicamente los conectores puede solucionar este problema.

Se mantienen en su lugar mediante tornillos, ya sea 6-32 UNK [20] (ahora en gran parte obsoletos) o roscas métricas M3,5×0,6 . Las primeras versiones de la norma sugerían que los tornillos métricos debí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 las roscas métricas. [21]

La norma IEC 60625 prescribe el uso de conectores D-sub de 25 pines (los mismos que se utilizan para el puerto paralelo en los equipos IBM PC compatibles ). Este conector no tuvo una aceptación significativa en el mercado frente al conector de 24 pines establecido.

Capacidades

Puerto IEEE-488 con capacidades enumeradas en un controlador de temperatura de laboratorio
Capacidades [22]
FunciónAbreviaturaDescripción y ejemplos
Apretón de manos de origenEL1Completo
Apretón de manos del aceptorAh1Completo
Hablador básicoyo5Responde a una encuesta en serie; deja de hablar cuando recibe la dirección de escucha; capacidad de solo hablar
6Deja de hablar cuando se recibe la dirección de escucha; solo no habla
7Sin sondeo en serie; deja de hablar cuando recibe la dirección de escucha; capacidad solo para hablar
Hablador extendidoESO0Sin hablador extendido
Oyente básicoyo3Modo de solo escucha; deja de escuchar si se recibe la dirección de conversación
4Deja de escuchar si se recibe una dirección de conversación
Oyente extendidoEL0Sin oyente extendido
Solicitud de servicioSR0Sin capacidad de solicitud de servicio
1Completo
Remoto-LocalEn realidad0Sin bloqueo local
1Completo
Encuesta paralelaPÁGINAS0No responde a la encuesta paralela
Dispositivo limpiocorriente continua1completo
Disparador de dispositivoDensidad0Sin capacidad de activación del dispositivo
1Completo
Controladordo0Sin función de controlador
mi1Electrónica de accionamiento por colector abierto
2Tres conductores estatales

Utilizar como interfaz de computadora

Tarjeta controladora GPIB de National Instruments para bus PCI

Los diseñadores de HP no planearon específicamente que IEEE 488 fuera una interfaz periférica para computadoras de propósito general; el enfoque estaba en la instrumentación. Pero cuando las primeras microcomputadoras de HP necesitaron una interfaz para periféricos ( unidades de disco , unidades de cinta , impresoras , trazadores , etc.), HP-IB estuvo disponible y se adaptó fácilmente a ese propósito.

Los productos informáticos HP que utilizaban HP-IB incluían la serie HP 80 , la serie HP 9800 , [23] la serie HP 2100 , [24] y la serie HP 3000. [25] Los periféricos informáticos HP que no utilizaban la interfaz de comunicación RS-232 a menudo utilizaban HP-IB, incluidos sistemas de disco como la 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 HP-IL /HP-IB opcional .

Otros fabricantes también adoptaron GPIB para sus computadoras, como por ejemplo la línea Tektronix 405x .

La gama de ordenadores 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 utilizaban un bus serial cuyo protocolo se basaba en IEEE 488. [26] Commodore comercializó un cartucho IEEE 488 para el VIC-20 [27] y el Commodore 64. [28] Varios proveedores externos de periféricos Commodore 64 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. [29]

Con el tiempo, estándares más rápidos y completos como SCSI reemplazaron a IEEE 488 para el acceso periférico.

Comparación con otros estándares de interfaz

En términos eléctricos, el IEEE 488 utilizaba una interfaz de hardware que podía implementarse con alguna lógica discreta o con un microcontrolador. La interfaz de hardware permitía que los dispositivos fabricados por diferentes fabricantes se comunicaran con un único host. Dado que cada dispositivo generaba las señales de enlace asincrónico requeridas por el protocolo de bus, los dispositivos lentos y rápidos podían mezclarse 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 se produjeran bucles de tierra que causaran 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 grandes y resistentes eran una ventaja en las instalaciones industriales o de laboratorio, el tamaño y el costo de los conectores eran una desventaja en aplicaciones como las 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 podían usar comandos diferentes para la misma función. [30] Algunos aspectos de los estándares de protocolo de comandos no se estandarizaron hasta la publicación de 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 brindan un mayor ancho de banda. Los conectores multiconductores (datos en paralelo) y el cable blindado eran inherentemente 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 pocos ordenadores personales o periféricos (como impresoras o escáneres) de mercado masivo implementaron IEEE 488.

Véase también

Referencias

  1. ^ Nelson, Gerald E.; Ricci, David W. (octubre de 1972). "Un sistema de interfaz práctico para instrumentos electrónicos" (PDF) . Hewlett-Packard Journal . 24 (2): 2–7. Controladores: lector de tarjetas marcadas 3260A; calculadora 9820A (con kit de interfaz 11144A)
    Loughry, Donald C. (octubre de 1972). "Una interfaz digital común para instrumentos programables: la evolución de un sistema" (PDF) . Hewlett-Packard Journal . 24 (2): 8–11.
  2. ^ Interfaz digital estándar IEEE para instrumentación programable , Instituto de ingenieros eléctricos y electrónicos , 1978, doi :10.1109/IEEESTD.1978.7425098, ISBN 978-1-5044-0366-5Norma ANSI/IEEE 488-1978
    Interfaz digital estándar IEEE para instrumentación programable , Instituto de Ingenieros Eléctricos y Electrónicos , 1987, ISBN 0-471-62222-2Norma ANSI/IEEE 488.1-1987, pág. iii
  3. ^ 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
  4. ^ Proyecto Mate en 1985
  5. ^ "GPIB 101, un tutorial sobre el bus GPIB". ICS Electronics, pág. 5, párrafo = Comandos SCPI.
  6. ^ "Catálogo de pruebas y mediciones de Hewlett Packard 1991" (PDF) . hparchive.com. pág. 8, párrafo = SCPI.
  7. ^ "Historia de GPIB". National Instruments . Consultado el 6 de febrero de 2010. En 1990, la especificación IEEE 488.2 incluyó el documento Comandos estándar para instrumentación programable (SCPI).
  8. ^ "El estándar actualizado multiplica por ocho la velocidad de los buses de instrumentos IEEE 488". IEEE. 2003-10-06. Archivado desde el original el 7 de diciembre de 2003. Consultado el 2010-02-06 .
  9. ^ "HP y otras empresas de pruebas y medición instan al IEEE a oponerse a las revisiones del estándar IEEE 488 establecido" (nota de prensa). Hewlett-Packard Company. Diciembre de 1997. Archivado desde el original el 2011-06-10 . Consultado el 2010-02-16 .
  10. ^ "P488.1 Project Home". IEEE. Archivado desde el original el 28 de abril de 2010. Consultado el 16 de febrero de 2010 .
  11. ^ Norma IEC/IEEE para protocolo de alto rendimiento para la interfaz digital estándar para instrumentación programable - Parte 1: General (Adopción de la norma IEEE 488.1-2003) . IEEE. doi :10.1109/IEEESTD.2004.95749. ISBN 978-0-7381-4536-5.
  12. ^ 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. hdl :11059/14380. ISBN 978-0-7381-4100-8.
  13. ^ "Publicaciones sustituidas o retiradas". IEC. Archivado desde el original el 17 de abril de 2012. Consultado el 6 de febrero de 2010 .
  14. ^ "GPIB Addressing" (PDF) . Manual del usuario NI-488.2 . National Instruments Corporation. Febrero de 2005. pág. 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.
  15. ^ "Tabla 1-1: parámetros de configuración de la tarjeta de interfaz GPIB 82350" (PDF) . Interfaz GPIB PCI 82350B de Agilent: Guía de instalación y configuración . Agilent Technologies. 20 de julio de 2009. pág. 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.
  16. ^ "Tutorial de control de instrumentos GPIB". National Instruments. 24 de agosto de 2009. Consultado el 16 de febrero de 2010. Conectados en una topología en cadena o en estrella .
  17. ^ Manual de usuario NI-488.2 (PDF) . Corporación de Instrumentos Nacionales. Febrero de 2005. pág. A-1. NI P/N 370428C-01. Archivado desde el original (PDF) el 2 de diciembre de 2008 . Consultado el 16 de febrero de 2010 .
  18. ^ "Líneas de apretón de manos" (PDF) . Manual de usuario NI-488.2 . Corporación de Instrumentos Nacionales. Febrero de 2005. pág. A-3. NI P/N 370428C-01 . Consultado el 16 de febrero de 2010 .
  19. ^ "Uso de HS488 para mejorar el rendimiento del sistema GPIB". National Instruments Corporation. 30 de marzo de 2009. Consultado el 16 de febrero de 2010 .
  20. ^ "Aspectos mecánicos" (PDF) . Descripción del tutorial del bus de interfaz de Hewlett-Packard . Hewlett-Packard. pág. 28 . Consultado el 13 de junio de 2022 . Algunos cables existentes utilizan roscas inglesas (6-32UNK).
  21. ^ 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 las roscas métricas que se encuentra en ediciones anteriores se ha eliminado ya que el uso de roscas métricas es una práctica común de IEEE 488. En consecuencia, la recomendación de recubrir dichas piezas con material negro para llamar la atención sobre las roscas métricas también se considera innecesaria.
  22. ^ Tilden, Mark D. (1983), "Apéndice A: Los subconjuntos describen funciones de interfaz" (PDF) , 4041 GPIB Programming Guide , Tektronix, Inc., págs. 113-115 {{citation}}: La cita utiliza un título genérico ( ayuda )
  23. ^ "HP 98135A Interfaz HP-IB 9815". Museo de la Computación HP . Consultado el 6 de febrero de 2010 .
  24. ^ "Interfaz HP-IB 59310A". Museo de la Computación HP . Consultado el 6 de febrero de 2010. Interfaz HP-IB para computadoras HP1000 y HP2000
  25. ^ "Interfaz HP-IB 27113A". Museo de la Computación HP . Consultado el 6 de febrero de 2010. Interfaz HP-IB de CIO para la serie 3000 900
  26. ^ Bagnall, Brian (2006). Al límite: el espectacular ascenso y caída de Commodore . Variant Press. pág. 221. ISBN 0-9738649-0-7.OCLC 761384138  .
  27. ^ Dibujo del Commodore para el VIC-1112 - Dibujo n.º 1110010 Rev:A
  28. ^ Esquemas de ingeniería inversa para la interfaz IEEE del Commodore C64
  29. ^ http://www.zimmers.net/anonftp/pub/cbm/schematics/cartridges/c64/ieee-488/index.html Enlace al esquema de uno de estos convertidores.
  30. ^ Los primeros dispositivos podían responder a un IDcomando con una cadena de identificación; los estándares posteriores hicieron que los dispositivos respondieran al *IDcomando.
  • IEC 60488-1: Protocolo de alto rendimiento para la interfaz digital estándar para instrumentación programable. Vol. Parte 1: General. Comisión Electrotécnica Internacional. 15 de julio de 2004.
  • IEC 60488-2: Interfaz digital estándar para instrumentación programable. Vol. Parte 2: Códigos, formatos, protocolos y comandos comunes. Comisión Electrotécnica Internacional. 2004-05-07.
  • Tutorial de varias páginas de GPIB/IEEE 488
Obtenido de "https://es.wikipedia.org/w/index.php?title=GPIB&oldid=1244027458"