Intel 8255 programmeeritav välisliidese (PPI) pinout, režiimid ja rakendused

oct 24 2025
Allikas: DiGi-Electronics
Sirvi: 1814

Intel 8255 programmeeritav välisliides (PPI) oli digitaalsete süsteemide algusaegadel mikroprotsessorite ja väliste seadmete ühendamise võtmekomponent. Mitmekülgsete I/O-portide, mitme töörežiimi ja lihtsa programmeerimisega 8255 võimaldas usaldusväärset sidet kuvarite, andurite ja kontrolleritega, muutes selle kasulikuks nii hariduses kui ka tööstuses.

Figure 1. 8255 Microprocessor

8255 programmeeritava välisliidese (PPI) ülevaade

Intel 8255 PPI kiip on laialdaselt kasutatav I/O kiip, mis on mõeldud mikroprotsessorite ühendamiseks välisseadmetega. See toimib sidesillana välisseadmetele, nagu ADC-d, DAC-id, klaviatuurid ja kuvarid. Toetades nii otsest kui ka katkestuspõhist I/O-d, pakub see paindlikkust süsteemi projekteerimisel. Kolme 8-bitise kahesuunalise pordiga (A, B, C) pakub see 24 konfigureeritavat I/O liini. Selle kulutõhusus ja ühilduvus protsessoritega, nagu Intel 8085/8086, muutsid selle varajaste arvutisüsteemide, koolituskomplektide ja tööstuslike kontrollerite põhiosaks.

8255 PPI kiibi omadused

• Programmeeritav liides – konfigureeritav tarkvarajuhiste abil, et kohaneda selliste seadmetega nagu ekraanid, andurid ja sisendmoodulid.

• Kolm 8-bitist porti – pordid A, B ja C pakuvad 24 rida, mis võivad toimida sisendi või väljundina.

• Mitu töörežiimi –

Režiim 0: lihtne sisend/väljund ilma käepigistamiseta.

Režiim 1: vilkuv I/O koos käepigistussignaalidega sünkroniseeritud suhtluseks.

Režiim 2: kahesuunaline andmeedastus käepigistusega (ainult pordil A).

• Biti seadistamine/lähtestamine (BSR) – pordi C-bitte saab eraldi seadistada või tühjendada juhtimis-/olekurakenduste jaoks.

• Paindlik rühmitamine – pordid saab jagada 8-bitisteks või 4-bitisteks rühmadeks.

• TTL-ühilduvus – lihtne integreerimine standardsete digitaalsete IC-dega.

• Sõltumatud juhtimisregistrid – iga port võib töötada eraldi, erinevates režiimides või suundades.

8255 PPI kiibi pinout

Figure 2. Pinout of 8255 Microprocessor

Nööpnõel nr.RühmSignaalKirjeldus
1–8Port APA0–PA78-bitine üldotstarbeline I/O-port
9–16Port CPC0–PC7Jagatud PC0–PC3 (alumine) ja PC4–PC7 (ülemine); kasutatakse I/O või käepigistusjoontena
17–24Port BPB0–PB78-bitine üldotstarbeline I/O-port
25JuhtimineCS'Kiibi valik (aktiivne madal)
26VõimsusVCC+5 V toide
27JuhtimineRD"Loe lubada
28JuhtimineWR'Kirjutamise lubamine
29JuhtimineLÄHTESTALähtestab kõik pordid sisendolekusse
30–37AndmesiinD0–D7Edastab andmeid/käske protsessori ja 8255 vahel
38–39Aadressi nööpnõeladA0, A1Valige sisemised registrid/pordid: 00 = port A, 01 = port B, 10 = port C, 11 = juhtimine
40MaapindGNDMaapinna viide

8255 PPI kiibi arhitektuur

Figure 3. Architecture of 8255 Microprocessor

