IEEE-488

(Redirecionado de HP-IB)

O IEEE-488 é um padrão para barramento de comunicações digitais de curto alcance que tem sido usado por mais de 30 anos. Criada originalmente para uso com equipamentos de teste automatizados, a especificação ainda está amplamente em uso com esta finalidade. O IEEE-488 é também geralmente conhecida como HP-IB (Hewlett-Packard Instrument Bus) e GPIB (General Purpose Interface Bus).

Conectores IEEE-488.

O IEEE-488 permite que até 15 dispositivos compartilhem um único barramento paralelo de 8 bits em cadeia. O dispositivo mais lento participa no controle e no handshake de transferência de dados para determinar a velocidade da transação. A taxa máxima de dados é de cerca de 1 MBps no padrão original e cerca de 8 MBps com aperfeiçoamentos posteriores.

O barramento IEEE-488 emprega 16 linhas de sinal — oito bidirecionais usadas para transferência de dados, três para handshake e cinco para gerenciamento do barramento — mais oito linhas de retorno terra.

Origem editar

Nos anos 1960 a Hewlett-Packard (HP)[1] fabricava vários instrumentos de testes e medidas automatizados, como multímetros digitais e analizadores lógicos. Eles desenvolveram o HP Interface Bus (HP-IB) para permitir interconexões mais fáceis entre controladores e instrumentos.

O barramento era relativamente fácil de implementar usando a tecnologia da época, usando um simples barramento paralelo e várias linhas individuais de controle. Por exemplo, a HP 59501 Power Supply Programmer e o HP 59306A Relay Actuator eram simples periféricos HP-IB implementados em uma lógica TTL, sem usar microprocessadores.

A HP licenciou as patentes do HP-IB por uma taxa nominal para outros fabricantes. Ficou conhecido como General Purpose Interface Bus (GPIB), e se tornou um padrão para controle de instrumentos automatizados e industriais. Enquanto GPIB se tornou popular, foi formalizado por várias organizações de padronização.

Padrões editar

Em 1975, o IEEE padronizou o barramento como Interface Digital Padrão para Instrumentação Programável, IEEE-488; foi revisado em 1978 (produzindo o IEE-488-1978).[2] O padrão foi revisado novamente em 1987 e designado de IEEE-488.1 (IEEE-488.1-1987). Esses padrões formalizaram os parâmetros mecânicos, elétricos e de protocolo do GPIB, mas não disseram nada sobre o formato dos comandos ou dos dados.

Em 1987, o IEEE introduziu o Códigos Padrões, Formatos, Protocolos e Comandos Comuns, IEEE-488.2. Foi revisado em 1992.[3] O IEEE-488.2 forneceu convenções de sintaxe e formato, assim como comandos independentes de dispositivos, estruturas de dados e protocolos de erro. Equipamentos podem seguir o padrão IEEE-488.1 sem seguirem o IEEE-488.2.

Enquanto o IEEE-488.1 definiu o hardware e o IEEE-488.2 definiu o protocolo, não havia padrão nenhum para comandos de instrumentos específicos. Comandos para controlar a mesma classe de instrumentos, por exemplo, multímetros, iriam variar entre fabricantes e modelos.

A Força Aérea dos Estados Unidos,[4] e mais tarde a HP, reconheceram o problema. Em 1989, a HP desenvolveu sua linguagem TML[5] que foi a precursora do SCPI. O SCPI foi introduzido como um padrão industrial em 1990[6] e adicionou comandos padrões genéricos e uma série de classes de intrumentos com comandos específicos para classes.

A IEC desenvolveu seus próprios padrões em paralelo com o IEEE, com IEC-60625-1 e IEC-60625-2, mais tarde substituído por IEC-60488.

A National Instruments introduziu uma extensão para o IEEE-488.1 compatível com versões anteriores, originalmente conhecida como HS-488. Ela aumentou a taxa de dados para 8 MBps, embora a taxa diminua quanto mais dispositivos conectados ao barramento. Ela foi incorporada no padrão em 2003 (IEEE-488.1-2003),[7] com objeções da HP.[8][9]

Em 2004, o IEEE e o IEC combinaram seus padrões em um padrão IEEE/IEC "Dual Logo", IEC-60488-1, Standard for Higher Performance Protocol for the Standard Digital Interface for Programmable Instrumentation - Part 1: General,[10] que substitui o IEEE-488.1/IEC-60625-1, e IEC-60488-2,Part 2: Codes, Formats, Protocols and Common Commands,[11] que substitui o IEEE-488.2/IEC-60625-2.[12]

