Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

la sisteme multimicroprocesor

Electrotehnica si Informatica

Calculatoare

ISTEME MULTIMICROPROCESOR


1.Definirea temei si cerintele

Sa se proiecteze un modul calculator monoplaca SBC cu microprocesor 8086 cu posibilitati de cuplare intr-o configuratie multimicroprocesor cu magistrala MULTIBUS si avand urmatoarele caracteristici:

memorie EPROM de 16K cu circuite 2732;

memorie SRAM de 6K cu circuite 2142;



memorie DRAM de 32K cu circuite 2118;

Interfata I/O cu  2 circuite 8282 ;


Pentru tratarea intreruperilor se va folosi circuitul 8259A. In cazul circuitelor programabile se vor prezenta secvente de program pentru aducerea acestora in stare operationala. Se cere schema electrica a modulului, realizata cu un program de proiectare asistata pe calculator.



2.Schema bloc a sistemului.


In figura 1 se prezinta schema bloc a modulului proiectat. In aceasta schema se prezinta atat circuitele utilizate cat si interconexiunile dintre ele, la nivel de principiu.

Accesarea resurselor locale sau a celor din sistem e comandata de semnalul SYSB/ . Pentru situatia in care acest semnal devine "0" se face acces la resursele locale, in caz contrar accesul se face la resursele externe. Schema bloc a modulului contine urmatoarele elemente:

Microprocesorul (8086) care lucreaza la modul maximal.

Generatorul de tact (8284) folosit pentru generarea tactului necesar microprocesorului pentru a asigura functionarea circuitelor interne ale acestuia. Circuitul (8284) face divizarea cu trei a frecventei determinate de cuartul ce se conecteaza la el.

Controler de magistrala (8288) care, prin decodificarea semnalelor de stare (S0,S1,S2) furnizeaza semnalele de  comanda corespunzatoare.

Latch de adrese (8282), pentru generarea magistralei interne de adrese, realizata prin demultiplexarea semnalelor AD0-AD15 si A16-19.

Buffer de date (8286), pentru generarea magistralei interne de date , realizata prin demultiplexarea semnalelor AD0-AD15.

Un bloc de memorie EPROM (2732).

Un bloc de memorie SRAM (2142).

Un bloc de memorie DRAM (2118).

Decodificator de adresa (8205) pentru selectarea blocurilor de memorie.

Controler de reimprospatare (8202) pentru reimprospatarea blocului de memorie DRAM.

Circuit de interfata I/O (8282) si Conectorul de interfete pentru conectarea sistemului cu exteriorul.

Bloc de interfata cu Magistrala Sistem care face legatura dintre modul si sistemul multimicroprocesor. Blocul este format din

a).   Arbitru de magistrala (8289).

b).   Controler de magistrala (8288).

c).    Buffer de date (8287).

d).   Latch adrese (8283).

Controler de intreruperi (8259).

Conector de magistrala multibus.


3.Intocmirea repartizarii spatiului de adrese.


In aceasta etapa se prezinta zonele de memorie alocate pentru blocurile de memorie si porturile I/O utilizate, avand in vedere pe de o parte spatiul de adrese oferit d microprocesor si pe de alta parte necesarul de adrese pentru aplicatia curenta.

Tinand cont de faptul ca adresa de start a lui 8086 (dupa un impuls de RESET) este FFFF0h, acceasta adresa trebuie acoperita fizic de o memorie EPROM, care za contine secventa de program de pornire a sistemului; conform acestei precizari cei 16K de memorie EPROM au fost plasati in zona FC000h-FFFFFh.

In vederea obtinerii unei zone de memorie locale cat mai compacte si luand in calcul ca prima portiune a spatiului de adrese este dedicata tabelului de pointeri de adresa pentru intreruperi, cu posibilitatea ca acesta  sa poata fi inscris si modificat prin program, am alocat zona 00000h-07FFFh celor 32K de memorie RAM dinamica, iar memoriei RAM statica urmatoarea zona de 6K, intre adresele 08000h-097FFh.