Funktsionaalne plokkKirjeldus
Andmesiini puhverToimib liidesena protsessori kahesuunalise andmesiini (D7–D0) ja 8255 sisemise 8-bitise andmesiini vahel. See salvestab ja edastab ajutiselt andmeid protsessori ja sisemiste registrite või portide vahel.
Lugemise/kirjutamise juhtimise loogikaHaldab kogu suhtlust protsessori ja 8255 vahel. See tõlgendab juhtsignaale, nagu RD, WR, A0, A1, CS ja RESET, et määrata toimingu tüüp (lugemine, kirjutamine või juhtimine) ning valida õige pordi või juhtregister.
Juhtimisloogika (dekooder)Dekodeerib protsessori saadetud juhtsõna portide konfigureerimiseks erinevates režiimides (režiim 0, 1 või 2) või biti seadistamise/lähtestamise (BSR) režiimis. See määrab, kuidas iga port töötab - sisendi, väljundi või käepigistusena.
A-rühma kontrollJuhib porti A (8 bitti: PA7–PA0) ja ülemist porti C (4 bitti: PC7–PC4). See toetab režiime 0, 1 ja 2, võimaldades lihtsat I/O-d, käepigistuse I/O-d ja kahesuunalist andmeedastust
B-rühma kontrollJuhib porti B (8 bitti: PB7–PB0) ja alumist porti C (4 bitti: PC3–PC0). See toetab režiime 0 ja 1, võimaldades põhilisi sisendi/väljundi või käepigistusega juhitavaid toiminguid.
Port A8-bitine I/O-port, mis võib olenevalt režiimi konfiguratsioonist toimida sisendi või väljundina. Toetab režiime 0–2 A-rühma juhtimisel.
Port BTeine**8-bitine I/O-port** andmeedastuseks. Töötab B-rühma juhtimise all ja toetab režiime 0 ja 1.
Port CJagatud 8-bitine port, mis on jagatud kaheks 4-bitiseks rühmaks: ülemine (PC7–PC4) ja alumine (PC3–PC0). Need võivad toimida sõltumatute I/O-portide, juhtliinide või käepigistussignaalidena. Üksikuid otsikuid saab juhtida ka biti seadistamise/lähtestamise (BSR) režiimi abil.
Sisemine andmesiin (8-bitine)Ühendab kõik 8255 sisemised plokid, edastades andmeid ja juhtimisteavet protsessori, juhtimisloogika ja portide vahel.
ToiteallikasKiip töötab +5V alalisvoolu ja GND-ühendusega, et toita kogu vooluringi.

8255 PPI kiibi töörežiimid ja tööpõhimõte

Intel 8255 toimib programmeeritava liidesena protsessori ja välisseadmete vahel, tõlkides siini toimingud paralleelseks andmeedastuseks. Selle tööd juhivad lähtestamisetapid ja valitavad režiimid:

Lähtesta olek

Sisselülitamisel või lähtestamisel on kõik pordid (A, B ja C) vaikimisi sisendrežiimis, et vältida soovimatute väljunditega välisseadmete kahjustamist.

Lähtestamine

Protsessor peab saatma juhtsõna, mis konfigureerib iga pordi sisendina/väljundina ja valib ühe neljast töörežiimist. Kuni seda ei tehta, jäävad pordid passiivseks.

Töörežiimid

biti seadistamise/lähtestamise (BSR) režiim

• Kehtib ainult pordi C kohta.

• Võimaldab seadistada või kustutada üksikuid bitte juhtimis-/olekuülesannete jaoks.

Režiim 0 – lihtne I/O

• Põhiline sisend/väljund ilma käepigistamiseta.

• Kasutatakse lihtsate ülekannete jaoks, nagu LED-id, lülitid ja ekraanid.

Režiim 1 – vilkuv I/O

• Lisab käepigistuse signaale (STB, ACK, IBF, OBF) pordi C kaudu.

• Tagab sünkroniseeritud protsessori ↔ välisseadmete andmeedastuse.

Režiim 2 – kahesuunaline I/O

• Saadaval ainult pordis A.

• Toetab kahesuunalist ülekannet käepigistuse juhtimisega, mis on kasulik kiirete või asünkroonsete seadmete jaoks.

Lugemise/kirjutamise toimingud

• Kirjutamine: protsessor paigutab andmed süsteemisiinile ja 8255 dekodeerib aadressiread (A0, A1), et suunata need õige pordi väljundriivi.

• Lugemine: välisseadmed paigutavad andmed pordiliinidele, mille 8255 lukustab ja teeb lugemiskäsu ajal protsessorile kättesaadavaks.

Sünkroonimine

• Režiimis 0 toimub andmeedastus otse ilma käepigistusteta.

• Režiimides 1 ja 2 koordineerivad pordi C käepigistussignaalid valmisolekut ja vastuvõttu, vältides andmete kadumist kiire või asünkroonse edastuse ajal.

