Intel 8255 Programmable Peripheral Interface (PPI) Pinout, režimy a aplikácie

Oct 24 2025
Zdroj: DiGi-Electronics
Prehliadať: 1874

Programovateľné periférne rozhranie Intel 8255 (PPI) bolo kľúčovým komponentom pri premosťovaní mikroprocesorov s externými zariadeniami v začiatkoch digitálnych systémov. Vďaka všestranným I/O portom, viacerým prevádzkovým režimom a jednoduchému programovaniu umožnil 8255 spoľahlivú komunikáciu s displejmi, senzormi a ovládačmi, vďaka čomu je užitočný v školstve aj priemysle.

Č. 9. Porovnanie čipu 8255 PPI s inými PPI

Figure 1. 8255 Microprocessor

Prehľad programovateľného periférneho rozhrania (PPI) 8255

Čip Intel 8255 PPI je široko používaný I/O čip určený na prepojenie mikroprocesorov s externými zariadeniami. Funguje ako komunikačný most pre periférne zariadenia, ako sú ADC, DAC, klávesnice a displeje. Podporuje priame aj prerušované I/O a poskytuje flexibilitu pri navrhovaní systému. S tromi 8-bitovými obojsmernými portami (A, B, C) poskytuje 24 konfigurovateľných I/O liniek. Jeho nákladová efektívnosť a kompatibilita s procesormi, ako je Intel 8085/8086, z neho urobili základ raných počítačových systémov, tréningových súprav a priemyselných ovládačov.

Vlastnosti čipu 8255 PPI

• Programovateľné rozhranie – Konfigurovateľné pomocou softvérových pokynov na prispôsobenie sa zariadeniam, ako sú displeje, senzory a vstupné moduly.

• Tri 8-bitové porty – porty A, B a C poskytujú 24 riadkov, ktoré môžu fungovať ako vstup alebo výstup.

• Viaceré prevádzkové režimy –

Režim 0: Jednoduchý vstup/výstup bez podávania rúk.

Režim 1: Strobed I/O so signálmi podania ruky pre synchronizovanú komunikáciu.

Režim 2: Obojsmerný prenos dát s podávaním rúk (iba na porte A).

• Nastavenie/resetovanie bitov (BSR) – Bity portu C je možné individuálne nastaviť alebo vymazať pre riadiace/stavové aplikácie.

• Flexibilné zoskupovanie – Porty môžu byť rozdelené do 8-bitových alebo 4-bitových skupín.

• Kompatibilita s TTL – Jednoduchá integrácia so štandardnými digitálnymi integrovanými obvodmi.

• Nezávislé riadiace registre – Každý port môže pracovať samostatne, v rôznych režimoch alebo smeroch.

Pinout čipu 8255 PPI

Figure 2. Pinout of 8255 Microprocessor

Č. pinuSkupinaSignálPopis
1–8Prístav APA0–PA78-bitový univerzálny I/O port
9–16Prístav CPC0–PC7Rozdelenie na PC0–PC3 (dolný) a PC4–PC7 (horný); používa sa ako I/O alebo vedenia na podanie ruky
17 – 24Prístav BPB0–PB78-bitový univerzálny I/O port
25OvládanieCS'Výber žetónu (aktívny nízky)
26NapájanieVccNapájanie +5 V
27OvládanieRD'Povolenie čítania
28OvládanieWR'Povolenie zápisu
29OvládanieOBNOVIŤObnoví všetky porty do vstupného stavu
30 – 37Dátová zbernicaD0–D7Prenáša údaje/príkazy medzi CPU a 8255
38–39Adresné pinyA0, A1Vyberte interné registre/porty: 00=Port A, 01=Port B, 10=Port C, 11=Ovládanie
40PozemokGNDReferencia na zem

Architektúra čipu 8255 PPI

Figure 3. Architecture of 8255 Microprocessor

Funkčný blokPopis
Vyrovnávacia pamäť dátovej zberniceFunguje ako rozhranie medzi obojsmernou dátovou zbernicou CPU (D7–D0) a internou 8-bitovou dátovou zbernicou 8255. Dočasne ukladá a prenáša dáta medzi CPU a internými registrami alebo portami.
Logika riadenia čítania/zápisuSpravuje všetku komunikáciu medzi CPU a 8255. Interpretuje riadiace signály ako RD, WR, A0, A1, CS a RESET, aby určil typ operácie (čítanie, zápis alebo riadenie) a vybral správny port alebo riadiaci register.
Riadiaca logika (dekodér)Dekóduje riadiace slovo odoslané CPU na konfiguráciu portov v rôznych režimoch (režim 0, 1 alebo 2) alebo v režime Bit Set/Reset (BSR). Určuje, ako bude každý port fungovať - ako vstup, výstup alebo handshake.
Ovládací prvok skupiny AOvláda port A (8 bitov: PA7 – PA0) a horný port C (4 bity: PC7 – PC4). Podporuje režimy 0, 1 a 2, čo umožňuje jednoduché I/O, I/O handshake a obojsmerný prenos dát
Ovládanie skupiny BOvláda port B (8 bitov: PB7 – PB0) a spodný port C (4 bity: PC3 – PC0). Podporuje režimy 0 a 1, ktoré umožňujú základné vstupné/výstupné operácie alebo operácie ovládané handshake.
Prístav A8-bitový I/O port, ktorý môže fungovať ako vstup alebo výstup v závislosti od konfigurácie režimu. Podporuje režimy 0–2 pod ovládaním skupiny A.
Prístav BĎalší**8-bitový I/O port** na prenos dát. Funguje pod kontrolou skupiny B a podporuje režimy 0 a 1.
Prístav CRozdelený 8-bitový port rozdelený do dvoch 4-bitových skupín: Horný (PC7 – PC4) a Dolný (PC3 – PC0). Môžu fungovať ako nezávislé I/O porty, riadiace vedenia alebo signály podania ruky. Jednotlivé bity je možné ovládať aj pomocou režimu Bit Set/Reset (BSR).
Interná dátová zbernica (8-bitová)Spája všetky interné bloky 8255, prenáša dáta a riadiace informácie medzi CPU, riadiacou logikou a portami.
NapájanieČip pracuje s napájaním +5V DC a GND pripojením na napájanie celého obvodu.

Prevádzkové režimy a princíp činnosti čipu 8255 PPI

Intel 8255 slúži ako programovateľné rozhranie medzi CPU a periférnymi zariadeniami, ktoré premieňa prevádzku zbernice na paralelné prenosy dát. Jeho činnosť sa riadi inicializačnými krokmi a voliteľnými režimami:

Obnoviť stav

Po zapnutí alebo resetovaní sa všetky porty (A, B a C) predvolene prepnú do vstupného režimu, aby nedošlo k poškodeniu periférnych zariadení neúmyselnými výstupmi.

Inicializácia

CPU musí odoslať riadiace slovo, ktoré nakonfiguruje každý port ako vstup/výstup a vyberie jeden zo štyroch prevádzkových režimov. Kým sa tak nestane, porty zostanú neaktívne.

Prevádzkové režimy

-bitový režim nastavenia/resetovania (BSR)

• Platí len pre port C.

• Umožňuje nastavenie alebo vymazanie jednotlivých bitov pre riadiace/stavové úlohy.

Režim 0 – Jednoduché I/O

• Základný vstup/výstup bez podávania rúk.

• Používa sa na jednoduché prenosy, ako sú LED diódy, spínače a displeje.

Režim 1 – Stroboskopické I/O

• Pridáva signály podania ruky (STB, ACK, IBF, OBF) cez port C.

• Zaisťuje synchronizovaný prenos periférnych dát CPU ↔.

Režim 2 – Obojsmerné I/O

• K dispozícii len na porte A.

• Podporuje obojsmerný prenos s ovládaním handshake, čo je užitočné pre vysokorýchlostné alebo asynchrónne zariadenia.

Operácie čítania/zápisu

• Zápis: CPU umiestni dáta na systémovú zbernicu a 8255 dekóduje adresné riadky (A0, A1), aby ich nasmeroval na výstupnú západku správneho portu.

• Čítanie: Externé zariadenia vkladajú údaje na portové linky, ktoré 8255 zablokuje a sprístupní CPU počas príkazu na čítanie.

Synchronizácia

• V režime 0 sa prenos údajov uskutočňuje priamo bez podania ruky.

• V režimoch 1 a 2 signály podania ruky z portu C koordinujú pripravenosť a prijatie, čím sa zabráni strate údajov počas vysokorýchlostných alebo asynchrónnych prenosov.

Úvahy o rozhraní čipu 8255 PPI

