Програмований периферійний інтерфейс Intel 8255 (PPI) був ключовим компонентом у з'єднанні мікропроцесорів із зовнішніми пристроями на зорі цифрових систем. Завдяки універсальним портам вводу/виводу, декільком режимам роботи та простоті програмування 8255 забезпечує надійний зв'язок з дисплеями, датчиками та контролерами, що робить його корисним як у навчанні, так і в промисловості.
З1. 8255 Огляд програмованого периферійного інтерфейсу (PPI)
З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: Двонаправлена передача даних з рукостисканням (тільки на порту А).
• Bit Set/Reset (BSR) – біти порту C можна індивідуально встановити або очистити для програм керування/стану.
• Гнучке групування – порти можуть бути розділені на 8-бітні або 4-бітні групи.
• Сумісність з TTL – проста інтеграція зі стандартними цифровими мікросхемами.
• Незалежні регістри управління – кожен порт може працювати окремо, в різних режимах або напрямках.
Терморегулятори чіпа 8255 PPI

| Шпилька No. | Групові | Сигнал | Опис |
|---|---|---|---|
| 1–8 | Порт А | PA0–PA7 | 8-бітний порт вводу/виводу загального призначення |
| 9–16 | Порт C | ПК0–ПК7 | Поділяються на PC0–PC3 (нижній) і PC4–PC7 (верхній); використовується як лінії вводу/виводу або рукостискання |
| 17–24 | Порт Б | PB0–PB7 | 8-бітний порт вводу/виводу загального призначення |
| 25 | Управління | КС' | Вибір чіпа (активний низький) |
| 26 | Потужність | ВКК | Живлення +5 В |
| 27 | Управління | РД' | Увімкнення читання |
| 28 | Управління | ЗР ' | Увімкнути запис |
| 29 | Управління | СКИДАННЯ | Скидання всіх портів до стану входу |
| 30–37 | Шина даних | D0–D7 | Передача даних/команд між центральним процесором і 8255 |
| 38–39 | Адресні піни | А0, А1 | Виберіть внутрішні регістри/порти: 00=Порт A, 01=Порт B, 10=Порт C, 11=Керування |
| 40 | Грунт | GND | Наземна довідка |
Архітектура чіпа 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 під керуванням групи А. |
| Порт Б | Ще один**8-бітний порт вводу/виводу** для передачі даних. Працює під керуванням групи B і підтримує режими 0 і 1. |
| Порт C | Розділений 8-бітний порт розділений на дві 4-бітні групи: верхню (PC7–PC4) і нижню (PC3–PC0). Вони можуть виступати в якості незалежних портів вводу/виводу, ліній керування або сигналів рукостискання. Окремими бітами також можна керувати за допомогою режиму набору/скидання бітів (BSR). |
| Внутрішня шина даних (8 біт) | Підключає всі внутрішні блоки 8255, передаючи дані та керуючу інформацію між центральним процесором, логікою управління та портами. |
| Блок живлення | Чіп працює від джерела живлення +5 В постійного струму та з'єднання GND для живлення всієї схеми. |
Режими роботи та принцип роботи мікросхеми 8255 PPI
Intel 8255 служить програмованим інтерфейсом між центральним процесором і периферійними пристроями, перетворюючи операції шини в паралельну передачу даних. Його робота регулюється кроками ініціалізації та вибраними режимами:
Стан скидання
Під час увімкнення або скидання всі порти (A, B і C) за замовчуванням переходять у режим вводу, щоб уникнути пошкодження периферійних пристроїв ненавмисними виходами.
Ініціалізація
Центральний процесор повинен відправити керуюче слово, яке налаштовує кожен порт як вхід/вихід і вибирає один з чотирьох режимів роботи. Поки цього не буде зроблено, порти залишаються неактивними.
Режими роботи
Режим встановлення/скидання біт (BSR)
• Застосовується тільки до порту C.
• Дозволяє встановлювати або очищати окремі біти для завдань контролю/стану.
Режим 0 – простий вхід/вивід
• Базовий вхід/вихід без рукостискання.
• Використовується для прямої передачі, такої як світлодіоди, перемикачі та дисплеї.
Режим 1 – стробедований ввід/вивід
• Додає сигнали рукостискання (STB, ACK, IBF, OBF) через порт C.
• Забезпечує синхронізовану передачу периферійних даних процесора ↔.
Режим 2 – Двонаправлений ввід/вивід
• Доступно тільки на порту А.
• Підтримує двосторонню передачу з керуванням рукостискання, корисно для високошвидкісних або асинхронних пристроїв.
Операції читання/запису
• Запис: центральний процесор розміщує дані на системній шині, а 8255 декодує рядки адреси (A0, A1), щоб направити їх на вихідну засувку правильного порту.
• Зчитування: Зовнішні пристрої розміщують дані на лініях портів, які 8255 фіксує і робить доступними для центрального процесора під час команди зчитування.
Синхронізація
• У режимі 0 передача даних відбувається безпосередньо без рукостискань.
• У режимах 1 і 2 сигнали рукостискання з порту C забезпечують готовність і прийняття координат, запобігаючи втраті даних під час високошвидкісної або асинхронної передачі.
Міркування щодо взаємодії мікросхеми 8255 PPI
При проектуванні систем з моделлю 8255 ретельне з'єднання забезпечує надійність і запобігає пошкодженню як чіпа, так і зовнішніх пристроїв:
• Стан входу за замовчуванням – При скиданні всі порти за замовчуванням використовуються для входів. Це дозволяє уникнути конфліктів, але також означає, що виходи неактивні, доки їх не налаштовано. Центральний процесор завжди повинен надсилати контрольне слово для правильного визначення напрямку та режиму перед спробою зв'язку.
• Обмеження вихідного приводу – порти 8255 можуть джереляти або поглинати лише обмежений струм (кілька міліампер). Безпосереднє керування важкими вантажами, такими як лампи, соленоїди або реле, небезпечне. Замість цього зазвичай використовуються мікросхеми буфера або драйвера, такі як ULN2803 (масив Дарлінгтона) або вентилі з відкритим колектором, такі як 7406. Вони забезпечують більш високу струмоємність і захищають PPI.
• Керування двигуном – для двигунів постійного струму або крокових двигунів порти 8255 не повинні підключатися безпосередньо. Замість цього виходи повинні бути прокладені через транзисторні каскади або схеми драйвера H-моста. Таке розташування забезпечує двонаправлену циркуляцію струму, ізолюючи ІПП від індуктивних стрибків напруги.
• Перемикання навантаження змінного струму – взаємодія з приладами змінного струму вимагає ізоляції для безпеки. Механічні реле або твердотільні реле (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 повністю зосереджений на програмованому вході/виході, без вбудованої пам'яті або синхронізації. Його простіша конструкція дозволила дешевше та простіше програмувати, коли програма не вимагала вбудованої оперативної пам'яті або таймерів.
9,2 8255 проти 8259

Програмований контролер переривань 8259 служить зовсім іншій меті: управління апаратними перериваннями, щоб допомогти центральному процесору швидко реагувати на зовнішні події. У той час як 8255 обробляє паралельну передачу даних вводу/виводу, координати 8259 переривають сигнали. У багатьох мікропроцесорних системах ці дві мікросхеми використовувалися разом: 8255 для взаємодії з такими пристроями, як клавіатури та дисплеї, і 8259 для керування запитами на переривання, що генеруються цими пристроями.
8255 проти сучасних розширювачів GPIO

У сучасних системах часто використовуються розширювачі GPIO на основі I²C або PPI (наприклад, 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 менш компактним, але цінним для реального контролю та вивчення часу автобуса.