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

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

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

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

СОДЕРЖАНИЕ
  • 1 порты ввода / вывода
  • 2 таймера
  • 3 Сдвиговый регистр
  • 4 выхода IRQ
  • 5 ошибок
  • 6 Ссылки
  • 7 Внешние ссылки
Порты ввода / вывода

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- кодированных последовательных потоков битов.

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

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

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

Выход IRQ

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

Ошибки

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

Рекомендации
  1. ^ Дисковод [Commodore] 1541 имеет две микросхемы типа MOS 6522...
  2. ^ 1982 Каталог данных технологии MOS, стр. 2-54 и 2-55
  3. ^ Уилсон, Гарт
  4. ^ W65C22 Универсальный интерфейсный адаптер (VIA)
Внешние ссылки
Последняя правка сделана 2023-12-31 10:58:25
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте