Apple Desktop Bus

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 15:09, 18 января 2019.
Apple Desktop Bus
1opeku.png
Создатели: Стив Возняк
Разработчики: Apple Computer Inc.
Выпущена: 1986 г.
Состояние разработки: не выпускается
Платформа: macOS, iOS,
Локализация: Мультиязычный
Тип ПО: периферийное устройство
Веб-сайт apple.com

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

История

AppleBus

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

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

ADB

ADB был создан Стивом Возняком, который искал проект для работы в середине 1980-х годов. Кто-то предположил, что он должен создать новую систему подключения для таких устройств, как мыши и клавиатуры, для которых требуется только один кабель с последовательным подключением, и быть недорогим для реализации. Первой системой, использующей ADB, является Apple IIGS в 1986 году. Она используется на всех машинах Apple Macintosh, начиная с Macintosh II и Macintosh SE. ADB также используется на более поздних моделях компьютеров NeXT. Подавляющее большинство устройств ADB предназначено для ввода, включая шары треков, джойстики, графические планшеты и аналогичные устройства. Специальное использование включает ключи защиты программного обеспечения и даже модем Teleport.

Переход на USB

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

Устройство

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

Для протокола ADB требуется только один pin-код для данных с меткой ADB. 2 из других штырей использованы для электропитания +5 V и земли. Штырь +5 V гарантирует хотя бы 500 mA, и требует, что приборы используют только 100 mA каждое. ADB также включает штырь PSW, который подключается непосредственно к источнику питания хост-компьютера. Это включено, чтобы клавиша на клавиатуре запускала машину без необходимости использования программного обеспечения АБР для интерпретации сигнала. В более современных конструкциях всегда поддерживается вспомогательный микроконтроллер, поэтому экономично использовать команду включения питания по стандарту USB-канала.

Большинство последовательных цифровых интерфейсов используют отдельный тактовый сигнал, чтобы сигнализировать о поступлении отдельных битов данных. Однако Возняк решил, что отдельный провод для тактового сигнала не нужен и поскольку АБР был спроектирован так, чтобы быть недорогим, экономически разумно было его оставить. Подобно модемам, система блокирует время нарастания и спада сигнала для воссоздания тактового сигнала. Подсистема ASIC декодирования, а также связанные с ней патенты контролировались Apple это потребовало от продавцов более тесного взаимодействия с Apple. В Macintosh SE, ADB реализован в микроконтроллере Microchip PIC16CR54 от Apple.

Дизайн

Физические

В соответствии с общей философией Apple в области промышленного дизайна, АБР должен был быть максимально простым в использовании, но при этом недорогим в реализации. Подходящий разъем был найден в виде 4-контактного разъема mini-DIN, который также используется для S-Video. Протокол ADB требовал только единственного провода для данных (помечен как «ADB»). Два других провода использовались для питания (+5В и земля). 5-вольтовый провод допускал токи до 500 мА, и требовал, чтобы устройства использовали только по 100 мА каждое. ADB также включал «PSW» провод, который был подключён непосредственно к блоку питания компьютера. Это было сделано для того, чтобы разрешить клавише на клавиатуре ADB для интерпретации сигнала. В более современных проектах вспомогательный микроконтроллер всегда остаётся включённым, таким образом экономично посылать команду включения по стандартному каналу USB.
Большинство последовательных цифровых интерфейсов используют отдельный тактовый провод, чтобы сигнализировать прибытие индивидуальных битов данных. Поскольку ADB была разработана, чтобы быть дешёвой, Возняк признал, что один единственный провод имел достаточную полосу пропускания чтобы нести оба сигнала. Кроме того, было экономично декодировать тактовые сигналы и сигналы данных, чтобы использовать более дешёвые кабели. Декодирующий приёмопередатчик был доступен только по запросу производителя оборудования, поскольку Apple предпочитало работать более близко с продавцами. Возможно, Apple продало эти аппаратные средства ниже их стоимости, чтобы поощрить развитие периферийных устройств.

Коммуникация

Система ADB базируется на устройствах, способных расшифровать единственное число («адрес») и в состоянии хранить несколько небольших чисел — данных (в их регистрах). Все управление на шине ведёт главный процессор, который отсылает команды, чтобы прочитать или записать данные: устройствам не позволяют использовать шину, если компьютер не попросит это. Эти запросы принимают форму единственной последовательности байтов. Старшие четыре бита содержали адрес (зависящий от id) устройства на цепи, учитывая до 16 устройств на единственной шине. Следующие два бита определяют одну из четырёх команд, и заключительные два бита указывают одного из четырёх регистраторов: Эти запросы принимают форму однобайтовых строк. Верхние четыре бита содержат адрес, идентификатор одного из устройств в цепочке. Четыре бита позволяют использовать до 16 устройств на одной шине. Следующие два бита определяют одну из четырех команд, а последние два бита указывают один из четырех регистров. Команды:

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

Примечание: для команды Reset значащими битами являются 3,2,1,0, все они равны 0.
Например, если мышь была известна по адресу $D, то компьютер периодически отсылал бы сообщение на шину, которое выглядело бы так: 1101 11 00.
Это означает, что устройство $D (1101) должно говорить (11) и возвращать содержание нулевого регистра (00). Для мыши это означает: «скажи мне последние изменения положения». Регистры могли содержать 2…8 байт. Регистры 1 и 2 были не определены, и предназначались для хранения информации и конфигурации. В регистре #3 всегда содержалась информация для идентификации устройства.

Перечисление и идентификация

