Intel 8255 -ohjelmoitavan oheislaitteen (PPI) liitäntä, tilat ja sovellukset

Oct 24 2025
Lähde: DiGi-Electronics
Selaa: 1947

Intel 8255 Programmable Peripheral Interface (PPI) oli keskeinen komponentti mikroprosessorien yhdistämisessä ulkoisiin laitteisiin digitaalisten järjestelmien alkuaikoina. Monipuolisten I/O-porttien, useiden käyttötilojen ja helpon ohjelmoinnin ansiosta 8255 mahdollisti luotettavan tiedonsiirron näyttöjen, antureiden ja ohjainten kanssa, mikä teki siitä hyödyllisen sekä koulutuksessa että teollisuudessa.

Figure 1. 8255 Microprocessor

8255 ohjelmoitavan oheislaitteen (PPI) yleiskatsaus

Intel 8255 PPI -siru on laajalti käytetty I/O-siru, joka on suunniteltu yhdistämään mikroprosessoreita ulkoisiin laitteisiin. Se toimii viestintäsiltana oheislaitteille, kuten ADC:ille, DAC:ille, näppäimistöille ja näytöille. Se tukee sekä suoraa että keskeytysohjattua I/O:ta ja tarjoaa joustavuutta järjestelmän suunnitteluun. Kolmella 8-bittisellä kaksisuuntaisella portilla (A, B, C) se tarjoaa 24 konfiguroitavaa I/O-linjaa. Sen kustannustehokkuus ja yhteensopivuus prosessorien, kuten Intel 8085/8086:n, kanssa tekivät siitä varhaisten tietokonejärjestelmien, koulutussarjojen ja teollisuusohjainten perustuotteen.

8255 PPI -sirun ominaisuudet

• Ohjelmoitava käyttöliittymä – Konfiguroitavissa ohjelmisto-ohjeiden avulla mukautumaan laitteisiin, kuten näyttöihin, antureihin ja tulomoduuleihin.

• Kolme 8-bittistä porttia – Portit A, B ja C tarjoavat 24 linjaa, jotka voivat toimia tulona tai lähtönä.

• Useita käyttötiloja –

Tila 0: Yksinkertainen syöttö/lähtö ilman kättelyä.

Tila 1: Stroped I/O kättelysignaaleilla synkronoitua viestintää varten.

Tila 2: Kaksisuuntainen tiedonsiirto kättelyllä (vain portissa A).

• Bitin asetus/nollaus (BSR) – Portin C-bitit voidaan asettaa tai tyhjentää yksitellen ohjaus-/tilasovelluksia varten.

• Joustava ryhmittely – Portit voidaan jakaa 8- tai 4-bittisiin ryhmiin.

• TTL-yhteensopivuus – Helppo integrointi tavallisiin digitaalisiin mikropiireihin.

• Itsenäiset ohjausrekisterit – Jokainen portti voi toimia erikseen, eri tiloissa tai suuntiin.

8255 PPI-sirun pinout

Figure 2. Pinout of 8255 Microprocessor

Nasta nro.RyhmäSignaaliKuvaus
1–8Portti APA0–PA78-bittinen yleiskäyttöinen I/O-portti
9–16Portti CPC0–PC7Jaa PC0–PC3 (alempi) ja PC4–PC7 (ylempi); käytetään I/O- tai kättelylinjoina
17–24Portti BPB0–PB78-bittinen yleiskäyttöinen I/O-portti
25OhjausCS'Pelimerkin valinta (aktiivinen matala)
26TehoVcc+5 V syöttö
27OhjausRD'Lue käyttöön
28OhjausWR'Kirjoita käyttöön
29OhjausNOLLAAPalauttaa kaikki portit tulotilaan
30–37DataväyläD0–D7Siirtää tietoja/komentoja suorittimen ja 8255:n välillä
38–39Osoite-Pin-lisäyksetA0, A1Valitse sisäiset rekisterit/portit: 00=Portti A, 01=Portti B, 10=Portti C, 11=Ohjaus
40MaaGNDMaan viite

