Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Apple Desktop Bus (ADB) - это проприетарная [1] периферийная шина с последовательным битовым интерфейсом, соединяющая низкоскоростные устройства с компьютерами. Он был представлен на Apple II GS в 1986 году как способ поддержки недорогих устройств, таких как клавиатуры и мыши, позволяющий соединять их в последовательную цепочку без необходимости использования концентраторов или других устройств. Apple Device Bus была быстро представлена ​​на более поздних моделях Macintosh , на более поздних моделях компьютеров NeXT , а также использовалась другими сторонними производителями. Как и аналогичный разъем PS / 2, который использовался во многих ПК-совместимых в то время, Apple Desktop Bus был быстро заменен на USB.поскольку эта система стала популярной в конце 1990-х годов; последний внешний порт Apple Desktop Bus на продукте Apple был в 1999 году, хотя он оставался только внутренней шиной на некоторых моделях Mac до 2000-х годов.

История [ править ]

AppleBus [ править ]

В начале создания компьютера Macintosh команда инженеров выбрала довольно сложный Zilog 8530 для обеспечения последовательной связи. Первоначально это было сделано для того, чтобы несколько устройств можно было подключить к одному порту, используя простые сетевые протоколы, реализованные внутри 8530, чтобы они могли отправлять и получать данные с помощью главного компьютера. [2]

Во время разработки этой системы AppleBus компьютерные сети стали жизненно важной особенностью любой компьютерной системы. Без слотов для карт Macintosh не мог легко добавить поддержку Ethernet или аналогичных стандартов локальной сети . Работа над AppleBus была перенаправлена ​​на сетевые цели и была выпущена в 1985 году как система AppleTalk . Это оставило Mac с оригинальными одноцелевыми портами для мыши и клавиатуры и без универсальной системы для использования низкоскоростных устройств. [2]

Apple Desktop Bus [ править ]

Apple Desktop Bus был создан Стивом Возняком , который искал проект для работы в середине 1980-х годов. [3] Кто-то предложил ему создать новую систему подключения для таких устройств, как мыши и клавиатуры, такую, которая потребовала бы только одного кабеля с гирляндной цепью и была бы недорогой в реализации.

Первой системой, использующей Apple Desktop Bus, была Apple II GS 1986 года. Она использовалась на всех компьютерах Apple Macintosh, начиная с Macintosh II и Macintosh SE . Apple Desktop Bus также использовалась на более поздних моделях компьютеров NeXT. [4] Подавляющее большинство устройств Apple Desktop Bus предназначены для ввода, включая трекболы , джойстики , графические планшеты и аналогичные устройства. Специальное использование включало аппаратные ключи защиты программного обеспечения и даже модем TelePort .

Переместить на USB [ править ]

Первым Macintosh, отказавшимся от Apple Desktop Bus, стал iMac в 1998 году, в котором вместо него используется USB . Последним компьютером Apple, на котором был порт Apple Desktop Bus, стал Power Macintosh G3 (синий и белый) в 1999 году. PowerBook и iBooks на базе PowerPC по- прежнему использовали протокол Apple Desktop Bus во внутреннем интерфейсе со встроенной клавиатурой и тачпадом . Последующие модели используют трекпад на базе USB.

Дизайн [ править ]

Физический [ править ]

В соответствии с общей философией компании Apple промышленного дизайна, Apple Desktop Bus был предназначен , чтобы быть простым в использовании , насколько это возможно, [ править ] в то же время недорогой в реализации. Подходящий разъем был найден в виде 4-контактного разъема mini-DIN , который также используется для S-Video . Разъемы небольшие, широко доступны и могут быть вставлены только «правильным способом». Они не фиксируются в нужном положении, но даже с фрикционной посадкой они достаточно прочны для легких задач, например, для Apple Desktop Bus.

Протокол Apple Desktop Bus требует только один контакт для данных, помеченный Apple Desktop Bus . Сигнал данных самосинхронизируется . Два других контакта используются для питания +5 В и заземления. Вывод +5 В гарантирует не менее 500 мА и требует, чтобы устройства использовали только 100 мА каждое. ADB также включает вывод PSW, который подключается непосредственно к источнику питания главного компьютера. Это включено, чтобы позволить клавише на клавиатуре запускать машину без необходимости программного обеспечения Apple Desktop Bus для интерпретации сигнала. В более современных конструкциях вспомогательный микроконтроллер всегда работает, поэтому экономично использовать команду включения по стандартному каналу USB.