Pri navrhovaní systémov s 8255 starostlivé prepojenie zaisťuje spoľahlivosť a zabraňuje poškodeniu čipu aj externých zariadení:

• Predvolený stav vstupu – Po resetovaní sú všetky porty predvolene nastavené na vstupy. Tým sa zabráni konfliktom, ale tiež to znamená, že výstupy sú neaktívne, kým nie sú nakonfigurované. CPU musí vždy odoslať riadiace slovo, aby správne definovalo smer a režim pred pokusom o komunikáciu.

• Limity výstupných jednotiek – Porty 8255 môžu zdrojovať alebo pohlcovať iba obmedzený prúd (niekoľko miliampérov). Priama jazda s ťažkými bremenami, ako sú žiarovky, solenoidy alebo relé, nie je bezpečná. Namiesto toho sa bežne používajú integrované obvody vyrovnávacej pamäte alebo ovládačov, ako je ULN2803 (Darlingtonovo pole) alebo brány s otvoreným kolektorom, ako je 7406. Tie poskytujú vyššiu prúdovú schopnosť a chránia PPI.

• Ovládanie motora – V prípade jednosmerných motorov alebo krokových motorov by sa porty 8255 nemali pripájať priamo. Namiesto toho musia byť výstupy vedené cez tranzistorové stupne alebo obvody ovládača H-mostíka. Toto usporiadanie umožňuje obojsmerný tok prúdu a zároveň izoluje PPI od indukčných napäťových špičiek.

• Prepínanie AC záťaže – Prepojenie so spotrebičmi AC vyžaduje z bezpečnostných dôvodov izoláciu. Mechanické relé alebo polovodičové relé (SSR) poháňané cez vyrovnávacie stupne zaisťujú, že 8255 spracováva iba riadiace signály, zatiaľ čo skutočná vysokonapäťová záťaž je bezpečne prepínaná externe.

• Obmedzenia portu C – Bity portu C nie sú vždy voľne použiteľné ako všeobecné I/O. V režimoch 1 a 2 je niekoľko pinov (napr. STB, ACK, IBF, OBF) automaticky vyhradených na ovládanie handshake. Tieto vyhradené riadky musíte zohľadniť, aby ste sa vyhli konfliktom pri miešaní všeobecných I/O s podaním rúk.

Výhody čipu 8255 PPI

• Kompatibilita CPU – 8255 bezproblémovo spolupracuje s procesormi ako Intel 8085, 8086 a ich kompatibilitou. Jeho dizajn zodpovedá štandardným protokolom zbernice, vďaka čomu je integrácia jednoduchá bez ďalšej logiky lepidla.

• Flexibilná konfigurácia portov – S tromi 8-bitovými portami (A, B, C) ich používatelia môžu nakonfigurovať ako vstup, výstup alebo mix v závislosti od aplikácie. Schopnosť prepínať medzi jednoduchými I/O (režim 0) a komunikáciou riadenou podaním ruky (režimy 1 a 2) umožňuje rovnakému čipu zvládnuť širokú škálu úloh.

• Prevádzka s jedným napájaním – 8255 pracuje zo štandardného napájania +5 V a ľahko sa napája v systémoch založených na TTL. Nie sú potrebné žiadne špeciálne regulátory ani viaceré úrovne napätia, čo zjednodušuje dizajn dosky.

• Spoľahlivý paralelný prenos dát – Čip poskytuje stabilnú a predvídateľnú 8-bitovú paralelnú komunikáciu, čím sa znižuje časová neistota. Vďaka tejto spoľahlivosti je vhodný na ovládanie displejov, čítanie senzorov a správu riadiacich signálov v skutočných systémoch.

• Vzdelávacia hodnota – Pretože je 8255 dobre zdokumentovaný a široko dostupný, je kľúčovým učebným nástrojom v mikroprocesorových laboratóriách a školiacich súpravách. Pomocou praktických experimentov s týmto zariadením môžete rýchlo pochopiť koncepty prepojenia I/O.

Aplikácie čipu 8255 PPI

• Vzdelávacie systémy – Školiace súpravy a laboratórne tabule často obsahujú 8255 na demonštráciu konceptov periférneho rozhrania. Môžete si precvičiť programovanie rôznych režimov a pozorovať skutočnú interakciu s externými zariadeniami.

