Intel 8255

редактировать
Intel D8255 Распиновка i8255

Intel 8255 (или i8255 ) Программируемый Периферийный интерфейс (PPI) чип был разработан и изготовлен Intel в первой половине 1970-х годов для микропроцессора Intel 8080. 8255 имеет 24 параллельных входных / выходных линии с различными программируемыми режимами работы.

8255 является членом семейства MCS-85 микросхем, разработанных Intel для использования с микропроцессорами 8085 и 8086 и их потомки. Сначала он был доступен в 40-выводном корпусе DIP, а затем в 44-выводном корпусе PLCC. Он нашел широкое применение в системах цифровой обработки и позже был клонирован другими производителями. 82C55 - это версия CMOS, обеспечивающая более высокую скорость и меньшее потребление тока.

Функциональные возможности 8255 теперь в основном встроены в более крупные микросхемы обработки СБИС в качестве подфункции. CMOS версия 8255 все еще создается Renesas, но в основном используется для расширения ввода / вывода микроконтроллеров.

Содержание
  • 1 Подобные микросхемы
    • 1.1 Варианты
  • 2 Приложения
  • 3 Функция
  • 4 Режимы работы 8255
  • 5 Режим установки / сброса битов (BSR)
  • 6 Режим ввода / вывода
    • 6.1 Формат управляющего слова
    • 6.2 Режим 0 - простой ввод / вывод
      • 6.2.1 Режим 0 - режим ввода
      • 6.2.2 Режим 0 - режим вывода
    • 6.3 Режим 1 - Стробированный режим ввода / вывода
    • 6.4 Режим 2 - Стробированный режим двунаправленного ввода / вывода
  • 7 Ссылки
  • 8 Внешние ссылки
Подобные микросхемы

8255 имеет функцию, аналогичную MOS Technology 6522 (универсальный интерфейсный адаптер) и 6526 MOS Technology CIA (адаптер сложного интерфейса), оба разработаны для семейства 6502.

Все эти микросхемы изначально были доступны в 40-выводном корпусе DIL. 8255 имеет 24 используемых контакта ввода / вывода, тогда как микросхемы MOS имеют только 16 контактов ввода / вывода плюс 4 контакта управления. Однако микросхемы MOS содержат больше функций, таких как два программируемых таймера перезагрузки и простая функция регистра сдвига ввода / вывода. Кроме того, устройства MOS позволяют индивидуально программировать направление (вход или выход) всех их выводов ввода / вывода. Контакты ввода / вывода 8255 имеют только четыре программируемых бита направления: один для всего порта A (7: 0), один для порта B (7: 0), один для порта C (3: 0) и один для порта C ( 7: 4).

Другими сопоставимыми микропроцессорными микросхемами ввода / вывода являются программируемый периферийный интерфейс 2655 из семейства Signetics 2650, Motorola 6820 PIA (адаптер периферийного интерфейса) из Семейство Motorola 6800 и Western Design Center WDC 65C21.

Варианты

Версия Intel ID8255A промышленного уровня была доступна по цене 17,55 долларов США в количестве 100 шт. вверх. Доступная версия Intel 8255A-5 стоила 6,55 долларов США при количестве 100 или более.

Приложения

8255 широко использовался во многих микрокомпьютерных / микроконтроллерных системах и домашних компьютерах, например, SV-328 и все модели MSX. 8255 использовался в исходных IBM-PC, PC / XT, PC / jr и клонах, а также в многочисленных домашних компьютерах, таких как N8VEM.

Function

8255 предоставляет ЦП или цифровой системе доступ к программируемым параллельным вводам / выводам. 8255 имеет 24 входа / выхода. Они разделены на три 8-битных порта (A, B, C). Порт A и порт B могут использоваться как 8-битные порты ввода / вывода. Порт C может использоваться как 8-битный порт ввода / вывода или как два 4-битных порта ввода / вывода или для выработки сигналов подтверждения для портов A и B.

