EEPROM: sve što trebate znati o ovoj memoriji

Eeprom

Ako ste proizvođač i radite neke DIY projekte u kojima morate raditi s memorijom, zasigurno već znate kako rade različite memorije koje Arduino integrira, poput flash-a (trajnog mjesta u kojem se čuvaju skica i bootloader), SRAM (brza i hlapljiva memorija u kojoj programske varijable ostaju tijekom obrade) i Eeprom (nehlapljiv i može se koristiti za pohranu podataka o ponovnom pokretanju).

Pa, pored EEPROM-a koji je uključen u Arduino, možete koristiti i vanjske čipove od ova vrsta sećanja, kako još jedna komponenta. Njih nije komplicirano razumjeti, niti komunicirati s njima radi generiranja pristupa (pisanje i čitanje) ili ažuriranja pohranjenih podataka. Ovdje ćete pronaći sve što trebate znati da biste započeli rad s ovim vrstama sjećanja ...

Šta je EEPROM?

STMicroelectronics EEPROM

STMicroelectronics EEPROM

La EEPROM (električno izbrisljiva programabilna crvena memorija) To je vrsta ROM memorije, odnosno trajne memorije u kojoj će se podaci trajno čuvati, čak i ako je napajanje uklonjeno. To ih stavlja na drugu stranu RAM-a (Random Access Memory), koji gube sve svoje podatke kada nisu napajani.

U slučaju EEPROM-a, to nije memorija poput ROM-a, u koju se podaci snimaju i više se ne mogu mijenjati. EEPROM, poput blica, priznaje da je izmijenjen po potrebi. Odnosno, neki se podaci mogu pohraniti i obrisati za pohranu različitih.

U stvari, kao što pokazuju njeni akronimi, to je a električno izbrisljiva memorija (električno brisivo) za reprogramiranje. To se razlikuje od ostalih vrsta ROM-a, koji se također mogu izbrisati poput EPROM-a, ali u ovom slučaju struja se ne koristi za brisanje memorijskih ćelija, već su na čipu imali kvarcni "prozor" kako bi mogli projicirati UV svjetlo. koje je izbrisano.

Ta karakteristika EEPROM postalo im je pomalo nelagodno, jer su morali zračiti te zrake da bi ih izbrisali. I, što je najgore od svega, mogli bi se slučajno izbrisati ako su izloženi ovoj vrsti zračenja. U EEPROM-ovima je dozvoljeno to raditi putem napona, na ugodniji i sigurniji način.

Unutrašnja struktura

EEPROM dijagram

Izvor: Researchgate.net

Da bi EEPROM mogao raditi, potrebne su vrlo određene memorijske ćelije. Oni se grade pomoću tranzistora tipa MOS, ali imaju plutajuća vrata u odnosu na tradicionalne MOSFET-ove. Ovi novi tranzistori slijede strukturu poznatu kao SAMOS, a njegovo normalno stanje je odsječeno i izlaz će uvijek pružiti logički 1.

Ove EEPROM ćelije se mogu čitati neograničen broj puta, ali je ograničen na koliko se puta mogu izbrisati i reprogramirati, kao što se to događa mnogim drugima. To se također događa kao bljeskalica, zbog čega se toliko govori o trajnosti SSD tvrdih diskova, olovaka itd.

U slučaju SAMOS-a, ovo ograničenje je između 100.000 i 1.000.000 puta. Nakon toga neće uspjeti. Inače, neke strukture koje je stvorio stari znanac, jedan od velikana: dr. Fujio Masuoka iz Toshibe (1984), koji je stvorio i druge važne uspomene i poluvodičke strukture ... Međutim, prvi čip lansiran na tržište je bilo Intelovo iz 1988. godine, NOR tipa EEPROM.

Pored toga, morate znati da je ova vrsta memorije obično povezana sa procesorima ili kontrolerima autobus s protokolima poput SPI, I2Citd. U slučaju MCU-a (mikrokontrolera), on je obično integriran unutra, kao u nekim DSP-ima, radi postizanja veće brzine.

Kao što se može vidjeti na gornjoj slici, Tranzistori SAMOS koji tvore memorijske ćelije, u tom su slučaju grupirani u parove. Jedna od linija koja je pričvršćena na kapije nekih tranzistora djeluje kao linija izbora, da označi ili signalizira tu liniju za pristup (čitanje i pisanje), a druga će biti ona koja pohranjuje bit informacija (0 ili 1).

Tranzistori su poravnati tako da tvore potrebne dužine riječi (4-bitne, 8-bitne, 16-bitne, ...) i onoliko riječi koliko kapacitet želite imati EEPROM (npr .: mogu biti 64-bitne duljine riječi i sa 16 redaka = 1024 bita, odnosno 1 kb).

Kako funkcionira EERPOM?

Kao što vidite sa strane, za izvođenje različite zadatke, napon vaše kapije, izvora i odvoda mora biti konkretan:

  • Vrata na 20v i odvod na 20v = programiranje (pisanje) memorijske ćelije za spremanje željenog bita.
  • Vrata na 0v i odvod na 20v = obrišite pohranjeni bit tako da se može reprogramirati s drugom vrijednošću.
  • Vrata na 5v i ispust na 5v = pročitajte pohranjeni bit. Kako je napon na vratima niži od napona upisivanja, sačuvana vrijednost se neće mijenjati. Isto se događa sa odvodnim naponom, budući da je niži, pohranjeni bit se neće izbrisati.

Zaključak, EEPROM-ovi koriste nekoliko naponi "Visoko" za brisanje i pisanje, dok za čitanje koristi niže napone ...

Kupite EEPROM i radite s njim

STMicroelectronics, francuski proizvođač mikroelektronike, broj je jedan u ovoj vrsti EEPROM čipova, iako postoje mnogi drugi proizvođači, poput Microchip-a. Ovi su čipovi obično prilično jeftini.

Ako se odlučite koristite jedan od ovih čipova, trebali biste vidjeti proizvođača i model i potražiti ih datasheet kako biste vidjeli sve preporuke proizvođača, jer se one mogu razlikovati od jedne do druge. Na primjer, oni će odrediti napone s kojima to radi, pinoutitd. Tako možete pravilno konfigurirati svoj projekt.

Ovisno o veličini i modelu, može imati više ili manje borovi. Ali da biste imali ideju, tipični 24LC512 EEPROM IC čip mogao bi se sastojati od:

  • Igle 1 (A0), 2 (A1) i 3 (A3) koje se koriste u konfiguraciji su igle za odabir.
  • Pin 4 (Vss / GND) spojen na masu.
  • Pin 5 (SDA), za serijske podatke za I2C komunikaciju.
  • Pin 6 (SCL), za sat za I2C.
  • Pin 7 (WP), zaštita od pisanja ili zaštita od pisanja. Ako je spojen na GND, pisanje će biti omogućeno. Ako se poveže na Vcc, onemogućit će se.
  • Pin 8 (Vcc), spojen na napajanje.

Što se tiče Tehničke specifikacije ovog čipa:

  • 512K (64 × 8)
  • 128-bajtni bafer za pisanje
  • Operativni napon: 1.8v do 5.5v
  • Struja očitavanja: 40uA
  • Komunikacijska sabirnica: I2C
  • Ciklus pisanja: 5ms
  • Kompatibilnost sata: 100-400Khz
  • Trajnost: 10.000.000 ciklusa
  • Može se kaskadno pohraniti do 8 uređaja
  • Pakovanje: 8-pinski DIP, SOIJ, SOIC i TSSOP.

Gde kupiti

para kupite EEPROM čipove, možete pogledati ove preporuke:

Korištenje Arduino EEPROM-a

Snimak ekrana Arduino IDE-a

Ako želite započeti rad s EEPROM-om, možete isprobati i onaj na svojoj ploči Arduino. Može se programirati na jednostavan način da se na logičkom i programskom nivou shvati kako to može raditi.

Primjer za spremanje varijable

//Almacenar un valor en la EEPROM
#include <EEPROM.h>
 
float sensorValue;
int eepromaddress = 0;
 
//Función para simular lectura de un sensor o pin
float ReadSensor()
{
  return 10.0f;
}
 
void setup()
{
}
 
void loop()
{
  sensorValue = ReadSensor(); //Lectura simulada del valor
  EEPROM.put( eepromaddress, sensorValue );  //Escritura del valor en la EEPROM
  eepromaddress += sizeof(float);  //Apuntar a la siguiente posición a escribir
  if(eepromaddress >= EEPROM.length()) eepromaddress = 0;  //Comprueba que no existe desbordamiento 
 
  delay(30000); //Espera 30s
}

Primjer za čitanje podataka s EEPROM-a

//Leer una variable de coma flotante
#include <EEPROM.h>
 
struct MyStruct{
  float field1;
  byte field2;
  char name[10];
};
 
void setup(){
  
  float f;
  int eepromaddress = 0; //La lectura comienza desde la dirección 0 de la EEPROM    
  EEPROM.get( eepromaddress, f );
  Serial.print( "Dato leído: " );
  Serial.println( f, 3 );  
 
  eepromaddress += sizeof(float);
}
 
void loop()
{
}

Primjer za ažuriranje vrijednosti, ponovni raspored

//Actualizar valor de la EEPROM escribiendo el dato entrante por la A0
#include <EEPROM.h>
 
int eepromaddress = 0;
 
void setup()
{
}
 
void loop()
{
   int val = analogRead(0) / 4;
   EEPROM.update(eepromaddress, val);
  
  eepromaddress += sizeof(int);
  if(address == EEPROM.length()) eepromaddress = 0;
 
  delay(10000);  //Espera de 10 segundos
}

Više informacija - Besplatni kurs Arduino


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.