8255 PPI kiibi liidestamise kaalutlused

8255-ga süsteemide projekteerimisel tagab hoolikas liidestus töökindluse ja hoiab ära nii kiibi kui ka väliste seadmete kahjustamise:

• Vaikimisi sisendolek – lähtestamisel on kõik pordid vaikimisi sisendid. See väldib konflikte, kuid tähendab ka seda, et väljundid on passiivsed kuni konfigureerimiseni. Protsessor peab alati saatma juhtsõna, et suuna ja režiimi õigesti määratleda, enne kui proovite suhelda.

• Väljundajami piirangud – 8255 pordid suudavad hankida või uputada ainult piiratud voolu (paar milliamprit). Raskete koormate, nagu lambid, solenoidid või releed, otsene juhtimine on ohtlik. Selle asemel kasutatakse tavaliselt puhver- või draiveripiire, nagu ULN2803 (Darlingtoni massiiv) või avatud kollektori väravad, nagu 7406. Need tagavad suurema vooluvõime ja kaitsevad PPI-d.

• Mootori juhtimine – alalisvoolumootorite või samm-mootorite puhul ei tohiks 8255 pordid otse ühendada. Selle asemel tuleb väljundid suunata transistori astmete või H-silla draiveri ahelate kaudu. See paigutus võimaldab kahesuunalist voolu, isoleerides samal ajal PPI induktiivsetest pingepiikidest.

• Vahelduvvoolu koormuse ümberlülitamine – vahelduvvooluseadmetega liidestamine nõuab ohutuse tagamiseks isoleerimist. Mehaanilised releed või pooljuhtreleed (SSR), mida juhitakse läbi puhverastmete, tagavad, et 8255 käsitleb ainult juhtsignaale, samal ajal kui tegelik kõrgepinge koormus lülitatakse ohutult väljastpoolt.

• Pordi C piirangud – pordi C bitid ei ole alati vabalt kasutatavad üldise I/O-na. Režiimides 1 ja 2 on mitu tihvti (nt STB, ACK, IBF, OBF) automaatselt reserveeritud käepigistuse juhtimiseks. Peate arvestama nende reserveeritud joontega, et vältida konflikte üldise I/O segamisel käepigistusega.

8255 PPI kiibi eelised

• Protsessori ühilduvus – 8255 töötab sujuvalt selliste protsessoritega nagu Intel 8085, 8086 ja nende ühilduvad. Selle disain vastab standardsetele siiniprotokollidele, muutes integreerimise lihtsaks ilma täiendava liimiloogikata.

• Paindlik pordi konfiguratsioon – Kolme 8-bitise pordiga (A, B, C) saavad kasutajad neid olenevalt rakendusest konfigureerida sisendi, väljundi või seguna. Võimalus vahetada lihtsa I/O (režiim 0) ja käepigistuspõhise side (režiimid 1 ja 2) vahel võimaldab samal kiibil tulla toime mitmesuguste ülesannetega.

• Ühe toiteallikaga töö – standardse +5 V toiteallikaga töötavat 8255 on TTL-põhistes süsteemides lihtne toita. Spetsiaalseid regulaatoreid ega mitut pingetaset pole vaja, mis lihtsustab plaadi disaini.

• Usaldusväärne paralleelne andmeedastus – kiip tagab stabiilse ja prognoositava 8-bitise paralleelside, vähendades ajastuse ebakindlust. See töökindlus muudab selle sobivaks ekraanide juhtimiseks, andurite lugemiseks ja juhtsignaalide haldamiseks tegelikes süsteemides.

• Hariduslik väärtus – kuna 8255 on hästi dokumenteeritud ja laialdaselt kättesaadav, on see olnud mikroprotsessorite laborite ja koolituskomplektide peamine õppevahend. Selle seadmega tehtud praktiliste katsete kaudu saate kiiresti aru I/O liidese kontseptsioonidest.

8255 PPI kiibi rakendused

• Haridussüsteemid – Koolituskomplektid ja laboritahvlid sisaldavad sageli 8255, et demonstreerida perifeersete liideste kontseptsioone. Saate harjutada erinevate režiimide programmeerimist ja jälgida tegelikku suhtlust väliste seadmetega.