Три порта далее сгруппированы следующим образом:

  1. Группа A, состоящая из порта A и верхней части порта C.
  2. Группа B, состоящая из порта B и нижней части порта C.

Доступно восемь линий данных (D0 – D7) (с 8-битный буфер данных) для чтения / записи данных в порты или регистр управления в состоянии ¬ {\ displaystyle {\ neg}}{\ neg} RD(вывод 5) и ¬ {\ displaystyle {\ neg}}{\ neg} WR(контакт 36), которые являются сигналами активного низкого уровня для операций чтения и записи соответственно. Адресные строки A 1 и A 0 позволяют получить доступ к регистру данных для каждого порта или регистру управления, как указано ниже:

A1A0Выбран порт
00порт A
01порт B
10порт C
11регистр управления

Выбор микросхемы управляющего сигнала ¬ {\ displaystyle {\ neg}}{\ neg} CS(контакт 6) используется для включения микросхемы 8255. Это сигнал с активным низким уровнем, т.е. когда ¬ {\ displaystyle {\ neg}}{\ neg} CS = 0, 8255 включен. Вход RESET (контакт 35) подключен к линии RESET такой системы, как 8085, 8086 и т. Д., Так что при сбросе системы все порты инициализируются как входные линии. Это сделано для предотвращения разрушения 8255 и / или любого подключенного к нему периферийного устройства из-за несовпадения портов. В качестве примера рассмотрим устройство ввода, подключенное к 8255 через порт A. Если после предыдущей операции порт A инициализирован как порт вывода, и если 8255 не был сброшен до использования текущей конфигурации, то существует вероятность повреждения любого из них. подключенное устройство ввода или 8255, или оба, так как и 8255, и подключенное устройство будут отправлять данные.

Регистр управления (или логика управления, или регистр командного слова) - это 8-битный регистр, используемый для выбора режимов работы и обозначения ввода / вывода портов.

Эксплуатация режимы 8255

Существует два основных режима работы 8255:

  • режим установки / сброса битов (режим BSR).
  • режим ввода / вывода (режим ввода / вывода).

Два режима выбираются на основе значения, присутствующего в бите D 7 регистра управляющего слова. Когда D 7 = 1, 8255 работает в режиме ввода-вывода, а когда D 7 = 0, он работает в режиме BSR.

Режим установки / сброса битов (BSR)

Режим установки / сброса битов (BSR) доступен только для порта C. Каждая строка порта C (ПК 7 - ПК 0) может быть установлена ​​или сброшена путем записи подходящего значения в регистр управляющего слова. Режим BSR и режим ввода / вывода независимы, и выбор режима BSR не влияет на работу других портов в режиме ввода / вывода.

8255 Режим BSR
  • D7бит всегда равен 0 для режима BSR.
  • Биты D 6, D 5 и D 4 - это неважные биты.
  • Биты D 3, D 2 и D 1 используются для выбора вывода порта C.
  • Бит D 0 используется для установки / сброса выбранный вывод порта C.

Выбор вывода порта C определяется следующим образом:

D3D2D1Выбран бит / вывод порта C.
000PC0
001PC1
010PC2
011PC3
100PC4
101PC5
110PC6
111PC7

В качестве примера, если необходимо установить PC 5, то в управляющем слове

  1. Так как это режим BSR, D7= '0' .
  2. Поскольку D 4, D 5, D 6 не используются, предположим, что их нужно выбрать '0'.
  3. PC5, следовательно, D3=' 1 ', D 2 =' 0 ', D 1 =' 1 '.
  4. PC5должен быть установлен, следовательно, D0 =' 1 '.

Таким образом, согласно приведенным выше значениям, 0B (шестнадцатеричный) будет загружен в регистр управляющего слова (CWR).

D7D6D5D4D3D2D1D0
00001011
Режим ввода / вывода

Этот режим выбирается, когда бит D 7 регистра управляющего слова равен 1. Существует три режима ввода / вывода:

  1. Режим 0 - Простой ввод / вывод
  2. Режим 1 - Стробированный ввод / вывод
  3. Режим 2 - Стробированный двунаправленный ввод / вывод

