Jump to content

Интел 8255

Интел Д8255
Распиновка 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 теперь в основном встроена в более крупные микросхемы обработки СБИС в качестве подфункции. Версия CMOS 8255 все еще выпускается. [3] от Renesas, но в основном используется для расширения ввода-вывода микроконтроллеров .

Похожие фишки

[ редактировать ]

8255 имеет те же функции, что и Motorola 6820 PIA (адаптер периферийного интерфейса) из семейства Motorola 6800 , также первоначально упакованный как 40-контактный DIL. 8255 имеет 24 контакта ввода/вывода с четырьмя программируемыми битами направления: один для порта A(7:0) (т.е. для всех контактов порта), один для порта B(7:0), один для порта C(3:0): 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 от Теслы

Версия 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] В Восточной Европе эквивалентные схемы производились как КР580ВВ55А в Советском Союзе и как 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-битным буфером данных) для чтения/записи данных в порты или регистр управления в зависимости от состояния РД (контакт 5) и WR (вывод 36), которые представляют собой сигналы с активным низким уровнем для операций чтения и записи соответственно. Адресные строки A 1 и A 0 позволяют получить доступ к регистру данных для каждого порта или регистру управления, как указано ниже:

А 1 А 0 Порт выбран
0 0 порт А
0 1 порт Б
1 0 порт С
1 1 регистр управления

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

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

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

[ редактировать ]

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

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

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

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

[ редактировать ]

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

8255 режим BSR
  • Бит D 7 всегда равен 0 для режима BSR.
  • Биты D6 , D5 и D4 не имеют значения.
  • Биты D3 , D2 и D1 используются для выбора контакта порта C.
  • Бит D0 используется для установки/сброса выбранного контакта порта C.

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

Д3 Д2 Д1 Выбран бит/контакт порта C
0 0 0 ПК 0
0 0 1 ПК 1
0 1 0 ПК 2
0 1 1 ПК 3
1 0 0 ПК 4
1 0 1 ПК 5
1 1 0 ПК 6
1 1 1 ПК 7

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

  1. Since it is BSR mode, D 7 = '0' .
  2. Поскольку D 4 , D 5 , D 6 не используются, предположим, что они равны ' 0' .
  3. ПК 5 должен быть выбран, следовательно, D3 = = '1', D2 ' 0', D1 = '1' .
  4. PC 5 ​​должен быть установлен, следовательно, D0 = '1' .

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

D7 Д6 Д5 Д4 Д3 Д2 Д1 Д0
0 0 0 0 1 0 1 1

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

[ редактировать ]

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

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

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

[ редактировать ]
Формат управляющего слова ввода/вывода
  • D 0 , 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 действуют как выходные порты.
  • D 2 используется для выбора режима группы B (порт B и нижний порт C). Когда D 2 = 0, выбирается режим 0, а когда D 2 = 1, выбирается режим 1.
  • D5 . и D6 используются для выбора режима группы A (порт A и верхний порт C) Выбор осуществляется следующим образом:
Д 6 Д 5 Режим
0 0 0
0 1 1
1 Х 2
  • As it is I/O mode, D 7 = 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 — простой ввод-вывод

[ редактировать ]

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

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

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

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

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

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

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

[ редактировать ]
  • В режиме ввода 8255 получает данные от внешних периферийных портов, а ЦП считывает полученные данные через свою шину данных.
  • ЦП сначала выбирает чип 8255, делая КС низкий. Затем он выбирает нужный порт, используя линии A 0 и A 1 .
  • Затем ЦП выдает Сигнал RD для чтения данных с внешнего периферийного устройства по системной шине данных.

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

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

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

1. OBF (выходной буфер полон) — это выходной сигнал, который переходит в низкий уровень всякий раз, когда данные выводятся (OUT) на защелку порта A или порта B. Этот сигнал устанавливается на логическую 1 всякий раз, когда импульс подтверждения возвращается от внешнего устройства.
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. ^ Р. Теагараджан (1 января 2004 г.). Микропроцессор и его применение . Нью Эйдж Интернэшнл. стр. 165–. ISBN  978-81-224-1040-2 . Проверено 3 июня 2012 г.
  2. ^ Программирование встраиваемых систем . Публикации Миллера Фримена. Июль 1996 г. с. 256 . Проверено 3 июня 2012 г.
  3. ^ «Страница продукта 82C55A» . Ренесас Электроникс . Проверено 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, Solutions, январь/февраль 1986 г., стр. 2
  8. ^ Робер Журден (1986). Решение задач программиста для IBM PC, XT и AT . Brady Communications Co. p. 3 . Проверено 3 июня 2012 г.
  9. ^ Мир электроники . Рид Бизнес Паб. 1996. с. 947 . Проверено 3 июня 2012 г.
  10. ^ «Техническое описание Intel 82c55 PPI» (PDF) .
  11. ^ «Техническое описание PCI 82C55A» (PDF) .
  12. ^ Байт . МакГроу-Хилл. 1981. с. 40 . Проверено 3 июня 2012 г.
  13. ^ США Шах. «11». Микропроцессорные и интерфейсные методы (второе изд.). Публикация Техмакс. стр. 11–5. ISBN  978-81-8492-305-6 .
  14. ^ «Введение в i8255» (PDF) .
[ редактировать ]
  • draw.hickmans.net , Полное описание микросхемы Intel 8255
  • ic-on-line.cn , Техническое описание
  • Sharpmz.org , обзор функций
  • intel-assembler.it , Технические детали программирования и пример кодирования
  • bitsavers.informatik.uni-stuttgart.de , Руководство пользователя микрокомпьютерных систем Intel 8080 (сентябрь 1975 г.). В комплекте чип 8255.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e0263862caa9580962fe214c041a2ecc__1721162100
URL1:https://arc.ask3.ru/arc/aa/e0/cc/e0263862caa9580962fe214c041a2ecc.html
Заголовок, (Title) документа по адресу, URL1:
Intel 8255 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)