Apple Desktop Bus - Apple Desktop Bus

Apple Desktop Bus
ADB Icon.svgApple ADB Keyboard.jpg
O ícone do Apple Desktop Bus e um teclado antigo do Apple Desktop Bus
Modelo Interface de dispositivo de entrada humana
Designer computador Apple
Projetado 1986 ; 35 anos atrás ( 1986 )
Fabricante Apple Computer Inc.
Produzido 1986 a 1999
Suplantada Teclado e mouse RS-422 / 6522
Substituída por USB e FireWire (1998–1999)
Hot pluggable apoio ocasional
Externo sim
Alfinetes 4
Conector Mini-DIN
Sinal de dados Fluxo de comando serial bidirecional
Taxa de bits 125 kbit / s no máximo
(~ 10 kbit / s reais)
Máx. dispositivos 16 no máximo
(~ 5 reais, 3 suportados)
Protocolo Serial
Pinagem do conector MiniDIN-4.svg
Soquete feminino na frente
Pino 1 Apple Device Bus Dados
Pino 2 PSW Ligar
Pino 3 +5 V +5 volts de potência
Pino 4 GND Chão
Mesmo conector que S-Video

Apple Desktop Bus (ADB) é um barramento periférico bit-serial proprietário que conecta dispositivos de baixa velocidade a computadores. Foi introduzido no Apple II GS em 1986 como uma forma de oferecer suporte a dispositivos de baixo custo como teclados e mouses, permitindo que eles sejam conectados em uma cadeia sem a necessidade de hubs ou outros dispositivos. O Apple Device Bus foi rapidamente introduzido em modelos Macintosh posteriores , em modelos posteriores de computadores NeXT , e também foi usado por terceiros. Como o conector PS / 2 similar usado em muitos compatíveis com PC na época, o Apple Desktop Bus foi rapidamente substituído por USB quando esse sistema se tornou popular no final dos anos 1990; a última porta Apple Desktop Bus externa em um produto da Apple foi em 1999, embora tenha permanecido como um barramento apenas interno em alguns modelos de Mac na década de 2000.

História

AppleBus

No início da criação do computador Macintosh, a equipe de engenharia selecionou o bastante sofisticado Zilog 8530 para fornecer comunicações seriais. Isso foi feito inicialmente para permitir que vários dispositivos fossem conectados a uma única porta, usando protocolos de comunicação simples implementados no 8530 para permitir que eles enviassem e recebessem dados com o computador host.

Durante o desenvolvimento deste sistema AppleBus, a rede de computadores se tornou um recurso vitalmente importante de qualquer sistema de computador. Sem slots de placa, o Macintosh não foi capaz de adicionar facilmente suporte para Ethernet ou padrões de rede local semelhantes . O trabalho no AppleBus foi redirecionado para fins de rede e foi lançado em 1985 como o sistema AppleTalk . Isso deixou o Mac com as portas originais de mouse e teclado de uso único e nenhum sistema de uso geral para dispositivos de baixa velocidade usarem.

Apple Desktop Bus

O primeiro sistema a usar o Apple Desktop Bus foi o Apple II GS de 1986. Ele foi usado em todas as máquinas Apple Macintosh , começando com o Macintosh II e o Macintosh SE . O Apple Desktop Bus também foi usado em modelos posteriores de computadores NeXT. A grande maioria dos dispositivos Apple Desktop Bus são para entrada, incluindo trackballs , joysticks , tablets gráficos e dispositivos semelhantes. Usos para fins especiais incluídos dongles de proteção de software e até mesmo o modem TelePort .

Mover para USB

O primeiro Macintosh a partir do Apple Desktop Bus foi o iMac em 1998, que usa USB em seu lugar. O último computador Apple a ter uma porta Apple Desktop Bus é o Power Macintosh G3 (azul e branco) em 1999. PowerBooks e iBooks baseados em PowerPC ainda usavam o protocolo Apple Desktop Bus na interface interna com o teclado e touchpad integrados . Os modelos subsequentes usam um trackpad baseado em USB.

Projeto

Fisica

