Программируемый периферийный интерфейс Intel 8255 (PPI) был ключевым компонентом в соединении микропроцессоров с внешними устройствами на заре цифровых систем. Благодаря универсальным портам ввода-вывода, нескольким режимам работы и простоте программирования модель 8255 обеспечивает надежную связь с дисплеями, датчиками и контроллерами, что делает ее полезной как в образовании, так и в промышленности.
С1. Обзор программируемого периферийного интерфейса (PPI) 8255
С2. Особенности чипа 8255 PPI
С3. Распиновка чипа 8255 PPI
С4. Архитектура чипа 8255 PPI
С5. Режимы работы и принцип работы чипа 8255 PPI
С6. Особенности сопряжения чипа 8255 PPI
С7. Преимущества чипа 8255 PPI
С8. Применение чипа 8255 PPI
С9. Сравнение чипов 8255 PPI с другими PPI
С10. Устранение неполадок и распространенные проблемы
С11. Заключение
С12. Часто задаваемые вопросы [FAQ]

Обзор программируемого периферийного интерфейса (PPI) 8255
Чип Intel 8255 PPI — это широко используемая микросхема ввода-вывода, предназначенная для подключения микропроцессоров к внешним устройствам. Он действует как коммуникационный мост для периферийных устройств, таких как АЦП, ЦАП, клавиатуры и дисплеи. Поддерживая как прямой, так и управляемый прерываниями ввод-вывод, он обеспечивает гибкость при проектировании системы. Благодаря трем 8-разрядным двунаправленным портам (A, B, C) он обеспечивает 24 настраиваемые линии ввода-вывода. Его экономичность и совместимость с такими процессорами, как Intel 8085/8086, сделали его основным продуктом в ранних компьютерных системах, учебных комплектах и промышленных контроллерах.
Особенности чипа 8255 PPI
• Программируемый интерфейс — настраивается с помощью инструкций программного обеспечения для адаптации к таким устройствам, как дисплеи, датчики и модули ввода.
• Три 8-разрядных порта – порты A, B и C обеспечивают 24 линии, которые могут функционировать как вход или выход.
• Несколько режимов работы –
Режим 0: Простой ввод/вывод без рукопожатия.
Режим 1: Стробоскопированный ввод/вывод с сигналами рукопожатия для синхронизированной связи.
Режим 2: двунаправленная передача данных с квитированием (только на порту А).
• Установка/сброс битов (BSR) – биты порта C могут быть индивидуально установлены или очищены для приложений управления/состояния.
• Гибкая группировка – порты могут быть разделены на 8-разрядные или 4-разрядные группы.
• Совместимость с TTL – простая интеграция со стандартными цифровыми ИС.
• Независимые регистры управления – каждый порт может работать отдельно, в разных режимах или направлениях.
Распиновка чипа 8255 PPI

| Пин No. | Группа | Сигнал | Описание |
|---|---|---|---|
| 1–8 | Порт А | PA0–PA7 | 8-разрядный порт ввода-вывода общего назначения |
| 9–16 | Порт C | ПК0–ПК7 | Подразделяется на ПК0–ПК3 (нижний) и ПК4–ПК7 (верхний); используется в качестве линий ввода-вывода или рукопожатия |
| 17–24 | Порт B | ПБ0–ПБ7 | 8-разрядный порт ввода-вывода общего назначения |
| 25 | Управление | CS' | Выбор фишек (активный низкий) |
| 26 | Мощность | Вск | Напряжение питания +5 В |
| 27 | Управление | РД' | Чтение включить |
| 28 | Управление | WR' | Запись enable |
| 29 | Управление | СБРОС | Сбрасывает все порты во входное состояние |
| 30–37 | Шина данных | Д0–Д7 | Передача данных/команд между процессором и 8255 |
| 38–39 | Контактные адреса | А0, А1 | Выбор внутренних регистров/портов: 00=Порт A, 01=Порт B, 10=Порт C, 11=Управление |
| 40 | Земля | ГНД | Наземная привязка |
Архитектура чипа 8255 PPI