8255 PPI -sirun arkkitehtuuri

Figure 3. Architecture of 8255 Microprocessor

Toiminnallinen lohkoKuvaus
Dataväylän puskuriToimii rajapintana suorittimen kaksisuuntaisen dataväylän (D7–D0) ja 8255:n sisäisen 8-bittisen dataväylän välillä. Se tallentaa ja siirtää tietoja väliaikaisesti suorittimen ja sisäisten rekisterien tai porttien välillä.
Luku-/kirjoitusohjauslogiikkaHallitsee kaikkea tiedonsiirtoa suorittimen ja 8255:n välillä. Se tulkitsee ohjaussignaaleja, kuten RD, WR, A0, A1, CS ja RESET määrittääkseen toimintatyypin (luku, kirjoitus tai ohjaus) ja valitsee oikean portin tai ohjausrekisterin.
Ohjauslogiikka (dekooderi)Purkaa suorittimen lähettämän ohjaussanan porttien konfiguroimiseksi eri tiloissa (tila 0, 1 tai 2) tai bittien asetus/nollaus (BSR) -tilassa. Se määrittää, miten kukin portti toimii - tulona, lähtönä tai kättelynä.
Ryhmän A ohjausobjektiOhjaa porttia A (8 bittiä: PA7–PA0) ja ylempää porttia C (4 bittiä: PC7–PC4). Se tukee tiloja 0, 1 ja 2, mikä mahdollistaa yksinkertaisen I/O:n, kättely-I/O:n ja kaksisuuntaisen tiedonsiirron
Ryhmän B ohjausOhjaa porttia B (8 bittiä: PB7–PB0) ja alempaa porttia C (4 bittiä: PC3–PC0). Se tukee tiloja 0 ja 1, mikä mahdollistaa perustulo-/lähtö- tai kättelyohjatut toiminnot.
Portti A8-bittinen I/O-portti, joka voi toimia tulona tai lähtönä tilakokoonpanosta riippuen. Tukee tiloja 0–2 ryhmän A ohjauksessa.
Portti BToinen**8-bittinen I/O-portti** tiedonsiirtoa varten. Toimii ryhmän B ohjauksessa ja tukee tiloja 0 ja 1.
Portti CJaettu 8-bittinen portti, joka on jaettu kahteen 4-bittiseen ryhmään: ylempi (PC7–PC4) ja alempi (PC3–PC0). Nämä voivat toimia itsenäisinä I/O-portteina, ohjauslinjoina tai kättelysignaaleina. Yksittäisiä bittejä voidaan ohjata myös Bit Set/Reset (BSR) -tilassa.
Sisäinen dataväylä (8-bittinen)Yhdistää kaikki 8255:n sisäiset lohkot ja siirtää tietoja ja ohjaustietoja suorittimen, ohjauslogiikan ja porttien välillä.
VirtalähdeSiru toimii +5V DC-syötöllä ja GND-liitännällä koko piirin virransyöttöön.

8255 PPI -sirun toimintatilat ja toimintaperiaate

Intel 8255 toimii ohjelmoitavana liitäntänä suorittimen ja oheislaitteiden välillä, mikä kääntää väylätoiminnot rinnakkaisiksi tiedonsiirroiksi. Sen toimintaa ohjaavat alustusvaiheet ja valittavissa olevat tilat:

Nollaa tila

Käynnistyksen tai nollauksen yhteydessä kaikki portit (A, B ja C) ovat oletusarvoisesti tulotilassa, jotta oheislaitteet eivät vahingoitu tahattomilla lähdöillä.

Alustus

Suorittimen on lähetettävä ohjaussana, joka määrittää jokaisen portin tuloksi/lähdöksi ja valitsee yhden neljästä toimintatilasta. Kunnes tämä on tehty, portit pysyvät passiivisina.

Käyttötavat

-bittinen asetus-/nollaustila (BSR)

• Koskee vain porttia C.

• Mahdollistaa yksittäisten bittien asettamisen tai tyhjentämisen ohjaus-/tilatehtäviä varten.

Tila 0 – Yksinkertainen I/O

• Perustulo/lähtö ilman kättelyä.

• Käytetään yksinkertaisiin siirtoihin, kuten LEDeihin, kytkimiin ja näyttöihin.

Tila 1 – Strobed I/O

• Lisää kättelysignaaleja (STB, ACK, IBF, OBF) portin C kautta.

• Varmistaa synkronoidun suorittimen ↔ oheislaitteiden tiedonsiirron.

Tila 2 – Kaksisuuntainen I/O

• Saatavilla vain portissa A.

• Tukee kaksisuuntaista siirtoa kättelyohjauksella, hyödyllinen nopeille tai asynkronisille laitteille.

Luku-/kirjoitustoiminnot

• Kirjoitus: Suoritin sijoittaa tiedot järjestelmäväylään, ja 8255 purkaa osoiterivit (A0, A1) ohjatakseen ne oikean portin lähtösalpaan.

• Luku: Ulkoiset laitteet tallentavat tietoja porttilinjoille, jotka 8255 lukitsee ja antaa suorittimen käyttöön lukukomennon aikana.

Synkronointi

• Tilassa 0 tiedonsiirto tapahtuu suoraan ilman kättelyä.

• Tiloissa 1 ja 2 portin C kättelysignaalit koordinoivat valmiutta ja hyväksyntää, mikä estää tietojen häviämisen nopeiden tai asynkronisten siirtojen aikana.

8255 PPI -sirun liitäntänäkökohdat

Suunniteltaessa järjestelmiä 8255:n kanssa huolellinen liitäntä varmistaa luotettavuuden ja estää sekä sirun että ulkoisten laitteiden vaurioitumisen:

• Oletustulotila – Nollauksen yhteydessä kaikki portit ovat oletuksena tuloja. Tämä välttää ristiriidat, mutta tarkoittaa myös sitä, että lähdöt ovat passiivisia, kunnes ne on määritetty. CPU:n on aina lähetettävä ohjaussana suunnan ja tilan määrittämiseksi oikein ennen tiedonsiirtoa.

• Lähtöaseman rajat – 8255:n portit voivat syöttää tai upottaa vain rajoitetun virran (muutama milliampeeri). Raskaiden kuormien, kuten lamppujen, solenoidien tai releiden suora ohjaaminen ei ole turvallista. Sen sijaan käytetään yleisesti puskuri- tai ohjainpiirejä, kuten ULN2803 (Darlington-ryhmä) tai avoimia kollektoriportteja, kuten 7406. Nämä tarjoavat suuremman virtakyvyn ja suojaavat PPI:tä.

• Moottorin ohjaus – Tasavirtamoottoreissa tai askelmoottoreissa 8255-portteja ei saa kytkeä suoraan. Sen sijaan lähdöt on reititettävä transistorivaiheiden tai H-sillan ohjainpiirien kautta. Tämä järjestely mahdollistaa kaksisuuntaisen virran virtauksen ja eristää PPI:n induktiivisista jännitepiikkeistä.

• AC-kuorman kytkentä – Liitäntä AC-laitteiden kanssa vaatii eristyksen turvallisuuden vuoksi. Puskurivaiheiden läpi ohjatut mekaaniset releet tai puolijohdereleet (SSR) varmistavat, että 8255 käsittelee vain ohjaussignaaleja, kun taas varsinainen korkeajännitekuorma kytketään turvallisesti ulkoisesti.

• Port C -rajoitukset – Port C:n bitit eivät aina ole vapaasti käytettävissä yleisinä I/O:na. Tiloissa 1 ja 2 useita nastoja (esim. STB, ACK, IBF, OBF) varataan automaattisesti kättelyn hallintaan. Sinun on otettava huomioon nämä varatut rivit, jotta vältyt ristiriidoilta, kun sekoitat yleistä I/O:ta kättelyyn.

8255 PPI -sirun edut

