Pinout, moduri și aplicații Intel 8255 Programmable Peripheral Interface (PPI), moduri și aplicații

oct. 24 2025
Sursă: DiGi-Electronics
Răsfoiește: 1912

Intel 8255 Programmable Peripheral Interface (PPI) a fost o componentă cheie în conectarea microprocesoarelor cu dispozitivele externe în primele zile ale sistemelor digitale. Cu porturi I/O versatile, moduri de operare multiple și ușurință de programare, 8255 a permis comunicarea fiabilă cu afișaje, senzori și controlere, făcându-l util atât în educație, cât și în industrie.

Figure 1. 8255 Microprocessor

Prezentare generală a interfeței periferice programabile (PPI) 8255

Cipul Intel 8255 PPI este un cip I/O utilizat pe scară largă, conceput pentru a conecta microprocesoare cu dispozitive externe. Acționează ca o punte de comunicare pentru periferice precum ADC-uri, DAC-uri, tastaturi și afișaje. Acceptând atât I/O direct, cât și cu întrerupere, oferă flexibilitate în proiectarea sistemului. Cu trei porturi bidirecționale pe 8 biți (A, B, C), oferă 24 de linii I/O configurabile. Rentabilitatea și compatibilitatea cu procesoare precum Intel 8085/8086 l-au făcut un element de bază în sistemele informatice timpurii, kiturile de instruire și controlerele industriale.

Caracteristicile cipului 8255 PPI

• Interfață programabilă – Configurabil prin instrucțiuni software pentru a se adapta la dispozitive precum afișaje, senzori și module de intrare.

• Trei porturi pe 8 biți – Porturile A, B și C oferă 24 de linii care pot funcționa ca intrare sau ieșire.

• Moduri de operare multiple –

Mod 0: Intrare/ieșire simplă fără strângere de mână.

Mod 1: I/O strobed cu semnale de strângere de mână pentru comunicare sincronizată.

Modul 2: Transfer bidirecțional de date cu strângere de mână (numai pe portul A).

• Setare/resetare biți (BSR) – biții portului C pot fi setați sau șterși individual pentru aplicații de control/stare.

• Grupare flexibilă – Porturile pot fi împărțite în grupuri de 8 sau 4 biți.

• Compatibilitate TTL – Integrare ușoară cu circuitele integrate digitale standard.

• Registre de control independente – Fiecare port poate funcționa separat, în moduri sau direcții diferite.

Pinout al cipului 8255 PPI

Figure 2. Pinout of 8255 Microprocessor

Pin nr.GrupSemnalDescriere
1-8Portul APA0–PA7Port I/O de uz general pe 8 biți
9-16Portul CPC0–PC7Împărțit în PC0–PC3 (inferior) și PC4–PC7 (superior); utilizate ca linii I/O sau de strângere de mână
17-24Port BPB0–PB7Port I/O de uz general pe 8 biți
25ControlCS'Selectare cip (scăzut activ)
26PutereVccAlimentare +5 V
27ControlRD'Citiți activați
28ControlWR'Activare scriere
29ControlRESETAREResetează toate porturile la starea de intrare
30-37Autobuză de dateD0–D7Transferă date/comenzi între procesor și 8255
38-39Pinuri de adresăA0, A1Selectați registrele/porturile interne: 00=Port A, 01=Port B, 10=Port C, 11=Control
40SolGNDReferință la sol

Arhitectura cipului 8255 PPI

Figure 3. Architecture of 8255 Microprocessor

