MSX-сайт с компиляцией материалов из разных источников

Национальная библиотека им. Н. Э. Баумана

Intel 8255

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы:22:20, 25 апреля 2016.


Intel D8255

Intel 8255 — микросхема контроллера программируемого параллельного ввода/вывода информации. Применяется в качестве элемента ввода/вывода общего назначения, сопрягающего различные типы периферийных устройств с магистралью данных систем обработки информации. Отечественный аналог – КР580ВВ55.

Содержание

§ 1 Основные особенности

§ 2 Описание выводов

§ 3 Операционные режимы

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

§ 5 Режим ввода/вывода (I/O mode)

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

§ 5.2 Режим 0 (простой ввод/вывод)

§ 5.3 Режим 1 (тактируемый ввод/вывод)

§ 5.3.1 Cигналы для управления операцией ввода

§ 5.3.2 Cигналы для управления операцией вывода

§ 5.4 Режим 2 (двунаправленный тактируемый ввод/вывод)

§ 5.4.1 Описание управляющих сигналов для двунаправленного ввода/вывода

§ 5.4.1.1 Режим вывода

§ 5.4.1.2 Режим ввода

§ 6 Ссылки

Основные особенности

Данное устройство может быть использовано как для простого ввода/вывода информации, так и для ввода/вывода по прерываниям

Совместим со всеми микропроцессорами Intel, а также со многими другими

Полностью совместим с ТТЛ микросхемами

Имеет три 8-битных канала ввода/вывода:канал А, канал В, канал С, которые разделяются на две группы по 12 выводов. У каждого канала есть свой уникальный адрес. Данные могут быть как записаны в канал, так и прочитаны оттуда.

Существует три режима работы микросхемы:режим 0, режим 1 и режим 2:

1. В режиме 0 три упомянутых выше канала могут быть независимо друг от друга запрограммированы на ввод или вывод информации.

2. Режим 1 позволяет передавать информацию по каналам A и B, используя отдельные биты канала C для управления обменом данными.

3. В режиме 2 канал A приобретает свойство двунаправленной шины, управляемой отдельными битами канала C. Также возможны установка и сброс отдельных битов канала C.

Описание выводов


Диаграмма выводов Intel 8255

Выводы Функции
D0-D7 Двунаправленная шина данных. Предназначена для передачи данных, управления командами, поступающими с микропроцессора, получения данных или слов состояния.
РА0-РА7 Канал А
РВ0-РВ7 Канал В
РС0-РС7 Канал С
¬¬RD Чтение. Нулевое значение на входе позволяет передать данные или слово состояния процессору.
¬¬WR Запись. Нулевое значение на входе позволяет принять данные или управляющую команду.
¬¬CS Выбор микросхемы. Нулевое значение на входе инициирует обмен между процессором и контроллером.
Reset Сброс. При единичном значении на входе сбрасываются в нуль все внутренние регистры, включая регистры управления, переключаются все каналы (A, B, C) в режим 0, одновременно переводя их в режим ввода (только при ¬¬RD=0 и ¬¬WR=0).
А0 и А1 А0 и А1 Адресные входы. Позволяют выбрать один из каналов (A, B, C) или регистры управляющего слова и состояния (в зависимости от сигналов на входах ¬¬RD и ¬¬WR)

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

А0 А1 ¬¬RD ¬¬WR ¬¬CS Операции
Операции ввода
0 0 0 1 0 Канал А → Шина данных
0 1 0 1 0 Канал В → Шина данных
1 0 0 1 0 Канал С → Шина данных
Операции вывода
0 0 1 0 0 Шина данных → Канал А
0 1 1 0 0 Шина данных → Канал В
1 0 1 0 0 Шина данных → Канал С
1 1 1 0 0 Шина данных → Регистр управления
X X X X 1 Шина данных в высокоомном состоянии
1 1 0 1 0 Недопустимое состояние
X X 1 1 0 Шина данных в высокоомном состоянии

Операционные режимы

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

Режим оперирования битами (BSR mode)

Режим ввода/вывода (I/O mode)

Эти два режима выбираются на основе значения, присутствующего на выводе D7 регистра управляющего слова. При D7=1 контроллер работает в первом режиме, а при D7=0 – во втором.

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

Данный режим применим только к каналу С. Каждая линия канала C (PC0-PC7) управляется путём соответствующего бита регистра управляющего слова. Режим BSR и режим ввода/вывода независимы друг от друга, поэтому выбор режима BSR не влияет на работу других каналов в режиме ввода /вывода.
Выбор вывода канала C определяется следующим образом:

B3 B2 B1 Выбранный вывод канала С
0 0 0 PC0
0 0 1 PC1
0 1 0 PC2
0 1 1 PC3
1 0 0 PC4
1 0 1 PC5
1 1 0 PC6
1 1 1 PC7

Например, если необходимо установить PC3, то в управляющем слове:

Так как режим BSR, то D7 = "0".

Так как D4, D5, D6 не используются, считаем их равными "0".

PC5 должен быть выбран, следовательно, D3 = "0", D2 = "1", D1 = "1".

PC5 должен быть установлен, следовательно, D0 = "1".

Таким образом, в регистр управляющего слова буде загружены следующие значения:"00001011"

Режим ввода/вывода (I/O mode)

Этот режим выбирается, когда бит регистра управляющего слова D7=1. Есть три режима ввода/вывода:

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

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

Разряды D0, D1, D3, D4 предназначены для младшей тетрады С, канала В, а старшей тетрады канала С и канала А соответственно. Когда на эти выводы подаётся единичный сигнал, то соответствующий ему канал работает как входной. Если на эти входы подать 0, то соответствующий канал работает как выходной.
D2 используется для выбора режима работы группы В (канал В и младшая тетрада С). При D2=0, выбирается режим 0, в противном случае – режим 1.
Разряды D5 и D6 используются для выбора режима работы группы А (канал А и старшая тетрада канала C).
Например, если канал B и старшая тетрада канала C должны быть использованы в качестве входных каналов, а младшая тетрада канала C и канал А в качестве выходных каналов (всё в режиме 0):

  1. Выберем режим ввода/вывода подачей единицы на разряд D7
  2. Разряды D2=D5=D6=0
  3. Канал B и старшая тетрада канала С должны работать в качестве входных каналов, следовательно D1=D3=1.
  4. Канал А и младшая тетрада канала C должны работать в качестве выходных каналов, следовательно D4=D0=0.

Значит для нашей операции в регистр управляющего слова должно быть записано "10001010".

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

В этом режиме каналы могут быть использованы для операций простой ввода/вывода без сигналов подтверждения связи. Каналы A и B обеспечивают простую операцию ввода/вывода. Обе тетрады канала C могут быть либо использованы вместе в качестве дополнительного 8-битного канала, либо в качестве отдельных 4-разрядных каналов. Так как две тетрады канала C независимы, то они могут быть использованы таким образом, что одна половина используется в качестве входного канала, а другая половина используется в качестве выходного канала. Таким образом, основные особенности функционирования микросхемы в режиме 0 следующие:

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

Режим 1 (тактируемый ввод/вывод)


Управляющие сигналы для различных режимов работы.

Когда мы хотим использовать канал A или B для однонаправленного обмена данными по выбранному каналу с периферийным устройством, мы инициализируем этот канал в режиме 1 (каналы A и B могут работать в различных режимах, т.е. для например, канал А может работать в режиме 0, а В в режиме 1). Для канала B в этом режиме (независимо от того, выступает он в качестве входного канала или выходного) контакты PC0, P C1 и PC2 функционируют для синхронизации интерфейса и периферийного оборудования. Если канал А работает в режиме 1 входного канала, тогда PC3, PC4 и PC5 функционируют для синхронизации интерфейса и периферийного оборудования. Выводы PC6 и PC7 доступны для использования в качестве входных/выходных линий. Основные особенности работы в данном режиме:

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