• Suorittimen yhteensopivuus – 8255 toimii saumattomasti prosessorien, kuten Intel 8085, 8086 ja niiden yhteensopivien prosessorien kanssa. Sen muotoilu vastaa tavallisia väyläprotokollia, mikä tekee integroinnista helppoa ilman ylimääräistä liimalogiikkaa.

• Joustava porttikokoonpano – Kolmen 8-bittisen portin (A, B, C) avulla käyttäjät voivat määrittää ne tuloksi, lähdöksi tai sekoitukseksi sovelluksesta riippuen. Mahdollisuus vaihtaa yksinkertaisen I/O:n (tila 0) ja kättelypohjaisen tiedonsiirron (tilat 1 ja 2) välillä mahdollistaa saman sirun selviytymisen monenlaisista tehtävistä.

• Yhden syötön käyttö – Tavallisella +5 V:n virralla toimiva 8255 on helppo saada virtaa TTL-pohjaisissa järjestelmissä. Erityisiä säätimiä tai useita jännitetasoja ei tarvita, mikä yksinkertaistaa levyn suunnittelua.

• Luotettava rinnakkaistiedonsiirto – Siru tarjoaa vakaan ja ennustettavan 8-bittisen rinnakkaistiedonsiirron, mikä vähentää ajoituksen epävarmuutta. Tämän luotettavuuden ansiosta se soveltuu näyttöjen ajamiseen, antureiden lukemiseen ja ohjaussignaalien hallintaan todellisissa järjestelmissä.

• Koulutusarvo – Koska 8255 on hyvin dokumentoitu ja laajalti saatavilla, se on ollut keskeinen opetustyökalu mikroprosessorilaboratorioissa ja koulutussarjoissa. Voit nopeasti ymmärtää I/O-liitäntäkäsitteet käytännön kokeiden avulla tällä laitteella.

8255 PPI-sirun sovellukset

• Koulutusjärjestelmät – Koulutussarjat ja laboratoriolevyt sisältävät usein 8255:n oheislaitteiden rajapintakonseptien esittelyyn. Voit harjoitella eri tilojen ohjelmointia ja tarkkailla todellista vuorovaikutusta ulkoisten laitteiden kanssa.

• Näytön ohjaus – Siru ohjaa visuaalisia lähtölaitteita, kuten seitsemän segmentin LED-valoja, LCD-moduuleja ja aakkosnumeerisia paneeleja. Useiden I/O-linjojensa ansiosta se voi päivittää näyttöjä tai lähettää ohjauskomentoja ohjainpiireille.

• Näppäimistöliitäntä – Varhaisten päätelaitteiden ja henkilökohtaisten tietokoneiden matriisinäppäimistöt skannattiin usein 8255:llä. Määrittämällä jotkut rivit riviohjaimiksi ja toiset pylväsantureiksi se havaitsi tehokkaasti näppäinpainallukset.

• Moottorin ohjaus – Askelmoottoreita ja tasavirtamoottoreita voidaan ohjata, kun 8255 on yhdistetty transistorivaiheisiin, Darlington-ryhmiin tai H-siltoihin. Tämä teki siitä hyödyllisen robotiikassa, paikannusjärjestelmissä ja automaatioprojekteissa.

• Tiedonkeruu – Kun 8255 oli liitetty ADC:ihin (analogi-digitaalimuuntimet) ja DAC:iin (digitaali-analogimuuntimet), se tarjosi täydellisen käyttöliittymän mittaus- ja ohjaustehtäviin. Tämän ansiosta mikroprosessorit pystyivät käsittelemään signaaleja tieteellisissä ja teollisissa laitteissa.

• Teollisuusautomaatio – 8255:tä käytettiin liikennevalojen, hissilogiikan ja prosessien valvontapaneelien ohjauksessa. Sen kyky hallita luotettavasti useita tuloja ja lähtöjä teki siitä edullisen ratkaisun sulautetuille ohjausjärjestelmille.

