Acasă / Internet / Cum funcționează eeprom? Ce este un cip de memorie și cum se programează microcircuite. Înregistrează EECON1, EECON2

Cum funcționează eeprom? Ce este un cip de memorie și cum se programează microcircuite. Înregistrează EECON1, EECON2

Chipurile de memorie programabile doar pentru citire (EEPROM) care se pot șterge electric sunt cipuri de computer cu semiconductor de oxid de metal care sunt utilizate în placa de circuit imprimat. Acest tip de cip poate fi șters și reprogramat folosind un semnal electronic puternic. Deoarece acest lucru se poate face fără a scoate cipul din dispozitivul la care este conectat, cipurile EEPROM sunt folosite în multe industrii.
Cipul EEPROM conține memorie nevolatilă, astfel încât datele sale nu se pierd dacă alimentarea cu energie a cipului este întreruptă. Acest tip de cip poate fi programat selectiv, ceea ce înseamnă că o parte din memorie poate fi schimbată cu o nouă suprascriere fără a afecta restul memoriei. Informațiile stocate în interiorul unui cip EEPROM sunt permanente până când sunt șterse sau reprogramate, făcându-l o componentă valoroasă în computere și alte dispozitive electronice.

Cipurile EEPROM se bazează pe tranzistoare cu poartă plutitoare. Cipul EEPROM este programat prin forțarea informațiilor programabile sub formă de electroni prin oxidul de poartă. Poarta plutitoare asigură apoi stocarea acestor electroni. O celulă de memorie este considerată programată atunci când este încărcată cu electroni, iar aceasta este reprezentată de un zero. Dacă o celulă de memorie nu este încărcată, aceasta nu este programată și este reprezentată de una.

O gamă largă de dispozitive necesită memorie, astfel încât cipurile EEPROM au multe aplicații în domeniul electronicelor de larg consum. Sunt utilizate în sistemele de jocuri, televizoare și monitoare de computer. Aparatele auditive, camerele digitale, tehnologia Bluetooth și sistemele de jocuri folosesc, de asemenea, cipuri EEPROM. Sunt utilizate în telecomunicații, în industria medicală și în industria prelucrătoare. Calculatoarele personale și de afaceri conțin EEPROM.

Cipul EEPROM are, de asemenea, o gamă largă de aplicații în industria auto. Este utilizat în sistemele de frânare antiblocare, airbag-uri, comenzi electronice de stabilitate, transmisii și unități de control al motorului. Cipurile EEPROM sunt folosite și în aparatele de aer condiționat, afișaje bord, module de control al șasiului și sisteme de intrare fără cheie. Aceste cipuri ajută la monitorizarea consumului de combustibil și sunt, de asemenea, utilizate în diferite sisteme de diagnosticare.

Există o limită a numărului de repetări care pot fi suprascrise de cipul EEPROM. Stratul din interiorul cipului este deteriorat treptat de numeroase rescrieri. Aceasta nu este o problemă mare, deoarece unele cipuri EEPROM pot fi modificate de până la un milion de ori. Progresele ulterioare ale tehnologiei vor avea probabil un impact pozitiv asupra a ceea ce pot face cipurile de memorie în viitor.

Microcircuitele pentru diverse scopuri sunt folosite ca parte a electronicii moderne. O mare varietate de astfel de componente este completată de cipuri de memorie. Acest tip de componente radio (în rândul inginerilor electronici și al oamenilor) este adesea numit pur și simplu cipuri. Scopul principal al cipurilor de memorie este de a stoca anumite informații cu posibilitatea de a introduce (scrie), schimba (suprascrie) sau îndepărtarea completă(stergere) software. Interesul general pentru cipurile de memorie este de înțeles. Pentru maeștrii care știu să programeze cipuri de memorie se deschid oportunități largi în domeniul reparației și configurării dispozitivelor electronice moderne.

Un cip de memorie este o componentă electronică, a cărei structură internă este capabilă să stocheze (reamintire) programele introduse, orice date sau ambele în același timp.

În esență, informațiile încărcate în cip sunt o serie de comenzi constând dintr-un set de unități de calcul cu microprocesor.