Адреса и номера устройств восстанавливались в значения по умолчанию при сбросе. Например, все клавиатуры имели номер $2, а все мыши — $3. При включении машины контроллер ADB спросит каждый из известных адресов содержимое регистра #3. Если от данного адреса ответ не прибыл, компьютер отметит его как пустой, и не будет опрашивать его в дальнейшем. Если устройство отвечало, то это выражалось назначением случайного адреса. Затем компьютер посылал другую команду на новый адрес, прося устройство переместиться на другой адрес. Как только это было закончено, устройство отмечалось как «живое», и система в дальнейшем обращалась к нему. Как только все устройства были перечислены этим способом, шина была готова к использованию.
Хотя это не было обычно для тех времён, но была возможность подключать к ADB несколько устройств одного вида (например, две клавиатуры или два графических планшета). В этом случае, когда компьютер спрашивал устройства на определённом адресе, установленном по умолчанию после сброса, могла бы произойти ошибка из-за того, что оба устройства ответят одновременно, но устройства, подключённые к ADB, всегда делали небольшую задержку, выбираемую случайным образом, которая позволяла им избегать проблемы.
При начальной настройке ADB компьютер отсылает команду по определённому адресу, и 1 устройство отсылает ответ, 2 устройство с таким же адресом видит, что шина занята, и ждёт следующего обращения, во время которого 1 устройство уже не занимает шину.
Скорость передачи данных по шине теоретически составляла 125 кбит/сек, однако фактическая скорость была в лучшем случае половинной из-за того, что использовался один неэкранированный провод для связи между компьютером и устройствами. В фактическом использовании скорость была намного меньше, чем половинная, поскольку скорость зависела от быстродействия всей системы. Mac OS тех времён была не очень быстра, и скорость передачи данных по шине часто падала до 10 кбит/сек.
[Источник 5]. Одной особенностью ADB было то, что, несмотря на то, что она была электрически опасна для горячей замены на всех машинах, имела все основные условия, необходимые для горячей замены, осуществлённые и в программном обеспечении, и в аппаратных средствах.
Важно подчеркнуть, что фактически на всех оригинальных системах ADB небезопасно включать или отключать устройство после включения системы. Это могло вызвать перегорание впаянного на материнской плате предохранителя, что потребовало бы отправки компьютера в центр обслуживания, что для большинства людей было недёшево. Простой альтернативой была покупка предохранителя по номинальной стоимости и соединение его параллельно сгоревшему (что делалось для отсутствия паек на плате, не отмеченных как сделанные в рем. мастерской).
Соединители типа miniDIN были рассчитаны всего на 400 вставлений-выниманий, а при невнимательном вставлении можно было погнуть штырьки. Так же контакты в розетке miniDIN могли со временем расшатываться, что приводило к ненадёжной фиксации или выпаданию вилки.
Незадолго для появления FireWire с устройств, подключаемых к ADB (кроме клавиатур Apple), исчезли вторые розетки, а значит, пользователи лишались возможности составлять цепочки из устройств без использования разветвителей.
В то время как соединители типа miniDIN не могут быть включены неправильно, всё же попадались вилки без пластикового штыря, что позволяло включить вилку неверно. В связи с этим Apple ввело U-образные выемки по периметру вилки, что исключало ошибки включения, но сторонние производители игнорировали это нововведение.

Сигналы

  • ADB (Apple Desktop Bus).Двунаправленная шина данных Macintosh.
  • PSW (переключатель питания).Переключитесь на запуск, сброс или прерывание работы компьютера.

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

Проблемы

Одна из особенностей ADB заключается в том, что, несмотря на то, что она не опасна для «горячей» замены на всех, кроме нескольких машин, она обладает всеми основными возможностями, необходимыми для «горячей» замены, реализованной в ее программном обеспечении и вспомогательном оборудовании. Практически во всех оригинальных системах ADB небезопасно подключать или отключать устройство после включения системы (в отличие от современных современных шин, разработанных с учетом «горячей» замены). Это может привести к открытию запаянного предохранителя на материнской плате. Если это принесет авторизованный дилер, это может привести к замене материнской платы за значительный счет. Простой альтернативой является получение плавкого предохранителя с номинальной стоимостью и параллельная проводка через открытый плавкий предохранитель (даже если не требуется пайка, если это сделано надлежащим образом). Разъем mini-DIN рассчитан только на 400 вставок и легко сгибать штифт, если он не вставлен с осторожностью; кроме того, розетка может стать свободной, что приводит к прерывистой функции.

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

Патенты

  • 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)

Источники

  1. Apple Desktop Bus // News DIR [2011–2018]. Дата обновления: 05.11.2016. URL: http://dir.md/wiki/Apple_Desktop_Bus?host=ru.wikipedia.org (дата обращения: 01.06.2018).
  2. История создания сетей Macintosh // Internet Archive [2006-2018] URL:https://web.archive.org/web/20061016132614/http://www.opendoor.com/nethistory/MacWorld2004/index.html (дата обращения: 30.12.2018)
  3. Apple Desktop Bus // Википедия [2001–2018]. Дата обновления: 02.10.2017. URL: https://en.wikipedia.org/wiki/Apple_Desktop_Bus (дата обращения: 01.06.2018).
  4. История и устройство ADB // Apple [2016-2018] URL:https://developer.apple.com/library/archive/technotes/hw/hw_01.html#Licensing (дата обращения: 30.12.2018)
  5. Apple Desktop Bus// Википедия [2001-2018] URL:http://dir.md/wiki/Apple_Desktop_Bus?host=ru.wikipedia.org (дата обращения: 30.12.2018)
  6. Apple Desktop Bus // RasPINovoca [2015-2018]. Дата обновления: 06.09.2016. URL: http://raspinovca.ru/poslednie-novosti/abr-apple-desktop-bus/ (дата обращения: 01.06.2018).