Documente Academic
Documente Profesional
Documente Cultură
2
CONECTAREA UNUI PPI 8255 PE PLACA DE BAZA A UNUI PC
Pentru interfatarea calculatoarelor cu procese (industriale) externe se folosesc placi dedicate care
contin in principal circuite numerice cu capabilitati de schimburi de date in mod bidirectional. Un calculator
personal este un echipament deosebit de versatil cu teoretic- infinite posibilitati pentru aplicatii in exterior
pentru controlul sau monitorizarea proceselor, daca PC-ului i se adauga o placa proiectata pentru una din
magistralele de extensie si aceasta parte hardware este insotita de programul dedicat pentru realizarea
aplicatiei. Una dintre magistralele de extensie ale unui sistem este magistrala ISA pe 8 biti. ISA (Industry
Standard Architecture) funcioneaz la 8 MHz si a permis productorilor s construiasc sisteme ale cror
componente (exceptnd cteva uniti specializate) s fie interschimbabile.
2.1. Magistrala ISA pe 8 biti
Conectorul de extensie al magistralei ISA pe 8 bii const dintr-un conector cu 62 de contacte montat
pe placa de baz i care din punct de vedere electronic furnizeaz 8 linii de date, 20 de linii de adres i
permite lucrul cu 1Moctet de memorie.
n figura 2.1 se prezint tabelul ce conine semnificaia pinilor unei magistrale ISA pe 8 bii.
Pin
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
Nume semnal
Pin
Nume semnal
Mas
A1
Verificare canal I/O
Reset driver
A2
Linie date 7
+ 5V
A3
Linie date 6
IRQ 2
A4
Linie date 5
-5V
A5
Linie date 4
DMA Request 2
A6
Linie date 3
- 12 V
A7
Linie date 2
Selecie plac (XT)
A8
Linie date 1
+ 12 V
A9
Linie date 0
Mas
A10
Canal I/O Ready
Scriere memorie
A11
Activare adrese
Citire memorie
A12
Linie adrese 19
Scriere I/O
A13
Linie adrese 18
Citire I/O
A14
Linie adrese 17
DMA Acknowledge 3
A15
Linie adrese 16
DMA Request 3
A16
Linie adrese 15
DMA Acknowledge 1
A17
Linie adrese 14
DMA Request 1
A18
Linie adrese 13
DMA Acknowledge 0
A19
Linie adrese 12
Ceas
A20
Linie adrese 11
IRQ 7
A21
Linie adrese 10
IRQ 6
A22
Linie adrese 9
IRQ 5
A23
Linie adrese 8
IRQ 4
A24
Linie adrese 7
IRQ 3
A25
Linie adrese 6
DMA Acknowledge 2
A26
Linie adrese 5
Terminal Count
A27
Linie adrese 4
Activare adrese
A28
Linie adrese 3
+ 5 VDC
A29
Linie adrese 2
Oscilator
A30
Linie adrese 1
Mas
A31
Linie adrese 0
Figura 2.1. Lista pinilor pentru magistrala ISA pe 8 bii.
B1
A31
A1
Spatele
calculatorului
Partea hardware de pe placa utilizator (placa suplimentara dedicata unei aplicatii) este privita ca un
periferic de catre microprocesor. Pentru schimbul de informatie acest periferic va trebui adresat. Adresarea
perifericelor se realizeaza cu ajutorul decodificatoarelor de adrese (un exemplu studiat la prima lucrare de
laborator).
Circuitul care este efectiv cel implicat in aplicatia din aceasta lucrare de laborator este un circuit
programabil 8255.
2.2 Circuitul PPI 8255. Prezentare i programare
8255 este un circuit de tip PPI (Programmable Peripherical Interface), adic un periferic de tip LSI
destinat implementrii operaiilor de intrare-ieire ntr-un sistem cu microprocesor. Acest circuit are n
componen porturi ale cror linii pot fi configurate fie ca intrri, fie ca ieiri, prin intermediul regitrilor
interni. Structura intern permite, n plus configurarea unor grupuri de linii care s lucreze mpreun, crend
astfel porturi de intrare sau ieire pe un bit, pe 4 bii, pe 8 sau 12 bii. Intrrile sunt active pe nivel iar ieirile
sunt prevzute cu circuite de memorare (latch). Att intrrile ct i ieirile sunt validate prin comenzi specifice
i exist posibilitatea s se utilizeze i linii bidirecionale validate din exterior. Oricare din aceste posibiliti de
realizare se pot obine prin programarea corespunztoare a circuitului.
Schema bloc a circuitului 8255 este prezentat n figura 2.3. iar semnificaia terminalelor este
prezentat n figura 2.4.
Partea din stnga a schemei bloc reprezint interfaa cu magistralele microprocesorului. Avem astfel
magistrala bidirecional de date pe 8 bii care este utilizat pentru a trimite cuvinte de comand pentru
programarea perifericului, cuvinte de stare, citiri sau nscrieri de date. Sensul acestor transferuri de date este
controlat de semnalele nRD i nWR.
Circuitul conine patru porturi dintre care dou sunt pe cte 8 bii (Portul A i Portul B) i dou pe cte
4 bii (reuniunea lor formnd Portul C). Registrul surs, sau destinaie, corespunztor fiecruia din aceste
porturi este selectat de un cod de 2 bii care se aplic la intrrile de selecie A0 i A1 ale circuitului 8255.
Regitrii porturilor pot fi selectai cu codurile: A1A0 = 00 (Port A), A1A0 = 01 (Port B), A1A0 = 10 (Port C).
MOD 0 selecteaz aa-zisele operaii IO simple. Prin aceasta nelegem c liniile porturilor pot fi
configurate ca intrri active pe nivel sau ieiri prevzute cu latch-uri. O prim setare a porturilor pentru acest
mod de operare nseamn bitul D7 pe 1 logic, biii D5 - D6 pe 00 iar D2 pe 0. Acum porturile A i B pot fi
configurate ca porturi de intrare sau de ieire, iar portul C poate fi configurat pentru a opera ca dou porturi
independente de intrare sau ieire de cte patru bii. Aceasta se obine prin punerea pe 1 logic sau 0 logic a
biilor D0, D1, D3 i D4.
Intrebare: Scriei cuvntul de control care s configureze lucrul n modul 0, iar liniile porturilor A, B i C
s fie configurate ca n figura 8255.4.
MOD 1 selecteaz operaiile I/O strobate (validate). Porturile lui 8255 sunt trecute n acest mod de
operare prin activarea indicatorului (fanionului) de schimbare mod (D7=1) i setarea biilor D6D5=01 i
D2=1. In acest mod porturile A i B sunt configurate ca dou porturi I/O de 8 bii independente, fiecare avnd
asociat un port de control/date de 4 bii. Porturile de control/date sunt formate din jumtatea inferioar i
respectiv superioar a portului C. Cand 8255 este configurat n acest mod datele aplicate la un port de intrare
trebuie s fie strobate cu un semnal produs de hardware-ul extern. Mai mult, un port de ieire este prevzut cu
semnale de protocol pentru a semnala cnd sunt disponibile noile date la ieire i cnd dispozitivele externe
trebuie s citeasc aceste date.
Ca un exemplu s presupunem c registrul de control a fost ncrcat cu octetul 10111XXX. Acesta configureaz portul A ca port de intrare n MOD 1.
Figura 8255.5 ilustreaz funciile liniilor de semnal pentru acest exemplu. Liniile PA0 - PA7 formeaz un port de intrare de 8 bii.
Pentru a configura portul A n acest mod, registrul de control va fi ncrcat cu 11XXXXXX. Configuraia I O care rezult este dat n figura 2.10. Se
observ c PA0 - PA7 opereaz ca un port de 8 bii bidirecional. Semnalele lui de control sunt : nOBFA pe PC7, nACKA pe PC6, nSTBA pe PC4, IBFA pe PC5 i
INTRA pe PC3. Funciile lor sunt similare cu cele deja discutate la modul 1. O diferen este faptul c INTRA este un SI logic ntre nOBFA i INTE1 sau IBFA i
INTE2.
3. Se consider c acest circuit (8255) este selectat de ctre un microprocesor. Pentru validarea liniei CS avem nevoie
de adresa: 0011.0000.00xx. Care este adresa de selecie a registrului de control?
4. Cu ajutorul tabelului alturat, scriei o comand pentru configurarea registrului de control astfel nct s avem
urmtoarele situaii:
A - intrare; B - ieire; Csup - intrare; Cinf - ieire
Limbajul
Basic
Turbo C
Turbo Pascal
Limbaj de asamblare
Citire
Date := INP(Adresa)
Date := inportb(Adresa)
Date := Port [Adresa]
mov dx, Adresa
in al, dx
Scriere
OUT Adresa, Date
outportb(Adresa, Date)
Port [Adresa] := Date
mov dx, Adresa
mov al, Date
out dx, al