ASIC приемопередатчика декодирования, а также связанные с ним патенты контролировались Apple; это потребовало от поставщиков более тесного сотрудничества с Apple. В Macintosh SE шина Apple Desktop Bus реализована в микроконтроллере Microchip PIC16CR54 марки Apple.

Apple Desktop Bus реализована в одном из первых микроконтроллеров Microchip PIC в Macintosh SE.

Связь [ править ]

Система Apple Desktop Bus основана на устройствах, которые могут декодировать одно число ( адрес ) и могут хранить несколько небольших бит данных (их регистры ). Весь трафик на шине управляется хост-компьютером, который отправляет команды для чтения или записи данных: устройствам не разрешается использовать шину, если компьютер не запросит это заранее.

Эти запросы имеют форму однобайтовых строк. Старшие четыре бита содержат адрес, идентификатор одного из устройств в цепочке. Четыре бита позволяют подключать до 16 устройств на одной шине. Следующие два бита определяют одну из четырех команд, а последние два бита указывают один из четырех регистров. Команды:

  • talk - указывает выбранному устройству отправить содержимое реестра на компьютер
  • listen - сообщает устройству установить регистр на следующее значение
  • flush - очистить содержимое выбранного регистра
  • reset - скажите всем устройствам на шине перезагрузиться

Например, если известно, что мышь находится по адресу $ D, компьютер будет периодически отправлять по шине однобайтовое сообщение, которое выглядит примерно так:

1101 11 00

Это говорит о том, что устройство $ D (1101) должно разговаривать (11) и возвращать содержимое нулевого регистра (00). Для мыши это означает «сообщить мне последние изменения положения». Регистры могут содержать от двух до восьми байтов. Нулевой регистр обычно является основным каналом связи. Регистры один и два не определены и обычно предназначены для того, чтобы позволить сторонним разработчикам хранить информацию о конфигурации. Третий регистр всегда содержит идентификационную информацию об устройстве.

Перечисление и идентификация [ править ]

При сбросе адреса и нумерация устройств устанавливаются на значения по умолчанию. Например, для всех клавиатур установлено значение 2 доллара, а для всех мышей - 3 доллара. Когда машина впервые включается, драйвер устройства ADB будет отправлять talkкоманды, запрашивая каждый из этих известных адресов по умолчанию, в свою очередь, для содержимого регистра три. Если с определенного адреса не приходит ответ, компьютер помечает его как мертвый и не запрашивает его позже.

Если устройство отвечает, оно сообщает, что перемещается на новый случайно выбранный более высокий адрес. Затем компьютер отвечает, отправляя еще одну команду на этот новый адрес, предлагая устройству перейти на еще один новый адрес. По завершении это устройство помечается как работающее, и система продолжит опрашивать его в будущем. Как только все устройства пронумерованы таким образом, шина готова к использованию.

Хотя это не было обычным явлением, к шине Apple Desktop Bus можно было подключить несколько устройств одного типа - например, два графических планшета или программные ключи защиты от копирования . В этом случае, когда он запрашивает устройства на этом адресе по умолчанию, оба ответят, и может произойти коллизия. Устройства включают небольшую часть тайминга, которая позволяет им избежать этой проблемы. После получения сообщения от хоста устройства ожидают короткое случайное время перед ответом, а затем делают это только после «отслеживания» шины, чтобы убедиться, что она не занята.

Например, при подключении двух ключей, когда шина впервые настраивается и запрашивает этот адрес, один из них первым ответит из-за таймера случайного ожидания. Другой заметит, что автобус был занят, и не ответит. Затем хост отправит другое сообщение на этот исходный адрес, но, поскольку одно устройство переместилось на новый адрес, ответит только другое. Этот процесс продолжается до тех пор, пока никто не ответит на запрос по исходному адресу, что означает, что больше нет устройств этого типа для перечисления.

