Intel 8255 programabilni periferni interfejs (PPI) je bio ključna komponenta u premošćivanju mikroprocesora sa vanjskim uređajima tokom ranih dana digitalnih sistema. Sa svestranim I/O portovima, višestrukim načinima rada i lakoćom programiranja, 8255 je omogućio pouzdanu komunikaciju sa ekranima, senzorima i kontrolerima, što ga čini korisnim i u obrazovanju i u industriji.

8255 Programabilni periferni interfejs (PPI) Pregled
Intel 8255 PPI čip je široko korišten I/O čip dizajniran za povezivanje mikroprocesora sa vanjskim uređajima. Djeluje kao komunikacijski most za periferne uređaje kao što su ADC-ovi, DAC-ovi, tastature i ekrani. Podržavajući i direktne i prekidne I/O, pruža fleksibilnost u dizajnu sistema. Sa tri 8-bitna dvosmjerna porta (A, B, C), isporučuje 24 konfigurabilne I/O linije. Njegova isplativost i kompatibilnost sa procesorima kao što je Intel 8085/8086 učinila ga je osnovnim u ranim računarskim sistemima, kompletima za obuku i industrijskim kontrolerima.
Karakteristike 8255 PPI čipa
• Programabilni interfejs – Konfigurabilno putem softverskih instrukcija za prilagođavanje uređajima kao što su ekrani, senzori i ulazni moduli.
• Tri 8-bitna porta – Portovi A, B i C pružaju 24 linije koje mogu funkcionirati kao ulaz ili izlaz.
• Višestruki načini rada –
Način 0: Jednostavan ulaz/izlaz bez rukovanja.
Način 1: Strobed I/O sa signalima rukovanja za sinhronizovanu komunikaciju.
Način 2: Dvosmjerni prijenos podataka sa rukovanjem (samo na portu A).
• Bit Set/Reset (BSR) – Port C bitovi mogu biti pojedinačno postavljeni ili obrisani za kontrolne/statusne aplikacije.
• Fleksibilno grupiranje – Portovi mogu biti podijeljeni u 8-bitne ili 4-bitne grupe.
• TTL kompatibilnost – Jednostavna integracija sa standardnim digitalnim IC-ovima.
• Nezavisni kontrolni registri – Svaki port može raditi odvojeno, u različitim načinima ili smjerovima.
Pinout od 8255 PPI čipa

| Pin br. | Grupa | Signal | Opis |
|---|---|---|---|
| 1–8 | Luka A | PA0–PA7 | 8-bitni I/O port opće namjene |
| 9–16 | Luka C | PC0–PC7 | Podijelite na PC0–PC3 (donji) i PC4–PC7 (gornji); koristi se kao I/O ili linije za rukovanje |
| 17–24 | Luka B | PB0–PB7 | 8-bitni I/O port opće namjene |
| 25 | Kontrola | CS' | Odabir čipa (aktivni niski) |
| 26 | Snaga | Vcc | +5 V napajanje |
| 27 | Kontrola | RD' | Omogući čitanje |
| 28 | Kontrola | WR' | Omogućavanje pisanja |
| 29 | Kontrola | RESETUJ | Resetuje sve portove u ulazno stanje |
| 30–37 | Data Bus | D0–D7 | Prenosi podatke/komande između CPU-a i 8255 |
| 38–39 | Adresni pinovi | A0, A1 | Izaberite interne registre/portove: 00=Port A, 01=Port B, 10=Port C, 11=Control |
| 40 | Zemljište | GND | Ground reference |
Arhitektura 8255 PPI čipa