Em consonância com a filosofia geral de design industrial da Apple, o Apple Desktop Bus foi projetado para ser o mais simples possível de usar, embora seja barato de implementar. Um conector adequado foi encontrado na forma de conector mini-DIN de 4 pinos, que também é usado para S-Video . Os conectores são pequenos, amplamente disponíveis e só podem ser inseridos da "maneira correta". Eles não travam na posição, mas mesmo com um encaixe por fricção, eles são firmes o suficiente para tarefas leves como aquelas destinadas ao Apple Desktop Bus.

O protocolo Apple Desktop Bus requer apenas um único pino para dados, denominado Apple Desktop Bus . O sinal de dados é auto-sincronizado . Dois dos outros pinos são usados ​​para fonte de alimentação de +5 V e aterramento. O pino de +5 V garante pelo menos 500 mA e exige que os dispositivos usem apenas 100 mA cada. O ADB também inclui o pino PSW que é conectado diretamente à fonte de alimentação do computador host. Isso está incluído para permitir que uma tecla no teclado inicie a máquina sem a necessidade do software Apple Desktop Bus para interpretar o sinal. Em designs mais modernos, um microcontrolador auxiliar está sempre funcionando, por isso é econômico usar um comando de inicialização através do canal USB padrão.

O transceptor de decodificação ASIC , bem como as patentes associadas, eram controlados pela Apple; isso exigia que os fornecedores trabalhassem mais estreitamente com a Apple. No Macintosh SE, o Apple Desktop Bus é implementado em um microcontrolador Microchip PIC16CR54 da marca Apple .

O Apple Desktop Bus é implementado em um dos primeiros microcontroladores Microchip PIC no Macintosh SE.

Comunicação

O sistema Apple Desktop Bus é baseado em dispositivos que têm a capacidade de decodificar um único número (o endereço ) e ser capaz de conter vários pequenos bits de dados (seus registros ). Todo o tráfego no barramento é conduzido pelo computador host, que envia comandos para ler ou gravar dados: os dispositivos não têm permissão para usar o barramento a menos que o computador o solicite primeiro.

Essas solicitações assumem a forma de strings de byte único . Os quatro bits superiores contêm o endereço, o ID de um dos dispositivos da cadeia. Os quatro bits permitem até 16 dispositivos em um único barramento. Os próximos dois bits especificam um dos quatro comandos e os dois bits finais indicam um dos quatro registradores. Os comandos são:

  • talk - diz ao dispositivo selecionado para enviar o conteúdo de um registro para o computador
  • listen - diz ao dispositivo para definir o registro para o seguinte valor
  • flush - limpar o conteúdo de um registro selecionado
  • reset - diga a todos os dispositivos no barramento para reiniciar

Por exemplo, se o mouse estiver no endereço $ D, o computador enviará periodicamente uma mensagem de 1 byte no barramento semelhante a:

1101 11 00

Isso diz que o dispositivo $ D (1101) deve falar (11) e retornar o conteúdo do registrador zero (00). Para um rato, isso significa "diga-me as últimas alterações de posição". Os registros podem conter entre dois e oito bytes. O registro zero é geralmente o canal de comunicação principal. Os registros um e dois são indefinidos e geralmente destinam-se a permitir que desenvolvedores terceirizados armazenem informações de configuração. O registro três sempre contém informações de identificação do dispositivo.

Enumeração e identificação

Os endereços e a enumeração dos dispositivos são configurados para os valores padrão quando reiniciados. Por exemplo, todos os teclados estão configurados para $ 2 e todos os mouses para $ 3. Quando a máquina é ligada pela primeira vez, o driver de dispositivo ADB enviará talkcomandos solicitando a cada um desses endereços padrão conhecidos, por sua vez, o conteúdo do registro três. Se nenhuma resposta vier de um endereço específico, o computador o marca como morto e não se preocupa em consultá-lo mais tarde.

Se um dispositivo responder, ele o fará dizendo que está se movendo para um novo endereço superior selecionado aleatoriamente. O computador então responde enviando outro comando para esse novo endereço, pedindo ao dispositivo para mover para outro novo endereço. Depois que isso for concluído, o dispositivo será marcado como ativo e o sistema continuará fazendo a sondagem no futuro. Assim que todos os dispositivos forem enumerados dessa maneira, o barramento estará pronto para ser usado.