• Ovládanie displeja – Čip poháňa vizuálne výstupné zariadenia, ako sú sedemsegmentové LED diódy, LCD moduly a alfanumerické panely. Vďaka viacerým I/O linkám dokáže obnovovať displeje alebo odosielať riadiace príkazy do integrovaných obvodov vodiča.

• Rozhranie klávesnice – Maticové klávesnice v prvých termináloch a osobných počítačoch boli často skenované pomocou 8255. Konfiguráciou niektorých riadkov ako ovládačov riadkov a iných ako snímačov stĺpcov efektívne detekuje stlačenie klávesov.

• Riadenie motora – Krokové motory a jednosmerné motory je možné ovládať, keď je 8255 spárovaný s tranzistorovými stupňami, Darlingtonovým poľami alebo H-mostíkami. Vďaka tomu bol užitočný v robotike, polohovacích systémoch a automatizačných projektoch.

• Zber údajov – Po pripojení k ADC (analógovo-digitálne prevodníky) a DAC (digitálno-analógové prevodníky) poskytoval 8255 kompletné rozhranie pre meracie a regulačné úlohy. To umožnilo mikroprocesorom spracovať signály vo vedeckých a priemyselných zariadeniach.

• Priemyselná automatizácia – 8255 našiel využitie pri ovládaní dopravných signálov, logiky výťahov a panelov monitorovania procesov. Jeho schopnosť spoľahlivo spravovať viacero vstupov a výstupov z neho urobila nízkonákladové riešenie pre vstavané riadiace systémy.

• Retro-Computing – Klasické počítače ako IBM PC/XT a počítače MSX používali 8255 pre periférne rozhranie. Používal sa aj v tlačiarňach a rozširujúcich kartách, čím si upevnil svoje miesto v ranej histórii osobných počítačov.

Porovnanie čipu 8255 PPI s inými PPI

9,1 8255 vs. 8155

Figure 4. 8255 vs. 8155

Intel 8155 kombinuje viacero funkcií v jednom balíku: ponúka malý blok statickej pamäte RAM, programovateľný časovač a univerzálne I/O porty. Vďaka tomu bol vhodný pre kompaktné systémy, kde bolo potrebné ovládanie pamäte a časovania. Naproti tomu 8255 sa zameriava výlučne na programovateľné I/O bez vstavanej pamäte alebo časovania. Jeho jednoduchší dizajn zlacnil a uľahčil programovanie, keď aplikácia nevyžadovala integrovanú RAM ani časovače.

9,2 8255 vs. 8259

Figure 5. 8255 vs. 8259

Programovateľný radič prerušení 8259 slúži na úplne iný účel: správa hardvérových prerušení, ktorá pomáha procesoru rýchlo reagovať na vonkajšie udalosti. Zatiaľ čo 8255 spracováva paralelný prenos I/O dát, 8259 súradnice prerušujú signály. V mnohých systémoch založených na mikroprocesoroch sa tieto dva čipy používali spoločne, 8255 na prepojenie so zariadeniami, ako sú klávesnice a displeje, a 8259 na správu požiadaviek na prerušenie generovaných týmito zariadeniami.

8255 vs. moderné expandéry GPIO

Figure 6. 8255 vs. Modern GPIO Expanders

Dnešné systémy často používajú expandéry GPIO založené na I²C alebo SPI (napríklad MCP23017 alebo PCF8574). Tieto zariadenia poskytujú ďalšie I/O piny s menším počtom pripojení, čo šetrí miesto na doske a znižuje počet pinov na CPU. Fungujú však sériovo, čo môže byť pomalšie v porovnaní s priamym paralelným prístupom 8255. Zatiaľ čo 8255 vyžaduje viac autobusových liniek, jeho paralelná štruktúra umožňuje rýchlejšie prestupy a robí ho veľmi cenným vo vzdelávacom prostredí, kde je pre učenie dôležité priame ovládanie jednotlivých pinov a pochopenie časovania autobusov.

Riešenie problémov a bežné problémy

Práca s 8255 môže niekedy viesť k poruchám systému, ak sa nedodržiavajú prísne konštrukčné pravidlá. Bežné problémy a opravné prostriedky zahŕňajú:

• Neinicializované porty – Po resetovaní sa všetky porty predvolene prepnú do vstupného režimu. Ak CPU nevyšle správne riadiace slovo, výstupy zostanú neaktívne alebo sa správajú nepredvídateľne. Pred pokusom o čítanie alebo zápis údajov vždy naprogramujte riadiaci register.

• Nesprávne riadiace slová – Nesprávne nakonfigurované riadiace slová môžu portom priradiť nesprávne smery alebo režimy a zablokovať očakávané signály. Krížovo skontrolujte hodnoty riadiacich slov s tabuľkami údajových hárkov, aby ste zaistili správne nastavenie bitov.

• Zlyhania podania ruky – V režimoch 1 a 2 poskytuje port C potrebné signály podania ruky (STB, ACK, IBF, OBF). Chýbajúce, nesprávne zapojené alebo nesprávne interpretované pripojenia vedú k pozastaveniu alebo strate prenosov. Starostlivo overte očakávania zapojenia aj logickej úrovne pripojených zariadení.

• Preťaženie výstupov – Každý kolík portu zvládne iba malé prúdy. Priame ovládanie LED diód je možné pomocou rezistorov, ale motory, relé a žiarovky vyžadujú externé vyrovnávacie stupne, ako sú tranzistorové polia alebo integrované obvody ovládačov. Ignorovanie tohto limitu riskuje trvalé poškodenie čipu.

• Konflikty zbernice – Ak sa viaceré zariadenia pokúsia riadiť systémovú zbernicu súčasne, môže dôjsť k poškodeniu údajov alebo hardvéru. Správna arbitráž zbernice a použitie signálov povolenia (RD', WR', CS') tomuto problému zabraňujú.

• Nástroje na ladenie – Ak problémy pretrvávajú, testovacie zariadenie pomáha izolovať poruchy. Logické analyzátory môžu potvrdiť časovanie a riadiace signály, zatiaľ čo osciloskopy môžu skontrolovať, či problém nevzniká v dôsledku hlučného zapojenia hardvéru alebo nesprávnej inicializácie softvéru.

Záver

Intel 8255 PPI zostáva základným kameňom mikroprocesorového rozhrania. Aj keď je do značnej miery nahradený modernými expandérmi GPIO a vstavanými mikrokontrolérmi I/O, naďalej slúži ako aktívny učebný nástroj. Jeho prehľadnosť pri demonštrácii paralelného prenosu dát, konfigurácie portov a podávania rúk ho robí neoceniteľným pre každého.

Často kladené otázky [FAQ]

Čo je riadiace slovo v 8255 a prečo je dôležité?

Riadiace slovo je 8-bitová inštrukcia odoslaná CPU na konfiguráciu portov a režimov 8255. Bez neho zostávajú všetky porty v predvolenom vstupnom stave. Definuje, či každý port funguje ako vstup alebo výstup a vyberá medzi režimami 0, 1, 2 alebo nastavením/resetovaním bitov.

Môže 8255 priamo poháňať motory alebo relé?

Nie. Výstupy 8255 môžu zdrojovať alebo klesať iba niekoľko miliampérov, čo je pre motory alebo relé nedostatočné. Na bezpečnú manipuláciu s vyšším prúdom sa musia použiť externé obvody ovládačov, ako sú tranzistorové polia alebo H-mostíky.

Prečo sa 8255 používa vo vzdelávaní dodnes?

8255 poskytuje jasný a praktický spôsob, ako sa dozvedieť o mikroprocesorových I/O, riadiacich slovách a paralelnom prenose dát. Jeho jednoduchá architektúra pomáha študentom pochopiť základné koncepty predtým, ako prejdú na moderné mikrokontroléry.

Čo sa stane, ak použijete port C v režime podania ruky?

V režimoch 1 a 2 sú niektoré linky portu C vyhradené pre signály podania ruky (napríklad STB, ACK, IBF, OBF). Tieto kolíky nemožno použiť ako všeobecné vstupy/výstupy počas týchto režimov, ktoré musíte zohľadniť, aby ste sa vyhli konfliktom.

Ako sa 8255 líši od moderných GPIO expandérov?

Na rozdiel od expandérov I²C/SPI, ktoré využívajú sériovú komunikáciu, 8255 pracuje s paralelnou zbernicou, čo umožňuje rýchlejšie prenosy, ale vyžaduje viac pinov. Vďaka tomu je 8255 menej priestorovo efektívny, ale cenný pre skutočné ovládanie a učenie sa časovania zbernice.