Magistrala komputerowa Apple — Apple Desktop Bus

Komputer stacjonarny firmy Apple
ADB Icon.svgApple ADB Keyboard.jpg
Ikona Apple Desktop Bus i wczesna klawiatura Apple Desktop Bus
Rodzaj Interfejs urządzenia wejściowego człowieka
Projektant komputer Apple
Zaprojektowany 1986 ; 35 lat temu ( 1986 )
Producent Apple Computer Inc.
Wytworzony 1986 do 1999
Zastąpione Klawiatura i mysz RS-422 / 6522
Zastąpione przez USB i FireWire (1998-1999)
Możliwość podłączenia na gorąco okazjonalne wsparcie
Zewnętrzny tak
Szpilki 4
Złącze Mini-DIN
Sygnał danych Dwukierunkowy szeregowy strumień poleceń
Szybkość transmisji Maksymalnie 125 kbit/s
(rzeczywiste ~10 kbit/s)
Maks. urządzenia Maksymalnie 16
(~5 rzeczywistych, 3 obsługiwane)
Protokół Seryjny
Pinout złącza MiniDIN-4.svg
Gniazdo żeńskie z przodu
Pin 1 Magistrala urządzeń Apple Dane
Przypnij 2 PSW Zasilanie włączone
Przypnij 3 +5 V +5 woltów mocy
Pin 4 GND Grunt
To samo złącze co S-Video

Apple Desktop Bus (ADB) to zastrzeżona, szeregowa magistrala peryferyjna, łącząca urządzenia o niskiej prędkości z komputerami. Został wprowadzony na Apple II GS w 1986 roku jako sposób na obsługę tanich urządzeń, takich jak klawiatury i myszy, umożliwiając ich łączenie w łańcuch bez potrzeby stosowania koncentratorów lub innych urządzeń. Apple Device Bus został szybko wprowadzony w późniejszych modelach komputerów Macintosh , w późniejszych modelach komputerów NeXT , a także w innych zastosowaniach. Podobnie jak podobne złącze PS/2 używane w wielu kompatybilnych z komputerami PC w tym czasie, Apple Desktop Bus został szybko zastąpiony przez USB, ponieważ system ten stał się popularny pod koniec lat 90.; ostatni zewnętrzny port Apple Desktop Bus w produkcie Apple miał miejsce w 1999 roku, chociaż w niektórych modelach komputerów Mac pozostał jako magistrala tylko wewnętrzna w niektórych modelach komputerów Mac do 2000 roku.

Historia

AppleBus

Na początku tworzenia komputera Macintosh zespół inżynierów wybrał dość wyrafinowany Zilog 8530 do komunikacji szeregowej. Zostało to początkowo zrobione, aby umożliwić podłączenie wielu urządzeń do jednego portu, przy użyciu prostych protokołów komunikacyjnych zaimplementowanych w 8530, aby umożliwić im wysyłanie i odbieranie danych z komputera hosta.

Podczas rozwoju tego systemu AppleBus, sieć komputerowa stała się niezwykle ważną cechą każdego systemu komputerowego. Bez gniazd kart Macintosh nie był w stanie łatwo dodać obsługi Ethernetu lub podobnych standardów sieci lokalnej . Prace nad AppleBus zostały przekierowane do celów sieciowych i zostały wydane w 1985 roku jako system AppleTalk . To pozostawiło komputer Mac z oryginalnymi jednofunkcyjnymi portami myszy i klawiatury, a także bez systemu ogólnego przeznaczenia dla urządzeń o niskiej prędkości.

Komputer stacjonarny firmy Apple

Pierwszym systemem wykorzystującym Apple Desktop Bus był Apple II GS z 1986 roku. Był on używany na wszystkich komputerach Apple Macintosh , począwszy od Macintosh II i Macintosh SE . Apple Desktop Bus był również używany w późniejszych modelach komputerów NeXT. Zdecydowana większość urządzeń Apple Desktop Bus służy do wprowadzania danych, w tym trackballe , joysticki , tablety graficzne i podobne urządzenia. Zastosowania specjalne obejmowały klucze zabezpieczające oprogramowanie, a nawet modem TelePort .

Przenieś na USB

Pierwszym Macintoshem, który odszedł od Apple Desktop Bus, był iMac w 1998 roku, który zamiast tego używa USB . Ostatnim komputerem Apple, który miał port Apple Desktop Bus, był Power Macintosh G3 (niebieski i biały) z 1999 roku. PowerBooki i iBooki oparte na PowerPC nadal używały protokołu Apple Desktop Bus w wewnętrznym interfejsie z wbudowaną klawiaturą i touchpadem . Kolejne modele używają gładzika opartego na USB.

Projekt

Fizyczny

Zgodnie z ogólną filozofią projektowania przemysłowego Apple, Apple Desktop Bus miał być tak prosty w użyciu, jak to tylko możliwe, a jednocześnie niedrogi we wdrażaniu. Znaleziono odpowiednie złącze w postaci 4-pinowego złącza mini-DIN , które jest również używane do S-Video . Złącza są małe, powszechnie dostępne i można je włożyć tylko „w odpowiedni sposób”. Nie blokują się na miejscu, ale nawet przy dopasowaniu ciernym są wystarczająco mocne do lekkich zadań, takich jak te przeznaczone dla Apple Desktop Bus.

