stringtranslate.com

Интел 8255

Intel D8255
Распиновка i8255

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

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

Функциональность 8255 в настоящее время в основном встроена в более крупные микросхемы обработки VLSI в качестве подфункции. Версия CMOS 8255 все еще производится [3] компанией Renesas, но в основном используется для расширения ввода-вывода микроконтроллеров .

Похожие чипсы

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

Другие сопоставимые микросхемы ввода-вывода микропроцессора — это программируемый периферийный интерфейс 2655 из семейства Signetics 2650 , Z80 PIO , Western Design Center WDC 65C21 (эквивалент Motorola 6820/6821), а также MOS Technology 6522 VIA и 6526 CIA , которые имели значительную дополнительную функциональность, такую ​​как таймеры и сдвиговые регистры.

Варианты

MHB8255A от Tesla

Промышленная версия Intel ID8255A была доступна по цене 17,55 долларов США в партиях от 100 штук и более. [4] Доступная версия Intel 8255A-5 была доступна по цене 6,55 долларов США в партиях от 100 штук и более. [5] Доступная версия 82C55A CMOS была передана на аутсорсинг компании Oki Electronic Industry Co., Ltd. [ 6] Доступный корпус от Intel имел марку 82C55 в 44-контактном PLCC выборки в четвертом квартале 1985 года. [7] В Восточной Европе эквивалентные схемы производились как KR580VV55A в Советском Союзе и как MHB8255A компанией Tesla в Чехословакии.

Приложения

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

Функция

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

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

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

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

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

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

Режимы работы 8255

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

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

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

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

Режим BSR 8255

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

Например, если необходимо установить PC 5 , то в контрольном слове

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

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

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

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

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

Формат контрольного слова

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

Например, если порт 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 — простой ввод-вывод

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

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

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

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

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

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

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

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

Режим 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 (стробируемый вход) — стробируемый вход загружает данные в защелку порта, которая удерживает информацию до тех пор, пока она не будет введена в микропроцессор через инструкцию IN.
3. INTR (запрос прерывания) - это выход, который запрашивает прерывание. Вывод INTR становится логической 1, когда вход STB возвращается к логической 1, и очищается, когда данные вводятся из порта микропроцессором.
4. INTE (разрешение прерывания) — это не вход и не выход; это внутренний бит, программируемый через позицию бита порта PC4 (порт A) или PC2 (порт B).

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

1. OBF (выходной буфер заполнен) — это выход, который становится низким всякий раз, когда данные выводятся (OUT) на защелку порта A или порта B. Этот сигнал устанавливается в логическую 1 всякий раз, когда импульс 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 может использоваться для расширения системной шины до подчиненного микропроцессора или для передачи байтов данных на контроллер гибких дисков и с него . Сигналы подтверждения и подтверждения связи предоставляются для поддержания надлежащего потока данных и синхронизации между передатчиком и приемником данных.

Ссылки

  1. ^ R Theagarajan (1 января 2004 г.). Микропроцессор и его применение. New Age International. стр. 165–. ISBN 978-81-224-1040-2. Получено 3 июня 2012 г.
  2. ^ Программирование встраиваемых систем. Miller Freeman Publications. Июль 1996. С. 256. Получено 3 июня 2012 .
  3. ^ "Страница продукта для 82C55A". Renesas Electronics . Получено 11 января 2023 г.
  4. ^ Корпорация Intel, «Компонент микрокомпьютера: Новая линейка продукции промышленного класса отвечает спросу на высоконадежные компоненты для работы в промышленных приложениях», Intel Preview, март/апрель 1979 г., стр. 11
  5. Корпорация Intel, «Периферийные устройства Intel улучшают конструкцию системы 8086», специальный выпуск Intel Preview: 16-битное решение, май/июнь 1980 г., стр. 22
  6. Корпорация Intel, «NewsBit: Intel лицензирует Oki на версию CMOS нескольких продуктов», Solutions, июль/август 1984 г., стр. 1.
  7. ^ Эшборн, Джим; «Усовершенствованная упаковка: немногое значит многое», Intel Corporation, Solutions, январь/февраль 1986 г., стр. 2
  8. ^ Роберт Журден (1986). Решатель проблем программиста для IBM PC, XT и AT. Brady Communications Co. стр. 3. Получено 3 июня 2012 г.
  9. ^ Мир электроники. Reed Business Pub. 1996. стр. 947. Получено 3 июня 2012 г.
  10. ^ "Техническое описание Intel 82c55 PPI" (PDF) .
  11. ^ "Техническое описание PCI 82C55A" (PDF) .
  12. ^ Byte. McGraw-Hill. 1981. стр. 40. Получено 3 июня 2012 г.
  13. ^ US Shah. "11". Microprocessor & Interfacing Techniques (второе изд.). Techmax Publication. стр. 11–5. ISBN 978-81-8492-305-6.
  14. ^ "Введение в i8255" (PDF) .

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