Формат управляющего слова

Управляющее слово ввода / вывода Формат
  • D0, D 1, D 3, D 4назначаются для порта C нижнего, порта B, порта C верхнего и порта A соответственно. Когда эти биты равны 1, соответствующий порт действует как входной порт. Например, если D 0 = D 4 = 1, то нижний порт C и порт A действуют как входные порты. Если эти биты равны 0, то соответствующий порт действует как выходной порт. Например, если D 1 = D 3 = 0, то порт B и верхний порт C действуют как выходные порты.
  • D2используется для выбора режима Группы B (порт B и нижний порт C). Когда D 2 = 0, выбирается режим 0, а когда D 2 = 1, выбирается режим 1.
  • D5и D 6используются для выбора режима группы A (порт A и верхний порт C). Выбор осуществляется следующим образом:
D6D5Режим
000
011
1X2
  • Так как это режим ввода / вывода, D7= 1.

Например, если порт B и верхний порт C должны быть инициализированы как входные порты, а нижний порт C и порт A в качестве портов вывода (все в режиме 0):

  1. Так как это режим ввода-вывода, D 7 = 1.
  2. Биты выбора режима, D2, D5, D6 все равны 0 для режима 0.
  3. Порт B и верхний порт C должны работать как входные порты, следовательно, D 1 = D 3 = 1.
  4. Порт A и нижний порт C должны работать как выходные порты, следовательно, D 4 = D 0 = 0.

Следовательно, для желаемой операции регистр управляющего слова должен быть загружен с помощью "10001010" = 8A (шестнадцатеричный) .

Режим 0 - простой ввод / вывод

В этом режиме порты могут использоваться для простого ввода-вывода. / O операции без сигналов подтверждения. Порт A, порт B обеспечивают простую операцию ввода-вывода. Две половины порта C могут использоваться либо вместе как дополнительный 8-битный порт, либо они могут использоваться как отдельные 4-битные порты. Поскольку две половины порта C независимы, их можно использовать так, что одна половина инициализируется как входной порт, а другая половина инициализируется как выходной порт.

Функции ввода / вывода в режиме 0 следующие:

  1. Выходные порты фиксируются.
  2. Входные порты буферизуются, а не фиксируются.
  3. Порты не имеют возможность установления связи или прерывания.
  4. С 4 портами возможны 16 различных комбинаций ввода / вывода.

«С фиксацией» означает, что биты помещаются в регистр хранения (массив триггеров), который содержит выходная константа, даже если входы изменяются после фиксации.

Выходы 8255 фиксируются для хранения последних записанных в них данных. Это необходимо, потому что данные остаются на шине только один цикл. Таким образом, без фиксации выходы станут недействительными, как только цикл записи завершится.

Входы не фиксируются, потому что ЦП должен только считывать их текущие значения, а затем сохранять данные в регистре ЦП или в памяти, если к ним нужно обратиться позже. Если вход изменяется во время чтения порта, результат может быть неопределенным.

Режим 0 - режим ввода

  • В режиме ввода 8255 получает данные от внешних периферийных портов, а ЦП считывает полученные данные через свою шину данных.
  • ЦП сначала выбирает чип 8255, сделав ¬ {\ displaystyle {\ neg}}{\ neg} CS низким. Затем он выбирает желаемый порт, используя строки A 0 и A 1.
  • Затем ЦП выдает ¬ {\ displaystyle {\ neg}}{\ neg} RD-сигнал для чтения данных с внешнего периферийного устройства через системную шину данных.

Mode 0 - режим вывода

  • В режиме вывода CPU отправляет данные на 8255 через системную шину данных, а затем внешние периферийные порты получают эти данные через порт 8255.
  • ЦП сначала выбирает микросхему 8255, делая ¬ {\ displaystyle {\ neg}}{\ neg} CS низким. Затем он выбирает желаемый порт, используя строки A 0 и A 1.
  • CPU затем выдает ¬ {\ displaystyle {\ neg}}{\ neg} WR сигнал для записи данных в выбранный порт через системную шину данных. Эти данные затем принимаются внешним периферийным устройством, подключенным к выбранному порту.