| Функциональный блок | Описание |
|---|---|
| Буфер шины данных | Действует как интерфейс между двунаправленной шиной данных процессора (D7–D0) и внутренней 8-разрядной шиной данных 8255. Он временно хранит и передает данные между процессором и внутренними регистрами или портами. |
| Чтение/запись управляющей логики | Управляет всеми коммуникациями между процессором и 8255. Он интерпретирует управляющие сигналы, такие как RD, WR, A0, A1, CS и RESET, чтобы определить тип операции (чтение, запись или управление) и выбрать правильный порт или регистр управления. |
| Логика управления (декодер) | Декодирует управляющее слово, отправленное процессором для настройки портов в различных режимах (режим 0, 1 или 2) или в режиме установки битов/сброса (BSR). Он определяет, как будет работать каждый порт — в качестве входа, вывода или рукопожатия. |
| Контроль группы А | Управляет портом A (8 бит: PA7–PA0) и верхним портом C (4 бита: PC7–PC4). Он поддерживает режимы 0, 1 и 2, обеспечивая простой ввод-вывод, ввод-вывод при рукопожатии и двунаправленную передачу данных |
| Контроль группы B | Управляет портом B (8 бит: PB7–PB0) и нижним портом C (4 бита: PC3–PC0). Он поддерживает режимы 0 и 1, что позволяет выполнять основные операции ввода/вывода или управляемые рукопожатием. |
| Порт А | 8-разрядный порт ввода-вывода, который может работать как вход или выход в зависимости от конфигурации режима. Поддерживает режимы 0–2 под управлением группы A. |
| Порт B | Еще один**8-битный порт ввода-вывода** для передачи данных. Работает под управлением группы B и поддерживает режимы 0 и 1. |
| Порт C | Разделенный 8-битный порт разделен на две 4-битные группы: Верхний (PC7–PC4) и Нижний (PC3–PC0). Они могут выступать в качестве независимых портов ввода-вывода, линий управления или сигналов рукопожатия. Отдельными битами также можно управлять с помощью режима Bit Set/Reset (BSR). |
| Внутренняя шина данных (8-разрядная) | Соединяет все внутренние блоки 8255, передавая данные и управляющую информацию между процессором, логикой управления и портами. |
| Блок питания | Чип работает с питанием +5 В постоянного тока и соединением GND для питания всей схемы. |
Режимы работы и принцип работы чипа 8255 PPI
Intel 8255 служит программируемым интерфейсом между процессором и периферийными устройствами, преобразуя операции шины в параллельную передачу данных. Его работа регулируется шагами инициализации и выбираемыми режимами:
Сброс состояния
При включении питания или сбросе все порты (A, B и C) по умолчанию переходят в режим ввода, чтобы избежать повреждения периферийных устройств непредусмотренными выходами.
Инициализация
ЦП должен отправить управляющее слово, которое настраивает каждый порт в качестве входа/вывода и выбирает один из четырех режимов работы. Пока это не будет сделано, порты останутся неактивными.
Режимы работы
Режим установки/сброса бит (BSR)
• Применяется только к порту C.
• Позволяет устанавливать или очищать отдельные биты для задач управления/состояния.
Режим 0 – Простой ввод/вывод
• Базовый ввод/вывод без рукопожатия.
• Используется для простых передач, таких как светодиоды, переключатели и дисплеи.
Режим 1 – Стробоскопированный ввод/вывод
• Добавляет сигналы рукопожатия (STB, ACK, IBF, OBF) через порт C.
• Обеспечивает синхронизированную передачу данных с периферийных устройств процессора ↔.
Режим 2 – двунаправленный ввод/вывод
• Доступно только в порту A.
• Поддерживает двустороннюю передачу данных с управлением рукопожатием, полезно для высокоскоростных или асинхронных устройств.
Операции чтения/записи
• Запись: ЦП помещает данные на системную шину, а 8255 декодирует адресные строки (A0, A1), чтобы направить их на выходную фиксацию нужного порта.
• Чтение: Внешние устройства помещают данные в порты, которые 8255 фиксирует и делает доступными для процессора во время команды чтения.
Синхронизация
• В режиме 0 передача данных происходит напрямую, без рукопожатий.
• В режимах 1 и 2 сигналы рукопожатия из порта C координируют готовность и прием, предотвращая потерю данных во время высокоскоростной или асинхронной передачи.
Особенности интерфейса чипа 8255 PPI
При проектировании систем с помощью 8255 тщательное сопряжение обеспечивает надежность и предотвращает повреждение как микросхемы, так и внешних устройств:
• Состояние ввода по умолчанию — при сбросе все порты по умолчанию используют входы. Это позволяет избежать конфликтов, но также означает, что выходные данные будут неактивны до тех пор, пока они не будут настроены. Процессор всегда должен отправлять управляющее слово, чтобы правильно определить направление и режим перед попыткой связи.
• Ограничения выходного напряжения – порты 8255 могут подавать или поглощать только ограниченный ток (несколько миллиампер). Прямое движение тяжелых грузов, таких как лампы, соленоиды или реле, небезопасно. Вместо этого обычно используются буферные или драйверные микросхемы, такие как ULN2803 (массив Дарлингтона) или шлюзы с открытым коллектором, такие как 7406. Они обеспечивают более высокую пропускную способность по току и защищают PPI.
• Управление двигателем – для двигателей постоянного тока или шаговых двигателей порты 8255 не должны подключаться напрямую. Вместо этого выходы должны быть проложены через транзисторные каскады или цепи драйвера H-моста. Такая компоновка обеспечивает двунаправленное протекание тока, изолируя PPI от индуктивных скачков напряжения.
• Коммутация нагрузки переменного тока – для взаимодействия с приборами переменного тока требуется изоляция для обеспечения безопасности. Механические реле или твердотельные реле (SSR), приводимые в действие через буферные каскады, гарантируют, что 8255 обрабатывает только управляющие сигналы, в то время как фактическая высоковольтная нагрузка безопасно переключается извне.
• Ограничения порта C — биты порта C не всегда можно свободно использовать в качестве общих входов/выходов. В режимах 1 и 2 несколько контактов (например, STB, ACK, IBF, OBF) автоматически резервируются для управления рукопожатием. Необходимо учитывать эти зарезервированные строки, чтобы избежать конфликтов при смешивании общих операций ввода-вывода с рукопожатием.
Преимущества чипа 8255 PPI
• Совместимость с процессорами – 8255 безупречно работает с такими процессорами, как Intel 8085, 8086 и их совместимыми. Его конструкция соответствует стандартным протоколам шины, что делает интеграцию простой без дополнительной связующей логики.
• Гибкая конфигурация портов – благодаря трем 8-разрядным портам (A, B, C) пользователи могут настраивать их в качестве входа, вывода или микширования в зависимости от приложения. Возможность переключения между простым вводом-выводом (режим 0) и связью на основе рукопожатия (режимы 1 и 2) позволяет одному и тому же чипу выполнять широкий спектр задач.
• Работа от одного источника питания – Работая от стандартного источника питания +5 В, 8255 легко питается в системах на основе TTL. Не требуются специальные регуляторы или несколько уровней напряжения, что упрощает конструкцию платы.
• Надежная параллельная передача данных – чип обеспечивает стабильную и предсказуемую 8-битную параллельную связь, снижая временные неопределенности. Эта надежность делает его пригодным для отображения на дисплеях управления, считывания датчиков и управления сигналами управления в реальных системах.
• Образовательная ценность – Поскольку он хорошо документирован и широко доступен, 8255 стал ключевым учебным инструментом в микропроцессорных лабораториях и учебных комплектах. Вы можете быстро понять концепции взаимодействия ввода-вывода с помощью практических экспериментов с этим устройством.
Применение чипа 8255 PPI
• Образовательные системы – Учебные комплекты и лабораторные доски часто включают в себя 8255 для демонстрации концепций сопряжения периферийных устройств. Можно попрактиковаться в программировании разных режимов и понаблюдать за реальным взаимодействием с внешними устройствами.
• Управление дисплеем — чип управляет устройствами визуального вывода, такими как семисегментные светодиоды, ЖК-модули и буквенно-цифровые панели. Благодаря нескольким линиям ввода-вывода он может обновлять дисплеи или отправлять команды управления на микросхемы драйверов.
• Интерфейс клавиатуры – матричные клавиатуры в ранних терминалах и персональных компьютерах часто сканировались с помощью 8255. Настроив некоторые строки в качестве драйверов строк, а другие — в качестве датчиков столбцов, он эффективно обнаруживает нажатия клавиш.
• Управление двигателем – шаговыми двигателями и двигателями постоянного тока можно управлять, когда 8255 сопряжен с транзисторными каскадами, массивами Дарлингтона или H-мостами. Это сделало его полезным в робототехнике, системах позиционирования и проектах автоматизации.
• Сбор данных – при подключении к АЦП (аналого-цифровым преобразователям) и ЦАП (цифро-аналоговым преобразователям) 8255 обеспечивает полнофункциональный интерфейс для выполнения задач измерения и управления. Это позволило микропроцессорам обрабатывать сигналы в научном и промышленном оборудовании.
• Промышленная автоматизация – модель 8255 нашла применение в управлении светофорами, логикой лифтов и панелями мониторинга процессов. Его способность надежно управлять несколькими входами и выходами сделала его недорогим решением для встраиваемых систем управления.
• Ретро-вычисления – Классические машины, такие как IBM PC/XT и компьютеры MSX, использовали 8255 для подключения периферийных устройств. Он также использовался в принтерах и картах расширения, закрепив свое место в ранней истории персональных компьютеров.
Сравнение чипа 8255 PPI с другими PPI
9,1 8255 против 8155