Trebuie remarcat: cipurile de memorie sunt întotdeauna un plus integral la microprocesoare - cipurile de control. La rândul său, microprocesorul este baza electronicii oricărei tehnologii moderne.

Set de componente electronice pe o placă modernă dispozitiv electronic. Undeva printre această masă de componente radio se află o componentă capabilă să stocheze informații.

Astfel, microprocesorul controlează, iar cipul de memorie stochează informațiile necesare microprocesorului.

Programele sau datele sunt stocate pe un cip de memorie ca o serie de numere - zerouri și unu (biți). Un bit poate fi reprezentat printr-un zero logic (0) sau unul logic (1).

Într-o singură formă, procesarea biților pare complexă. Prin urmare, biții sunt combinați în grupuri. Șaisprezece biți alcătuiesc un grup de „cuvinte”, opt biți alcătuiesc un octet - o „parte dintr-un cuvânt”, patru biți - o „bucată dintr-un cuvânt”.

Termenul software cel mai des folosit pentru cipuri este byte. Acesta este un set de opt biți care poate lua de la 2 la 8 variații numerice, dând un total de 256 de valori diferite.

Pentru a reprezenta un octet, se utilizează un sistem numeric hexazecimal, care prevede utilizarea a 16 valori din două grupuri:

  1. Digital (de la 0 la 9).
  2. Simbolic (de la A la F).

Prin urmare, combinațiile de două caractere hexazecimale conțin și 256 de valori (de la 00h la FFh). Caracterul „h” din urmă indică numere hexazecimale.

Organizarea cipurilor de memorie

Pentru cipurile de memorie pe 8 biți (cel mai comun tip), biții sunt combinați în octeți (8 biți) și stocați la o anumită „adresă”.

Adresa atribuită permite accesul la octeți. Cei opt biți de adresă de acces sunt ieșiți prin opt porturi de date.


Organizarea structurii unui dispozitiv de stocare. La prima vedere, algoritmul este complex și de neînțeles. Dar dacă vrei să înțelegi, înțelegerea vine repede
  • Tutorial

Relua: Dacă actualizați periodic o valoare din EEPROM la fiecare câteva minute (sau câteva secunde), este posibil să întâmpinați o problemă cu celulele EEPROM care se uzează. Pentru a evita acest lucru, este necesar să se reducă frecvența intrărilor în celulă. Pentru unele tipuri de EEPROM, chiar și scrierea de mai multe ori pe oră poate fi o problemă.

Timpul zboară când înregistrezi date

EEPROM este folosită în mod obișnuit pentru a stoca parametrii de configurare și jurnalele de operare în sistemele încorporate. De exemplu, este posibil să doriți o funcție cutie neagră pentru a înregistra cele mai recente date în momentul unui accident sau al unei pierderi de curent. Am văzut specificații care necesită ca astfel de date să fie înregistrate la fiecare câteva secunde.

Dar problema este că EEPROM are un număr limitat de intrări. După 100.000 sau un milion de scrieri (în funcție de cip specific), unele dintre sistemele dvs. vor începe să întâmpine probleme cu defecțiunea EEPROM. (Uitați-vă la fișa de date pentru o anumită cifră. Dacă doriți să lansați un număr mare de dispozitive, „cel mai rău caz” este probabil mai important decât „tipic”). Un milion de înregistrări pare mult, dar în realitate se va termina foarte repede. Să ne uităm la un exemplu, presupunând că trebuie să stocăm o tensiune măsurată de o celulă la fiecare 15 secunde.

1.000.000 de înregistrări cu o înregistrare la fiecare 15 secunde oferă înregistrări pe minut:
1.000.000 / (4 * 60 minute/oră * 24 ore/zi) = 173,6 zile.
Cu alte cuvinte, EEPROM-ul dumneavoastră își va epuiza rezerva de un milion de intrări în mai puțin de 6 luni.

Mai jos este un grafic care arată timpul de uzură (în ani) pe baza perioadei de reîmprospătare a unei anumite celule EEPROM. Linia de limită pentru un produs cu o durată de viață de 10 ani este o actualizare la fiecare 5 minute și 15 secunde pentru un cip cu o durată de viață de 1 milion. Pentru EEPROM cu o resursă de 100K, puteți actualiza o anumită celulă nu mai mult de o dată la fiecare 52 de minute. Aceasta înseamnă că nu ar trebui să vă așteptați să actualizați o celulă la fiecare câteva secunde dacă doriți ca produsul dvs. să dureze ani de zile, mai degrabă decât luni. Cele de mai sus se scalează liniar, însă în acest dispozitiv există și factori secundari, cum ar fi temperatura și modul de acces.

Reduceți frecvența

Cea mai nedureroasă modalitate de a rezolva problema este să scrieți datele mai rar. În unele cazuri, cerințele de sistem permit acest lucru. Sau puteți înregistra doar atunci când există schimbări majore. Cu toate acestea, cu o intrare bazată pe evenimente, fiți conștienți de posibilul scenariu în care valoarea va fluctua continuu și va provoca un flux de evenimente care vor uza EEPROM-ul.
(Ar fi frumos dacă ați putea determina de câte ori a fost scris EEPROM. Dar acest lucru ar necesita stocarea unui contor în EEPROM... ceea ce face ca problema să fie o problemă de uzură.)

Întrerupere de putere scăzută

Unele procesoare au o întrerupere de putere scăzută care poate fi folosită pentru a scrie o ultimă valoare în EEPROM în timp ce sistemul se oprește din cauza unei pierderi de putere. În general, stocați valoarea de interes în RAM și o salvați în EEPROM numai atunci când alimentarea este oprită. Sau poate scrieți EEPROM din când în când și scrieți o altă copie pe EEPROM ca parte a procedurii de oprire pentru a vă asigura că sunt scrise cele mai recente date.
Este important să vă asigurați că există un condensator mare pe sursa de alimentare care va menține o tensiune suficientă pentru a programa suficient EEPROM-ul pentru o lungă perioadă de timp. Acest lucru poate funcționa dacă trebuie să scrieți una sau două valori, dar nu un bloc mare de date. Atenție, există mult loc de eroare aici!

tampon de inel

Soluția clasică la problema uzurii este utilizarea unui tampon inel FIFO care conține cele mai recente N intrări de valori. De asemenea, va trebui să stocați un pointer către sfârșitul buffer-ului în EEPROM. Acest lucru reduce uzura EEPROM-ului cu o cantitate proporțională cu numărul de copii din acel buffer. De exemplu, dacă un buffer trece prin 10 adrese diferite pentru a stoca o valoare, fiecare celulă specifică este modificată de 10 ori mai rar, iar resursa de scriere crește de 10 ori. De asemenea, veți avea nevoie de un contor separat sau de un marcaj de timp pentru fiecare dintre cele 10 copii, astfel încât să puteți determina care dintre ele a fost ultima în momentul închiderii. Cu alte cuvinte, veți avea nevoie de două tampoane, unul pentru valoare și unul pentru contor. (Depozitarea contorului la aceeași adresă va duce la uzura acestuia, deoarece trebuie să fie crescut cu fiecare ciclu de scriere.) Dezavantajul acestei metode este că este nevoie de de 10 ori mai mult spațiu pentru a obține o speranță de viață de 10 ori mai mare. Puteți fi inteligent și puteți împacheta contorul împreună cu datele. Dacă scrieți o mulțime de date, adăugarea de câțiva octeți pentru contor nu este atât de mare. Dar, în orice caz, veți avea nevoie de multă EEPROM.
Atmel a pregătit o notă de aplicare care conține toate detaliile sângeroase:
AVR-101: Stocare EEPROM de înaltă rezistență: www.atmel.com/images/doc2526.pdf

Carcasă specială pentru contor de înregistrare

Uneori trebuie să salvați contorul, și nu valorile în sine. De exemplu, poate doriți să aflați de câte ori este pornit dispozitivul sau timpul de funcționare al dispozitivului. Cel mai rău lucru despre contoare este că schimbă în mod constant bitul cel mai puțin semnificativ, uzând mai repede celulele EEPROM de ordin scăzut. Dar chiar și aici este posibil să aplici câteva trucuri. Nota de aplicare a Microchip are câteva idei inteligente, cum ar fi utilizarea codului Gray pentru a se asigura că doar un bit dintr-un contor multi-octeți se schimbă atunci când valoarea contorului se modifică. De asemenea, ei recomandă utilizarea codurilor de corecție pentru a compensa uzura. (Nu știu cât de eficientă va fi utilizarea unor astfel de coduri, deoarece va depinde de cât de independente vor fi erorile de biți în octeții de contor, utilizați-vă pe riscul și riscul dumneavoastră, nota autorului). Consultați nota aplicației: ww1.microchip.com/downloads/en/AppNotes/01449A.pdf

Notă: Pentru cei care ar dori să afle mai multe, Microchip a pregătit un document care conține informații detaliate despre proiectarea celulelor EEPROM și uzura acestora cu diagrame:
ftp.microchip.com/tools/memory/total50/tutorial.html

Anunțați-mă dacă aveți idei interesante pentru combaterea uzurii EEPROM.

Sursa: Phil Koopman, „Better Embedded System SW”
betterembsw.blogspot.ru/2015/07/avoiding-eeprom-wearout.html

Nota traducătorului: în ultimii ani, cipurile EEPROM au apărut cu o organizare de ștergere a paginii (asemănătoare cu cipurile FLASH), unde este logic posibil să se adreseze celulele (citește, scrie și șterge) octet cu octet, dar în același timp cipul, invizibil pentru utilizator, șterge întreaga pagină și o suprascrie cu date noi. Aceste. Ștergând celulele de la adresa 0, am șters și suprascris celulele cu adrese 0...255 (cu o dimensiune a paginii de 256 de octeți), așa că trucul bufferului nu va ajuta în acest caz. Când resursa de înregistrare a unui astfel de microcircuit este epuizată, nu doar o celulă, ci întreaga pagină eșuează. În fișele de date pentru astfel de microcircuite, este indicată resursa de înregistrare pentru pagina, nu pentru o anumită celulă. Consultați, de exemplu, fișa de date pentru 25LC1024 de la Microchip.

Etichete: Adăugați etichete

Actualizat 16.12.15.

Salutare tuturor. După ce am examinat în articolul anterior interacțiunea butoanelor cu controlerul, în această intrare vom analiza memoria AVR EEPROM MK (PROM care poate fi șters electric), care este nevolatilă și are o resursă de aproximativ 100.000 de cicluri de scriere/citire. De ce avem nevoie de o astfel de memorie cu un număr limitat de accesări la ea? O astfel de memorie este ideală pentru stocarea constantelor și a parametrilor inițiali, pe care îi putem seta la începutul programului folosind aceleași butoane.

Trebuie remarcat faptul că unii producători combină memoria EEPROM cu SRAM. Când tensiunea de funcționare este întreruptă, conținutul memoriei este transferat de la SRAM la EEPROM, rezultând un ciclu scurt de scriere care nu duce la uzură.

Acum să vedem cum să-l accesăm. Pentru a programa memoria EEPROM, se folosesc trei registre situate în zona I/O a memoriei SRAM: registrul de adrese pe opt biți EEAR sau două registre EEARH și EEARL; registru de date EEDR pe opt biți; registru de control pe opt biți EECR. Când are loc procesul de scriere, octetul de date este adresat de registrul de adrese și scris în registrul de date. La citirea din memorie, conținutul celulei EEPROM adresată de registrul de adrese este scris în registrul de date.

Cartea lui Evstifeev, o carte de referință despre microcontrolere (am citat literatura în articolul nr. 1), descrie exemple de programe pentru scriere/citire. Să ne uităm la program:

Implementarea funcției de înregistrare:
{
void EEPROM_write (unsigned int uiAddress, unsigned char uoData)<
în timp ce (EECR & (1 EEAR = uiAddress;
//Inițializați registrul de adrese EEDR = uoData ;
//Inițializați registrul de date<EECR |= (1
//Inițializați registrul de date<< EEWE); //Setați steag EEMWE
}

//Începeți să scrieți în EEPROM
Să analizăm programul. 1. EEWE este un pic din registrul (figura de mai jos) EECR și este responsabil pentru a permite scrierea în EEPROM, dacă este setată la 1, apoi scrierea în EEPROM
, cu condiția ca EEMWE să fie setat la 1.

2. Încărcați adresa în registrul de adrese EEAR
Biți registrului de control EECR:
EERIE - activare întrerupere din EEPROM;
EEMWE - controlul permisiunii de scriere EEPROM;
EEWE - permisiunea de scriere pe EEPROM;

EERE - permisiunea de citire din EEPROM.
3. Încărcați octetul de date în registrul de date EEDR.
5. Scrieți datele în memorie.

Există o nuanță aici. Dacă intenționați să scrieți periodic date pe EEPROM în timpul execuției programului, atunci când autoprogramați microcontrolerul, atunci trebuie să știți că scrierea pe EEPROM nu poate fi efectuată simultan cu scrierea în memoria Flash, așa că mai sus, după primul punct, trebuie să adăugați următorul punct:

— așteptați ca programele să fie scrise în memoria Flash, de ex. așteptați până când indicatorul SPMEN al registrului SPMCR este resetat, apoi după această linie trebuie să adăugați o altă condiție ciclică:

în timp ce (SPMCR &(1<//Terminați scrierea în memoria Flash

Acum să ne uităm la funcția de citire:

Unsigned char EEPROM_write (unsigned int uiAddress)
{
void EEPROM_write (unsigned int uiAddress, unsigned char uoData)<//așteptați finalizarea intrării anterioare
EEAR = uiAddress;
//Inițializați registrul de date<
//Inițializați registrul de adrese
}

returnează EEDR;

Aici totul este aproape la fel, doar adresa variabilei este transmisă funcției, o inițializam și permitem citirea la această adresă. Returnăm datele.

Dar înainte de a utiliza algoritmul de scriere sau citire EEPROM, este necesar să declarați o variabilă care va fi alocată în zona EEPROM. În acest scop, un atribut special EEMEM este definit în biblioteca eeprom.h a mediului software WinAVR. De exemplu, să declarăm o variabilă fără un tip întreg cu semn cu un atribut. EEMEM uint8_t eeprom_х;
// declară o variabilă.
x – variabilă;
uint8_t este un tip întreg fără semn cu o lățime de biți specificată precis, în acest caz 8 biți, și este destinat portabilității programului.

EEMEM este un atribut care face ca o variabilă să fie distribuită în secțiunea .eeprom. Acest atribut este definit în fișierul eeprom.h și arată astfel.
#ifndef EEMEM
#define EEMEM__attribute__ ((secțiunea ("".eeprom")))

#endif
Pentru a lucra cu date, biblioteca conține deja funcții:
pentru lectură
uint8_t eeprom_read_byte (const uint8_t *adr)
Argumentul funcțiilor eeprom_read_... este adresa variabilei din EEPROM, iar rezultatul este valoarea variabilei din EEPROM.
pentru înregistrare
void eeprom_write_byte (uint8_t *addr, valoare uint8_t)

Argumentele funcțiilor eeprom_write_... sunt adresa din EEPROM unde să scrieți datele și valoarea care trebuie scrisă. Ei bine, să terminăm toate acestea cu exemplul de program în ansamblu. Să transferăm datele în EEPROM și să le numărăm. Folosind AVR

și , vom afișa rezultatul.
#include
#include
#include

#include „lcd.h” uint8_t EEMEM eepro_х;
/* o astfel de variabilă trebuie să fie întotdeauna globală și este folosită pentru a-și transfera adresa în zona EEPROM */

char word="Bună ziua";
{
principal() /*a doua variabilă pentru transferul de date*/
/*Să scriem variabila în memorie*/
eeprom_write_byte(&eeprom_x, eeprom_x1); /*treceți funcția adresa variabilei și valoarea pe care o vom scrie la această adresă*/
/*acum să ne asigurăm că avem valoarea 100 stocată în memorie, pentru a face acest lucru vom reseta valoarea curentă a variabilei x și vom atribui valoarea citită din memorie*/
eeprom_x1 = 0;
/*numărează conținutul memoriei*/
x1 = eeprom_read_byte(&eeprom_x); // luarea adresei unei variabile
sprintf (cuvânt,"V_eeprom x1=%3d",eeprom_x1);
PrintString(cuvânt);
}

Figura de mai jos arată rezultatul
Dacă programul transferă inițial unele constante pentru stocare în memoria EEPROM, atunci când flash-ul firmware-ului este necesar să încărcați un fișier cu extensia .eep, care va fi creat de compilator și plasat în același director cu fișierele de lucru.

Asta e tot deocamdată. Iată o scurtă prezentare generală pentru lucrul cu o astfel de memorie. Desigur, există o mulțime de nuanțe, dar acestea sunt subtilități. În următorul articol ne vom uita la PWM(modularea lățimii pulsului) și treceți ușor la următorul proiect, să încercăm să proiectăm „creierele” pentru o mașină CNC amatoare. La revedere tuturor.

EEPROM este o memorie nevolatilă care se poate șterge electric. Numărul de cicluri de scriere-ștergere în aceste microcircuite ajunge la 1.000.000 de ori. Celulele de bruiaj din ele, precum și în memoriile EPROM doar pentru citire, sunt implementate pe baza tranzistoarelor cu poartă flotantă. Structura internă a acestei celule de memorie este prezentată în Figura 1:


Figura 1. Celulă de memorie ROM cu ștergere electrică (EEPROM).

Celula de memorie EEPROM este un tranzistor MOS în care poarta este realizată din siliciu policristalin. Apoi, în timpul procesului de fabricație a cipului, această poartă este oxidată și ca urmare va fi înconjurată de oxid de siliciu, un dielectric cu proprietăți izolante excelente. Într-un tranzistor cu o poartă plutitoare, atunci când ROM-ul este complet șters, nu există nicio sarcină în poarta „plutitoare” și, prin urmare, acest tranzistor nu conduce curentul. În timpul programării, o tensiune înaltă este aplicată celei de-a doua porți, situată deasupra porții plutitoare, iar în ea sunt induse sarcini datorită efectului de tunel. După ce tensiunea de programare este îndepărtată, sarcina indusă rămâne pe poarta flotantă și, prin urmare, tranzistorul rămâne într-o stare conductivă. Sarcina de pe șurubul său plutitor poate fi stocată timp de zeci de ani.

O celulă de memorie similară a fost utilizată în ROM-ul șters cu ultraviolete (EPROM). Într-o celulă de memorie cu ștergere electrică, este posibil nu numai să scrieți, ci și să ștergeți informații. Informațiile sunt șterse prin aplicarea unei tensiuni opusă tensiunii de înregistrare la poarta de programare. Spre deosebire de UV Erase ROM, timpul de ștergere a memoriei EEPROM este de aproximativ 10 ms.

Schema bloc a memoriei nevolatile cu ștergere electrică nu diferă de schema bloc a ROM-ului măști. Singura diferență este că, în loc de un jumper fuzibil, se folosește celula descrisă mai sus. Diagrama sa bloc simplificată este prezentată în Figura 2.



Figura 2. Diagrama bloc EEPROM simplificată

Ca exemplu de cipuri de memorie EEPROM, putem numi cipurile interne 573РР3, 558РР3 și microcircuite străine din seria AT28с010, AT28с040 de la Atmel, HN58V1001 de la Hitachi Semiconductor, X28C010 de la Intersil Corporation. Memoria EEPROM stochează cel mai adesea datele utilizatorului în dispozitive celulare care nu trebuie șterse atunci când alimentarea este oprită (de exemplu, agende), informații de configurare ale routerelor sau dispozitivelor celulare, mai rar aceste cipuri sunt folosite ca memorie de configurare FPGA sau date DSP depozitare. EEPROM-urile sunt reprezentate în diagramele de circuit, așa cum se arată în Figura 3.


Figura 3. Desemnarea grafică a unui dispozitiv de memorie doar pentru citire, șters electric

Citirea informațiilor din memoria EEPROM paralelă este similară cu citirea din masca ROM. Mai întâi, adresa celulei de memorie citită este setată pe magistrala de adrese în codul binar A0...A9, apoi se aplică semnalul de citire RD. Semnalul de selectare a cipului CS este utilizat de obicei ca un fir de adresă suplimentar pentru a accesa cip. Diagramele de timp ale semnalelor la intrările și ieșirile acestui tip de ROM sunt prezentate în Figura 4.



Figura 4. Diagrame de timp ale semnalelor pentru citirea informațiilor din memoria EEPROM

Figura 5 prezintă un desen al unei carcase tipice pentru un cip de memorie EEPROM paralel.


Figura 5. Desenul carcasei microcircuitului EEPROM paralel

De obicei, datele stocate în EEPROM sunt necesare destul de rar. Timpul de lectură nu este critic în acest caz. Prin urmare, în unele cazuri, adresa și datele sunt transferate pe cip și înapoi prin portul serial. Acest lucru face posibilă reducerea dimensiunii microcircuitelor prin reducerea numărului de pini externi. În acest caz, sunt utilizate două tipuri de porturi seriale - portul SPI și portul I2C (microcircuite seria 25cXX și, respectiv, 24cXX). Seria străină 24cXX corespunde seriei interne de microcircuite 558PPX.

Schema internă a microcircuitelor din seria 24cXX (de exemplu AT24C01) este prezentată în Figura 6.



Figura 6. Circuitul intern al cipului AT24C01

Astfel de cipuri sunt utilizate pe scară largă pentru a stoca setările TV, cum ar fi memoria plug and play în computere și laptopuri, memoria de configurare FPGA și procesoarele de semnal (DSP). Utilizarea memoriei EEPROM seriale a redus semnificativ costul acestor dispozitive și a sporit ușurința în utilizare. Un exemplu de locație a acestui cip pe placa de circuit imprimat a unui card de memorie de computer este prezentat în Figura 7.



Figura 7. EEPROM de pe placa de circuit imprimat a unui card de memorie de calculator

Figura 8 prezintă o diagramă a unui card electronic utilizând un cip EEPROM extern.


Figura 8. Circuitul cardului electronic folosind EEPROM extern

În această diagramă, microcontrolerul PIC16F84 schimbă date cu memoria EEPROM 24LC16B. Dispozitivele precum cartela SIM nu mai folosesc un cip de memorie extern. Cardurile SIM ale dispozitivelor celulare folosesc memoria internă EEPROM a unui microcontroler cu un singur cip. Acest lucru vă permite să reduceți prețul acestui dispozitiv cât mai mult posibil.

Circuitul de control pentru ROM-urile programabile șterse electric sa dovedit a fi complex, așa că au apărut două direcții pentru dezvoltarea acestor microcircuite:

  1. EEPROM - memorie programabilă doar pentru citire, ștersă electric
  2. FLASH ROM

FLASH - ROM-urile diferă de EEPROM-urile prin aceea că ștergerea nu se realizează pe fiecare celulă separat, ci pe întregul microcircuit ca întreg sau pe un bloc al matricei de memorie a acestui microcircuit, așa cum s-a făcut în EEPROM.


Figura 9. Desemnarea grafică a memoriei FLASH

Când accesați un dispozitiv de stocare permanent, trebuie mai întâi să setați adresa celulei de memorie pe magistrala de adrese și apoi să efectuați o operație de citire de pe cip. Această diagramă de timp este prezentată în Figura 11.



Figura 10. Diagrame de timp ale semnalelor pentru citirea informațiilor din ROM

În Figura 10, săgețile arată secvența în care ar trebui să fie generate semnalele de control. În această figură, RD este semnalul de citire, A este semnalele de selecție a adresei celulei (deoarece biții individuali din magistrala de adrese pot lua valori diferite, sunt afișate căile de tranziție către atât starea unu cât și zero), D este informațiile de ieșire citite din celula ROM selectată.

Literatură:

Împreună cu articolul „Dispozitive de memorie numai pentru citire (ROM)” citiți: