Програмируемият периферен интерфейс на Intel 8255 (PPI) е ключов компонент в свързването на микропроцесори с външни устройства в ранните дни на цифровите системи. С универсални I/O портове, множество режими на работа и лекота на програмиране, 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. Често задавани въпроси [ЧЗВ]

8255 Преглед на програмируемия периферен интерфейс (PPI)
Чипът Intel 8255 PPI е широко използван I/O чип, предназначен за свързване на микропроцесори с външни устройства. Той действа като комуникационен мост за периферни устройства като ADC, DAC, клавиатури и дисплеи. Поддържайки както директни, така и прекъсвани I/O, той осигурява гъвкавост в дизайна на системата. С три 8-битови двупосочни порта (A, B, C), той осигурява 24 конфигурируеми входно-изходни линии. Неговата рентабилност и съвместимост с процесори като Intel 8085/8086 го правят основен елемент в ранните компютърни системи, комплекти за обучение и индустриални контролери.
Характеристики на 8255 PPI чип
• Програмируем интерфейс – Конфигурируем чрез софтуерни инструкции за адаптиране към устройства като дисплеи, сензори и входни модули.
• Три 8-битови порта – портове A, B и C осигуряват 24 линии, които могат да функционират като вход или изход.
• Множество режими на работа –
Режим 0: Лесен вход/изход без ръкостискане.
Режим 1: Стробирани входове/изходи със сигнали за ръкостискане за синхронизирана комуникация.
Режим 2: Двупосочен трансфер на данни с ръкостискане (само на порт A).
• Настройка/нулиране на битове (BSR) – Битовете на порта C могат да бъдат индивидуално настроени или изчистени за приложения за контрол/състояние.
• Гъвкаво групиране – Портовете могат да бъдат разделени на 8-битови или 4-битови групи.
• TTL съвместимост – Лесна интеграция със стандартни цифрови интегрални схеми.
• Независими контролни регистри – Всеки порт може да работи отделно, в различни режими или посоки.
Извод на 8255 PPI чип

| Щифт No. | Група | Сигнал | Описание |
|---|---|---|---|
| 1–8 | Порт А | PA0–PA7 | 8-битов входно-изходен порт с общо предназначение |
| 9–16 | Порт C | PC0–PC7 | Разделени на PC0–PC3 (долни) и PC4–PC7 (горни); използва се като входно-изходни линии или линии за ръкостискане |
| 17–24 | Порт Б | PB0–PB7 | 8-битов входно-изходен порт с общо предназначение |
| 25 | Контрол | CS' | Избор на чип (активен нисък) |
| 26 | Мощност | Vcc | +5 V захранване |
| 27 | Контрол | РД' | Четене активиране |
| 28 | Контрол | WR' | Активиране на писането |
| 29 | Контрол | НУЛИРАНЕ | Нулира всички портове до входно състояние |
| 30–37 | Шина за данни | D0–D7 | Прехвърля данни/команди между CPU и 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) или в режим Bit Set/Reset (BSR). Той определя как ще работи всеки порт - като вход, изход или ръкостискане. |
| Контрол от група А | Контролира порт A (8 бита: PA7–PA0) и горен порт C (4 бита: PC7–PC4). Той поддържа режими 0, 1 и 2, позволявайки лесен вход/изход, вход/изход с ръкостискане и двупосочен трансфер на данни |
| Контрол на група Б | Контролира порт B (8 бита: PB7–PB0) и долен порт C (4 бита: PC3–PC0). Той поддържа режими 0 и 1, позволявайки основни операции за въвеждане/изход или контролирани от ръкостискане. |
| Порт А | 8-битов I/O порт, който може да функционира като вход или изход в зависимост от конфигурацията на режима. Поддържа режими 0–2 под контрол на група А. |
| Порт Б | Още един**8-битов I/O порт** за пренос на данни. Работи под контрол на група B и поддържа режими 0 и 1. |
| Порт C | Разделен 8-битов порт, разделен на две 4-битови групи: Горен (PC7–PC4) и Долен (PC3–PC0). Те могат да действат като независими I/O портове, контролни линии или сигнали за ръкостискане. Отделните битове могат да се управляват и с помощта на режим Bit Set/Reset (BSR). |
| Вътрешна шина за данни (8-битова) | Свързва всички вътрешни блокове на 8255, прехвърляйки данни и контролна информация между процесора, логиката на управлението и портовете. |
| Захранване | Чипът работи с +5V DC захранване и 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-моста. Тази подредба позволява двупосочен поток на тока, като същевременно изолира 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 V, 8255 е лесен за захранване в системи, базирани на TTL. Не са необходими специални регулатори или множество нива на напрежение, което опростява дизайна на платката.
• Надежден паралелен трансфер на данни – Чипът осигурява стабилна и предвидима 8-битова паралелна комуникация, намалявайки несигурността във времето. Тази надеждност го прави подходящ за шофиране на дисплеи, четене на сензори и управление на контролни сигнали в реални системи.
• Образователна стойност – Тъй като е добре документиран и широко достъпен, 8255 е ключов инструмент за преподаване в микропроцесорни лаборатории и комплекти за обучение. Можете бързо да разберете концепциите за взаимодействие между входове/изходи чрез практически експерименти с това устройство.
Приложения на 8255 PPI чип
• Образователни системи – Обучителните комплекти и лабораторните табла често включват 8255, за да демонстрират концепции за периферно взаимодействие. Можете да практикувате програмиране на различни режими и да наблюдавате действителното взаимодействие с външни устройства.
• Управление на дисплея – Чипът задвижва устройства за визуален изход като седемсегментни светодиоди, LCD модули и буквено-цифрови панели. Със своите множество I/O линии той може да опреснява дисплеи или да изпраща контролни команди към интегрални схеми на драйвера.
• Интерфейс на клавиатурата – Матричните клавиатури в ранните терминали и персонални компютри често са сканирани с помощта на 8255. Чрез конфигуриране на някои линии като драйвери на редове, а други като сензори за колони, той ефективно открива натискането на клавиши.
• Управление на двигателя – Стъпковите двигатели и DC двигателите могат да се управляват, когато 8255 е сдвоен с транзисторни етапи, масиви на Дарлингтън или H-мостове. Това го направи полезен в роботиката, системите за позициониране и проектите за автоматизация.
• Събиране на данни – Когато е свързан към ADC (аналогово-цифрови преобразуватели) и DAC (цифрово-аналогови преобразуватели), 8255 предоставя пълен интерфейс за задачи за измерване и управление. Това позволява на микропроцесорите да обработват сигнали в научно и промишлено оборудване.
• Индустриална автоматизация – 8255 намери приложение за управление на светофари, логика на асансьора и панели за наблюдение на процеси. Способността му да управлява надеждно множество входове и изходи го направи евтино решение за вградени системи за управление.
• Ретро-изчисления – Класически машини като компютрите IBM PC/XT и MSX използваха 8255 за периферно взаимодействие. Използва се и в принтери и разширителни карти, затвърждавайки мястото си в ранната история на персоналните компютри.
Сравнение на 8255 PPI чипове с други PPI
8255 срещу 8155