Intel 8155 сочетает в себе несколько функций в одном корпусе: он предлагает небольшой блок статической оперативной памяти, программируемый таймер и порты ввода-вывода общего назначения. Это делало его пригодным для компактных систем, где требовалась память и контроль времени. В отличие от него, 8255 полностью ориентирован на программируемые вводы-выводы, без встроенной памяти или синхронизации. Его более простая конструкция делала его более дешевым и простым в программировании, когда приложение не требовало встроенной оперативной памяти или таймеров.
8255 vs. 8259

Программируемый контроллер прерываний 8259 выполняет совершенно иную задачу: управление аппаратными прерываниями, чтобы помочь процессору быстро реагировать на внешние события. В то время как 8255 обрабатывает параллельную передачу данных ввода-вывода, 8259 координирует сигналы прерывания. Во многих микропроцессорных системах эти два чипа использовались вместе: 8255 для взаимодействия с такими устройствами, как клавиатуры и дисплеи, и 8259 для управления запросами прерываний, генерируемыми этими устройствами.
8255 в сравнении с современными расширителями GPIO

В современных системах часто используются расширители GPIO на основе I²C или SPI (например, MCP23017 или PCF8574). Эти устройства обеспечивают дополнительные контакты ввода-вывода с меньшим количеством соединений, что экономит место на плате и уменьшает количество контактов на процессоре. Тем не менее, они работают последовательно, что может быть медленнее по сравнению с прямым параллельным доступом 8255. В то время как 8255 требует большего количества шинных линий, его параллельная структура обеспечивает более быструю передачу данных и делает его очень ценным в образовательных средах, где прямое управление отдельными контактами и понимание синхронизации шины важны для обучения.
Устранение неполадок и распространенные проблемы
Работа с 8255 иногда может привести к сбоям в работе системы, если не следовать строгим правилам проектирования. Распространенные проблемы и способы их решения включают:
• Неинициализированные порты — после сброса все порты по умолчанию переходят в режим ввода. Если процессор не отправляет правильное управляющее слово, выходные данные остаются неактивными или ведут себя непредсказуемо. Всегда программируйте управляющий регистр перед попыткой чтения или записи данных.
• Неправильные управляющие слова — неправильно настроенные управляющие слова могут назначать портам неправильные направления или режимы, блокируя ожидаемые сигналы. Сверяйте значения контрольных слов с таблицами даташитов, чтобы убедиться в правильности настройки битов.
• Сбои рукопожатия – в режимах 1 и 2 порт C подает необходимые сигналы рукопожатия (STB, ACK, IBF, OBF). Отсутствующие, неправильно подключенные или неправильно интерпретированные соединения приводят к задержке или потере передачи. Тщательно проверяйте как проводку, так и логические ожидания подключенных устройств.
• Выходы перегрузки – каждый контакт порта может обрабатывать только небольшие токи. Прямое управление светодиодами возможно с помощью резисторов, но для двигателей, реле и ламп требуются внешние буферные каскады, такие как транзисторные массивы или микросхемы драйверов. Игнорирование этого ограничения может привести к необратимому повреждению чипа.
• Конфликты шины — если несколько устройств пытаются управлять системной шиной одновременно, это может привести к повреждению данных или повреждению оборудования. Надлежащий арбитраж шин и использование разрешающих сигналов (RD', WR', CS') предотвращают эту проблему.
• Инструменты отладки — когда проблемы сохраняются, тестовое оборудование помогает изолировать неисправности. Логические анализаторы могут подтверждать временные и управляющие сигналы, а осциллографы могут проверять, возникает ли проблема из-за шумной проводки оборудования или неправильной инициализации программного обеспечения.
Заключение
Процессор Intel 8255 PPI остается краеугольным камнем интерфейса микропроцессоров. Несмотря на то, что он в значительной степени заменен современными расширителями GPIO и встроенными микроконтроллерами ввода-вывода, он продолжает служить активным инструментом обучения. Его четкость в демонстрации параллельной передачи данных, конфигурации портов и рукопожатия делает его бесценным для всех.
Часто задаваемые вопросы [FAQ]
Что является контрольным словом в 8255 и почему оно важно?
Управляющее слово — это 8-разрядная инструкция, отправляемая процессором для настройки портов и режимов 8255. Без него все порты остаются в своем входном состоянии по умолчанию. Он определяет, выступает ли каждый порт в качестве входа или выхода, и выбирает между режимами 0, 1, 2 или набором/сбросом битов.
Может ли модель 8255 приводить в движение двигатели или реле напрямую?
Нет. Выходы 8255 могут подавать или потреблять только несколько миллиампер, что недостаточно для двигателей или реле. Для безопасной работы с большим током необходимо использовать внешние цепи драйверов, такие как транзисторные матрицы или H-мосты.
Почему модель 8255 до сих пор используется в образовании?
Микропроцессор 8255 представляет собой наглядный практический способ изучения ввода-вывода микропроцессора, управляющих слов и параллельной передачи данных. Его простая архитектура помогает студентам понять основные концепции, прежде чем переходить к современным микроконтроллерам.
Что произойдет, если использовать порт C в режимах рукопожатия?
В режимах 1 и 2 некоторые линии порта C зарезервированы для сигналов рукопожатия (например, STB, ACK, IBF, OBF). Эти выводы не могут использоваться в качестве универсальных вводов/выводов в тех режимах, которые необходимо учитывать во избежание конфликтов.
Чем 8255 отличается от современных расширителей GPIO?
В отличие от экспандеров I²C/SPI, использующих последовательную связь, 8255 работает с параллельной шиной, обеспечивая более быструю передачу, но требуя большего количества контактов. Это делает модель 8255 менее компактной, но ценной для фактического управления и изучения синхронизации шины.