Características editar

IEEE-488 é um barramento paralelo de 8 bits. O barramento emprega 16 linhas de sinal: 8 usadas para transferência de dados bidirecional, 3 para handshake e 5 para gerir o barramento, e mais 8 linhas de retorno de terra.

Todo dispositivo no barramento tem um endereço primário único de 5 bits, que pode ir de 0 a 30 (31 endereços possíveis).[13][14]

O padrão permite que até 15 dispositivos dividam um único barramento físico com até 20 metros de comprimento total de cabo. A topologia física pode ser linear ou estrela (ramificada).[15] Extensores ativos permitem maiores barramentos, com até 31 dispositivos teoricamente possíveis no barramento lógico.

Controle e transferência de dados estão logicamente separados; um controlador pode endereçar um dispositivo como aquele que "fala" e um ou mais dispositivos como aqueles que "ouvem" sem ter que participar na transferência de dados. É possível múltiplos controladores dividirem o mesmo barramento, mas somente um pode ser o "controlador em comando" no momento.[16]

No protocolo original, transferências usam um handshake interligado de 3 fios ready–valid–accepted.[17] A taxa máxima de dados é de aproximadamente 1 MBps. A última extensão do HS-488 relaxa com os requerimentos de handshake, permitindo até 8 MBps. O dispositivo participante mais devagar determina a velocidade do barramento.[18]

Conectores editar

IEEE-488
 
Conector IEEE-488 fêmea
Pino 1 DIO1 bit de entrada/saída de dados.
Pino 2 DIO2 bit de entrada/saída de dados.
Pino 3 DIO3 bit de entrada/saída de dados.
Pino 4 DIO4 bit de entrada/saída de dados.
Pino 5 EOI End-or-identify.
Pino 6 DAV Valida dados.
Pino 7 NRFD Não está pronto para dados.
Pino 8 NDAC Não aceita dados.
Pino 9 IFC Interface limpa.
Pino 10 SRQ Requerimento de serviço.
Pino 11 ATN Atenção.
Pino 12 SHIELD
Pino 13 DIO5 bit de entrada/saída de dados.
Pino 14 DIO6 bit de entrada/saída de dados.
Pino 15 DIO7 bit de entrada/saída de dados.
Pino 16 DIO8 bit de entrada/saída de dados.
Pino 17 REN Ativação remota.
Pino 18 GND (fio enrolado com DAV)
Pino 19 GND (fio enrolado com NRFD)
Pino 20 GND (fio enrolado com NDAC)
Pino 21 GND (fio enrolado com IFC)
Pino 22 GND (fio enrolado com SRQ)
Pino 23 GND (fio enrolado com ATN)
Pino 24 Terra lógico.

O IEEE-488 especifica um conector de microfita, que tem uma concha de metal em formato de "D", mas é mais largo do que conector DB. É chamado também de "conectores Centronics" devido ao conector de 36 pinos Centronics usado para suas impressoras.

Uma característica incomum dos conectores IEEE-488 é que eles costumam usar um design "duas-cabeças", com macho de um lado e fêmea do outro. Isso permite conectar facilmente os conectores em cascata. Considerações mecânicas limitam o número de conectores em cascata para 4 ou menos, embora uma possível manipulação pode aumentar isso.

Eles são fixados por parafusos, tanto Unified Thread Standard (UTS), agora obsoletos, como roscas M3.5×0.6.

O padrão IEC-60625 permite o uso de conectores DB de 25 pinos (os mesmos usados em portas paralelas nos computadores da IBM). Esse conector não ganhou uma aceitação significante no mercado, comparado com o conector de 24 pinos.

Uso como interface de computador editar

Os designers da HP não planejaram especificamente o IEEE-488 para ser uma interface periférica para computadores de propósito geral; o foco estava em instrumentação. Porém, quando os primeiros microcomputadores da HP precisaram de uma interface para periféricos (acionadores de disco, unidades de fita, impressoras, plotters etc.), HP-IB estava prontamente disponível e adaptado para isso.

Os produtos de computadores da HP que usam o HP-IB incluem a série 80, a série 9800,[19] a série 2100[20] e a série 3000..[21] Algumas das calculadoras avançadas da HP dos anos 1980, como a HP-41 e a HP-71B também têm capacidades IEEE-488 via um módulo de interface HP-IL/HP-IB opcional.

Outros fabricantes adotaram GPIB para seus computadores, como a linha Tektronix 405x.

Referências

  1. This part of HP was later spun off as Agilent Technologies.
  2. IEEE Standard Digital Interface for Programmable Instrumentation, ISBN 0-471-62222-2, Institute of Electrical and Electronics Engineers, 1987, ANSI/IEEE Std 488.1-1987 , p. iii
  3. IEEE Standard Codes, Formats, Protocols, and Common Commands for Use With IEEE Std 488.1-1987, IEEE Standard Digital Interface for Programmable Instrumentation, ISBN 1-55937-238-9, Institute of Electrical and Electronics Engineers, 1992, IEEE Std 488.2-1992 
  4. Project Mate in 1985
  5. «GPIB 101, A Tutorial of the GPIB Bus». ICS Electronics. p. 5, paragraph=SCPI Commands 
  6. «History of GPIB». National Instruments. Consultado em 6 de fevereiro de 2010. In 1990, the IEEE 488.2 specification included the Standard Commands for Programmable Instrumentation (SCPI) document. 
  7. «Upgraded Standard Boosts Speed of IEEE 488 Instrument Buses Eightfold». IEEE. 6 de outubro de 2003. Consultado em 6 de fevereiro de 2010 
  8. «HP and Other Test and Measurement Companies Urge IEEE to Oppose Revisions of Established IEEE-488 Standard» (Nota de imprensa). Hewlett-Packard Company. Dezembro de 1997. Consultado em 16 de fevereiro de 2010 
  9. «P488.1 Project Home». IEEE. Consultado em 16 de fevereiro de 2010. Arquivado do original em 28 de abril de 2010 
  10. «IEC/IEEE Standard for Higher Performance Protocol for the Standard Digital Interface for Programmable Instrumentation - Part 1: General (Adoption of IEEE Std 488.1-2003)». IEEE. Consultado em 6 de fevereiro de 2010 
  11. «Standard Digital Interface for Programmable Instrumentation- Part 2: Codes, Formats, Protocols and Common Commands (Adoption of (IEEE Std 488.2-1992)». IEEE. Consultado em 6 de fevereiro de 2010 
  12. «Replaced or Withdrawn Publications». IEC. Consultado em 6 de fevereiro de 2010. Arquivado do original em 17 de abril de 2012 
  13. «GPIB Addressing». NI-488.2 User Manual (PDF). [S.l.]: National Instruments Corporation. Fevereiro de 2005. p. A-2. NI P/N 370428C-01. Consultado em 16 de fevereiro de 2010. Arquivado do original (PDF) em 2 de dezembro de 2008. The primary address is a number in the range 0 to 30. 
  14. «Table 1-1: 82350 GPIB interface card configuration parameters». Agilent 82350B PCI GPIB Interface: Installation and Configuration Guide (PDF). [S.l.]: Agilent Technologies. 20 de julho de 2009. p. 26. Agilent P/N 82350-90004. Consultado em 16 de fevereiro de 2010. Arquivado do original (PDF) em 7 de julho de 2011. any address in the range 0 - 30, inclusive, may be used 
  15. «GPIB Instrument Control Tutorial». National Instruments. 24 de agosto de 2009. Consultado em 16 de fevereiro de 2010. connected in either a daisy-chain or star topology 
  16. NI-488.2 User Manual (PDF). [S.l.]: National Instruments Corporation. Fevereiro de 2005. p. A-1. NI P/N 370428C-01. Consultado em 16 de fevereiro de 2010. Arquivado do original (PDF) em 2 de dezembro de 2008 
  17. «Handshake Lines». NI-488.2 User Manual (PDF). [S.l.]: National Instruments Corporation. Fevereiro de 2005. p. A-3. NI P/N 370428C-01. Consultado em 16 de fevereiro de 2010. Arquivado do original (PDF) em 2 de dezembro de 2008 
  18. «Using HS488 to Improve GPIB System Performance». National Instruments Corporation. 30 de março de 2009. Consultado em 16 de fevereiro de 2010 
  19. «HP 98135A HP-IB Interface 9815». HP Computer Museum. Consultado em 6 de fevereiro de 2010 
  20. «59310A HP-IB Interface». HP Computer Museum. Consultado em 6 de fevereiro de 2010. HP-IB interface for HP1000 and HP2000 computers 
  21. «27113A HP-IB Interface». HP Computer Museum. Consultado em 6 de fevereiro de 2010. CIO HP-IB interface for 3000 Series 900 

Ligações externas editar