Настольный автобус Apple - Apple Desktop Bus

Настольный автобус Apple
ADB Icon.svgApple ADB Keyboard.jpg
Значок Apple Desktop Bus и ранняя клавиатура Apple Desktop Bus
Тип Интерфейс устройства ввода человека
Дизайнер Компьютер Apple
Разработано 1986 ; 35 лет назад ( 1986 )
Производитель Apple Computer Inc.
Произведено 1986 по 1999
Заменено Клавиатура и мышь RS-422 / 6522
Заменено USB и FireWire (1998–1999)
Возможность горячего подключения периодическая поддержка
Внешний да
Булавки 4
Коннектор Мини-DIN
Сигнал данных Двунаправленный последовательный командный поток
Битрейт 125 кбит / с максимум
(~ 10 кбит / с фактическое)
Максимум. устройства 16 максимум
(~ 5 фактических, 3 поддерживаемых)
Протокол Серийный
Распиновка разъема MiniDIN-4.svg
Гнездо спереди
Контакт 1 Apple Device Bus Данные
Пин 2 PSW Включить
Пин 3 +5 В +5 вольт мощность
Штырь 4 GND Земля
Тот же разъем, что и S-Video

Apple Desktop Bus (ADB) - это проприетарная периферийная шина с последовательным битовым интерфейсом, соединяющая низкоскоростные устройства с компьютерами. Он был представлен на 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, чтобы они могли отправлять и получать данные с главным компьютером.

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

Настольный автобус Apple

Первой системой, использующей Apple Desktop Bus, была Apple II GS 1986 года. Она использовалась на всех компьютерах Apple Macintosh, начиная с Macintosh II и Macintosh SE . Apple Desktop Bus также использовалась на более поздних моделях компьютеров NeXT. Подавляющее большинство устройств 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; Альберт М. (Сан-Хосе, Калифорния)

Смотрите также

использованная литература

внешние ссылки