Скорость передачи данных по шине теоретически достигает 125 кбит / с. Однако реальная скорость в лучшем случае вдвое меньше, поскольку компьютер и устройства используют только один вывод, а на практике пропускная способность еще меньше, поскольку вся система зависит от того, насколько быстро компьютер опрашивает шину. Классический Mac OS не особенно хорошо подходит для этой задачи, и автобус часто увязает около 10 кбит / с. Ранние модемы Teleport, работающие на скорости 2400 бит / с, не испытывали проблем с использованием Apple Desktop Bus, но более поздние модели были вынуждены перейти на более дорогие порты RS-422, поскольку скорость увеличилась до 14,4 кбит / с и выше.

Проблемы [ править ]

Хотя разъемы Mini-DIN не могут быть вставлены «неправильным способом», могут возникнуть проблемы с поиском правильного пути, не заглянув внутрь кожуха круглого разъема. Apple попыталась помочь, используя U-образные мягкие пластиковые ручки вокруг разъемов для фиксации вилок и розеток, чтобы плоская сторона имела определенное отношение к пазу корпуса, но эта функция была проигнорирована некоторыми сторонними производителями. Кроме того, есть четыре способа ориентировать приемный разъем на таком устройстве, как клавиатура; различные клавиатуры Apple используют как минимум три из этих возможных ориентаций.

Разъем mini-DIN рассчитан только на 400 вставок, и его легко согнуть, если вставлять не осторожно; кроме того, розетка может ослабнуть, что приведет к прерывистой работе.

Некоторые устройства Apple Desktop Bus не имеют сквозного разъема, что делает невозможным последовательное подключение более одного такого устройства без непонятных сплиттеров. Они есть у немногих мышей или трекболов.

Одной из особенностей Apple Desktop Bus является то, что, несмотря на то, что он электрически небезопасен для горячей замены на всех, кроме нескольких машин, он имеет все базовые возможности, необходимые для горячей замены (например, современные шины), реализованные в его программном и аппаратном обеспечении. Практически во всех оригинальных системах Apple Desktop Bus подключать устройство после включения небезопасно. Это может привести к открытию ваянного предохранителя на материнской плате. В случае обращения к официальному дилеру замена материнской платы может потребовать значительных затрат. Простая альтернатива - приобрести предохранитель по номинальной стоимости и подключить его параллельно к открытому предохранителю материнской платы (не обязательно пайки ).

Патенты [ править ]

  • 4875158 Ашкин; Питер Б. (Лос-Гатос, Калифорния), Кларк; Майкл (Глендейл, Калифорния)
  • 4910655 Ашкин; Питер Б. (Лос-Гатос, Калифорния), Кларк; Майкл (Глендейл, Калифорния)
  • 4 912 627 Ашкин; Питер Б. (Лос-Гатос, Калифорния), Кларк; Майкл (Глендейл, Калифорния)
  • 4 918 598 Ашкин; Питер Б. (Лос-Гатос, Калифорния), Кларк; Майкл (Глендейл, Калифорния)
  • 5128677 Донован; Пол М. (Санта-Клара, Калифорния), Карузо; Майкл П. (Садбери, Массачусетс)
  • 5,175,750 Донован; Пол М. (Санта-Клара, Калифорния), Карузо; Майкл П. (Садбери, Массачусетс)
  • 5,828,857 Scalise; Альберт М. (Сан-Хосе, Калифорния)

См. Также [ править ]

  • Список пропускной способности устройства
  • HP-IL
  • ACCESS.bus

Ссылки [ править ]

  1. ^ «ADB - Нерассказанная история: космические пришельцы съели мою мышь», раздел «Лицензирование» ; см. также раздел «Патенты» на этой странице.
  2. ^ a b Оппенгеймер, Алан (январь 2004 г.). «История сетей Macintosh» . MacWorld Expo . Архивировано из оригинального 16 октября 2006 года.
  3. ^ "Один кабель, чтобы управлять ими всеми: взгляните на устаревшие разъемы Apple на протяжении многих лет"
  4. ^ "NetBSD / next68k: Часто задаваемые вопросы"

Внешние ссылки [ править ]

  • О ADB Manager
  • Документация Apple по протоколу ADB
  • Документ Apple о порте ADB
  • Полная аппаратная спецификация устройств и протокола ADB (Руководство Apple по оборудованию семейства Macintosh)
  • Замечания по применению Microchip по разработке устройств ADB