Bloc funcționalDescriere
Buffer magistrală de dateAcționează ca o interfață între magistrala de date bidirecțională a procesorului (D7–D0) și magistrala de date internă pe 8 biți a lui 8255. Stochează și transferă temporar date între procesor și registrele sau porturile interne.
Logică de control de citire/scriereGestionează toată comunicarea dintre procesor și 8255. Interpretează semnalele de control precum RD, WR, A0, A1, CS și RESET pentru a determina tipul de operațiune (citire, scriere sau control) și selectează portul sau registrul de control corect.
Logică de control (decodor)Decodifică cuvântul de control trimis de procesor pentru a configura porturile în diferite moduri (Modul 0, 1 sau 2) sau în modul Bit Set/Reset (BSR). Determină modul în care va funcționa fiecare port - ca intrare, ieșire sau strângere de mână.
Control Grupa AControlează portul A (8 biți: PA7–PA0) și portul superior C (4 biți: PC7–PC4). Acceptă modurile 0, 1 și 2, permițând I/O simplu, I/O prin strângere de mână și transfer bidirecțional de date
Controlul grupei BControlează portul B (8 biți: PB7–PB0) și portul inferior C (4 biți: PC3–PC0). Acceptă modurile 0 și 1, permițând operațiuni de bază de intrare/ieșire sau operațiuni controlate prin strângere de mână.
Portul AUn port I/O pe 8 biți care poate funcționa ca intrare sau ieșire în funcție de configurația modului. Suportă modurile 0-2 sub controlul Grupului A.
Port BUn alt port I/O pe 8 biți pentru transfer de date. Funcționează sub controlul grupului B și acceptă modurile 0 și 1.
Portul CUn port împărțit pe 8 biți împărțit în două grupuri de 4 biți: superior (PC7-PC4) și inferior (PC3-PC0). Acestea pot acționa ca porturi I/O independente, linii de control sau semnale de strângere de mână. Biții individuali pot fi controlați și folosind modul Bit Set/Reset (BSR).
Magistrală de date internă (8 biți)Conectează toate blocurile interne ale 8255, transferând date și informații de control între procesor, logica de control și porturi.
Sursă de alimentareCipul funcționează cu o sursă de +5V DC și conexiune GND pentru a alimenta întregul circuit.

Moduri de funcționare și principiul de funcționare al cipului 8255 PPI

Intel 8255 servește ca o interfață programabilă între procesor și periferice, traducând operațiunile de magistrală în transferuri de date paralele. Funcționarea sa este guvernată de pași de inițializare și moduri selectabile:

Resetați starea

La pornire sau resetare, toate porturile (A, B și C) folosesc implicit modul de intrare pentru a evita deteriorarea perifericelor cu ieșiri neintenționate.

Inițializare

Procesorul trebuie să trimită un cuvânt de control care configurează fiecare port ca intrare/ieșire și selectează unul dintre cele patru moduri de operare. Până când nu se face acest lucru, porturile rămân inactive.

Moduri de operare

Mod de setare/resetare a biților (BSR)

• Se aplică numai portului C.

• Permite setarea sau ștergerea biților individuali pentru sarcini de control/stare.

Modul 0 – I/O simplu

• Intrare/ieșire de bază fără strângere de mână.

• Utilizat pentru transferuri simple, cum ar fi LED-uri, comutatoare și afișaje.

Modul 1 – I/O strobed

• Adaugă semnale de strângere de mână (STB, ACK, IBF, OBF) prin portul C.

• Asigură transferul sincronizat de date periferice al procesorului ↔.

Modul 2 – I/O bidirecțional

• Disponibil numai pe portul A.

• Suportă transfer bidirecțional cu control al strângerii de mână, util pentru dispozitive de mare viteză sau asincrone.

Operații de citire/scriere

• Scriere: Procesorul plasează date pe magistrala de sistem, iar 8255 decodifică liniile de adresă (A0, A1) pentru a le direcționa către zăvorul de ieșire al portului corect.

• Citire: Dispozitivele externe pun date pe liniile de port, pe care 8255 le blochează și le pune la dispoziția procesorului în timpul unei comenzi de citire.

Sincronizare

• În modul 0, transferurile de date au loc direct fără strângeri de mână.

• În modurile 1 și 2, semnalele de strângere de mână din portul C coordonează pregătirea și acceptarea, prevenind pierderea datelor în timpul transferurilor de mare viteză sau asincrone.

Considerații de interfață ale cipului 8255 PPI

Atunci când proiectați sisteme cu 8255, interfața atentă asigură fiabilitatea și previne deteriorarea atât a cipului, cât și a dispozitivelor externe:

• Stare implicită de intrare – La resetare, toate porturile sunt implicite intrări. Acest lucru evită conflictele, dar înseamnă și că ieșirile sunt inactive până la configurare. Procesorul trebuie să trimită întotdeauna un cuvânt de control pentru a defini corect direcția și modul înainte de a încerca comunicarea.

• Limite de unitate de ieșire – Porturile 8255 pot sursa sau absorbi doar curent limitat (câțiva miliamperi). Conducerea directă a sarcinilor grele, cum ar fi lămpi, solenoizi sau relee, este nesigură. În schimb, sunt utilizate în mod obișnuit circuite integrate de tampon sau drivere, cum ar fi ULN2803 (matrice Darlington) sau porți cu colector deschis, cum ar fi 7406. Acestea oferă o capacitate de curent mai mare și protejează PPI.

• Controlul motorului – Pentru motoarele de curent continuu sau motoarele pas cu pas, porturile 8255 nu trebuie să se conecteze direct. În schimb, ieșirile trebuie direcționate prin etape de tranzistor sau circuite de driver H-bridge. Acest aranjament permite fluxul de curent bidirecțional în timp ce izolează PPI de vârfurile de tensiune inductivă.

• Comutarea sarcinii AC – Interfațarea cu aparatele AC necesită izolare pentru siguranță. Releele mecanice sau releele în stare solidă (SSR) acționate prin trepte tampon asigură că 8255 gestionează doar semnalele de control, în timp ce sarcina reală de înaltă tensiune este comutată în siguranță extern.

• Restricții portului C – biții portului C nu sunt întotdeauna utilizabili liber ca I/O generale. În modurile 1 și 2, mai mulți pini (de exemplu, STB, ACK, IBF, OBF) sunt rezervați automat pentru controlul strângerii de mână. Trebuie să țineți cont de aceste linii rezervate pentru a evita conflictele atunci când combinați I/O general cu strângerea de mână.

Avantajele cipului 8255 PPI

• Compatibilitate CPU – 8255 funcționează perfect cu procesoare precum Intel 8085, 8086 și compatibilele lor. Designul său se potrivește cu protocoalele standard de magistrală, făcând integrarea simplă fără logică suplimentară de lipici.

• Configurare flexibilă a porturilor – Cu trei porturi pe 8 biți (A, B, C), utilizatorii le pot configura ca intrare, ieșire sau mix, în funcție de aplicație. Capacitatea de a comuta între I/O simplu (Modul 0) și comunicarea bazată pe strângere de mână (Modurile 1 și 2) permite aceluiași cip să gestioneze o mare varietate de sarcini.

• Funcționare cu o singură sursă – Funcționând de la o sursă standard de +5 V, 8255 este ușor de alimentat în sistemele bazate pe TTL. Nu sunt necesare regulatoare speciale sau niveluri multiple de tensiune, simplificând designul plăcii.

• Transfer de date paralel fiabil – Cipul oferă o comunicare paralelă stabilă și previzibilă pe 8 biți, reducând incertitudinile de sincronizare. Această fiabilitate îl face potrivit pentru conducerea afișajelor, citirea senzorilor și gestionarea semnalelor de control în sistemele reale.

• Valoare educațională – Deoarece este bine documentat și disponibil pe scară largă, 8255 a fost un instrument cheie de predare în laboratoarele cu microprocesoare și în kiturile de instruire. Puteți înțelege rapid conceptele de interfață I/O prin experimente practice cu acest dispozitiv.

Aplicații ale cipului 8255 PPI

• Sisteme educaționale – Kiturile de instruire și plăcile de laborator includ frecvent 8255 pentru a demonstra conceptele de interfață periferică. Puteți exersa programarea diferitelor moduri și puteți observa interacțiunea reală cu dispozitivele externe.

• Controlul afișajului – Cipul acționează dispozitive de ieșire vizuală, cum ar fi LED-uri cu șapte segmente, module LCD și panouri alfanumerice. Cu mai multe linii I/O, poate reîmprospăta afișajele sau trimite comenzi de control către circuitele integrate ale driverului.