Protokół Apple Desktop Bus wymaga tylko jednego pinu dla danych, oznaczonego Apple Desktop Bus . Sygnał danych jest samoczynnie taktujący . Dwa pozostałe piny służą do zasilania +5 V i uziemienia. Pin +5 V gwarantuje co najmniej 500 mA i wymaga, aby urządzenia używały tylko 100 mA. ADB zawiera również pin PSW, który jest podłączony bezpośrednio do zasilacza komputera hosta. Jest to dołączone, aby klawisz na klawiaturze mógł uruchomić urządzenie bez potrzeby oprogramowania Apple Desktop Bus do interpretacji sygnału. W bardziej nowoczesnych konstrukcjach pomocniczy mikrokontroler jest zawsze uruchomiony, więc ekonomicznie jest używać polecenia włączenia zasilania przez standardowy kanał USB.

Transceiver dekodujący ASIC oraz związane z nim patenty były kontrolowane przez Apple; wymagało to od dostawców ściślejszej współpracy z Apple. W Macintosh SE, Apple Desktop Bus jest zaimplementowany w mikrokontrolerze Microchip PIC16CR54 firmy Apple .

Apple Desktop Bus jest zaimplementowany we wczesnym mikrokontrolerze Microchip PIC w Macintosh SE.

Komunikacja

System Apple Desktop Bus opiera się na urządzeniach zdolnych do dekodowania pojedynczej liczby ( adresu ) i mogących przechowywać kilka małych bitów danych (ich rejestrów ). Cały ruch na magistrali jest kierowany przez komputer hosta, który wysyła polecenia odczytu lub zapisu danych: urządzenia nie mogą korzystać z magistrali, chyba że komputer najpierw tego zażąda.

Żądania te przyjmują formę jednobajtowych łańcuchów. Górne cztery bity zawierają adres, identyfikator jednego z urządzeń w łańcuchu. Cztery bity pozwalają na podłączenie do 16 urządzeń na jednej magistrali. Kolejne dwa bity określają jedno z czterech poleceń, a ostatnie dwa bity wskazują jeden z czterech rejestrów. Polecenia to:

  • talk - nakazuje wybranemu urządzeniu przesłanie zawartości rejestru do komputera
  • listen - nakazuje urządzeniu ustawić rejestr na następującą wartość
  • flush - wyczyść zawartość wybranego rejestru
  • reset - powiedz wszystkim urządzeniom na magistrali, aby się zresetowały

Na przykład, jeśli wiadomo, że mysz jest pod adresem $D, komputer będzie okresowo wysyłał do magistrali 1-bajtową wiadomość, która wygląda mniej więcej tak:

1101 11 00

To mówi, że urządzenie $D (1101) powinno mówić (11) i zwracać zawartość rejestru zero (00). Dla myszy oznacza to „powiedz mi o ostatnich zmianach pozycji”. Rejestry mogą zawierać od dwóch do ośmiu bajtów. Rejestr zero jest na ogół głównym kanałem komunikacyjnym. Rejestry jeden i dwa są niezdefiniowane i generalnie mają na celu umożliwienie deweloperom innych firm przechowywania informacji o konfiguracji. Rejestr trzy zawsze zawiera informacje identyfikujące urządzenie.

Wyliczenie i identyfikacja

Po zresetowaniu adresy i numeracja urządzeń są ustawiane na wartości domyślne. Na przykład wszystkie klawiatury są ustawione na 2 USD, a wszystkie myszy na 3 USD. Kiedy urządzenie jest włączane po raz pierwszy, sterownik urządzenia ADB wyśle talk​​polecenia, prosząc każdy z tych znanych adresów domyślnych z kolei o zawartość rejestru trzeciego. Jeśli z określonego adresu nie nadejdzie żadna odpowiedź, komputer oznaczy go jako martwy i nie zawraca sobie głowy odpytywaniem go później.

Jeśli urządzenie odpowiada, robi to, mówiąc, że przenosi się na nowy losowo wybrany wyższy adres. Komputer następnie odpowiada, wysyłając kolejne polecenie na ten nowy adres, prosząc urządzenie o przejście na jeszcze inny nowy adres. Po zakończeniu to urządzenie zostaje oznaczone jako aktywne, a system kontynuuje odpytywanie go w przyszłości. Gdy wszystkie urządzenia zostaną wyliczone w ten sposób, magistrala jest gotowa do użycia.

Chociaż nie było to powszechne, możliwe jest, że do magistrali Apple Desktop Bus jest podłączonych więcej niż jedno urządzenie tego samego rodzaju — na przykład dwa tablety graficzne lub klucze zabezpieczające oprogramowanie przed kopiowaniem . W takim przypadku, gdy poprosi o urządzenia z tym domyślnym adresem, obie odpowiedzą i może wystąpić kolizja. Urządzenia zawierają trochę czasu, który pozwala im uniknąć tego problemu. Po otrzymaniu wiadomości od hosta urządzenia czekają przez krótki czas, zanim odpowiedzą, a następnie robią to dopiero po „podsłuchiwaniu” magistrali, aby upewnić się, że nie jest zajęta.

