Последовательная шина Commodore ( шина IEC ) — это интерфейс компании Commodore , предназначенный в первую очередь для хранения данных на магнитных дисках и принтеров для 8-разрядных домашних компьютеров Commodore : VIC-20 , Commodore 64 , Commodore 128 , Plus/4 , [7] Commodore 16 и Commodore 65 .
Параллельный интерфейс IEEE-488, используемый в компьютерной линейке Commodore PET (1977), был слишком дорогим, поэтому была разработана удешевленная версия, которая состояла из урезанной последовательной версии интерфейса IEEE-488, в которой осталось всего несколько сигналов; однако общая схема протокола была сохранена. Commodore начала использовать эту шину с VIC-20 (1980). Для подключения к компьютеру используется разъем DIN-6 (DIN 45322).
Сигналы шины являются цифровыми однотактными с открытым коллектором 5 В TTL и активны при низком уровне. Устройства шины должны обеспечивать собственное питание.
Поскольку линии шины электрически являются открытыми коллекторами, они работают как длинный вентиль ИЛИ между всеми драйверами линий устройств. Логическое значение для земли — истина и наоборот. Любое устройство может установить линию «истина». Линия становится «ложной», только если все устройства сигнализируют ложь.
Передача начинается с того, что говорящий шины удерживает линию Clock в состоянии true, а слушатель(и) удерживает линию Data в состоянии true. Чтобы начать, говорящий переводит линию Clock в состояние false. Когда все слушатели шины готовы к приему, они переводят линию Data в состояние false. Если говорящий ждет более 200 мкс без перехода линии Clock в состояние true (состояние ожидания), слушатели должны выполнить End-or-Identify (EOI). [3]
Если линия данных, будучи ложной (освобожденной), не подтверждается говорящим в течение 200 мкс, слушатель знает, что говорящий находится в процессе EOI, что означает «этот символ будет последним». Когда слушатель обнаруживает тайм-аут в 200 мкс, он должен подтвердить это, переведя линию данных в состояние true по крайней мере на 60 мкс, а затем освободить ее. Говорящий может вернуться к передаче снова в течение 60 мкс, переведя линию часов в состояние true. [3]
Данные — это восемь бит, начиная с наименее значимого бита. Линия данных устанавливается в соответствии с битом для отправки (1=истина=земля). После установки линии данных линия часов сбрасывается в состояние ложь. Линии часов и данных будут оставаться стабильными в течение как минимум 20 мкс (за исключением Commodore 64, которому требуется 60 мкс). После отправки 8 бит говорящий сбрасывает линию данных в состояние ложь, а затем слушающий подтверждает говорящего, переводя линию данных в состояние истинно в течение 1000 мкс. После этого говорящий устанавливает линию часов в состояние истинно, а слушающий устанавливает линию данных в состояние истинно, таким образом, возвращаясь к месту начала передачи. Если EOI сигнализируется путем удержания линии часов в состоянии ложь, передача заканчивается, и слушающий подтверждает это, переводя линию данных в состояние истинно в течение 200 мкс. [3]
Строка ATN установлена в значение true, и байты отправляются, как указано выше, всем устройствам, но байт интерпретируется как одна из команд «Talk», «Listen», «Untalk» и «Unlisten». Это говорит определенному устройству стать говорящим или слушающим. Только устройства с совпадающими номерами устройств переключаются в режим разговора и прослушивания. Также может следовать вторичный адрес. [3]
На более высоком логическом уровне хост установит линию ATN в состояние «истина» и передаст байты «Устройство номер 8, прослушивание», «Вторичный адрес 2, открытие». Затем он установит линию ATN в состояние «ложь», и хост станет говорящим, удерживая линию Clock в состоянии «истина». Устройство будет слушателем, удерживая линию Data в состоянии «истина». Хост передаст определенную команду открытия и завершит ее последовательностью сигналов EOI. После этого хост установит линию ATN в состояние «истина», «Устройство номер 8, отмена прослушивания». Затем следуют линия ATN в состояние «истина» и «Устройство номер 8, прослушивание», «Вторичный адрес 2, данные». Затем хост установит линию ATN в состояние «ложь» и отправит данные. Когда хост закончит отправку данных, линия ATN устанавливается в состояние «истина», и отправляется «Устройство номер 8, отмена прослушивания». [3]
Когда необходимо поменять роли и сделать хост слушателем, а устройство говорящим, это происходит после отправки команды на разговор на устройство. Хост устанавливает линию данных в состояние true и отпускает линию часов в состояние false. Устройство ждет, пока линия часов не станет false, а затем переводит ее в состояние true и отпускает линию данных в состояние false. После этой последовательности может последовать стандартное взаимодействие говорящего и слушающего. [3]
Для чтения обычного файла с гибкого диска номер 8 на Commodore 64LOAD "filename",8,1
подается команда . Это приводит к следующему высокоуровневому взаимодействию:
Дисковод Commodore 1541 использует более медленный режим, совместимый с Commodore 64, который можно отключить для повышения скорости с помощью команды OPEN 15,8,15,"UI-":CLOSE 15
. [11]
Устройства с номерами 0–3 не связаны с шиной Commodore. [10]
Компьютер VIC-20 и дисководы Commodore 1540 и 1541 используют технологию MOS 6522 VIA для обработки передач по шине IEC. Компьютеры Commodore 64 и 128 и дисковод Commodore 1571 используют комплексный интерфейсный адаптер .
(1) 6' или 1,8 метра (макс.) 4-жильный экранированный кабель (для последовательного соединения)
Низкий выходной ток (токовый); VOL < 0,4 В (PA0-PA7, PC, PB0-PB7, DB0-DB7) IOL 3,2 мА
трюки, используемые
Epyx,
позволили достичь скорости передачи данных до 2,5 килобайт в секунду.
1541 отлично работает с Plus/4.