Documente Academic
Documente Profesional
Documente Cultură
la
Proiectarea Microsistemelor Digitale
1
Enunţul proiectului :
2
1. Partea hardware:
3
realizata ca Trigger-Schmidt, care limiteaza durata semnalului catre
procesor oricat de mult ar fi apasat comutatorul.
A 2-a problema majora este legata de asincronismul
semnalului /RESET fata de ciclurile masina ale procesorului. Astfel este
posibil ca microprocesorul sa inceapa un ciclu de scriere la memorie in
timpul caruia sa se activeze semnalul /RESET. Solutia consta in
intoducerea unui semnal /M1, ceea ce inseamna ca initializarea va fi
activata doar atunci cand microprocesorul doreste sa inceapa ciclul de
aducere de cod instructiune, inainte de activarea semnalului MREQ
care indica un access la memorie.
Memoria de care sistemul dispune este formata din memorie
EPROM, SRAM si DRAM. Zonele de memorie ocupate de aceste circuite
sunt:
• 4000H – 5FFFH : 8 ko EPROM;
• 4000H – 5FFFH : 8 ko SRAM (este memoria SRAM
suprapusa peste EPROM);
• 0000H – 1FFFH : 8 ko SRAM;
• 8000H – FFFFH : 128 ko DRAM;
Harta memoriei va fi urmatoarea:
4
initializare sa citeasca automat date de la adresa 0000H, unde trebuie
obligatoriu sa existe memorie EPROM. Insa, prin enuntul proiectului,
aceasta zona este ocupata de memorie SRAM, astfel incat este
necesara aceasta deviere.
5
pentru a sti cand scriem intr-un anumit circuit de memorie si cand
citim. Schema de obtinere a acestor semnale este prezentata in figura
1.3.3
6
Dupa cum se vede si in figura 1.3.5, intrarea /WR a blocurilor de
64 ko DRAM a fost selectata cu semnalul /RD negat, de la procesor, in
timp ce pentru selectia blocurilor de SRAM si EPROM a trebuit
prevazuta o logica de obtinere a acestor semnale.
Tot in figura 1.3.5 este prezentat modul de conectare a
modulelor DRAM. Pot fi observate cele doua blocuri de 64 ko fiecare si
modul in care ele sunt selectate cu semnalul /CAS1 (pentru primul
bloc) si /CAS2 (pentru al doilea bloc). In interiorul celor doua blocuri,
conectarea efectiva a circuitelor DRAM 4164 este prezentata in figura
1.6.
In figura 1.4 este prezentat modul de conectare a circuitelor de
memorie EPROM si SRAM1, respectiv SRAM2.
7
In aceasta figura este reprezentat doar primul bloc de 64 ko,
insa schema pentru cel de-al doilea este identica cu aceasta.
8
Odata cunoscute aceste adrese, vom construi urmatorul tabel.
9
sa sune, astfel incat tranzistorul si rezistenta se comporta ca un
“amplificator”.
D 0 3 2 D 0 3 2
D 1 4 D 1 Q 1 5 D 1 4 D 1 Q 1 5
D 2 7 D 2 Q 2 6 D 2 7 D 2 Q 2 6
D 3 8 D 3 Q 3 9 D 3 8 D 3 Q 3 9
D 4 13 D 4 Q 4 12 D 4 13 D 4 Q 4 12
D 5 14 D 5 Q 5 15 D 5 14 D 5 Q 5 15
D 6 17 D 6 Q 6 16 D 6 17 D 6 Q 6 16
D 7 18 D 7 Q 7 19 D 7 18 D 7 Q 7 19
D 8 Q 8 D 8 Q 8
/ S e l : b r1 11 /S e l :b r2 11
C LK C LK
1 1
C LR C LR
74 LS 273 74 LS 273
/R E S E T
A 0 10 9 A 4 10 9
A 1 12 A 0 B 0 11 A 5 12 A 0 B 0 11
A 2 13 A 1 B 1 14 A 6 13 A 1 B 1 14
A 3 15 A 2 B 2 1 A 7 15 A 2 B 2 1
A 3 B 3 A 3 B 3
2 7 2 7
3 A <B I A <B O 6 3 A <B I A <B O 6
4 A =B I A =B O 5 4 A =B I A =B O 5
A >B I A >B O A >B I A >B O
7485 7485
0 0 0 0
2
A 8 10 9 A 12 10 9
A 9 12 A 0 B 0 11 A 13 12 A 0 B 0 11
4
A 10 13 A 1 B 1 14 A 14 13 A 1 B 1 14 D0 2 5
A 11 15 A 2 B 2 1 A 15 15 A 2 B 2 1 D Q
PR
A 3 B 3 A 3 B 3 /S e l:i n t 3
4
/M 1 2 7 2 7 C LK
/M R E Q 3 A <B I A <B O 6 3 A <B I A <B O 6 6 /I N T
4 A =B I A =B O 5 4 A =B I A =B O 5 Q
CL
0 0 0 0 RE S ET
Fig 4.1.
10
5. Descrierea modului de functionare pas-cu-pas.
Pentru modulul de functionare pas-cu-pas vom folosi tot un
bistabil, legat tot la iesirea A=B0 a ultimului comparator, deoarece
acest bistabil trebuie sa genereze un semnal de intrerupere dupa
fiecare ciclu de fetch. Pentru a-l face sa se comporte astfel, simpla
legare in modul prezentat nu e de ajuns, si astfel se mai introduc si
/MREQ si /M1 in componenta semnalului. Astfel semnalul este activ pe
linia /NMI dupa fiecare ciclu de fetch. Bistabilul este vazut de procesor
ca un port, astfel incat el este selectat cu semnalul /Sel:pp de la
decodificatorul de porturi. Iata schema:
Partea software:
1.Programul Monitor
Programul Monitor asigura accesul la celelalte componente soft si
implicit si la intregul sistem. De aceea zona de memorie in care se afla
Monitor-ul trebuie protejata impotriva acceselor aleatoare. Vom plasa
o parola pentru accesarea acestei zone, parola fiind un numar in
format hexa de patru cifre.
Zona protejata cu parola este zona 4000H – 5FFFH.
Programul monitor începe cu plasarea stivei în memoria SRAM1
de la adresa 4000h şi generarea codului pentru rutina de tratare a
cererilor de întrerupere în modul 1. Rutina contine doar un salt la o
adresa din SRAM2 unde este rutina de tratare efectiva, pentru a nu
ocupa prea mult din memoria din zona 0000H.
Ca orice alt program monitor, si acesta trebuie sa aiba anumite
comenzi prin care utilizatorul poate interactiona cu sistemul. Ele sunt:
• V- Vizulalizare;
11
o V xxxx yyyy <CR> (adresa – adresa);
o V xxxx zz <CR> (adresa – lungime);
o V xxxx <CR> (adresa – lungime implicita de 256
octeti);
• L- Listeaza;
o L xxxx yyyy <CR> (adresa – adresa);
o L xxxx zz <CR> (adresa – lungime);
o L xxxx <CR> (adresa – lungime implicita de 256
octeti);
• I- Inserare;
o I xxxx yy zz ww … <CR> (adresa – octeti);
• R- Rulare;
o R xxxx <CR> (adresa – adresa);
o R xxxx yyyy <CR>;
12
o B xxxx - continuarea executiei programului, insa cu o
noua adresa de breakpoint;
o P – modul de lucru pas-cu-pas, executand o singura
instructie odata din programul rulat;
o X – iesire din acest meniu suplimentar;
• P- Paginare;
o P x <CR> (adresa – adresa);
2. Modul de parolare
Parola este un numar hexa de 4 cifre .
La primul apel al unei instrucţiuni P, PE, PD se citeşte valoarea
contorului corespunzator difuzorului şi se salveaza aceasta valoare la
13
adresa 1FFFH. Parola este data de datele aflate în memoria SRAM la
adresa (1FFFH), şi anume aceasta valoare trebuie sa reprezinte
valoarea negata a parolei. Astfel pentru a dezactiva parola trebuie mai
intâi verificata locatia 1FFFH şi citita valoarea de la adresa data de
acea valoare. Parola se obtine prin negarea bitilor acestei valori.
Starea protecţiei (activa/inactiva) este salvata la adresa 4000H,
care face parte din zona protejata si nu poate fi modificata fara a
cunoaste parola .
Acest mod de protejare contine 2 grade de indirectare şi are o
parola variabila, care este deci mai greu de depistat. Pentru o protectie
şi mai buna, se poate ca la fiecare acces al unei instrucţiuni PE/PD sa
fie modificata parola conform acestui algoritm.
14