Po podłączeniu dwóch kluczy sprzętowych, na przykład podczas pierwszej konfiguracji magistrali i zapytania o ten adres, jeden z nich odpowie jako pierwszy z powodu losowego licznika czasu oczekiwania. Drugi zauważy, że autobus był zajęty i nie odpowie. Host wyśle ​​następnie kolejną wiadomość na ten pierwotny adres, ale ponieważ jedno urządzenie zostało przeniesione na nowy adres, odpowie tylko drugie. Ten proces trwa, dopóki nikt nie odpowie na żądanie na pierwotnym adresie, co oznacza, że ​​nie ma już urządzeń tego typu do wyliczenia.

Szybkość transmisji danych na magistrali teoretycznie wynosi nawet 125 kbit/s. Jednak rzeczywista prędkość jest w najlepszym razie o połowę mniejsza, ponieważ komputer i urządzenia dzielą tylko jeden pin, a w praktyce przepustowość jest jeszcze mniejsza, ponieważ cały system był napędzany przez szybkość, z jaką komputer odpytuje magistralę. Klasyczny Mac OS nie jest szczególnie dobrze nadaje się do tego zadania, a autobus często grzęźnie w temperaturze około 10 kbit / s. Wczesne modemy Teleport działające z szybkością 2400 bitów/s nie mają problemów z wykorzystaniem Apple Desktop Bus, ale późniejsze modele zostały zmuszone do przejścia na droższe porty RS-422, ponieważ prędkości przeszły do ​​14,4 kbit/s i więcej.

Problemy

O ile złączy Mini-DIN nie da się wpiąć w „niewłaściwy sposób”, to bez zajrzenia do wnętrza okrągłej osłony złącza można mieć problem ze znalezieniem właściwej drogi. Apple próbował pomóc, używając miękkich plastikowych uchwytów w kształcie litery U wokół złączy, aby wcisnąć zarówno wtyczki, jak i gniazda, aby płaska strona miała określony związek z wpustem powłoki, ale ta funkcja została zignorowana przez niektórych producentów zewnętrznych. Dodatkowo istnieją cztery sposoby orientacji gniazda odbiorczego na urządzeniu takim jak klawiatura; różne klawiatury Apple używają co najmniej trzech z tych możliwych orientacji.

Złącze mini-DIN jest przystosowane tylko do 400 wtyków i łatwo jest zgiąć szpilkę, jeśli nie jest włożona ostrożnie; ponadto gniazdo może się poluzować, powodując przerywane działanie.

Niektóre urządzenia Apple Desktop Bus nie mają złącza przelotowego, co uniemożliwia połączenie szeregowe więcej niż jednego takiego urządzenia naraz bez ukrytych jednostek rozdzielających. Ma je ​​niewiele myszy lub trackballi.

Jedną z osobliwości Apple Desktop Bus jest to, że pomimo tego, że jest elektrycznie niebezpieczny w przypadku wymiany na gorąco na wszystkich komputerach z wyjątkiem kilku, ma wszystkie podstawowe funkcje potrzebne do wymiany na gorąco (jak nowoczesne autobusy) zaimplementowane w swoim oprogramowaniu i sprzęcie. W praktycznie wszystkich oryginalnych systemach Apple Desktop Bus podłączanie urządzenia po włączeniu systemu nie jest bezpieczne. Może to spowodować otwarcie wlutowanego bezpiecznika na płycie głównej. Jeśli zostanie dostarczony do autoryzowanego sprzedawcy, może to spowodować wymianę płyty głównej po znacznych kosztach. Prostą alternatywą jest uzyskanie bezpiecznika po cenie nominalnej i podłączenie go równolegle przez otwarty bezpiecznik płyty głównej (niekoniecznie wymagający lutowania ).

Patenty

  • 4875158 Aszkin; Peter B. (Los Gatos, Kalifornia), Clark; Michael (Glendale, Kalifornia)
  • 4 910 655 Aszkin; Peter B. (Los Gatos, Kalifornia), Clark; Michael (Glendale, Kalifornia)
  • 4 912 627 Aszkin; Peter B. (Los Gatos, Kalifornia), Clark; Michael (Glendale, Kalifornia)
  • 4 918 598 Aszkin; Peter B. (Los Gatos, Kalifornia), Clark; Michael (Glendale, Kalifornia)
  • 5 128 677 Donovana; Paul M. (Santa Clara, CA), Caruso; Michael P. (Sudbury, MA)
  • 5175750 Donovana; Paul M. (Santa Clara, CA), Caruso; Michael P. (Sudbury, MA)
  • 5 828 857 skalowanie; Albert M. (San Jose, Kalifornia)

Zobacz też

Bibliografia

Zewnętrzne linki