Cигналы для управления операцией ввода

  1. ¬¬STB (STROBE) – по низкому уровню на этом входе входные данные записываются в буферную память.
  2. ¬¬IBF (INPUT BUFFER FULL) – высокий уровень на этом выходе показывает, что данные загружены в буферную память. Задний фронт сигнала ¬¬STB устанавливает этот выход в уровень лог. 1, передний фронт сигнала на входе ¬¬RD сбрасывает его в лог. 0.
  3. INTR (INTERRUPT) – высокий уровень на этом выходе может быть использован для прерывания выполнения основной программы процессора, чтобы обслужить устройство ввода. Сигнал INTR устанавливается в лог. 1 по переднему фронту сигнала ¬¬STB (если установлен сигнал INTE разрешения прерывания) и сбрасывается по заднему фронту сигнала на входе ¬¬RD микросхемы. Этот процесс обеспечивает ввод данных в микропроцессор со стороны устройства ввода простым стробированием своих данных.
  4. INTE A – разрешение прерывания для канала A. Управляется установкой/сбросом бита 4 канала С.
  5. INTE B – разрешение прерывания для канала B. Управляется установкой/сбросом бита 2 канала С.

Cигналы для управления операцией вывода

  1. ¬¬OBF (OUTPUT BUFFER FULL) – сигнал высокого уровня на этом выходе показывает устройству вывода, что микропроцессор записал данные в канал. Сигнал устанавливается в лог. 1 по переднему фронту на входе ¬¬WR микросхемы и сбрасывается по заднему фронту сигнала ¬¬ACK.
  2. ¬¬ACK (ACKNOWLEDGEMENT) – низкий уровень на этом выходе показывает микропроцессору, что периферийное устройство приняло данные.
  3. INTR (INTERRUPT) – высокий уровень на этом выходе может быть использован для прерывания выполнения основной программы процессора в момент принятия данных периферийным устройством. Сигнал INTR устанавливается в лог. 1 по переднему фронту сигнала ¬¬ACK (если одновременно сигналы ¬¬OBF и INTE установлены в лог. 1) и сбрасывается по заднему фронту сигнала на входе ¬¬WR микросхемы.
  4. INTE A – разрешение прерывания для канала A. Управляется установкой/сбросом бита 6 канала С.
  5. INTE B – разрешение прерывания для канала B. Управляется установкой/сбросом бита 2 канала С.

Режим 2 (двунаправленный тактируемый ввод/вывод)

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

Описание управляющих сигналов для двунаправленного ввода/вывода

INTR (INTERRUPT) – высокий уровень на этом выходе может быть использован для прерывания выполнения основной программы процессора.

Режим вывода
  1. ¬¬OBF (OUTPUT BUFFER FULL) – сигнал высокого уровня на этом выходе показывает устройству вывода, что микропроцессор записал данные в канал A.
  2. ¬¬ACK (ACKNOWLEDGEMENT) – низкий уровень на этом выходе выводит выходной буфер канала A из третьего состояния для вывода данных в периферийное устройство. В остальных случаях выходной буфер остается в третьем состоянии.
  3. INTE 1 (INTE плюс ¬¬OBF) – разрешение прерывания для канала A при работе на вывод. Управляется установкой/сбросом бита 6 канала С.
Режим ввода
  1. ¬¬STB (STROBE) – низкий уровень на этом входе загружает данные из периферийного устройства в буферную память канала A.
  2. ¬¬IBF (INPUT BUFFER FULL) – высокий уровень на этом выходе показывает, что данные загружены в буферную память.
  3. INTE 2 (INTE плюс ¬¬IBF) – разрешение прерывания для канала A при работе на вывод. Управляется установкой/сбросом бита 4 канала С.

Ссылки

  1. Godse A., Godse D. Micriprocessors and Interfacing Techniques. — Pune :Technical Publications, 2009 — ISBN 978-81-8431-371-0
  2. http://www.computer-museum.ru/technlgy/i8255.htm
  3. Intel 8255 Datasheet
  4. Статья в Википедии

Источник — «https://ru.bmstu.wiki/index.php?title=Intel_8255&oldid=29031»

ISSN 2542-0356