Режим 1 - Стробированный режим ввода / вывода

Когда мы хотим использовать порт A или порт B для ввода квитирования (стробирования) или операции вывода, мы инициализируем этот порт в режиме 1 (порт A и порт B могут быть инициализированы для работы в разных режимах, то есть, например, порт A может работать в режиме 0, а порт B в режиме 1). Некоторые контакты порта C работают как линии подтверждения.

Для порта B в этом режиме (независимо от того, действует ли он как порт ввода или порт вывода), выводы PC0, PC1 и PC2 функционируют как линии подтверждения.

Если порт A инициализирован как входной порт режима 1, то PC3, PC4 и PC5 функционируют как сигналы подтверждения. Контакты PC6 и PC7 доступны для использования в качестве линий ввода / вывода.

Режим 1, который поддерживает квитирование, имеет следующие особенности:

  1. Два порта, то есть порт A и B, могут использоваться как 8-битные порты ввода-вывода.
  2. Каждый порт использует три линии порт c в качестве сигнала квитирования, а оставшиеся два сигнала могут использоваться как порты ввода-вывода.
  3. Поддерживается логика прерывания.
  4. Входные и выходные данные фиксируются.

Входные сигналы квитирования

1. IBF (входной буфер заполнен) - это выходной сигнал, указывающий, что входной фиксатор содержит информацию.
2. STB (Strobed Input) - вход строба загружает данные в защелку порта, которая удерживает информацию до тех пор, пока она не будет введена в микропроцессор с помощью инструкции IN.
3. INTR (запрос прерывания) - это выход, который запрашивает прерывание. Вывод INTR становится логической 1, когда на входе STB возвращается логическая 1, и сбрасывается, когда данные вводятся из порта микропроцессором.
4. INTE (разрешение прерывания) - не является ни входом, ни выходом; это внутренний бит, запрограммированный через позицию бита порта PC4 (порт A) или PC2 (порт B).

Выходные сигналы установления связи

1. OBF (выходной буфер заполнен) - это выходной сигнал с низким уровнем всякий раз, когда данные выводятся (OUT) на порт A или порт B. Этот сигнал устанавливается на логическую единицу всякий раз, когда импульс ACK возвращается от внешнего устройства.
2. ACK (подтверждение) - возвращает вывод OBF к уровню логической 1. Сигнал ACK - это ответ от внешнего устройства, указывающий, что оно получило данные из порта 82C55A.
3. INTR (запрос прерывания) - это сигнал, который часто прерывает микропроцессор, когда внешнее устройство получает данные через сигнал. этот вывод определяется внутренним битом INTE (разрешение прерывания).
4. INTE (разрешение прерывания) - не является ни входом, ни выходом; это внутренний бит, запрограммированный для включения или отключения вывода INTR. Бит INTE A программируется с помощью бита PC6, а INTE B программируется с помощью бита PC2.

Режим 2 - режим стробированного двунаправленного ввода / вывода

В этом режиме можно инициализировать только порт A. Порт A может использоваться для двунаправленной передачи данных подтверждения. Это означает, что данные могут вводиться или выводиться на одних и тех же восьми линиях (PA0 - PA7). Контакты PC3 - PC7 используются в качестве линий подтверждения для порта A. Остальные контакты порта C (PC0 - PC2) могут использоваться как линии ввода / вывода, если группа B инициализирована в режиме 0, или как квитирование для порта B, если группа B - инициализируется в режиме 1. В этом режиме 8255 может использоваться для расширения системной шины до подчиненного микропроцессора или для передачи байтов данных на контроллер гибких дисков и обратно. Сигналы подтверждения и квитирования предоставляются для поддержания надлежащего потока данных и синхронизации между передатчиком и приемником данных.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-24 03:56:38
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте