Documente Academic
Documente Profesional
Documente Cultură
MEMORII SEMICONDUCTOARE
13.1. INTRODUCERE
1
Laborator 13 2019/2020
Programarea se face cu ajutorul unui impuls de programare (având amplitudinea tipică de VPP =
12V, uneori 12,5V) aplicat, după selectarea liniei de cuvânt Wi = U0H, între drena şi sursa tranzistorului, cu
durata de câteva zeci de ms.
Ştergerea informaţiilor se face iradiind matricea de memorare cu radiaţii UV. Prin ştergere toţii biţii
locaţiilor de memorie vor fi pe „1”. Dacă lungimea de undă a radiaţiei ultraviolete este mai mică de 4000Å,
distanţa dintre lampa UV şi cip mai mică de 2,5cm, iar puterea radiaţiei 12000mW/cm 2; ştergerea se face în 15-
20 minute. Expunerea continuă a unei memorii EPROM la lumina fluorescentă din camera poate determina
ştergerea informaţiei în circa 3 ani iar expunerea la lumina solară directă în circa 1 saptamână.
Numărul garantat de programări şi de ştergeri este mai mare de 100, dar defecte sunt frecvente chiar
după câteva cicluri ştergere – programare. Durata de menţinere a informaţiei memorate este minim zece ani.
Pentru circuitele EPROM moderne, de capacitate mare, (peste 64 kbiţi), o programare octet cu octet
(durează zeci de ms pentru un octet) este inacceptabil de lungă (la un EPROM 27512 de 512 kbiţi, programarea
ar dura 20ms x 65536 octeţi = 22 minute). Pentru reducerea timpului de programare a întregii memorii au fost
realizaţi algoritmi de programare rapidă, caracterizaţi prin:
tensiunea de alimentare mărită la VDD = 6V;
tensiunea de programare de VPP = 12,5V.
În acest mod, durata impulsului de programare se poate reduce la 1ms sau în unele cazuri chiar de
100µs! Prin aceasta chiar la memoriile EPROM de capacitaţi relative ridicate (peste 1 Mbit), programarea
durează maxim câteva minute.
Este o memorie EPROM (codul 27) realizată în tehnologie CMOS de 64kbiţi organizată ca 8k cuvinte
de 8 biţi (8k locaţii de memorie, în fiecare locaţie se memorează 8 biţi). Ea are următorii pinii:
- 13 linii de adresă A0 – A12 (8k = 213) – magistrala de adrese; 27C64A
- 8 ieşiri de date D0 – D7 – magistrala de date;
13 A0
- /CE - Chip Enable (nevalidat trece circuitul în mod aşteptare: toate ieşirile .
.
sunt în stare de înaltă impedanţă (HiZ) iar consumul de curent este redus substanţial); A12 D0 8
- /OE – Output Enable (pune bufferele de ieşire în stare HiZ); CE .
.
Adresă stabilă
2
Laborator 13 2019/2020
6V
VCC 5V
CE ViL
PGM ViH
ViL
tPW tOES tOE tAH tOE
OE ViH
ViL
În acest mod se programează fiecare locaţie de memorie. După programare se poate face o verificare a
operaţiei de programare (Program Verify) şi/sau o citire. Formele de undă aferente acestor operaţii sunt
prezentate mai sus.
3
Laborator 13 2019/2020
memoriei SRAM. Modul serial respectă protocoale de comunicaţie standardizate: SPI (Serial
Peripheral Interface), I2C (Inter-Integrated Circuit) sau 1-Wire.
Pentru programarea memoriilor EEPROM/Flash se pot utiliza dispozitive externe
(programatoare de memorii), de obicei conectate la un calculator pe portul serial, paralel sau
USB. Modul de conectare al programatorului(serial/paralel) nu are legătură cu modul de
accesare al memoriei (serial/paralel).
Figura 13.1 ilustrează configuraţia generică a pinilor unei memorii EEPROM paralel
de 64Kx8.
Pentru citirea unei valori numerice de la o anumită locaţie, trebuie să existe o combinaţie validă şi
stabilă la liniile de adresă şi apoi prin activarea pinului Output Enable (/G în cazul nostru) la liniile de date DQ0-
DQ7 se va obţine în binar valoarea dorită. Figura 13.2 ilustrează diagramele temporale pentru un ciclu de citire.
Pentru a înscrie o valoare numerică într-o locaţie de memorie, se stabileşte în binar valoarea adresei,
apoi la liniile de date se stabileşte valoarea în binar al numărului de memorat şi apoi se aplică nivel logic
corespunzător pe pinul /W în timp ce pinul /G este invalidat. Mai precis, există o combinaţie specifică între
valorile logice aplicate simultan pe pinii /E, /G şi /W, figura 13.3 ilustrând acest lucru.
4
Laborator 13 2019/2020
În cazul memoriilor I2C acestea utilizează 2 pini, SCL (Serial Clock) şi SDA (Serial Data) şi
funcţionează conform protocolului de comunicaţie I2C.
Memoriile SPI prezintă trei linii: SCK (Serial Clock), SI (Serial data IN) şi SO (Serial data Out).
Întreruperea comunicării se poate realiza prin activarea pinului /HOLD. Memoriile SPI se pot utiliza prin
intermediul magistralei SPI.
Standardul de comunicare 1-Wire permite transferul de date pe un singur fir, conform unui protocol
adecvat.
Indiferent de tipul constructiv, memoriile seriale necesită comenzi specializate pentru realizarea
operaţiilor de citire/scriere. Acestea se regăsesc în datele de catalog furnizate de către producător.
:020000001128C5
:100008008C0003088D000B11023085060630810034
:100018000D0883008C0E0C0E090000306500831655
:100028006400003081008312A0308B0001308E0AFA
:0A00380003198F0A031985061B281F
:08400000500053006F00660040
:02400E0011009F
:024010000100AD
:1042000000000000000000000000000000000000AE
:00000001FF
Valorile sunt înscrise sub forma octet inferior, octet superior. Deoarece fiecare adresă
poate conţine în acest format doar 8 biţi, valorile acestora apar dublate în listă.
Fiecare linie din fişier începe cu un prefix de 9 caractere şi se încheie cu o sumă de
verificare pe 2 caractere, după cum urmează:
:BBAAAATTHHHH ...... HHHHCC
unde:
BB - reprezintă un număr hexazecimal, pe două cifre, indicând numărul octeţilor de date ce
urmează în cadrul liniei;
AAAA - reprezintă un număr hexazecimal, pe patru cifre, indicând adresa de început a datelor de pe
linie;
5
Laborator 13 2019/2020
TT - este un număr pe două cifre care indică dacă linia este ultima din fişier. În acest caz valoarea
sa este "01", în rest este "00";
HH - este un număr hexazecimal pe două cifre, reprezentând valoarea octetului de date în
succesiunea octet inferior - octet superior;
CC - reprezintă o sumă de verificare, pe două cifre, în hexa-zecimal, fiind egală cu complementul
lui doi a sumei tuturor octeţilor anteriori de pe linie.
Soft-uri uzuale există şi freeware pe Internet: ICProg, PonyProg etc. Schema electronică a unei interfeţe
de programare pentru memorii seriale I2C, compatibilă cu PonyProg, este redată în figura 13.7.
Sunt memorii volatile care permit, în timpul functionării, atât citirea cât şi scrierea
informaţiei în locaţia de memorie adresată. Memoriile RAM se clasifică în:
RAM statice (SRAM – Static Random Access Memory) la care celula elementară
de memorare este un latch D realizat în tehnologie bipolară sau unipolară;
RAM dinamice (DRAM – Dynamic Random Access Memory) - celula elementară
este o capacitate; sunt realizate numai în tehnologie unipolară NMOS sau CMOS.
6
Laborator 13 2019/2020
Memoria SRAM 6264 are 8K locaţii de memorie a câte 8 biţi. Pinii săi sunt:
A0 A12 - magistrala de adrese de 13 biţi; 6264
A I/O 12
8
0
OE - intrare de validare ieşiri; WE .
OE I/O
WE - intrare de selecţie a operaţiei efectuate.
7
CE
CE
Analiza funcţionării se face considerând în permanenţă intrarea CE = „1”.
citirea: după stabilizarea adresei, se validează intrările /CE şi /OE; se aşteaptă
trecerea timpului tACC după care datele memorate la adresa specificată devin
disponibile la ieşiri; tACC = 10 - 150ns, tRCmin = 100ns.
scrierea: după stabilizarea adresei, se validează memoria CE = „0” ( OE se
menţine inactivă) şi se pune WE pe „0”; în momentul în care semnalul WE
7
Laborator 13 2019/2020
Memoriile DRAM au capacitate de memorare mai mare şi sunt mai ieftine decât
memoriile SRAM. În schimb, timpul de acces mai mare, necesitatea reîmprospătării
informaţiei memorate (Refresh) de câteva zeci de ori pe durata unei secunde şi modul mai
complicat de operare reprezintă dezavantajele lor.
În momentul actual, sunt disponibile memorii DRAM caracterizate de:
capacitate de memorare de peste 256Mbiţi organizată pe 1 bit, (sunt disponibile şi
bancuri de memorie organizate pe 4, 8, 16, 32 biţi);
tensiuni de alimentare de 5V, 3,3V şi 2,5V;
timp de acces de până la 50ns.
Memoriile DRAM sunt memorii volatile de mare capacitate, realizate cu tranzistoare
MOS. Memorarea se realizează prin încărcarea sau descărcarea unei capacităţi (integrate sau
parazite) Cm :
dacă Cm este încărcată înseamnă că se memorează „1”;
dacă Cm este descărcată înseamnă că se memorează „0”.
Celula de memorare conţine un singur tranzistor MOS (T) cu canal n. Ea funcţionează
în regim de impulsuri.
8 A0 Dout
.
A7 8 Din
RAS
CAS
WE
Laborator 13 2019/2020
9
Laborator 13 2019/2020
Features
• High speed —15 ns
• CMOS for optimum speed/power
• Low active power —495 mW
• Low standby power —220 mW
• TTL compatible inputs and outputs
• Automatic power-down when deselected
Functional Description
The CY7C187 is a high-performance CMOS static RAM organized as 65,536 words x 1 bit. Easy memory
expansion is provided by an active LOW Chip Enable (CE) and three-state drivers. The CY7C187 has an
automatic power-down feature, reducing the power consumption by 56% when deselected. Writing to the device
is accomplished when the Chip Enable (CE) and Write Enable (WE) inputs are both LOW. Data on the input pin
(DIN) is written into the memory location specified on the address pins (A0 through A15). Reading the device is
accomplished by taking the Chip Enable (CE) LOW, while Write Enable (WE) remains HIGH. Under these
conditions, the contents of the memory location specified on the address pin will appear on the data output
(DOUT) pin.
The output pin stays in high-impedance state when Chip Enable (CE) is HIGH or Write Enable (WE) is LOW.
10
Laborator 13 2019/2020
11
Laborator 13 2019/2020
12
Laborator 13 2019/2020
13
Laborator 13 2019/2020
(1) (2)
Placa de bază permite atât alimentare din sursă externă (Pwr_Sel=1+2) cât şi direct de
pe portul serial în cazul memoriilor cu consum redus (Pwr_Sel=2+3).
Se pot utiliza diverse adaătoare ataşate la placa de bază, pentru programarea unor
circuite diverse (microcontrolere şi alte tipuri de memorii seriale).
Softul de comandă aferent este PonyProg, freeware, disponibil pe diverse pagini
internet.
14