Intel 8255 Programovatelné periferní rozhraní (PPI) Pinout, režimy a aplikace

Oct 24 2025
Zdroj: DiGi-Electronics
Procházet: 1783

Intel 8255 Programmable Peripheral Interface (PPI) byl klíčovou součástí při propojování mikroprocesorů s externími zařízeními v počátcích digitálních systémů. Díky všestranným I/O portům, několika provozním režimům a snadnému programování umožňoval model 8255 spolehlivou komunikaci s displeji, senzory a kontroléry, takže je užitečný jak ve vzdělávání, tak v průmyslu.

Bod 3. Rozložení pinů čipu 8255 PPI

Bod 4. Architektura čipu 8255 PPI

Bod 5. Provozní režimy a pracovní princip čipu 8255 PPI

Kapitola 10. Řešení problémů a běžné problémy

Kapitola 11. Závěr

Č. 12. Často kladené dotazy [FAQ]

Figure 1. 8255 Microprocessor

8255 Programovatelné periferní rozhraní (PPI) Přehled

Čip Intel 8255 PPI je široce používaný I/O čip určený k propojení mikroprocesorů s externími zařízeními. Funguje jako komunikační most pro periferní zařízení, jako jsou ADC, DAC, klávesnice a displeje. Podporuje přímé i přerušované I/O a poskytuje flexibilitu při návrhu systému. Se třemi 8bitovými obousměrnými porty (A, B, C) poskytuje 24 konfigurovatelných I/O linek. Jeho nákladová efektivita a kompatibilita s procesory, jako je Intel 8085/8086, z něj udělala základ v raných počítačových systémech, školicích sadách a průmyslových řadičích.

Vlastnosti čipu 8255 PPI

• Programovatelné rozhraní – Konfigurovatelné pomocí softwarových instrukcí pro přizpůsobení zařízením, jako jsou displeje, senzory a vstupní moduly.

• Tři 8bitové porty – porty A, B a C poskytují 24 linek, které mohou fungovat jako vstup nebo výstup.

• Více provozních režimů –

Režim 0: Jednoduchý vstup/výstup bez handshakingu.

Režim 1: Stroboskopické I/O se signály handshake pro synchronizovanou komunikaci.

Režim 2: Obousměrný přenos dat s handshakingem (pouze na portu A).

• Bit Set/Reset (BSR) – bity portu C lze individuálně nastavit nebo vymazat pro aplikace s ovládáním/stavem.

• Flexibilní seskupování – Porty mohou být rozděleny do 8-bitových nebo 4-bitových skupin.

• TTL kompatibilita – Snadná integrace se standardními digitálními integrovanými obvody.

• Nezávislé řídicí registry – Každý port může pracovat samostatně, v různých režimech nebo směrech.

Rozložení pinů čipu 8255 PPI

Figure 2. Pinout of 8255 Microprocessor

Číslo pinuSkupinaSignálPopis
1–8Přístav APA0–PA78bitový univerzální I/O port
9–16 letPřístav CPočítač PC0–PC7Rozdělte na PC0–PC3 (spodní) a PC4–PC7 (horní); používá se jako I/O nebo linky handshake
17–24Přístav BPB0–PB78bitový univerzální I/O port
25OvládáníCS'Výběr žetonu (aktivní nízká)
26NapájeníKonektor VCCNapájení +5 V
27OvládáníRD'Číst povolit
28OvládáníWR'Povolit zápis
29OvládáníRESETOVATObnoví stav všech portů na vstup
30–37Datová sběrniceD0–D7Přenos dat/příkazů mezi CPU a 8255
38–39Adresní špendlíkyA0, A1Vyberte interní registry/porty: 00=Port A, 01=Port B, 10=Port C, 11=Control
40ZemGNDReferenční hodnota terénu

Architektura čipu 8255 PPI

Figure 3. Architecture of 8255 Microprocessor

Funkční blokPopis
Vyrovnávací paměť datové sběrniceFunguje jako rozhraní mezi obousměrnou datovou sběrnicí procesoru (D7–D0) a interní 8bitovou datovou sběrnicí procesoru 8255. Dočasně ukládá a přenáší data mezi CPU a interními registry nebo porty.
Řídicí logika čtení/zápisuSpravuje veškerou komunikaci mezi CPU a 8255. Interpretuje řídicí signály, jako jsou RD, WR, A0, A1, CS a RESET, aby určil typ operace (čtení, zápis nebo ovládání) a vybral správný port nebo řídicí registr.
Řídicí logika (dekodér)Dekóduje řídicí slovo odeslané procesorem pro konfiguraci portů v různých režimech (režim 0, 1 nebo 2) nebo v režimu BSR (Bit Set/Reset). Určuje, jak budou jednotlivé porty fungovat - jako vstup, výstup nebo handshake.
Řízení skupiny AOvládá port A (8 bitů: PA7–PA0) a horní port C (4 bity: PC7–PC4). Podporuje režimy 0, 1 a 2, což umožňuje jednoduché I/O, handshake I/O a obousměrný přenos dat
Ovládání skupiny BOvládá port B (8 bitů: PB7–PB0) a dolní port C (4 bity: PC3–PC0). Podporuje režimy 0 a 1, což umožňuje základní operace vstupu/výstupu nebo operace řízené handshakem.
Přístav A8bitový I/O port, který může fungovat jako vstup nebo výstup v závislosti na konfiguraci režimu. Podporuje režimy 0–2 pod kontrolou skupiny A.
Přístav BDalší**8-bitový I/O port** pro přenos dat. Pracuje pod kontrolou skupiny B a podporuje režimy 0 a 1.
Přístav CRozdělený 8bitový port rozdělený do dvou 4bitových skupin: Horní (PC7–PC4) a Dolní (PC3–PC0). Ty mohou fungovat jako nezávislé I/O porty, řídicí linky nebo signály handshake. Jednotlivé bity lze také ovládat pomocí režimu Bit Set/Reset (BSR).
Interní datová sběrnice (8 bitů)Propojuje všechny interní bloky 8255 a přenáší data a řídicí informace mezi procesorem, řídicí logikou a porty.
Zdroj napájeníČip pracuje s napájením +5V DC a připojením GND pro napájení celého obvodu.

Provozní režimy a pracovní princip čipu 8255 PPI

Intel 8255 slouží jako programovatelné rozhraní mezi procesorem a periferiemi, které převádí operace sběrnice na paralelní přenosy dat. Jeho činnost se řídí inicializačními kroky a volitelnými režimy:

Obnovit stav

Při zapnutí nebo resetu se všechny porty (A, B a C) standardně přepnou do vstupního režimu, aby nedošlo k poškození periferií s nechtěnými výstupy.

Inicializace

CPU musí vyslat řídicí slovo, které konfiguruje každý port jako vstup/výstup a vybere jeden ze čtyř provozních režimů. Dokud tak neučiníte, porty zůstanou neaktivní.

Provozní režimy

Režim nastavení/resetu bitů (BSR)

• Platí pouze pro port C.

• Umožňuje nastavit nebo vymazat jednotlivé bity pro úlohy řízení/stavu.

Režim 0 – Jednoduché I/O

• Základní vstup/výstup bez handshakingu.

• Používá se pro jednoduché přenosy, jako jsou LED diody, spínače a displeje.

Režim 1 – Stroboskop I/O

• Přidává signály handshake (STB, ACK, IBF, OBF) přes port C.

• Zajišťuje synchronizovaný přenos periferních dat procesoru ↔.

Režim 2 – Obousměrné I/O

• K dispozici pouze v portu A.

• Podporuje obousměrný přenos s ovládáním handshake, což je užitečné pro vysokorychlostní nebo asynchronní zařízení.

Operace čtení/zápisu

• Zápis: CPU umístí data na systémovou sběrnici a 8255 dekóduje adresní řádky (A0, A1), aby je nasměroval na výstupní západku správného portu.

• Číst: Externí zařízení ukládají data na porty, které 8255 zablokuje a zpřístupní CPU během příkazu pro čtení.

Synchronizace

• V režimu 0 probíhají přenosy dat přímo bez handshake.

• V režimech 1 a 2 koordinují signály handshake z portu C připravenost a přijetí, čímž se zabrání ztrátě dat během vysokorychlostních nebo asynchronních přenosů.

Aspekty rozhraní čipu 8255 PPI

Při navrhování systémů s 8255 zajišťuje pečlivé rozhraní spolehlivost a zabraňuje poškození čipu i externích zařízení:

• Default Input State – Při resetu jsou všechny porty nastaveny jako výchozí vstupy. Tím se zabrání konfliktům, ale také to znamená, že výstupy budou neaktivní, dokud nebudou nakonfigurovány. CPU musí před pokusem o komunikaci vždy vyslat řídicí slovo pro správné definování směru a režimu.

• Meze výstupního pohonu – Porty 8255 mohou napájet nebo snižovat pouze omezený proud (několik miliampérů). Přímé řízení těžkých břemen, jako jsou lampy, solenoidy nebo relé, není bezpečné. Místo toho se běžně používají integrované obvody bufferů nebo ovladačů, jako je ULN2803 (Darlingtonovo pole) nebo brány s otevřeným kolektorem, jako je 7406. Ty poskytují vyšší proudovou schopnost a chrání PPI.

• Řízení motoru – U stejnosměrných motorů nebo krokových motorů by se porty 8255 neměly připojovat přímo. Místo toho musí být výstupy směrovány přes tranzistorové stupně nebo obvody budiče H-můstku. Toto uspořádání umožňuje obousměrný tok proudu a zároveň izoluje PPI od indukčních napěťových špiček.

• Spínání AC zátěže – Propojení se střídavými spotřebiči vyžaduje z bezpečnostních důvodů izolaci. Mechanická relé nebo polovodičová relé (SSR) poháněná vyrovnávacími stupni zajišťují, že 8255 zpracovává pouze řídicí signály, zatímco skutečná vysokonapěťová zátěž je bezpečně spínána externě.

• Omezení portu C – bity portu C nejsou vždy volně použitelné jako obecné I/O. V režimech 1 a 2 je několik pinů (např. STB, ACK, IBF, OBF) automaticky vyhrazeno pro ovládání handshake. Tyto vyhrazené řádky je nutné zohlednit, aby nedocházelo ke konfliktům při míchání obecných vstupně-výstupních operací s handshakingem.

Výhody čipu 8255 PPI

• Kompatibilita s CPU – 8255 bezproblémově spolupracuje s procesory, jako jsou Intel 8085, 8086 a jejich kompatibilní. Jeho design odpovídá standardním sběrnicovým protokolům, díky čemuž je integrace přímočará bez další logiky lepidla.

• Flexibilní konfigurace portů – Se třemi 8bitovými porty (A, B, C) je uživatelé mohou nakonfigurovat jako vstup, výstup nebo mix v závislosti na aplikaci. Schopnost přepínat mezi jednoduchými I/O (režim 0) a komunikací řízenou handshake (režimy 1 a 2) umožňuje stejnému čipu zpracovávat širokou škálu úkolů.

• Provoz s jedním napájením – 8255 je napájen ze standardního napájení +5 V a lze jej snadno napájet v systémech založených na TTL. Nejsou potřeba žádné speciální regulátory ani více úrovní napětí, což zjednodušuje konstrukci desky.

• Spolehlivý paralelní přenos dat – Čip poskytuje stabilní a předvídatelnou 8bitovou paralelní komunikaci, čímž se snižuje časová nejistota. Díky této spolehlivosti je vhodný pro řízení displejů, čtení senzorů a správu řídicích signálů ve skutečných systémech.

• Vzdělávací hodnota – Protože je 8255 dobře zdokumentovaný a široce dostupný, stal se klíčovým výukovým nástrojem v mikroprocesorových laboratořích a školicích sadách. Koncepty rozhraní I/O můžete rychle pochopit prostřednictvím praktických experimentů s tímto zařízením.

Aplikace čipu 8255 PPI

Vzdělávací systémy – Školicí sady a laboratorní desky často obsahují 8255 pro demonstraci konceptů periferního rozhraní. Můžete si procvičit programování různých režimů a sledovat skutečnou interakci s externími zařízeními.

• Ovládání displeje – Čip pohání vizuální výstupní zařízení, jako jsou sedmisegmentové LED diody, LCD moduly a alfanumerické panely. Díky několika I/O linkám může obnovovat displeje nebo odesílat řídicí příkazy do integrovaných obvodů ovladačů.

• Rozhraní klávesnice – Maticové klávesnice v raných terminálech a osobních počítačích byly často skenovány pomocí 8255. Konfigurací některých řádků jako ovladačů řádků a jiných jako sloupcových senzorů efektivně detekoval stisky kláves.

• Řízení motoru – Krokové motory a stejnosměrné motory lze ovládat, když je 8255 spárován s tranzistorovými stupni, Darlingtonovými poli nebo H-můstky. Díky tomu byl užitečný v robotice, polohovacích systémech a automatizačních projektech.

• Sběr dat – Po připojení k ADC (analogově-digitální převodníky) a DAC (digitálně-analogové převodníky) poskytoval 8255 kompletní rozhraní pro měřicí a regulační úlohy. To umožnilo mikroprocesorům zpracovávat signály ve vědeckých a průmyslových zařízeních.

• Průmyslová automatizace – 8255 našel využití při řízení dopravních signálů, logiky výtahů a panelů pro monitorování procesů. Jeho schopnost spolehlivě spravovat více vstupů a výstupů z něj činí nízkonákladové řešení pro vestavěné řídicí systémy.

Retro-Computing – Klasické počítače jako IBM PC/XT a MSX používaly 8255 pro periferní rozhraní. Používal se také v tiskárnách a rozšiřujících kartách, čímž si upevnil své místo v rané historii osobních počítačů.

Srovnání čipu 8255 PPI s jinými PPI

8255 vs. 8155

Figure 4. 8255 vs. 8155

Intel 8155 kombinuje několik funkcí v jednom pouzdře: nabízí malý blok statické paměti RAM, programovatelný časovač a univerzální I/O porty. Díky tomu byl vhodný pro kompaktní systémy, kde bylo potřeba řízení paměti a časování. Naproti tomu 8255 se zaměřuje výhradně na programovatelné I/O bez vestavěné paměti nebo časování. Jeho jednodušší design zlevnil a usnadnil programování, když aplikace nevyžadovala integrovanou RAM ani časovače.

8255 vs. 8259

Figure 5. 8255 vs. 8259

Programovatelný řadič přerušení 8259 slouží k velmi odlišnému účelu: správě hardwarových přerušení, aby procesor mohl rychle reagovat na externí události. Zatímco 8255 zpracovává paralelní I/O přenos dat, 8259 koordinuje signály přerušení. V mnoha systémech založených na mikroprocesorech byly tyto dva čipy používány společně, 8255 pro propojení se zařízeními jako jsou klávesnice a displeje, a 8259 pro správu požadavků na přerušení generovaných těmito zařízeními.

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 nebo SPI (například MCP23017 nebo PCF8574). Tato zařízení poskytují další I/O piny s menším počtem připojení, což šetří místo na desce a snižuje počet pinů na CPU. Pracují však sériově, což může být pomalejší ve srovnání s přímým paralelním přístupem 8255. I když 8255 vyžaduje více sběrnicových linek, jeho paralelní struktura umožňuje rychlejší přenosy a činí jej vysoce cenným ve vzdělávacím prostředí, kde je pro učení důležité přímé ovládání jednotlivých pinů a pochopení časování sběrnice.

Odstraňování problémů a běžné problémy

Práce s 8255 může někdy vést k chybám systému, pokud nejsou pečlivě dodržována pravidla návrhu. Mezi běžné problémy a nápravná opatření patří:

• Neinicializované porty – po resetu se všechny porty přepnou do režimu vstupu. Pokud procesor nevyšle správné kontrolní slovo, výstupy zůstávají neaktivní nebo se chovají nepředvídatelně. Před pokusem o čtení nebo zápis dat vždy naprogramujte řídicí registr.

• Nesprávná kontrolní slova – Špatně nakonfigurovaná ovládací slova mohou přiřadit portům nesprávné směry nebo režimy a zablokovat očekávané signály. Křížovou kontrolou hodnot řídicích slov s tabulkami datových listů se ujistěte, že jsou správně nastaveny bity.

• Selhání handshake – V módech 1 a 2 poskytuje port C potřebné handshake signály (STB, ACK, IBF, OBF). Chybějící, chybně zapojená nebo nesprávně interpretovaná připojení vedou k pozastaveným nebo ztraceným přenosům. Pečlivě ověřte zapojení i očekávanou úroveň logiky připojených zařízení.

• Přetěžování výstupů – Každý pin portu zvládne pouze malé proudy. Přímé buzení LED diod je možné pomocí rezistorů, ale motory, relé a lampy vyžadují externí vyrovnávací stupně, jako jsou tranzistorová pole nebo integrované obvody budiče. Ignorováním tohoto limitu hrozí trvalé poškození čipu.

• Konflikty sběrnic – Pokud se o to pokusí více zařízení současně, může dojít k poškození dat nebo poškození hardwaru. Správná arbitráž sběrnice a použití signálů povolení (RD', WR', CS') tomuto problému předcházejí.

• Ladicí nástroje – Když problémy přetrvávají, testovací zařízení pomáhá izolovat chyby. Logické analyzátory mohou potvrdit časování a řídicí signály, zatímco osciloskopy mohou zkontrolovat, zda problém nevzniká kvůli hlučnému zapojení hardwaru nebo nesprávné inicializaci softwaru.

Závěr

Intel 8255 PPI zůstává základním kamenem rozhraní mikroprocesorů. I když byl z velké části nahrazen moderními expandéry GPIO a vestavěnými I/O mikrokontroléry, nadále slouží jako aktivní výukový nástroj. Jeho srozumitelnost při demonstraci paralelního přenosu dat, konfigurace portů a handshakingu z něj činí neocenitelný nástroj pro každého.

Často kladené dotazy [FAQ]

Co je kontrolní slovo v 8255 a proč je důležité?

Řídicí slovo je 8bitová instrukce vyslaná procesorem pro konfiguraci portů a režimů 8255. Bez něj zůstanou všechny porty ve výchozím stavu vstupu. Definuje, zda každý port funguje jako vstup nebo výstup a volí mezi režimy 0, 1, 2 nebo Bit Set/Reset.

Může 8255 přímo řídit motory nebo relé?

Ne. Výstupy 8255 mohou napájet nebo snižovat pouze několik miliampérů, což je pro motory nebo relé nedostatečné. Pro bezpečné zpracování vyššího proudu musí být použity externí obvody budiče, jako jsou tranzistorová pole nebo H-můstky.

Proč se 8255 stále používá ve vzdělávání?

8255 poskytuje jasný a praktický způsob, jak se dozvědět o I/O mikroprocesoru, řídicích slovech a paralelním přenosu dat. Jeho jednoduchá architektura pomáhá studentům pochopit základní koncepty, než přejdou k moderním mikrokontrolérům.

Co se stane, když použijete port C v režimu handshake?

V režimech 1 a 2 jsou některé linky Port C vyhrazeny pro signály handshake (například STB, ACK, IBF, OBF). Tyto piny nelze v těchto režimech použít jako univerzální I/O, což musíte zohlednit, abyste předešli konfliktům.

Jak se 8255 liší od moderních GPIO expandérů?

Na rozdíl od I²C/SPI expandérů, které používají sériovou komunikaci, 8255 pracuje s paralelní sběrnicí, což umožňuje rychlejší přenosy, ale vyžaduje více pinů. Díky tomu je 8255 méně prostorově efektivní, ale cenný pro skutečné řízení a učení se časování sběrnice.