| Funkcionalni blok | Opis |
|---|---|
| Data Bus Buffer | Djeluje kao interfejs između dvosmjerne sabirnice podataka CPU-a (D7-D0) i interne 8-bitne sabirnice podataka 8255. Privremeno pohranjuje i prenosi podatke između CPU-a i internih registara ili portova. |
| Logika kontrole čitanja/pisanja | Upravlja svom komunikacijom između CPU-a i 8255. Interpretira kontrolne signale kao što su RD, WR, A0, A1, CS i RESET kako bi odredio tip operacije (čitanje, pisanje ili kontrola) i odabire ispravan port ili kontrolni registar. |
| Kontrolna logika (dekoder) | Dekodira kontrolnu riječ koju šalje CPU da konfiguriše portove u različitim modovima (Mode 0, 1 ili 2) ili u Bit Set/Reset (BSR) modu. Određuje kako će svaki port raditi - kao ulaz, izlaz ili rukovanje. |
| Kontrola grupe A | Upravlja portom A (8 bita: PA7–PA0) i gornjim portom C (4 bita: PC7–PC4). Podržava modove 0, 1 i 2, omogućavajući jednostavan I/O, rukovanje I/O i dvosmjerni prijenos podataka |
| Kontrola grupe B | Kontrolira port B (8 bita: PB7–PB0) i donji port C (4 bita: PC3–PC0). Podržava modove 0 i 1, omogućavajući osnovni ulaz/izlaz ili operacije kontrolisane rukovanjem. |
| Luka A | 8-bitni I/O port koji može funkcionirati kao ulaz ili izlaz u zavisnosti od konfiguracije režima. Podržava modove 0-2 pod kontrolom grupe A. |
| Luka B | Još jedan**8-bitni I/O port** za prijenos podataka. Radi pod kontrolom grupe B i podržava modove 0 i 1. |
| Luka C | Podijeljeni 8-bitni port podijeljen u dvije 4-bitne grupe: Gornji (PC7-PC4) i Donji (PC3-PC0). Oni mogu djelovati kao nezavisni I/O portovi, kontrolne linije ili signali rukovanja. Pojedinačni bitovi se također mogu kontrolisati pomoću Bit Set/Reset (BSR) režima. |
| Interna sabirnica podataka (8-bit) | Povezuje sve interne blokove 8255, prenoseći podatke i kontrolne informacije između CPU-a, kontrolne logike i portova. |
| Napajanje | Čip radi sa +5V DC napajanjem i GND vezom za napajanje cijelog kola. |
Načini rada i princip rada 8255 PPI čipa
Intel 8255 služi kao programabilni interfejs između CPU-a i perifernih uređaja, prevodeći sabirničke operacije u paralelne prijenose podataka. Njegovim radom upravljaju koraci inicijalizacije i modovi koji se mogu odabrati:
Resetiranje stanja
Prilikom uključivanja ili resetovanja, svi portovi (A, B i C) podrazumevaju ulazni mod kako bi se izbjeglo oštećenje perifernih uređaja sa nenamjernim izlazima.
Inicijalizacija
CPU mora poslati kontrolnu riječ koja konfigurira svaki port kao ulaz/izlaz i bira jedan od četiri načina rada. Dok se to ne uradi, luke ostaju neaktivne.
Načini rada
Bit Set/Reset (BSR) mod
• Odnosi se samo na luku C.
• Omogućava postavljanje ili brisanje pojedinačnih bitova za zadatke kontrole/statusa.
Mode 0 – Jednostavni I/O
• Osnovni ulaz/izlaz bez rukovanja.
• Koristi se za jednostavne prijenose kao što su LED diode, prekidači i ekrani.
Mode 1 – Strobed I/O
• Dodaje signale rukovanja (STB, ACK, IBF, OBF) preko porta C.
• Osigurava sinhronizovani CPU ↔ periferni prijenos podataka.
Mode 2 – Dvosmjerni I/O
• Dostupno samo na luci A.
• Podržava dvosmjerni prijenos sa kontrolom rukovanja, korisno za brze ili asinhrone uređaje.
Operacije čitanja/pisanja
• Pisanje: CPU postavlja podatke na sistemsku sabirnicu, a 8255 dekodira adresne linije (A0, A1) da ih usmjeri na izlazni zasun ispravnog porta.
• Čitanje: Vanjski uređaji stavljaju podatke na port linije, koje 8255 zaključava i čini dostupnim CPU-u tokom naredbe za čitanje.
Sinhronizacija
• U modu 0, prijenos podataka se odvija direktno bez rukovanja.
• U modovima 1 i 2, rukovanje signalima iz porta C koordinira spremnost i prihvatanje, sprečavajući gubitak podataka tokom brzih ili asinhronih prijenosa.
Interfacing Considerations of 8255 PPI Chip
Prilikom dizajniranja sistema sa 8255, pažljivo sučelje osigurava pouzdanost i sprečava oštećenje čipa i vanjskih uređaja:
• Default Input State – Na resetovanju, svi portovi su podrazumevani za ulaze. Ovo izbjegava konflikte, ali također znači da su izlazi neaktivni dok se ne konfiguriraju. CPU uvijek mora poslati kontrolnu riječ kako bi pravilno definirao smjer i način prije pokušaja komunikacije.
• Ograničenja izlaznog pogona – Portovi 8255 mogu izvor ili potopiti samo ograničenu struju (nekoliko miliampera). Direktna vožnja teških tereta kao što su lampe, solenoidi ili releji nije sigurna. Umjesto toga, obično se koriste baferi ili drajveri kao što je ULN2803 (Darlington niz) ili otvorena kolektorska vrata kao što je 7406. Oni pružaju veću strujnu sposobnost i štite PPI.
• Kontrola motora – Za istosmjerne motore ili koračne motore, 8255 portovi ne bi trebali biti direktno povezani. Umjesto toga, izlazi moraju biti usmjereni kroz tranzistorske stupnjeve ili H-bridge drajverske krugove. Ovaj raspored omogućava dvosmjerni protok struje dok izolira PPI od induktivnih naponskih šiljaka.
• AC Load Switching – Sučelje sa AC uređajima zahtijeva izolaciju radi sigurnosti. Mehanički releji ili solid-state releji (SSR) koji se pokreću kroz faze pufera osiguravaju da 8255 obrađuje samo kontrolne signale, dok se stvarno visokonaponsko opterećenje sigurno prebacuje izvana.
• Ograničenja porta C – Bitovi porta C nisu uvijek slobodno upotrebljivi kao opći I/O. U modovima 1 i 2, nekoliko pinova (npr. STB, ACK, IBF, OBF) je automatski rezervisano za kontrolu rukovanja. Morate uzeti u obzir ove rezervisane linije kako biste izbjegli sukobe kada miješate opće I/O sa rukovanjem.
Prednosti 8255 PPI čipa
• CPU kompatibilnost – 8255 radi besprijekorno sa procesorima kao što su Intel 8085, 8086 i njihovim kompatibilnim uređajima. Njegov dizajn odgovara standardnim protokolima sabirnice, čineći integraciju jednostavnom bez dodatne logike ljepila.
• Fleksibilna konfiguracija porta – Sa tri 8-bitna porta (A, B, C), korisnici ih mogu konfigurisati kao ulaz, izlaz ili miks u zavisnosti od aplikacije. Mogućnost prebacivanja između jednostavnog I/O (Mode 0) i handshake-driven komunikacije (Modes 1 i 2) omogućava istom čipu da se nosi sa širokim spektrom zadataka.
• Single-Supply Operation – Radi sa standardnim +5 V napajanjem, 8255 je jednostavan za napajanje u TTL-baziranim sistemima. Nisu potrebni posebni regulatori ili višestruki nivoi napona, što pojednostavljuje dizajn ploče.
• Pouzdan paralelni prijenos podataka – Čip pruža stabilnu i predvidljivu 8-bitnu paralelnu komunikaciju, smanjujući neizvjesnosti u vremenu. Ova pouzdanost ga čini pogodnim za vožnju ekrana, čitanje senzora i upravljanje kontrolnim signalima u stvarnim sistemima.
• Obrazovna vrijednost – Budući da je dobro dokumentiran i široko dostupan, 8255 je bio ključni nastavni alat u mikroprocesorskim laboratorijama i kompletima za obuku. Možete brzo razumjeti koncepte I/O sučelja kroz praktične eksperimente sa ovim uređajem.
Primjene 8255 PPI čipa
• Obrazovni sistemi – Kompleti za obuku i laboratorijske ploče često uključuju 8255 za demonstraciju perifernih koncepata sučelja. Možete vježbati programiranje različitih načina i promatrati stvarnu interakciju s vanjskim uređajima.
• Kontrola ekrana – Čip pokreće vizuelne izlazne uređaje kao što su LED diode sa sedam segmenata, LCD moduli i alfanumerički paneli. Sa svojim višestrukim I/O linijama, može osvježiti ekrane ili poslati kontrolne komande IC-ovima vozača.
• Sučelje tastature – Matrične tastature u ranim terminalima i ličnim računarima često su skenirane pomoću 8255. Konfigurišući neke linije kao drajvere redova, a druge kao senzore kolone, efikasno je detektirao pritiske na tipke.
• Kontrola motora – Koračni motori i istosmjerni motori mogu se kontrolirati kada je 8255 uparen sa tranzistorskim stupnjevima, Darlingtonovim nizovima ili H-mostovima. To ga je učinilo korisnim u robotici, sistemima pozicioniranja i projektima automatizacije.
• Prikupljanje podataka – Kada je spojen na ADC (analogno-digitalni pretvarači) i DAC-ove (digitalno-analogni pretvarači), 8255 je pružio kompletan interfejs za zadatke mjerenja i kontrole. To je omogućilo mikroprocesorima da rukuju signalima u naučnoj i industrijskoj opremi.
• Industrijska automatizacija – 8255 je pronašao primjenu u kontroli saobraćajne signalizacije, logike lifta i panela za nadzor procesa. Njegova sposobnost da pouzdano upravlja višestrukim ulazima i izlazima učinila ga je jeftinim rješenjem za ugrađene kontrolne sisteme.
• Retro-računarstvo – Klasične mašine kao što su IBM PC/XT i MSX računari koristili su 8255 za periferno sučelje. Također je korišten u štampačima i karticama za proširenje, učvršćujući svoje mjesto u ranoj historiji ličnih računara.
8255 PPI čip poređenje sa drugim PPI
8255 vs. 8155

Intel 8155 kombinira više funkcija u jednom paketu: nudi mali blok statičke RAM-a, programabilni tajmer i I/O portove opće namjene. To ga je učinilo pogodnim za kompaktne sisteme gdje je bila potrebna kontrola memorije i vremena. Nasuprot tome, 8255 se u potpunosti fokusira na programabilne I/O, bez ugrađene memorije ili vremena. Njegov jednostavniji dizajn učinio ga je jeftinijim i lakšim za programiranje kada aplikacija nije zahtijevala integrisani RAM ili tajmere.
8255 vs. 8259

8259 programabilni kontroler prekida služi sasvim drugačijoj svrsi: upravljanje hardverskim prekidima kako bi pomogao CPU-u da brzo odgovori na vanjske događaje. Dok 8255 obrađuje paralelni I/O prijenos podataka, 8259 koordinate prekidaju signale. U mnogim sistemima baziranim na mikroprocesorima, dva čipa su korištena zajedno, 8255 za povezivanje sa uređajima kao što su tastature i ekrani, i 8259 za upravljanje zahtjevima za prekid generisanim od strane tih uređaja.
8255 protiv modernih GPIO ekspandera

Današnji sistemi često koriste I²C ili SPI-bazirane GPIO ekspandere (kao što su MCP23017 ili PCF8574). Ovi uređaji pružaju dodatne I/O pinove sa manje veza, štedeći prostor na ploči i smanjujući broj pinova na CPU-u. Međutim, oni rade serijski, što može biti sporije u poređenju sa direktnim paralelnim pristupom 8255. Dok 8255 zahtijeva više autobusnih linija, njegova paralelna struktura omogućava brže transfere i čini ga vrlo vrijednim u obrazovnim okruženjima, gdje su direktna kontrola pojedinačnih pinova i razumijevanje vremena autobusa važni za učenje.
Rješavanje problema i uobičajeni problemi
Rad sa 8255 ponekad može dovesti do grešaka u sistemu ako se pravila dizajna ne poštuju pažljivo. Uobičajena pitanja i pravni lijekovi uključuju:
• Neinicijalizirani portovi – Nakon resetovanja, svi portovi su podrazumevani u način unosa. Ako CPU ne pošalje odgovarajuću kontrolnu riječ, izlazi ostaju neaktivni ili se ponašaju nepredvidivo. Uvijek programirajte kontrolni registar prije pokušaja čitanja ili pisanja podataka.
• Neispravne kontrolne riječi – Pogrešno konfigurirane kontrolne riječi mogu dodijeliti pogrešne smjerove ili načine rada portovima, zaključavajući očekivane signale. Unakrsna provjera vrijednosti kontrolnih riječi u odnosu na tabele podatkovnih listova kako bi se osiguralo pravilno podešavanje bitova.
• Neuspjesi rukovanja – U modovima 1 i 2, port C pruža potrebne signale rukovanja (STB, ACK, IBF, OBF). Nedostajuće, pogrešno povezane ili pogrešno protumačene veze dovode do zastoja ili izgubljenih transfera. Pažljivo provjerite i ožičenje i očekivanja logičkog nivoa povezanih uređaja.
• Preopterećenje izlaza – Svaki pin porta može podnijeti samo male struje. Direktno pokretanje LED dioda je moguće sa otpornicima, ali motori, releji i lampe zahtijevaju vanjske faze pufera kao što su tranzistorski nizovi ili IC-ovi drajvera. Ignoriranje ove granice riskira trajno oštećenje čipa.
• Konflikti sabirnica – Ako više uređaja pokuša da upravlja sistemskom sabirnicom u isto vrijeme, može doći do oštećenja podataka ili hardvera. Odgovarajuća arbitraža sabirnice i korištenje signala za omogućavanje (RD', WR', CS') sprječavaju ovaj problem.
• Alati za otklanjanje grešaka – Kada problemi potraju, oprema za testiranje pomaže u izolaciji grešaka. Logički analizatori mogu potvrditi vremenske i kontrolne signale, dok osciloskopi mogu provjeriti da li problem proizlazi iz bučnog hardverskog ožičenja ili neispravne inicijalizacije softvera.
Zaključak
Intel 8255 PPI ostaje kamen temeljac mikroprocesorskog sučelja. Iako je u velikoj mjeri zamijenjen modernim GPIO ekspanderima i ugrađenim mikrokontrolerom I/O, nastavlja služiti kao aktivni alat za podučavanje. Njegova jasnoća u demonstraciji paralelnog prijenosa podataka, konfiguracije porta i rukovanja čini ga neprocjenjivim za svakoga.
Često postavljana pitanja [FAQ]
Koja je kontrolna riječ u 8255 i zašto je važna?
Kontrolna riječ je 8-bitna instrukcija koju šalje CPU za konfigurisanje portova i modova 8255. Bez toga, svi portovi ostaju u svom podrazumevanom stanju unosa. Definira da li svaki port djeluje kao ulaz ili izlaz i bira između modova 0, 1, 2 ili Bit Set/Reset.
Može li 8255 direktno pokretati motore ili releje?
Ne. Izlazi 8255 mogu izvoriti ili potopiti samo nekoliko miliampera, što je nedovoljno za motore ili releje. Eksterna kola drajvera, kao što su tranzistorski nizovi ili H-mostovi, moraju se koristiti za sigurno rukovanje većom strujom.
Zašto se 8255 i danas koristi u obrazovanju?
8255 pruža jasan, praktičan način za učenje o mikroprocesorskim I/O, kontrolnim riječima i paralelnom prijenosu podataka. Njegova jednostavna arhitektura pomaže studentima da razumiju osnovne koncepte prije nego što pređu na moderne mikrokontrolere.
Šta se dešava ako koristite port C u režimima rukovanja?
U modovima 1 i 2, neke linije luke C su rezervisane za signale rukovanja (kao što su STB, ACK, IBF, OBF). Ovi pinovi se ne mogu koristiti kao I/O opće namjene tokom tih modova, što morate uzeti u obzir da biste izbjegli konflikte.
Kako se 8255 razlikuje od modernih GPIO ekspandera?
Za razliku od I²C/SPI ekspandera koji koriste serijsku komunikaciju, 8255 radi sa paralelnom sabirnicom, omogućavajući brže prijenose, ali zahtijevajući više pinova. To čini 8255 manje prostorno efikasnim, ali vrijednim za stvarnu kontrolu i učenje vremena autobusa.