Intel 8155 съчетава множество функции в един пакет: предлага малък блок статична RAM, програмируем таймер и входно-изходни портове с общо предназначение. Това го прави подходящ за компактни системи, където са необходими контрол на паметта и времето. За разлика от тях, 8255 се фокусира изцяло върху програмируеми входове/изходи, без вградена памет или време. По-опростеният му дизайн го направи по-евтин и по-лесен за програмиране, когато приложението не изисква интегрирана RAM или таймери.
8255 срещу 8259

Програмируемият контролер за прекъсвания 8259 служи на много различна цел: управление на хардуерни прекъсвания, за да помогне на процесора да реагира бързо на външни събития. Докато 8255 обработва паралелен I/O трансфер на данни, 8259 координати на сигнали за прекъсване. В много микропроцесорни системи двата чипа се използват заедно, 8255 за взаимодействие с устройства като клавиатури и дисплеи и 8259 за управление на заявките за прекъсване, генерирани от тези устройства.
8255 срещу съвременните GPIO разширители

Днешните системи често използват I²C или SPI-базирани GPIO разширители (като MCP23017 или PCF8574). Тези устройства осигуряват допълнителни входно-изходни щифтове с по-малко връзки, спестявайки място на платката и намалявайки броя на щифтовете на процесора. Те обаче работят серийно, което може да бъде по-бавно в сравнение с директния паралелен достъп на 8255. Въпреки че 8255 изисква повече автобусни линии, неговата паралелна структура позволява по-бързи трансфери и го прави много ценен в образователна среда, където директният контрол на отделните щифтове и разбирането на времето на шината са важни за ученето.
Отстраняване на неизправности и често срещани проблеми
Работата с 8255 понякога може да доведе до системни грешки, ако правилата за проектиране не се спазват внимателно. Често срещаните проблеми и средства за защита включват:
• Неинициализирани портове – След нулиране всички портове по подразбиране са в режим на въвеждане. Ако процесорът не изпрати правилна контролна дума, изходите остават неактивни или се държат непредсказуемо. Винаги програмирайте контролния регистър, преди да се опитате да четете или записвате данни.
• Неправилни контролни думи – Неправилно конфигурираните контролни думи могат да зададат грешни посоки или режими на портовете, блокирайки очакваните сигнали. Кръстосана проверка на стойностите на контролните думи спрямо таблиците с данни, за да осигурите правилни настройки на битовете.
• Грешки при ръкостискане – В режими 1 и 2 порт C предоставя необходимите сигнали за ръкостискане (STB, ACK, IBF, OBF). Липсващите, неправилно свързани или неправилно интерпретирани връзки водят до спиране или загуба на преводи. Внимателно проверете както окабеляването, така и очакванията за логическо ниво на свързаните устройства.
• Претоварване на изходи – Всеки щифт на порта може да се справи само с малки токове. Директното задвижване на светодиоди е възможно с резистори, но двигателите, релетата и лампите изискват външни буферни етапи като транзисторни масиви или интегрални схеми на драйвери. Пренебрегването на това ограничение рискува трайно увреждане на чипа.
• Конфликти на шината – Ако няколко устройства се опитат да управляват системната шина едновременно, може да възникне повреда на данните или повреда на хардуера. Правилният арбитраж на шината и използването на сигнали за включване (RD', WR', CS') предотвратяват този проблем.
• Инструменти за отстраняване на грешки – Когато проблемите продължават, тестовото оборудване помага за изолиране на неизправности. Логическите анализатори могат да потвърдят времето и контролните сигнали, докато осцилоскопите могат да проверят дали проблемът възниква от шумно хардуерно окабеляване или неправилна софтуерна инициализация.
Заключение
Intel 8255 PPI остава крайъгълен камък на взаимодействието с микропроцесори. Въпреки че до голяма степен е заменен от модерни GPIO разширители и вградени микроконтролерни входове/изходи, той продължава да служи като активен инструмент за обучение. Неговата яснота при демонстриране на паралелен трансфер на данни, конфигурация на портове и ръкостискане го прави безценен за всеки.
Често задавани въпроси [ЧЗВ]
Коя е контролната дума в 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 по-малко ефективен в пространството, но ценен за действително управление и изучаване на времето на шината.