stringtranslate.com

МОП-технология 6522

Конфигурация контактов 6522 VIA
Роквелл 6522 ВИА

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

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

Выход прерывания

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

Ошибки

Из-за дефекта конструкции, если фронт на CB1 попадает в пределах нескольких наносекунд от спадающего фронта тактового сигнала φ2 (фаза-2), фронт CB1 будет игнорироваться, что приведет к потере бита и ошибкам кадрирования последующих данных.

Обходной путь заключается в подаче внешнего тактового сигнала на вход D триггера 74ACT74 , подключении выхода Q флопа к выводу CB1 6522 и тактировании триггера с помощью φ0 или φ2. [4]

Ошибка последовательного сдвигового регистра была исправлена ​​в CMD G65SC22 компании California Micro Devices и в MOS 6526 , последнем устройстве , которое Commodore использовала вместо 6522, начиная с Commodore 64 .

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

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

  1. ^ Дисковод гибких дисков [Commodore] 1541 имеет две микросхемы типа MOS 6522... [ мертвая ссылка ]
  2. ^ Каталог данных МОП-технологий 1982 г., стр. 2-54 и 2-55
  3. ^ Универсальный интерфейсный адаптер W65C22 (VIA)
  4. ^ Уилсон, Гарт

Внешние ссылки