stringtranslate.com

Шина для настольных компьютеров Apple

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

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

Переместить на USB-накопитель

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

Дизайн

Физический

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

Протокол ADB требует только один вывод для данных, обозначенный как Apple Desktop Bus . Сигнал данных является самосинхронизирующимся , отправляя 0 как низкий в течение 65 микросекунд и высокий в течение 35 мкс, в то время как отправка 1 использует противоположную синхронизацию. [4] Это многоточечная конструкция с открытым коллектором с подтяжками до 5 В и использует обнаружение столкновений , чтобы избежать конфликтов идентификаторов устройств, а также растяжение тактового сигнала на стоповом бите, чтобы указать, что устройство требует запроса на обслуживание. [4] Два других вывода используются для питания +5 В и заземления. Вывод +5 В гарантирует не менее 500 мА и требует, чтобы устройства использовали только 100 мА каждый. ADB также включает вывод PSW (Power Switch), который подключается непосредственно к источнику питания хост-компьютера. Он включен, чтобы нажатие клавиши на клавиатуре запускало машину без необходимости программного обеспечения ADB для интерпретации сигнала. В более современных конструкциях вспомогательный микроконтроллер постоянно работает, поэтому экономичнее использовать команду включения питания по стандартному каналу USB.

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

ADB реализован в раннем микроконтроллере Microchip PIC в Macintosh SE.

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

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

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

Например, если известно, что мышь находится по адресу $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 не имеют сквозного разъема, что делает невозможным последовательное подключение более одного такого устройства одновременно без непонятных разветвителей. Лишь немногие мыши или трекболы имеют их.

Несмотря на то, что ADB электрически небезопасен для горячей замены на всех машинах, кроме нескольких, в его программном обеспечении и оборудовании реализованы все основные возможности, необходимые для горячей замены (как в современных шинах). Практически на всех оригинальных системах Apple Desktop Bus небезопасно подключать устройство после включения системы. Это может привести к открытию впаянного предохранителя на материнской плате. Если обратиться к авторизованному дилеру, это может привести к замене материнской платы со значительными расходами. Более простая альтернатива — приобрести предохранитель по номинальной стоимости и подключить его параллельно открытому предохранителю материнской платы (не обязательно с пайкой ).

Патенты

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

Ссылки

  1. ^ «ADB — Нерассказанная история: Космические пришельцы съели мою мышь», раздел «Лицензирование». Архивировано 27 декабря 2016 г. на Wayback Machine ; см. также раздел «Патент» на этой странице.
  2. ^ ab Oppenheimer, Alan (январь 2004 г.). "История сетей Macintosh". MacWorld Expo . Архивировано из оригинала 16 октября 2006 г.
  3. ^ ""NetBSD/next68k: Часто задаваемые вопросы "". Архивировано из оригинала 29 октября 2013 г. . Получено 25 октября 2013 г. .
  4. ^ ab Apple Computer, Inc (1990). "Руководство по оборудованию семейства Macintosh, второе издание". стр. 317-320. ISBN 0-201-52405-8.

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