• Retro-Computing – Klassiset koneet, kuten IBM PC/XT- ja MSX-tietokoneet, käyttivät 8255:tä oheislaitteiden liittämiseen. Sitä käytettiin myös tulostimissa ja laajennuskorteissa, mikä vahvisti sen paikkaa varhaisessa henkilökohtaisten tietokoneiden historiassa.

8255 PPI-sirun vertailu muihin PPI-lääkkeisiin

8255 vs. 8155

Figure 4. 8255 vs. 8155

Intel 8155 yhdistää useita toimintoja yhteen pakettiin: se tarjoaa pienen lohkon staattista RAM-muistia, ohjelmoitavan ajastimen ja yleiskäyttöiset I/O-portit. Tämä teki siitä sopivan kompakteihin järjestelmiin, joissa tarvittiin muistin ja ajoituksen hallintaa. Sitä vastoin 8255 keskittyy kokonaan ohjelmoitavaan I/O:hen ilman sisäänrakennettua muistia tai ajoitusta. Sen yksinkertaisempi muotoilu teki ohjelmoinnista halvempaa ja helpompaa, kun sovellus ei vaatinut integroitua RAM-muistia tai ajastimia.

8255 vs. 8259

Figure 5. 8255 vs. 8259

Ohjelmoitava keskeytysohjain 8259 palvelee hyvin erilaista tarkoitusta: laitteiston keskeytysten hallintaa, jotta suoritin reagoi nopeasti ulkoisiin tapahtumiin. Kun 8255 käsittelee rinnakkaista I/O-tiedonsiirtoa, 8259-koordinaatit keskeyttävät signaalit. Monissa mikroprosessoripohjaisissa järjestelmissä näitä kahta sirua käytettiin yhdessä, 8255 liittämiseen laitteisiin, kuten näppäimistöihin ja näyttöihin, ja 8259 näiden laitteiden luomien keskeytyspyyntöjen hallintaan.

8255 vs. nykyaikaiset GPIO-laajennukset

Figure 6. 8255 vs. Modern GPIO Expanders

Nykypäivän järjestelmissä käytetään usein I²C- tai SPI-pohjaisia GPIO-laajennimia (kuten MCP23017 tai PCF8574). Nämä laitteet tarjoavat ylimääräisiä I/O-nastoja vähemmillä liitännöillä, mikä säästää levytilaa ja vähentää suorittimen nastojen määrää. Ne toimivat kuitenkin sarjassa, mikä voi olla hitaampaa verrattuna 8255:n suoraan rinnakkaisliitäntään. Vaikka 8255 vaatii enemmän väylälinjoja, sen rinnakkaisrakenne mahdollistaa nopeammat siirrot ja tekee siitä erittäin arvokkaan koulutusympäristöissä, joissa yksittäisten nastojen suora hallinta ja väylän ajoituksen ymmärtäminen ovat tärkeitä oppimisen kannalta.

Vianmääritys ja yleiset ongelmat

8255:n kanssa työskentely voi joskus johtaa järjestelmävirheisiin, jos suunnittelusääntöjä ei noudateta huolellisesti. Yleisiä ongelmia ja korjaustoimenpiteitä ovat:

• Alustamattomat portit – Nollauksen jälkeen kaikki portit ovat oletuksena tulotilassa. Jos CPU ei lähetä oikeaa ohjaussanaa, lähdöt pysyvät passiivisina tai käyttäytyvät arvaamattomasti. Ohjelmoi ohjausrekisteri aina ennen kuin yrität lukea tai kirjoittaa tietoja.

• Virheelliset ohjaussanat – Väärin määritetyt ohjaussanat voivat määrittää porteille väärät suunnat tai tilat, mikä lukitsee odotetut signaalit. Tarkista vertailusanojen arvot taulukkotaulukoista varmistaaksesi oikeat bittiasetukset.

• Kättelyvirheet – Tiloissa 1 ja 2 portti C antaa tarvittavat kättelysignaalit (STB, ACK, IBF, OBF). Puuttuvat, väärin kytketyt tai väärin tulkitut yhteydet johtavat siirtojen pysähtymiseen tai katoamiseen. Tarkista huolellisesti sekä johdotus että liitettyjen laitteiden logiikkatason odotukset.

• Ylikuormituslähdöt – Jokainen portin nasta pystyy käsittelemään vain pieniä virtoja. LEDien ohjaaminen suoraan on mahdollista vastuksilla, mutta moottorit, releet ja lamput vaativat ulkoisia puskurivaiheita, kuten transistoriryhmiä tai ohjainpiirejä. Tämän rajan huomiotta jättäminen voi vahingoittaa sirua pysyvästi.

• Väyläristiriidat – Jos useat laitteet yrittävät käyttää järjestelmäväylää samanaikaisesti, seurauksena voi olla tietojen vioittuminen tai laitteistovaurio. Asianmukainen väyläsovittelu ja käyttöönottosignaalien (RD', WR', CS') käyttö estävät tämän ongelman.

• Virheenkorjaustyökalut – Kun ongelmat jatkuvat, testilaitteet auttavat eristämään viat. Logiikka-analysaattorit voivat vahvistaa ajoitus- ja ohjaussignaalit, kun taas oskilloskoopit voivat tarkistaa, johtuuko ongelma meluisasta laitteistojohdotuksesta vai virheellisestä ohjelmiston alustuksesta.

Päätelmä

Intel 8255 PPI on edelleen mikroprosessorien rajapinnan kulmakivi. Vaikka se on suurelta osin korvattu nykyaikaisilla GPIO-laajennuksilla ja sisäänrakennetulla mikro-ohjaimen I/O:lla, se toimii edelleen aktiivisena opetusvälineenä. Sen selkeys rinnakkaisen tiedonsiirron, porttien konfiguroinnin ja kättelyn osoittamisessa tekee siitä korvaamattoman kenelle tahansa.

Usein kysytyt kysymykset [FAQ]

Mikä on 8255:n ohjaussana ja miksi se on tärkeä?

Ohjaussana on suorittimen lähettämä 8-bittinen käsky 8255:n porttien ja tilojen määrittämiseksi. Ilman sitä kaikki portit pysyvät oletustulotilassaan. Se määrittää, toimiiko kukin portti tulona vai lähtönä, ja valitsee tilojen 0, 1, 2 tai bitin asetus/nollauksen välillä.

Voiko 8255 ohjata suoraan moottoreita tai releitä?

Ei. 8255-lähdöt voivat syöttää tai upottaa vain muutaman milliampeerin, mikä ei riitä moottoreille tai releille. Ulkoisia ohjainpiirejä, kuten transistoriryhmiä tai H-siltoja, on käytettävä suuremman virran turvalliseen käsittelyyn.

Miksi 8255:tä käytetään edelleen koulutuksessa?

8255 tarjoaa selkeän ja käytännönläheisen tavan oppia mikroprosessorin I/O:sta, ohjaussanoista ja rinnakkaisesta tiedonsiirrosta. Sen yksinkertainen arkkitehtuuri auttaa opiskelijoita ymmärtämään ydinkäsitteet ennen siirtymistä nykyaikaisiin mikro-ohjaimiin.

Mitä tapahtuu, jos käytät porttia C kättelytiloissa?

Tiloissa 1 ja 2 jotkin portti C -linjat on varattu kättelysignaaleille (kuten STB, ACK, IBF, OBF). Näitä nastoja ei voi käyttää yleiskäyttöisinä I/O-toimintoina näissä tiloissa, jotka sinun on otettava huomioon ristiriitojen välttämiseksi.

Miten 8255 eroaa nykyaikaisista GPIO-laajennuksista?

Toisin kuin sarjaliikennettä käyttävät I²C/SPI-laajentimet, 8255 toimii rinnakkaisväylän kanssa, mikä mahdollistaa nopeamman siirron, mutta vaatii enemmän nastoja. Tämä tekee 8255:stä vähemmän tilaa säästävän, mutta arvokkaan todellisen ohjauksen ja väylän ajoituksen oppimisen kannalta.