• Interfață cu tastatură – Tastaturile matriciale din terminalele timpurii și computerele personale erau adesea scanate folosind 8255. Prin configurarea unor linii ca drivere de rând și altele ca senzori de coloană, a detectat eficient apăsările de taste.

• Controlul motorului – Motoarele pas cu pas și motoarele de curent continuu pot fi controlate atunci când 8255 este asociat cu trepte de tranzistori, matrice Darlington sau punți H. Acest lucru l-a făcut util în robotică, sisteme de poziționare și proiecte de automatizare.

• Achiziție de date – Când este conectat la ADC-uri (convertoare analog-digitale) și DAC-uri (convertoare digital-analogice), 8255 a oferit o interfață completă pentru sarcini de măsurare și control. Acest lucru a permis microprocesoarelor să gestioneze semnale în echipamentele științifice și industriale.

• Automatizare industrială – 8255 a fost utilizat în controlul semnalelor de circulație, logicii lifturilor și panourilor de monitorizare a proceselor. Capacitatea sa de a gestiona în mod fiabil mai multe intrări și ieșiri l-a făcut o soluție ieftină pentru sistemele de control încorporate.

• Retro-Computing – Mașinile clasice precum computerele IBM PC / XT și MSX au folosit 8255 pentru interfața periferică. A fost, de asemenea, folosit în imprimante și carduri de expansiune, cimentându-și locul în istoria timpurie a computerelor personale.

Comparația cipului 8255 PPI cu alte IPP

8255 vs. 8155

Figure 4. 8255 vs. 8155

Intel 8155 combină mai multe funcții într-un singur pachet: oferă un mic bloc de RAM statică, un cronometru programabil și porturi I/O de uz general. Acest lucru l-a făcut potrivit pentru sisteme compacte în care era nevoie de memorie și control al timpului. În schimb, 8255 se concentrează în întregime pe I/O programabile, fără memorie sau sincronizare încorporată. Designul său mai simplu a făcut ca programarea să fie mai ieftină și mai ușoară atunci când aplicația nu necesita RAM sau temporizatoare integrate.

8255 vs. 8259

Figure 5. 8255 vs. 8259

Controlerul de întrerupere programabil 8259 servește unui scop foarte diferit: gestionarea întreruperilor hardware pentru a ajuta procesorul să răspundă rapid la evenimente externe. În timp ce 8255 se ocupă de transferul de date I/O paralel, coordonatele 8259 întrerup semnalele. În multe sisteme bazate pe microprocesoare, cele două cipuri au fost folosite împreună, 8255 pentru interfața cu dispozitive precum tastaturi și afișaje și 8259 pentru gestionarea cererilor de întrerupere generate de acele dispozitive.

8255 vs. expansoarele GPIO moderne

Figure 6. 8255 vs. Modern GPIO Expanders

Sistemele de astăzi folosesc adesea expandere GPIO bazate pe I²C sau SPI (cum ar fi MCP23017 sau PCF8574). Aceste dispozitive oferă pini I/O suplimentari cu mai puține conexiuni, economisind spațiu pe placă și reducând numărul de pini pe procesor. Cu toate acestea, acestea funcționează în serie, ceea ce poate fi mai lent în comparație cu accesul paralel direct al lui 8255. În timp ce 8255 necesită mai multe linii de autobuz, structura sa paralelă permite transferuri mai rapide și îl face extrem de valoros în mediile educaționale, unde controlul direct al pinilor individuali și înțelegerea timpului autobuzului sunt importante pentru învățare.

Depanare și probleme frecvente

Lucrul cu 8255 poate duce uneori la defecțiuni ale sistemului dacă regulile de proiectare nu sunt respectate cu atenție. Problemele și remediile comune includ:

• Porturi neinițializate – După resetare, toate porturile folosesc implicit modul de intrare. Dacă procesorul nu trimite un cuvânt de control adecvat, ieșirile rămân inactive sau se comportă imprevizibil. Programați întotdeauna registrul de control înainte de a încerca să citiți sau să scrieți date.

• Cuvinte de control incorecte – cuvintele de control configurate greșit pot atribui direcții sau moduri greșite porturilor, blocând semnalele așteptate. Verificați valorile cuvintelor de control cu tabelele din foaia de date pentru a asigura setările corecte ale biților.

• Eșecuri de strângere de mână – În modurile 1 și 2, portul C furnizează semnalele de strângere de mână necesare (STB, ACK, IBF, OBF). Conexiunile lipsă, transconectate sau interpretate greșit duc la transferuri blocate sau pierdute. Verificați cu atenție atât cablajul, cât și așteptările la nivel logic ale dispozitivelor conectate.

• Ieșiri de supraîncărcare – Fiecare pin de port poate gestiona doar curenți mici. Conducerea directă a LED-urilor este posibilă cu rezistențe, dar motoarele, releele și lămpile necesită trepte tampon externe, cum ar fi rețele de tranzistori sau circuite integrate de driver. Ignorarea acestei limite riscă deteriorarea permanentă a cipului.

• Conflicte de magistrală – Dacă mai multe dispozitive încearcă să conducă magistrala de sistem în același timp, pot apărea coruperea datelor sau deteriorarea hardware-ului. Arbitrajul adecvat al magistralei și utilizarea semnalelor de activare (RD', WR', CS') previn această problemă.

• Instrumente de depanare – Când problemele persistă, echipamentul de testare ajută la izolarea defecțiunilor. Analizoarele logice pot confirma semnalele de sincronizare și control, în timp ce osciloscoapele pot verifica dacă problema apare din cablarea hardware zgomotoasă sau inițializarea incorectă a software-ului.

Concluzie

Intel 8255 PPI rămâne o piatră de temelie a interfațării cu microprocesoare. Deși a fost înlocuit în mare parte de expansoarele GPIO moderne și de I/O cu microcontrolere încorporat, continuă să servească ca instrument de predare activ. Claritatea sa în demonstrarea transferului paralel de date, configurarea porturilor și strângerea de mână îl face de neprețuit pentru oricine.

Întrebări frecvente [FAQ]

Care este cuvântul de control în 8255 și de ce este important?

Cuvântul de control este o instrucțiune pe 8 biți trimisă de procesor pentru a configura porturile și modurile 8255. Fără el, toate porturile rămân în starea implicită de intrare. Definește dacă fiecare port acționează ca intrare sau ieșire și selectează între modurile 0, 1, 2 sau Bit Set/Reset.

8255 poate acționa direct motoare sau relee?

Nu. Ieșirile 8255 pot sursa sau scufunda doar câțiva miliamperi, ceea ce este insuficient pentru motoare sau relee. Circuitele de driver externe, cum ar fi matricele de tranzistori sau punțile H, trebuie utilizate pentru a gestiona în siguranță curentul mai mare.

De ce 8255 este folosit și astăzi în educație?

8255 oferă o modalitate clară și practică de a învăța despre I/O cu microprocesor, cuvinte de control și transfer paralel de date. Arhitectura sa simplă îi ajută pe studenți să înțeleagă conceptele de bază înainte de a trece la microcontrolerele moderne.

Ce se întâmplă dacă utilizați Portul C în modurile de strângere de mână?

În modurile 1 și 2, unele linii Port C sunt rezervate pentru semnalele de strângere de mână (cum ar fi STB, ACK, IBF, OBF). Aceste pini nu pot fi utilizate ca I/O de uz general în timpul acestor moduri, de care trebuie să țineți cont pentru a evita conflictele.

Cum diferă 8255 de expansoarele GPIO moderne?

Spre deosebire de extensoarele I²C/SPI care utilizează comunicarea serială, 8255 funcționează cu o magistrală paralelă, permițând transferuri mai rapide, dar necesitând mai mulți pini. Acest lucru face ca 8255 să fie mai puțin eficient din punct de vedere al spațiului, dar valoros pentru controlul real și pentru învățarea sincronizării magistralei.