Embora não fosse comum, é possível que o barramento Apple Desktop Bus tivesse mais de um dispositivo do mesmo tipo conectado - dois tablets gráficos ou dongles de proteção contra cópia de software , por exemplo. Nesse caso, quando ele solicitar dispositivos nesse endereço padrão, ambos responderão e poderá ocorrer uma colisão. Os dispositivos incluem um pequeno tempo que permite evitar esse problema. Depois de receber uma mensagem do host, os dispositivos aguardam um curto tempo aleatório antes de responder, e só o fazem depois de "espiar" o barramento para se certificar de que não está ocupado.

Com dois dongles conectados, por exemplo, quando o barramento é configurado pela primeira vez e consulta esse endereço, um deles será o primeiro a responder devido ao temporizador de espera aleatório. O outro perceberá que o ônibus estava ocupado e não responderá. O host enviará outra mensagem para o endereço original, mas como um dispositivo mudou para um novo endereço, apenas o outro responderá. Esse processo continua até que ninguém responda à solicitação no endereço original, o que significa que não há mais dispositivos desse tipo para enumerar.

As taxas de dados no barramento são teoricamente tão altas quanto 125 kbit / s. No entanto, a velocidade real é, na melhor das hipóteses, a metade dessa velocidade, devido ao fato de haver apenas um pino sendo compartilhado entre o computador e os dispositivos e, na prática, a taxa de transferência é ainda menor, pois todo o sistema é impulsionado pela rapidez com que o computador controla o barramento. O Mac OS clássico não é particularmente adequado para essa tarefa, e o barramento frequentemente fica preso em cerca de 10 kbit / s. Os primeiros modems de teleporte rodando a 2400 bit / s não têm problemas ao usar o Apple Desktop Bus, mas os modelos posteriores foram forçados a mudar para as portas RS-422 mais caras à medida que as velocidades passavam para 14,4 kbit / s ou mais.

Problemas

Embora os conectores Mini-DIN não possam ser plugados da "maneira errada", é possível ter problemas para encontrar o caminho certo sem olhar dentro da cobertura do conector circular. A Apple tentou ajudar usando alças de plástico macio em forma de U ao redor dos conectores para chavear os plugues e soquetes, de forma que o lado plano tenha uma relação específica com o entalhe do shell, mas esse recurso foi ignorado por alguns fabricantes de terceiros. Além disso, existem quatro maneiras de orientar o soquete de recepção em um dispositivo, como um teclado; vários teclados Apple usam pelo menos três dessas orientações possíveis.

O conector mini-DIN é classificado para apenas 400 inserções e é fácil dobrar um pino se não for inserido com cuidado; além disso, o soquete pode ficar solto, resultando em funcionamento intermitente.

Alguns dispositivos Apple Desktop Bus não têm um conector de passagem, o que torna impossível conectar mais de um dispositivo por vez sem unidades divisórias obscuras. Poucos ratos ou trackballs os têm.

Uma peculiaridade do Apple Desktop Bus é que, apesar de ser eletricamente inseguro para hot-swapping em todas as máquinas, exceto em algumas máquinas, ele possui todos os recursos básicos necessários para hot-swapping (como barramentos modernos) implementados em seu software e hardware. Em praticamente todos os sistemas Apple Desktop Bus originais, não é seguro conectar um dispositivo depois que o sistema estiver ligado. Isso pode causar a abertura de um fusível soldado na placa-mãe. Se levado a um revendedor autorizado, isso pode resultar na troca da placa-mãe com um custo significativo. Uma alternativa simples é obter um fusível a um custo nominal e conectá-lo em paralelo ao fusível aberto da placa-mãe (não necessariamente exigindo solda ).

Patentes

  • 4.875.158 Ashkin; Peter B. (Los Gatos, CA), Clark; Michael (Glendale, CA)
  • 4.910.655 Ashkin; Peter B. (Los Gatos, CA), Clark; Michael (Glendale, CA)
  • 4.912.627 Ashkin; Peter B. (Los Gatos, CA), Clark; Michael (Glendale, CA)
  • 4.918.598 Ashkin; Peter B. (Los Gatos, CA), Clark; Michael (Glendale, CA)
  • 5.128.677 Donovan; Paul M. (Santa Clara, CA), Caruso; Michael P. (Sudbury, MA)
  • 5.175.750 Donovan; Paul M. (Santa Clara, CA), Caruso; Michael P. (Sudbury, MA)
  • 5.828.857 Scalise; Albert M. (San Jose, CA)

Veja também

Referências

links externos