IEEE-488 – Wikipédia, a enciclopédia livre
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).
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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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
- ↑ This part of HP was later spun off as Agilent Technologies.
- ↑ 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
- ↑ 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
- ↑ Project Mate in 1985
- ↑ «GPIB 101, A Tutorial of the GPIB Bus». ICS Electronics. p. 5, paragraph=SCPI Commands
- ↑ «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.
- ↑ «Upgraded Standard Boosts Speed of IEEE 488 Instrument Buses Eightfold». IEEE. 6 de outubro de 2003. Consultado em 6 de fevereiro de 2010
- ↑ «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
- ↑ «P488.1 Project Home». IEEE. Consultado em 16 de fevereiro de 2010. Arquivado do original em 28 de abril de 2010
- ↑ «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
- ↑ «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
- ↑ «Replaced or Withdrawn Publications». IEC. Consultado em 6 de fevereiro de 2010. Arquivado do original em 17 de abril de 2012
- ↑ «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.
- ↑ «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
- ↑ «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
- ↑ 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
- ↑ «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
- ↑ «Using HS488 to Improve GPIB System Performance». National Instruments Corporation. 30 de março de 2009. Consultado em 16 de fevereiro de 2010
- ↑ «HP 98135A HP-IB Interface 9815». HP Computer Museum. Consultado em 6 de fevereiro de 2010
- ↑ «59310A HP-IB Interface». HP Computer Museum. Consultado em 6 de fevereiro de 2010.
HP-IB interface for HP1000 and HP2000 computers
- ↑ «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 | editar código-fonte]- VINHAIS, C. e ABREU, C. GPIB - IEEE-488 em DEFI/ISEP. Acessado em 6 de abril de 2008.
- (em inglês) Tutorial GPIB