Технология MOS 6522 - MOS Technology 6522

Конфигурация контактов 6522 VIA
Rockwell 6522 VIA

В 6522 Универсальный интерфейсный адаптер (ЧЕРЕЗ) является Интегральная схема который был разработан и изготовлен Технология MOS как Порт ввода / вывода контроллер для 6502 семейство микропроцессоров. Он предоставляет два двунаправленных 8-битных параллельных порта ввода / вывода, два 16-битных порта. таймеры (один из которых также может работать как счетчик событий) и 8-битный регистр сдвига за последовательная связь или преобразование данных между последовательной и параллельной формами. Направление каждого бита двух портов ввода / вывода можно запрограммировать индивидуально. Модель 6522 не только производилась MOS Technology, но и была второй источник другими компаниями, включая Rockwell и Synertek.

6522 широко использовался в компьютерах 1980-х годов, особенно Коммодор машины,[1] а также была центральной частью дизайна Яблоко III, Орик-1 и Oric Atmos, BBC Micro, Виктор 9000 / Сириус 1 и Apple Macintosh. Платформы видеоигр, такие как Vectrex также использовал 6522, как и цифровую приборную панель Corvette с 1984 по 1989 год. Высокая скорость, Версия CMOS, то W65C22[1], производится Центр западного дизайна (WDC).

Порты ввода / вывода

VIA содержит 20 линий ввода / вывода, которые организованы в два 8-битных двунаправленных порта (или 16 линий ввода / вывода общего назначения) и четыре линии управления (для подтверждение связи и прерывать поколение). Направления для всех 16 общих линий (PA0-7, PB0-7) можно запрограммировать независимо. Линии управления могут быть запрограммированы на генерирование прерывания при активации (все четыре), фиксацию соответствующего порта ввода / вывода (CA1 и CB1), автоматическую генерацию сигналов квитирования для устройств на портах ввода / вывода или работу в режиме простого программного управления. выходы (CA2 и CB2). CB1 и CB2 также используются в качестве тактового входа и линии данных для сдвигового регистра, что исключает их использование для других функций, пока сдвиговый регистр включен.

Таймеры

VIA предоставляет два 16-битных таймера / счетчика. Каждый может быть использован в однократном (моностабильный ) режим «интервального таймера»; таймер 1 также можно использовать в режиме "автономного режима" (разделитель /прямоугольная волна ), в котором таймер автоматически перезагружается с начальным счетом, когда он достигает нуля, а таймер 2 также может использоваться в режиме «подсчета импульсов», в котором таймер будет считать переходы из высокого в низкое состояние вывода PB6. (7-й бит порта параллельного ввода / вывода B). В однократном режиме каждый таймер продолжает работать автономно, так что время с момента достижения нуля может быть определено, но никаких дальнейших прерываний не выдается, пока таймер не будет перезапущен. Каждый таймер может генерировать прерывание, когда он достигает нуля, и таймер 1 также может выводить импульсы (в режиме интервального таймера) или прямоугольные волны (в автономном режиме) на выводе PB7 (8-й бит порта B). Таймер 2 может использоваться для обеспечения тактовой частоты регистра сдвига. Полезной особенностью автономного режима является то, что в 16-битную защелку счетчика можно загрузить новый счет без перезагрузки счетчика, так что он будет загружать новый счет только после того, как текущий счетчик достигнет нуля, плавно изменяя выходную частоту. . Эта функция таймера 1 в сочетании с его способностью выводить сигнал на вывод PB7 может использоваться для генерации сигналов сложной формы, например широтно-импульсная модуляция сигналы, частотные развертки или двухфазный или же FM -кодированные последовательные битовые потоки.[2]

Регистр сдвига

Регистр сдвига VIA является двунаправленным, шириной 8 бит и может работать либо от тактовых импульсов, генерируемых таймером (от таймера 2), либо от тактовых импульсов ЦП, либо от внешнего источника на линии CB1. Последовательный ввод / вывод на линии CB2, и CB1 также может быть запрограммирован на вывод битовой синхронизации для внешнего синхронизированный серийный номер устройств.

Из-за конструктивного дефекта, если кромка CB1 находится в пределах нескольких наносекунд от спада тактового сигнала ϕ2 (фаза – 2), Край CB1 будут проигнорированы, что приведет к потере бита и ошибкам кадрирования в последующих данных. В качестве обходного пути поместите внешний тактовый сигнал в D вход 74AC74 резкий поворот, запустить флоп Q вывод на 6522 CB1 штифт и синхронизируйте триггер с ϕ0 или ϕ2.[3] Ошибка последовательного регистра сдвига исправлена ​​в California Micro Devices CMD G65SC22, Центр западного дизайна W65C22 и в MOS 6526, последнее устройство, которое Commodore использовал вместо 6522 из Коммодор 64 вперед.

Выход IRQ

NMOS 6522 имеет открытый сток Выход IRQ, который можно использовать в проводное ИЛИ цепи прерывания. WDC W65C22S, напротив, имеет тотем Выход IRQ, который должен быть изолирован от проводной схемы ИЛИ с помощью Диод Шоттки, из-за того, что выход тотемного полюса активно устанавливает высокий уровень на выводе IRQ, когда W65C22S не прерывает работу. Эта конкретная проблема решена в WDC W65C22N, который оснащен выходом IRQ с открытым стоком.[4]

Ошибки

Помимо вышеупомянутой ошибки регистра сдвига, существовала потенциальная проблема повреждения регистра, которая обычно возникала только в системах, использующих 6522 с микропроцессором, имеющим архитектуру шины, отличную от 6502, например Motorola 68000. Если адресные строки изменились при выбор чипа был низким (неактивным), но входной тактовый сигнал ϕ2 был высоким (активным), содержимое регистра могло быть изменено, несмотря на то, что чип не был выбран. Это было исправлено в некоторых, но не во всех версиях CMOS.

Рекомендации

внешняя ссылка