Интернет магазин китайских планшетных компьютеров



Компьютеры - Apple Desktop Bus - Устройство

25 апреля 2011


Оглавление:
1. Apple Desktop Bus
2. История
3. Устройство
4. Проблемы



Физическое

В соответствии с общей философией промышленного дизайна Apple, ADB была предназначена чтобы быть настолько простой в использовании, насколько возможно, все ещё будучи недорогой для создания. Подходящий разъём был найден в форме 4 штырькового miniDIN разъёма, который также используется для S-видео. Разъёмы были маленькими, широко доступными, и могли быть вставлены только в правильное положение из-за выемок на кольцевой части разъёма.

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

Большинство последовательных цифровых интерфейсов используют отдельный тактовый провод, чтобы сигнализировать прибытие индивидуальных битов данных. Поскольку ADB была разработана чтобы быть дешёвой, Возняк признал, что один единственный провод имел достаточную полосу пропускания чтобы нести оба сигнала. Кроме того было экономично декодировать тактовые сигналы и сигналы данных чтобы использовать более дешёвые кабели. Декодирующий приёмопередатчик был доступен только по запросу производителя оборудования поскольку Apple предпочитало работать более близко с продавцами. Возможно Apple продало эти аппаратные средства ниже их стоимости, чтобы поощрить развитие периферийных устройств.

Аппаратная часть

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

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

Примечание: для команды Reset значащими битами являются 3,2,1,0, все они равны 0.
Например, если мышь была известна по адресу $D, то компьютер периодически отсылал бы сообщение на шину, которое выглядело бы так:

1101 11 00

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

Примечание: для команды Reset значащими битами являются 3,2,1,0, все они равны 0.

Адреса и номера устройств выстанавливались в значения по умолчанию при сбросе. Например, все клавиатуры имели номер $2, а все мыши $3. При включении машины контроллер ADB спросит каждый из известных адресов содержимое регистра #3. Если от данного адреса ответ не прибыл, компьютер отметит его как пустой, и не будет опрашивать его в дальнейшем. Если устройство отвечало, то это выражалось назначением случайного адреса. Затем компьюьютер посылал другую команду на новый адрес, прося устройство переместиться на другой адрес. Как только это было закончено, устройство отмечалось как «живое», и система в дальнейшем обращалась к нему. Как только все устройства были перечислены этим способом, шина была готова к использованию.

Хотя это не было обычно для тех времён, но была возможность подключать к ADB несколько устройств одного вида. В этом случае когда компьютер спрашивал устройства на определённом адресе, установленном по умолчанию после сброса, могла бы произойти ошибка из-за того, что оба устройства ответят одновременно, но устройства подключённые к ADB всегда делали небольшую задержку, выбираемую случайным образом, которая позволяла им избегать проблемы.

При начальной настройке ADB, компьютер отсылает команду по определённому адресу, и 1 устройство отсылает ответ, 2 устройство с таким же адресом видит, что шина занята, и ждёт следующего обращения, во время которого 1 устройство уже не занимает шину.

Скорость передачи данных по шине теоретически составляла 125 кбит/сек, однако фактическая скорость была в лучшем случае половинной что из-за того что использовался один неэкранированный провод для связи между компьютером и устройствами. В фактическом использовании скорость была намного меньше чем половинная, поскольку скорость зависела от быстродействия всей системы. Mac OS тех времён была не очень быстра, и скорость передачи данных по шине часто падала до 10 кбит/сек.



Просмотров: 3696


<<< 1-Wire
Direct Media Interface >>>