Jump to content

Атари НЕ

Последовательный ввод-вывод Atari (SIO)
Порты Atari 800, второй слева порт SIO.
Тип последовательный автобус
История производства
Дизайнер Джо Декуир / Atari Inc.
Разработанный 1978 год ; 46 лет назад ( 1978 )
Производитель Атари Инк.
Произведено 1979 по 1992 год
Общие характеристики
Горячее подключение в теории
Внешний да
Булавки 13
Разъем D-сверхминиатюрный вариант
Данные
Сигнал данных Двунаправленный последовательный порт
Ширина 8 + старт/стоп = 10
Битрейт ~120 кбит/с максимум
Макс. устройства 256 максимум
8 в использовании
Протокол Серийный
Распиновка
Контакт 1 ВРЕМЯ
Контакт 2 ВРЕМЯ
Контакт 3 ВХОД ДАННЫХ
Контакт 4 Земля
Контакт 5 ВЫВОД ДАННЫХ
Контакт 6 Земля
Контакт 7 КОМАНДА
Контакт 8 УПРАВЛЕНИЕ ДВИГАТЕЛЕМ
Контакт 9 ПРОДОЛЖИТЬ
Контакт 10 +5 В/ГОТОВНОСТЬ
Контакт 11 АУДИО ВХОД
Контакт 12 +12В (только 400/800)
Контакт 13 ПРЕРЫВАТЬ

Система последовательного ввода-вывода , широко известная как SIO , представляла собой проприетарную периферийную шину и связанные с ней программные стеки протоколов, используемые на 8-битных компьютерах Atari для выполнения большинства задач ввода-вывода на этих компьютерах. В отличие от большинства систем ввода-вывода того времени, таких как RS-232 , SIO включал облегченный протокол, который позволял подключать несколько устройств к одному последовательному порту, поддерживающему десятки устройств. Он также поддерживал Plug-and-Play операции . Дизайнер SIO Джо Декуир считает, что его работа над системой легла в основу USB .

SIO был разработан для того, чтобы обеспечить возможность расширения без использования внутренних слотов для карт , как в Apple II , из-за проблем с FCC по радиопомехам . Это требовало, чтобы он был достаточно гибким с точки зрения поддержки устройств. Устройства, использующие интерфейс SIO, включали принтеры, дисководы для гибких дисков, кассетные деки, модемы и блоки расширения. Некоторые устройства имели драйверы на основе ПЗУ, которые копировались на главный компьютер при загрузке, что позволяло поддерживать новые устройства без встроенной поддержки, встроенной в сам компьютер.

SIO требовалась логика периферийных устройств для поддержки протоколов, а в некоторых случаях требовалась значительная вычислительная мощность - дисковод для гибких дисков Atari 810 включал технологию MOS 6507 например, . Кроме того, большой специальный разъем был дорогим. Это привело к увеличению стоимости системы SIO, и Декуир винит это в «потоплении системы». [1] [2] На протяжении всей истории 8-битной системы предпринимались безуспешные попытки снизить стоимость системы.

Название «SIO» правильно относится только к разделам операционной системы , которые обрабатывали обмен данными. В документации Atari сама шина представляет собой просто «последовательную шину» или «интерфейсную шину», хотя ее также иногда называют SIO. [3] В обычном использовании SIO относится ко всей системе, от операционной системы до шины и даже физических разъемов.

проблема ФКС

[ редактировать ]

Система SIO в конечном итоге обязана своим существованием правилам FCC о допустимом объеме радиочастотных помех, которые могут просачиваться из любого устройства, непосредственно генерирующего аналоговые телевизионные сигналы. Эти правила требовали очень низкого уровня утечек и должны были пройти обширный набор испытаний. Эти правила подвергались пересмотру в тот период, когда группа Atari Grass Valley разрабатывала машину Colleen, которая впоследствии стала Atari 800. [4]

Apple II , одна из немногих готовых машин, подключавшихся к телевизору в ту эпоху, избежала этой проблемы, не включив радиочастотный модулятор в компьютер . Вместо этого Apple заключила сделку с местной компанией по производству электроники M&R Enterprises на продажу подключаемых модуляторов под названием Sup'R'Mod . Это означало, что Apple технически не генерировала телевизионные сигналы и не нуждалась в тестировании FCC. Один из крупнейших поставщиков Atari, Sears , посчитал, что это не подходящее решение для их готовых продаж, поэтому, чтобы удовлетворить требования к помехам, они заключили всю систему в литой алюминиевый блок толщиной 2 мм. [4]

Первоначально Colleen задумывалась как игровая консоль , преемница Atari 2600 . Успех Apple II привел к тому, что систему стали позиционировать как домашний компьютер , и этому рынку потребовались периферийные устройства. На таких машинах, как Apple II, периферийные устройства поддерживались путем помещения карты адаптера в один из внутренних слотов для карт машины, пропускания кабеля через отверстие в корпусе и подключения устройства к этому кабелю. Отверстие, достаточно большое для такого кабеля, означало бы, что Коллин не пройдет радиочастотные испытания, что представляло собой серьезную проблему. Кроме того, конвекционное охлаждение карт будет очень затруднено. [4]

ВАШЕ отвлечение

[ редактировать ]

Во время визита в начале 1978 года продавец Texas Instruments (TI) продемонстрировал систему, состоящую из оптоволоконного кабеля с приемопередатчиками, встроенными в оба конца. Джо Декуир предположил, что они могли бы использовать это для отправки видеосигнала на внешний радиочастотный модулятор, который был бы так же прост в использовании, как и коаксиальный кабель, который в любом случае необходим для передачи сигнала на телевизор. Теперь компьютер мог иметь обычные слоты; как и в Apple II, радиочастотная часть будет полностью внешней и может быть протестирована отдельно от компьютера. [4]

Когда Декуир объяснил свою концепцию, у продавца «чуть не вылезли глаза». [4] Команда Grass Valley не знала, что компания TI в то время находилась в процессе разработки TI-99/4 и столкнулась с той же проблемой с радиочастотным выходом. Когда позже Декуир объяснил эту идею своему боссу Уэйду Туме, Тума ответил: «Нет, Федеральная комиссия по связи никогда не позволит нам сойти с рук этот трюк». [4] Это оказалось правдой; TI использовала идею Декуира, и когда они представили ее в FCC в 1979 году, они сразу отвергли ее. TI пришлось перепроектировать свою систему, и в результате задержка привела к тому, что Atari вышла на рынок первой. [4]

Поскольку этот путь к разрешению слотов для карт зашел в тупик, Декуир вернулся к проблеме обеспечения расширения через какую-то внешнюю систему. [4]

К этому времени была проведена значительная работа по использованию чипа POKEY компании Atari для управления кассетной декой путем прямого вывода звуков, которые будут записываться на ленту. Было понятно, что при соответствующих модификациях POKEY может обойти аппаратное обеспечение цифро-аналогового преобразования и TTL напрямую управлять выходным сигналом . Для создания цифровой шины TTL система SIO использовала два из четырех звуковых каналов POKEY для создания устойчивых тонов, которые представляли тактовые сигналы заданной частоты. Для отправки и получения данных использовался однобайтовый буфер; каждый раз, когда переключался тактовый сигнал, один бит из буфера считывался или записывался. Когда все восемь бит были прочитаны или записаны, система сгенерировала прерывание, которое заставило операционную систему прочитать или записать дополнительные данные. [5]

В отличие от кассетного интерфейса, где обычно используется только одно устройство, внешний порт расширения должен поддерживать более одного устройства. Для поддержки этого был разработан простой протокол и добавлено несколько новых контактов к исходному простому кассетному порту. Наиболее важным среди них был вывод COMMAND, который заставлял устройства прослушивать 5-байтовое сообщение, которое активировало одно из устройств на шине и запрашивало у него данные (или отправляло ему команды). [6] Они также добавили контакты PROCEED и INTERRUPT, которые могли использоваться устройствами для установки битов в регистрах управления на хосте, но они не использовались в развернутой системе. Аналогично, сигналы синхронизации, генерируемые POKEY, отправлялись на контакты CLOCKOUT и CLOCKIN, хотя асинхронный протокол их не использовал. [7]

Описание

[ редактировать ]

Аппаратное обеспечение

[ редактировать ]
В разъеме SIO использовались подпружиненные металлические пластины для надежного соединения с контактами устройств. Прорези, вырезанные в разъеме, дают створкам пространство для перемещения.
Atari 850 имел принтер Centronics и последовательные порты RS-232 для подключения к сторонним устройствам. Типично для устройств SIO, оно имеет как входные, так и выходные порты для обеспечения последовательного подключения.

Шина SIO была реализована с использованием специального 13-контактного D-разъема (хотя и не сверхминиатюрного D- разъема ) с разъемами «вилка» на устройствах и разъемами «мама» на обоих концах кабелей. [8] Разъемы были физически прочными, что позволяло их многократное использование, с очень прочными штырьками в гнезде устройства и подпружиненными разъемами в кабелях, в отличие от посадки с трением, как в типичном D-разъеме. Большинство устройств имели входные и выходные порты, позволяющие подключать периферийные устройства последовательно, хотя устройство записи программ Atari 410 должно было быть размещено в конце цепочки и, следовательно, не имело выходного порта.

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

[ редактировать ]

SIO управлялся чипом POKEY от Atari , который включал в себя ряд таймеров общего назначения. Четыре из них позволяли точно контролировать скорость синхронизации и предназначались для вывода звука путем подключения их к цифро-аналоговому преобразователю (ЦАП), а затем смешивания их с телевизионным сигналом перед входом в РЧ. модулятор. Они были использованы в качестве основы системы SIO и использовались в качестве часов в некоторых режимах или для непосредственного формирования выходных сигналов в других.

Система включала в себя единственный «сменный регистр», который использовался для полуавтоматизации большинства передач данных. Оно состояло из одного 8-битного значения, сначала LSB, [9] который использовался для буферизации чтения и записи. Пользователь получает доступ к ним через две ячейки памяти, известные как SEROUT для записи и SERIN для чтения. Это были «теневые регистры», места в оперативной памяти , которые отражали регистры в различных вспомогательных микросхемах, таких как POKEY. Биты данных были оформлены одним нулевым стартовым битом и одним стоповым битом, и четность не использовалась. [9]

Для записи данных в синхронном режиме основные каналы таймера POKEY были настроены на соответствующую тактовую частоту, скажем, 9600 бит/с. Любые данные, записанные в регистр SEROUT, затем отправлялись по одному биту каждый раз, когда сигнал становился высоким. Это было рассчитано так, чтобы сигнал возвращался на низком уровне в середине бита. Когда все 10 бит (включая старт и стоп) были отправлены, POKEY отправил ЦП маскируемое прерывание, чтобы указать, что он готов к следующему байту. Если при чтении был получен еще один байт данных до того, как был прочитан SERIN, третий бит SKSTAT устанавливался в значение true, что указывает на переполнение. Отдельные считываемые биты также отправлялись в 4-й бит SKSTAT по мере их поступления, что позволяло напрямую считывать данные, не дожидаясь завершения формирования кадра.

инженера Atari Система официально поддерживала скорость до 19 200 бит/с, но эта скорость была выбрана только потому, что анализатор протоколов достиг максимума на этой скорости. На самом деле система была способна обеспечить гораздо более высокую производительность. В ряде устройств сторонних производителей, особенно в дисководах гибких дисков , использовалось специальное оборудование и драйверы, позволяющие значительно увеличить скорость передачи данных до 72 000 бит/с.

Хотя в системе были контакты CLOCKOUT и CLOCKIN, которые теоретически можно было использовать для синхронной связи, на практике использовалась только асинхронная система. В этом случае в POKEY была установлена ​​базовая скорость, как указано выше, которая будет следовать за изменениями до 5% от этой базовой скорости. Это значительно облегчило работу с реальными устройствами, в которых механические или электрические проблемы приводили к небольшому изменению скорости с течением времени. Одним из примеров была кассетная дека, где растягивание ленты могло изменить скорость, другим примером был модем, где удаленная система не могла быть точно синхронизирована с заданной скоростью.

Управление устройством

[ редактировать ]

Система SIO позволяла устройствам подключаться последовательно и, таким образом, требовала какого-то способа идентификации того, что информация на различных выводах данных предназначена для конкретного устройства в цепочке. Это было достигнуто с помощью вывода COMMAND. [9]

Вывод COMMAND обычно удерживался на высоком уровне, [8] и когда он был понижен, устройства на шине должны были прослушивать «командный кадр». Он состоял из 5-байтового пакета; первый байт был идентификатором устройства, второй — номером команды, специфичным для устройства, а затем два вспомогательных байта данных, которые драйвер мог использовать для любых целей. За этими четырьмя следовал байт контрольной суммы. [6] Когда кадр был завершен, на выводе COMMAND снова появился высокий уровень. [10]

Ожидалось, что при получении пакета устройство, указанное в первом байте, ответит. Он состоял из одного байта, содержащего символ ASCII: «A» для подтверждения, если пакет был правильно декодирован и контрольная сумма совпала, в противном случае «N». Для команд, которые обменивались данными, за кадром команды будет следовать «кадр данных» от или к выбранному устройству. Этот кадр затем будет подтвержден получателем с помощью буквы «C» для завершения или «E» для ошибки. [11] Поскольку каждый пакет из 128 байтов данных требовал еще одного командного кадра, прежде чем можно было отправить следующий, на пропускную способность влияли проблемы с задержкой; Дисковод Atari 810 обычно использовал скорость 19 200 бит/с, но была ограничена примерно 6 000 бит/с из-за накладных расходов. [12]

Устройства нумеровались механически, обычно с помощью небольших DIP-переключателей . [13] Каждому классу устройств был присвоен свой набор из 16 потенциальных чисел, основанных на шестнадцатеричных числах, например, диапазон 30 долларов для дисковых накопителей и 40 долларов для принтеров. Однако каждый драйвер мог поддерживать столько устройств, сколько хотел; драйвер принтера Atari 820 поддерживал только один принтер с номером 40 долларов США, [14] в то время как драйверы дисков могли поддерживать четыре диска стоимостью от 31 до 34 долларов. [15]

Использование кассеты

[ редактировать ]
Оригинальный 410 был заменен гораздо меньшим 1010 в эпоху XL.

Проектирование того, что впоследствии стало SIO, началось как система взаимодействия с кассетными магнитофонами, использующая звуковое оборудование для генерации соответствующих тонов. Эта возможность была сохранена в серийных версиях, что позволило Atari 410 и ее преемникам быть относительно простыми устройствами.

При настройке на работу с кассетой выходные сигналы каналов 1 и 2 POKEY отправлялись на DATAOUT, а не на тактовые контакты. Два канала были настроены на создание тонов, которые можно было безопасно записать на ленту: 3995 Гц для нуля было в канале POKEY 2, а 5326 Гц для единицы было в канале 1. В этом режиме, когда POKEY считывал биты из SERIN , любые 1 приводили к тому, что канал 1 воспроизводился на выводе данных, а 0 — к каналу 2. Таким образом, байт данных был преобразован в тоны на ленте. Однако в Ридинге использовалась другая система, поскольку в компьютере не было аналого-цифрового преобразователя. Вместо этого кассетные деки включали в себя два узкополосных фильтра, настроенных на две частоты. Во время чтения выходные данные одного или другого из этих фильтров будут подтверждены, поскольку биты считываются с ленты. Они были отправлены в виде цифровых данных обратно на главный компьютер. [16]

Поскольку лента подвергалась растяжению и другим механическим проблемам, которые могли ускорить или замедлить транспортировку по головкам, система использовала асинхронное чтение и запись. Данные записывались блоками по 132 байта на запись, причем первые два байта представляли собой битовую комбинацию «01010101 01010101». Промежуток между записями между блоками без тонов позволял операционной системе узнать, когда начинается новая запись, путем поиска ведущего нуля. Затем он быстро прочитал порт и запланировал переход битов синхронизации от 0 к 1 и обратно, чтобы определить точную скорость передачи данных. Следующий байт был управляющим байтом, определяющим, была ли это обычная запись из 128 байтов данных, короткий блок или конец файла. Далее следовали до 128 байт данных, за которыми следовал байт контрольной суммы, включая все, что было до контрольной суммы. [16]

Операция дополнительно контролировалась выводом MOTOR в порту SIO, предназначенном для этой цели. Когда этот штифт находился в низком состоянии, мотор в деке отключался. Это позволяло пользователю нажимать кнопку воспроизведения или воспроизведения и записи, при этом лента не начинала двигаться. Когда на компьютере вводилась соответствующая команда, выдавался сигнал «МОТОР» и кассета начинала вращаться. [16]

Еще одним выделенным контактом был AUDIOIN, который был подключен непосредственно к цепям вывода звука между цифро-аналоговыми преобразователями POKEY и конечным выходом, так что любой сигнал на выводе смешивался со звуком от POKEY (если таковой имеется) и затем обрабатывался. отправлено на громкоговоритель телевидения. Он был подключен к левому звуковому каналу кассеты, а правый канал был подключен к контактам данных. Это позволило пользователям записывать обычные звуки на левом канале, а затем воспроизводить их по телевизору. Это часто сочеталось с прямым контролем моторики для создания интерактивных лент для изучения языка и подобных программ. Некоторые компании-разработчики программного обеспечения записывают звуки или музыку на этот канал, чтобы сделать процесс загрузки более приятным. [17]

См. также

[ редактировать ]
  1. ^ «Интервью с Джо Декуиром» . Музей Атари .
  2. ^ Atari — Computer Systems , Atari, Inc. , заархивировано из оригинала 8 декабря 2015 г. , получено 14 января 2015 г.
  3. ^ СИО 1980 , с. 1.
  4. ^ Jump up to: а б с д и ж г час Декуир .
  5. ^ SIO 1980 , стр. 6–7.
  6. ^ Jump up to: а б СИО 1980 , с. 13.
  7. ^ СИО 1980 , с. 8.
  8. ^ Jump up to: а б СИО 1980 , с. 7.
  9. ^ Jump up to: а б с СИО 1980 , с. 6.
  10. ^ СИО 1980 , с. 18.
  11. ^ СИО 1980 , с. 16.
  12. ^ Руководство по эксплуатации дисковода Atari 810 (PDF) (технический отчет). 1979. с. 6.
  13. ^ «Установка Индус ГТ» .
  14. ^ СИО 1980 , с. 25.
  15. ^ СИО 1980 , с. 28.
  16. ^ Jump up to: а б с ДеРе 1981 , с. Приложение С
  17. ^ Виктор, Джон (октябрь 1982 г.). «Аудио во время загрузки» . Антик .

Библиография

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d9fe2e86390354d1d1bb6bde2e68ba7f__1717601640
URL1:https://arc.ask3.ru/arc/aa/d9/7f/d9fe2e86390354d1d1bb6bde2e68ba7f.html
Заголовок, (Title) документа по адресу, URL1:
Atari SIO - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)