• Ekraani juhtimine – kiip juhib visuaalseid väljundseadmeid, nagu seitsmesegmendilised LED-id, LCD-moodulid ja tähtnumbrilised paneelid. Tänu mitmele I/O-liinile saab see värskendada ekraane või saata juhtkäske draiveri IC-dele.

• Klaviatuuriliides – Maatriksklaviatuure varajastes terminalides ja personaalarvutites skanniti sageli 8255 abil. Konfigureerides mõned read readraiveritena ja teised veeruanduritena, tuvastas see tõhusalt klahvivajutusi.

• Mootori juhtimine – samm-mootoreid ja alalisvoolumootoreid saab juhtida, kui 8255 on ühendatud transistorastmete, Darlingtoni massiivide või H-sildadega. See muutis selle kasulikuks robootikas, positsioneerimissüsteemides ja automatiseerimisprojektides.

• Andmete kogumine – kui 8255 oli ühendatud ADC-dega (analoog-digitaalmuundurid) ja DAC-idega (digitaal-analoogmuundurid), pakkus 8255 mõõtmis- ja juhtimisülesannete jaoks täielikku liidest. See võimaldas mikroprotsessoritel käsitleda signaale teadus- ja tööstusseadmetes.

• Tööstusautomaatika – 8255 leidis kasutust fooride, liftiloogika ja protsesside jälgimispaneelide juhtimisel. Selle võime usaldusväärselt hallata mitut sisendit ja väljundit muutis selle odavaks lahenduseks manustatud juhtimissüsteemide jaoks.

• Retro-Computing – klassikalised masinad, nagu IBM PC/XT ja MSX-arvutid, kasutasid 8255 välisseadmete liidestamiseks. Seda kasutati ka printerites ja laienduskaartides, kindlustades selle koha varajases personaalarvutite ajaloos.

8255 PPI kiibi võrdlus teiste PPI-dega

8255 vs. 8155

Figure 4. 8255 vs. 8155

Intel 8155 ühendab ühes paketis mitu funktsiooni: see pakub väikest staatilise RAM-i plokki, programmeeritavat taimerit ja üldotstarbelisi I/O-porte. See muutis selle sobivaks kompaktsetele süsteemidele, kus oli vaja mälu ja ajastuse juhtimist. Seevastu 8255 keskendub täielikult programmeeritavale I/O-le, ilma sisseehitatud mälu või ajastuseta. Selle lihtsam disain muutis programmeerimise odavamaks ja lihtsamaks, kui rakendus ei vajanud integreeritud RAM-i ega taimereid.

8255 vs. 8259

Figure 5. 8255 vs. 8259

Programmeeritav katkestuskontroller 8259 täidab hoopis teistsugust eesmärki: riistvaraliste katkestuste haldamine, et aidata protsessoril välistele sündmustele kiiresti reageerida. Kui 8255 tegeleb paralleelse I/O andmeedastusega, siis 8259 koordinaadid katkestavad signaale. Paljudes mikroprotsessoripõhistes süsteemides kasutati kahte kiipi koos, 8255 liidestamiseks selliste seadmetega nagu klaviatuurid ja ekraanid ning 8259 nende seadmete genereeritud katkestustaotluste haldamiseks.

8255 vs. kaasaegsed GPIO laiendajad

Figure 6. 8255 vs. Modern GPIO Expanders

Tänapäeva süsteemid kasutavad sageli I²C või SPI-põhiseid GPIO laiendajaid (näiteks MCP23017 või PCF8574). Need seadmed pakuvad täiendavaid I/O viike vähemate ühendustega, säästes plaadiruumi ja vähendades protsessori viikude arvu. Kuid need töötavad seeriaviisiliselt, mis võib olla aeglasem võrreldes 8255 otsese paralleeljuurdepääsuga. Kuigi 8255 vajab rohkem bussiliine, võimaldab selle paralleelne struktuur kiiremat ümberistumist ja muudab selle väga väärtuslikuks hariduskeskkondades, kus üksikute tihvtide otsene juhtimine ja bussi ajastuse mõistmine on õppimiseks olulised.

Tõrkeotsing ja levinud probleemid

8255-ga töötamine võib mõnikord põhjustada süsteemirikkeid, kui projekteerimisreegleid hoolikalt ei järgita. Levinud probleemid ja õiguskaitsevahendid on järgmised:

• Lähtestamata pordid – pärast lähtestamist on kõik pordid vaikimisi sisendrežiimis. Kui protsessor ei saada õiget kontrollsõna, jäävad väljundid passiivseks või käituvad ettearvamatult. Programmeerige juhtregister alati enne andmete lugemist või kirjutamist.

• Valed juhtsõnad – valesti konfigureeritud juhtsõnad võivad määrata portidele valed suunad või režiimid, lukustades eeldatavad signaalid. Kontrollige kontrollsõnade väärtusi andmelehetabelitega, et tagada õiged bitisätted.

• Käepigistuse tõrked – režiimides 1 ja 2 annab port C vajalikke käepigistussignaale (STB, ACK, IBF, OBF). Puuduvad, valesti ühendatud või valesti tõlgendatud ühendused põhjustavad ülekannete seiskumist või kadumist. Kontrollige hoolikalt nii juhtmestikku kui ka ühendatud seadmete loogikataseme ootusi.

• Väljundite ülekoormus – iga pordi tihvt saab hakkama ainult väikeste vooludega. LED-ide otsejuhtimine on võimalik takistitega, kuid mootorid, releed ja lambid vajavad väliseid puhverastmeid, nagu transistorimassiivid või draiveri IC-d. Selle piirangu eiramine võib kiipi püsivalt kahjustada.

• Siini konfliktid – kui mitu seadet üritavad süsteemisiini korraga juhtida, võib tekkida andmete rike või riistvarakahjustus. Nõuetekohane siini arbitraaž ja lubamissignaalide (RD', WR', CS') kasutamine hoiavad selle probleemi ära.

• Silumistööriistad – kui probleemid püsivad, aitavad testimisseadmed rikkeid isoleerida. Loogikanalüsaatorid võivad kinnitada ajastus- ja juhtimissignaale, samas kui ostsilloskoobid saavad kontrollida, kas probleem tuleneb mürarikkast riistvarajuhtmestikust või tarkvara valest lähtestamisest.

Järeldus

Intel 8255 PPI jääb mikroprotsessorite liidestamise nurgakiviks. Kuigi see on suures osas asendatud kaasaegsete GPIO laiendajate ja sisseehitatud mikrokontrolleri I/O-ga, toimib see jätkuvalt aktiivse õppevahendina. Selle selgus paralleelse andmeedastuse, pordi konfiguratsiooni ja käepigistuse demonstreerimisel muudab selle hindamatuks kõigile.

Korduma kippuvad küsimused [KKK]

Mis on 8255 kontrollsõna ja miks see oluline on?

Kontrollsõna on 8-bitine käsk, mille CPU saadab 8255 portide ja režiimide konfigureerimiseks. Ilma selleta jäävad kõik pordid vaikimisi sisendolekusse. See määratleb, kas iga port toimib sisendi või väljundina, ja valib režiimide 0, 1, 2 või biti seadistamise/lähtestamise vahel.

Kas 8255 saab otse mootoreid või releed juhtida?

Ei. 8255 väljundid suudavad hankida või uputada vaid paar milliamprit, mis on mootorite või releede jaoks ebapiisav. Suurema voolu ohutuks käsitsemiseks tuleb kasutada väliseid draiveriahelaid, nagu transistorimassiivid või H-sillad.

Miks kasutatakse 8255 tänapäevalgi hariduses?

8255 pakub selget ja praktilist viisi mikroprotsessori I/O, juhtsõnade ja paralleelse andmeedastuse tundmaõppimiseks. Selle lihtne arhitektuur aitab õpilastel mõista põhimõisteid enne kaasaegsete mikrokontrollerite juurde liikumist.

Mis juhtub, kui kasutate porti C käepigistusrežiimides?

Režiimides 1 ja 2 on mõned pordi C liinid reserveeritud käepigistussignaalide jaoks (nt STB, ACK, IBF, OBF). Neid viike ei saa nendes režiimides kasutada üldotstarbelise I/O-na, millega peate konfliktide vältimiseks arvestama.

Mille poolest erineb 8255 tänapäevastest GPIO laiendajatest?

Erinevalt jadasidet kasutavatest I²C/SPI laiendajatest töötab 8255 paralleelsiiniga, võimaldades kiiremat edastust, kuid nõudes rohkem viike. See muudab 8255 vähem ruumisäästlikuks, kuid väärtuslikuks tegeliku juhtimise ja bussi ajastuse õppimise jaoks.