Pe harta memoriei s-a specificat, de asemenea, si zona de adrese disponibila pentru memoriile aflate in alte module si accesibile de modulul SBC prin magistrala MULTIBUS, aceasta este cuprinsa intre adresele limita: 40000h-80000h, adica 512K. Aceasta zona se poate accesa prin semnalul SYSB/=1, pentru sinteza caruia se vor folosi liniile:A19 si A18 ale magistralei de adrese. Ecuatia logica a semnalului este:


SYSB/ =

A19A18A17A16

A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1

A0

Adr.

in

HEX

0 1 11

01 11

00 0 0 0 0 0 0 0 0 0 0 0 0 0

. . .. . . . . . .. .

1111 1 1 1 1 1 1 1 1 1 1 1

0

.

1

70000

BFFFF

Pentru circuitul 8259A avem nevoie de doua locatii de memorie corespunzatoare celor doua porturi. Deci pentru A0=0 si A0=1 se aloca primele doua adrese pare din spatiul de memorie alocat pentru intreruperi (00 si 02

In ceea ce priveste circuitele de interfata I/O - circuitul 8255 este "vazut" de microprocesor ca un ansamblu de 4 adrese, deci i s-au repartizat urmatoarele 4 adrese pare (deoarece transferul cu microprocesorul se face pe 8 biti, in acest caz pe liniile inferioare ale magistralei de date, D0-D7) din spatiul de 64K, destinat operatiilor de intrare-iesire.

Harta memoriilor si a spatiului de intrare-iesire se prezinta in tabelele urmatoare:


FFFFF

FC000

EPROM 16K

LIBER

BFFFF

70000

MEMORIE EXTERNA

512k

LIBER

0BFFF

08000

SDRAM 6K

07FFF

00000

DRAM 32K



8282

08

07

8282

06

05

8282

04

8259A pt. A0=1

03


02

8259A pt. A0=0

01

4. Proiectarea unitatii centrale.


Realizarea acestei etape presupune detalierea schemei bloc a unitati centrale, punandu-se in evidenta numarul de circuite utilizate si modul lor de conectare.

In configuratia multimicroprocesor cum este sistemul MULTIBUS, microprocesorul 8086 lucreaza in mod maxim, fapt evidentiat prin legarea la masa a intrarii MN/. In aceasta situatie o parte din pini isi schimba semnificatia, iar microprocesorul nu genereaza direct semnalele de comanda, ci livreaza in fiecare ciclu de magistrala un cuvant de stare controlerului de magistrala, care este raspunzator de decodificarea cuvantului de stare si generarea semnalelor de comanda corespunzatoare. Validarea acestui circuit se face numai cand microprocesorul cere un acces la resursele locale (SYSB/ =0).

Demultiplexarea magistralei comune in cea de date si cea de adrese este realizata cu ajutorul latch-urilor de adrese - 8282 (3 la numar), respectiv de buffer-ele de date - 8286 , circuitele fiind selectate prin semnalele corespunzatoare.

Circuitul 8284 furnizeaza microprocesorului semnalul de tact (CLK) avand frecventa de 5Mhz, prin divizarea cu 3 a frecventei oscilatorului sau intern. De aceea intre pinii x1 si x2 s-a conectat un cristal de cuart, avand frecventa de 15 Mhz. 8284 ofera, de asemenea, microprocesorului si semnalele: READY (caz in care trebuie prevazuta introducerea de stari de asteptare, daca este cazul, cat si sincronizarea, obligatorie, cu operatiile de pe magistrala MULTIBUS, cu ajutorul semnalului XACK), RESET (caz in care se necesita conectarea unor componente suplimentare astfel incat initializarea sa se produca la conectarea tensiunii de alimentare sau la apasarea unui buton de initializare, notat in schema cu Reset).

Schema detaliata se poate analiza in figura 2.




5. Proiectarea memoriei.



In cadrul acestui capitol se va expune fiecare bloc de memorie (EPROM, SRAM, DRAM), aratandu-se modul de obtinere si de conexiune a semnalelor de selectie si a celor de comanda.

Inaintea proiectarii se impun cateva observatii comune celor trei tipuri de memorii. Data fiind organizarea pe bancuri a blocurilor de memorie (magistrala de date de 16 biti fiind impartita in magistrala: inferioara, D0-D7, si cea superioara, D8-D15) memoria va fi distribuita in mod egal in cele doua blocuri, astfel incat locatiile de adresa succesiva vor fi regasite in bancuri diferite (cele cu adrese pare in bancul inferior, iar cele cu adrese impare in bancul superior). Acest mod de organizare a memoriei permite transferul de date pe octet pe una din cele doua bancuri in functie de semnalele A0 si nBHE, sau pe cuvant.

O alta observatie se poate face cu privire la timpul de acces al memoriei: 2T>tacces. Daca timpul de acces este mai mare decat doua perioade de tact atunci este nevoie adaugarea unei logici de inserare a unor stari de asteptare in activitatea microprocesorului, pentru ca transferul datelor sa se realizeze corect. Circuitele utilizate in proiectare sunt:


EPROM 2716 avand tacces=350 ns

SRAM2142 avand tacces=150 ns

DRAM 2118 avand tacces=100 ns

2T = 400 ns

Se observa ca nici un tip de memorie din cele trei nu necesita o astfel de logica pentru inserarea de stari WAIT.



5.1. Circuitul de memorie EPROM (2732)



Circuitul de memorie 2732 are capacitatea de 4Kx8. Asadar, pentru obtinerea celor 16K de care avem nevoie vom utiliza 8 circuite (4 in bancul inferior si 4 in cel superior).

Pentru obtinerea semnalelor de selectie vom intocmi tabelul adreselor limita pe baza hartii realizate in capitolul 3. Acest tabel arata astfel:


A19A18A17A16A15A14A13

A12A11A10A9A8A7A6A5A4A3A2A1

A0

Adresa

in

HEXA

Semnal

De

selectie

111111 0

.. . . . ..

111111 0

000 0 0 0 0 0 0 0 0 0

. . . . .. . . . . . .

111 1 1 1 1 1 1 1 1 1

0

.

1

FC000

FDFFF

EPROM1

111111 1

.. . . . ..

111111 1

000 0 0 0 0 0 0 0 0 0

. . . . .. . . . . . .

111 1 1 1 1 1 1 1 1 1

0

.

1

FE000

FFFFF

EPROM2



Liniile de adrese: A0 - selectie banc

A1 - A12 - selectie in interiorul circuitului de memorie

A13 - A19 - selectie circuit


Sensul transferului este, in cazul acestui tip de memorie, unidirectional, accesul fiind numai pentru citire, deci se poate renunta la semnalele pentru validarea bancurilor: A0 si .

Schema de conectare si comanda a memoriei EPROM este data in figura 3.





5.2. Circuitul de memorie SRAM (2142)



Circuitul de memorie 2142 are capacitatea de 1Kx4. Pentru a forma 1Kx8 avem nevoie de 2 circuite ce lucreaza in paralel, conform acestui rationament pentru a forma 8K de care avem nevoie vom utiliza 12 de circuite (6 in bancul superior si 6 in cel inferior).



Conform hartii de memorie realizate in capitolul 3 putem intocmi urmatorul tabel al adreselor limita. Acest tabel arata astfel:


A19A18A17A16A15A14A13A12A11

A10A9A8A7A6A5A4A3A2A1

A0

Adresa

in

HEXA

Semnal

De

selectie

0000 1 0 000

000010    00 0

0 0 0 0 0 0 0 0 0 0

. . .. . . . . . .

1 1 1 1 1 1 1 1 1 1

0

.

1

08000

087FF

SRAM1

000010 001

000010 00 1

0 0 0 0 0 0 0 0 0 0

. . .. . . . . . .

1 1 1 1 1 1 1 1 1 1

0

.

1

08800

08FFF

SRAM2

00001 0 010

00001 0 01 0


0 0 0 0 0 0 0 0 0 0

. . .. . . . . . .

1 1 1 1 1 1 1 1 1 1

0

.

1

09000

097FF

SRAM3



Semnificatia liniilor de adrese este urmatoarea:

A0 - selectie banc

A1 - A10 - selectie in interiorul circuitului de memorie

A11 - A19 - selectie circuit


Sensul transferului este, in cazul acestui tip de memorie, bidirectional, accesul fiind atat pentru citire cat  si pentru scriere.

Pentru sinteza semnalului de selectie s-a folosit decodificatorul 8205, iar pentru selectia bancului s-a folosit linia A0 - pentru bancul inferior, respectivBHE - pentru bancul superior.

Pentru sinteza semnalelor de selectie: SRAM1,SRAM2 s-a observat ca putem utiliza acelasi decodificator folosit pentru selectia circuitului EPROM. Deci ecuatia intrarii E3 a decodificatorului 8205 este:

Schema de conectare si de comanda a memoriei SRAM este data in figura 4.



5.3. Circuitul de memorie DRAM (2118)



Circuitul de memorie 2118 are capacitatea de 16Kx1. Pentru a forma 16Kx8 avem nevoie de opt circuite ce lucreaza in paralel, conform acestui rationament pentru a forma 32K de care avem nevoie vom utiliza 16 de circuite (8 in bancul superior si 8 in cel inferior).

Acest tip de memorie necesita reimprospatarea periodica a informatiei, astfel incat in schema trebuie adaugat un controler de reimprospatare (8202). Acesta, pe langa reimprospatarea periodica a celulelor de memorie, realizeaza si multiplexarea liniilor de adrese, furnizand circuitelor adresa de rand insotita de semnalul si cea de coloana insotita de semnalul , deoarece circuitul prezinta o structura interioara de tip matriciala. Pentru a determina valoarea numerica a frecventei cristalului ce trebuie conectat la controler s-au comparat datele de catalog pentru memoria DRAM (2118), pentru care timpii de acces este tacc= 100ns, si diagramele de timp ale circuitului 8202. Urmarea acestei comparatii a dus la concluzia satisfacerii urmatoarelor relatii:


7.TCTR=100ns


conform careia frecventa de lucru a circuitului 8202 trebuie sa fie:

De aceea, intre intrarile: X0 /OP2 , X1 /CLK s-a conectat un cristal de cuart cu aceasta frecventa.

Conform hartii de memorie prezentate in capitolul 3 putem intocmi urmatorul tabel al adreselor limita pentru blocurile de memoria DRAM:



A19A18A17A16A15

A14A13A12A11A10A9A8A7A6A5A4A3A2A1

A0

Adresa

in

HEXA

Semnal

De

selectie

00000

.. . . .

00000

0 0 000 0 0 0 0 0 0 0 0 0

. .. . . . . . . . .

1 1 111 1 1 1 1 1 1 1 1 1

0

.

1

00000

07FFF

DRAM



Semnificatia liniilor de adrese este urmatoarea:

A0 - selectie banc

A1 - A12 - selectie in interiorul circuitului de memorie

A13 - A19 - selectie circuit


Semnalul de selectie a blocului DRAM provenit de la decodificatorul 8205 se va aplica intrarii a controlerului 8202 si va fi folosit pentru deschiderea buffer-elor 8282 in cazul unei comenzi de citire. Circuitul furnizeaza si un semnal de confirmare a transferului care este conectat prin intermediul unui inversor la intrarea RDY1 a generatorului de tact 8284. Lucrand cu blocuri de 16K, B0 s-a legat la masa, in acest caz folosindu-se doar semnalul pentru esantionarea adresei de rand.

Pentru a mentine datele citite din memorie pe magistrala un timp suficient pentru a fi preluate corect de microprocesor, am intercalat intre iesirile circuitelor de memorie si magistrala doua latch-uri pentru date (8282). Inscrierea datelor in latch-uri se face cu ajutorul semnalului , iar validarea iesirii cu si semnalul de selectie a blocului de circuite.

Schema blocului de memorie DRAM este data in figura 5.





6. PROIECTAREA INTERFETELOR DE INTRARE IESIRE



Pentru implementarea operatiilor de intrare/iesire paralele am folosit doua circuite 8282

Poturile acestor circuite pot lucra atat pentru intrarea cat si pentru iesire.Pentru tratarea intreruperilor am folosit un circuit 8259A.



A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3

A2 A1 A0

Adresa

Obs

000 0 0 0 0 0 0 000

000 0 0 0 0 0 0 000

000 0 0 0 0 0 0 000

000 0 0 0 0 0 0 000

000

010

100

110

0000h

0002h

0004h

0006h

Date A

Comenzi A

Date B

Comenzi B

000 0 0 0 0 0 0 001

000 0 0 0 0 0 0 001

000 0 0 0 0 0 0 001

000 0 0 0 0 0 0 001

000

010

100

110

0008h

000Ah

000Ch

000Eh

Date A

Comenzi A

Date B

Comenzi B

000 0 0 0 0 0 0 000

000 0 0 0 0 0 0 000

001

011

0001h

0003h

8259A



Pentru circuitele 8282 am alocat adresele pare iar pentru circuitul 8259A adresele impare.

Circuitul 8259A este controler de intreruperi. Modul in care se conecteaza nivelele de intrerupere ale lui 8259A la liniile de intrerupere ale magistralei MULTIBUS si la sursele locale de intrerupere este lasat la latitudinea utilizatorului; in acest scop au fost prevazute conexiuni prin strapuri. Conectarea circuitului se face ca in figura 6.1.

Fig.6.1


7. SCRIEREA PROGRAMELOR PENTRU CIRCUITELE DE

INTERFATA


Programele de intrare a acestor circuite vor fi plasate in memoria EPROM la fiecare pornire sau RESET vor fi executate .Tot aici vor introduce programele de comunicatie paralela.

Circuitul 8259 se programeaza inmod singular, intrari active pe nivel, intreruperi vectorizate, achitare automata a intreruperii, prioritati rotitoare.

Secventa de program este urmatoarea:

MOV AL, 1Bh ;programare 8259A

OUT 12h,AL ; mod singular, intreruperi active pe nivel

MOV AL, 38h ;inscrierea vectorului

OUT 12h,AL ;de intrerupere

MOV AL, 0Fh ;achitare automata

OUT 12h,AL ;

MOV AL, 80h ;prioritati rotitoare

OUT 12h,AL ;

MOV AL, 3Ch ;programare 8282A

OUT 0Eh,AL ;canal 0, numsrare in binar

MOV AL, 41h ;incarcare constanta de numarare

OUT 0Eh,AL ;

MOV AL, 52h ;programare 8282A

OUT 06h,AL ;mod asincron, 1 bi de STOP, paritate impara, caractere ;de 5 biti, divizare cu 16 a tactului

MOV AL, 0Fh ;validare receptie si transmisie

OUT 06h,AL ;


Programul pentru circuitul 8282:


MOV A,0000h

OUT (0002),A

MOV A,0004,A

OUT (0006),A

MOV A,VECT

RETN



8. PROIECTAREA BLOCULUI DE INTERFATA CU MAGISTRALA SISTEM


Circuitele utilizate pentru realizarea BIM-ului sunt urmatoare:

1x8289 -Arbitru magistrala

1x8289 -controler magistrala

2x8287 -buffer pentru magistrala externe de date

3x8283 - latch pentru magistrala externa de adrese

Circuitul 8259A de pe placa accepta o intrare ADR0/ADR13/


Schema bloc a blocului de interfata cu magistrala sistem este prezentata in figura 8.1.


9. ELABORAREA SCHEMEI ELECTRICE DE ANSAMBLU


Elaborarea schemei electrice de ansamblu al calculatorului monoplaca SBC se prezinta in ANEXA .



biologie

botanica






Upload!

Trimite cercetarea ta!
Trimite si tu un document!
NU trimiteti referate, proiecte sau alte forme de lucrari stiintifice, lucrari pentru examenele de evaluare pe parcursul anilor de studiu, precum si lucrari de finalizare a studiilor universitare de licenta, masterat si/sau de doctorat. Aceste documente nu vor fi publicate.