EEPROM: viskas, ką reikia žinoti apie šią atmintį

EEPROM

Jei esate kūrėjas ir darote keletą „pasidaryk pats“ projektų, kuriuose turite dirbti su atmintimi, tikrai jau žinote, kaip veikia įvairūs „Arduino“ integruoti prisiminimai, pvz., „Flash“ (nepastovi, kur saugomi eskizai ir įkrovos failai), (Greita ir nepastovi atmintis, kurioje apdorojant lieka programos kintamieji), ir EEPROM (nepastovus ir gali būti naudojamas perkraunant informaciją saugoti).

Na, be EEPROM, įtrauktos į „Arduino“, taip pat galite naudoti išorinius „chip“ tokio pobūdžio atmintisKaip dar vienas komponentas. Juos nesudėtinga suprasti ar su jais bendrauti, norint sukurti prieigą (rašyti ir skaityti) ar atnaujinti saugomą informaciją. Čia rasite viską, ką reikia žinoti, norint pradėti dirbti su tokio tipo prisiminimais ...

Kas yra EEPROM?

STMicroelectronics EEPROM

STMicroelectronics EEPROM

La EEPROM (elektra ištrinama programuojama raudona atmintis) Tai yra ROM atminties tipas, tai yra nepastovi atmintis, kurioje duomenys bus saugomi visam laikui, net jei maitinimo šaltinis yra išjungtas. Dėl to jie atsiduria kitoje RAM (laisvosios kreipties atmintis) pusėje, kuri praranda visus savo duomenis, kai jie nėra maitinami.

EEPROM atveju tai nėra tokia atmintis kaip ROM, kurioje įrašomi duomenys ir jų nebegalima pakeisti. EEPROM, kaip ir „flash“, prisipažįsta esąs pakeistas kaip reikia. Tai yra, kai kuriuos duomenis galima saugoti ir ištrinti, kad būtų saugomi skirtingi.

Iš tikrųjų, kaip rodo jo akronimai, tai yra a elektra ištrinama atmintis (elektra ištrinamas), kad būtų galima perprogramuoti. Tai skiriasi nuo kitų tipų ROM, kurie taip pat yra ištrinami, pvz., EPROM, tačiau šiuo atveju elektra nenaudojama atminties ląstelėms ištrinti, vietoj to jos mikroschemoje turėjo kvarco „langą“, kad galėtų projektuoti UV šviesą. kurį jis buvo ištrintas.

Ta savybė EPROM tai jiems pasidarė šiek tiek nepatogu, nes reikėjo projektuoti tuos spindulius, kad juos ištrintume. Blogiausia, kad jie gali būti netyčia ištrinti, jei veikiami tokio tipo radiacijos. EEPROM leidžiama tai daryti per įtampą, patogiau ir saugiau.

Vidinė struktūra

EEPROM diagrama

Šaltinis: Researchgate.net

Norint, kad EEPROM veiktų, reikalingos labai konkrečios atminties ląstelės. Jie pastatyti naudojant MOS tipo tranzistorius, tačiau turi plaukiojančius vartus, palyginti su tradiciniais MOSFET. Šie nauji tranzistoriai atitinka struktūrą, vadinamą SAMOS, o jo įprasta būsena yra nutraukta, o išvestis visada suteiks loginį 1.

Šias EEPROM ląsteles galima skaityti neribotą skaičių kartų, tačiau ji yra ribota kiek kartų juos galima ištrinti ir perprogramuoti, kaip tai atsitinka daugeliui kitų. Tai atsitinka ir „flash“, todėl buvo tiek daug kalbėta apie SSD standžiųjų diskų, rašiklių ir kt. Ilgaamžiškumą.

SAMOS atveju ši riba yra tarp 100.000 1.000.000 ir XNUMX XNUMX XNUMX kartų. Po to jie žlugs. Beje, kai kurias struktūras, kurias sukūrė senas pažįstamas, vienas iš didžiųjų: dr. Fujio Masuoka iš „Toshiba“ (1984 m.), Kuris taip pat sukūrė kitus svarbius prisiminimus ir puslaidininkių struktūras ... Tačiau pirmasis lustas buvo paleistas rinka buvo „Intel“ nuo 1988 m., NOR tipo EEPROM.

Be to, jūs turite žinoti, kad šio tipo atmintis paprastai yra susieta su procesoriais ar valdikliais autobusas su tokiais protokolais kaip SPI, I2Cir kt. MCU (mikrovaldiklių) atveju jis paprastai yra integruotas viduje, kaip ir kai kuriuose DSP, kad būtų pasiektas didesnis greitis.

Kaip matyti aukščiau esančiame paveikslėlyje, SAMOS tranzistoriai kurios sudaro atminties ląsteles, tokiu atveju yra sugrupuotos poromis. Viena iš linijų, pritvirtintų prie kai kurių tranzistorių vartų, veikia kaip pasirinkta linija, skirta pažymėti ar signalizuoti tą liniją prieigai (skaitymui ir rašymui), o kita bus ta, kurioje bus saugomas informacinis bitas (0 arba 1).

Transistoriai yra sulygiuoti, kad būtų suformuoti reikalingi žodžių ilgiai (4 bitų, 8 bitų, 16 bitų ...) ir tiek žodžių, kiek reikia pajėgumas norite turėti EEPROM (pvz .: gali būti 64 bitų žodžių ilgiai ir su 16 eilučių = 1024 bitai, tai yra 1 kb).

Kaip veikia EERPOM?

Kaip matote šone, atlikti skirtingas užduotis, jūsų vartų, šaltinio ir nutekėjimo įtampa turi būti konkreti:

  • Durys ties 20v ir kanalizacija ties 20v = atminties langelio programavimas (rašymas) norimam bitui išsaugoti.
  • Durys ties 0v ir kanalizacija ties 20v = išvalykite išsaugotą bitą, kad jį būtų galima perprogramuoti kita verte.
  • Vartai ties 5v ir kanalizacija ties 5v = perskaityti saugomą bitą. Kadangi vartų įtampa yra mažesnė nei rašant, išsaugota vertė nebus pakeista. Tas pats atsitinka, kai nutekėjimo įtampa yra mažesnė, saugomas bitas nebus ištrintas.

Išvada: EEPROM naudoja keletą įtampos "Aukštas", skirtas ištrinti ir rašyti, o skaitymui naudoti mažesnę įtampą ...

Pirkite EEPROM ir dirbkite su juo

STMicroelectronics, Prancūzijos mikroelektronikos gamintoja, yra pirmoji tokio tipo EEPROM lustai, nors yra daugybė kitų gamintojų, pavyzdžiui, „Microchip“. Šie žetonai paprastai yra gana pigūs.

Jei nuspręsite naudokite vieną iš šių lustų, turėtumėte pamatyti gamintoją ir modelį ir jo ieškoti Duomenų lapas norėdami pamatyti visas gamintojo rekomendacijas, nes jos gali skirtis. Pavyzdžiui, jie nurodys įtampą, su kuria jis veikia, iškyšulysir kt. Taigi galite tinkamai sukonfigūruoti savo projektą.

Priklausomai nuo dydžio ir modelio, jo gali būti daugiau ar mažiau pušys. Tačiau norėdami pateikti idėją, įprastą 24LC512 EEPROM IC mikroschemą gali sudaryti:

  • Konfigūracijoje naudojami kaiščiai 1 (A0), 2 (A1) ir 3 (A3) yra pasirinkimo kaiščiai.
  • 4 kaištis (Vss / GND) prijungtas prie žemės.
  • 5 kaištis (SDA), skirtas I2C ryšio nuosekliems duomenims.
  • 6 kaištis (SCL), skirtas „I2C“ laikrodžiui.
  • 7 kaištis (WP), apsauga nuo rašymo arba apsauga nuo rašymo. Jei jis prijungtas prie GND, rašymas bus įgalintas. Jei jis prisijungia prie Vcc, jis yra išjungtas.
  • 8 kaištis (Vcc), prijungtas prie maitinimo.

Apie Techninės specifikacijos šios mikroschemos:

  • 512 tūkst. (64 × 8)
  • 128 baitų buferis rašymui
  • Darbinė įtampa: nuo 1.8v iki 5.5v
  • Skaitymo srovė: 40uA
  • Ryšio magistralė: I2C
  • Rašymo ciklas: 5ms
  • Laikrodžio suderinamumas: 100–400 kHz
  • Patvarumas: 10.000.000 XNUMX XNUMX ciklų
  • Galima pakoreguoti iki 8 įrenginių
  • Pakuotė: 8 kontaktų DIP, SOIJ, SOIC ir TSSOP.

dónde comprar

į pirkti EEPROM lustus, galite pažvelgti į šias rekomendacijas:

Naudojant „Arduino EEPROM“

„Arduino IDE“ ekrano kopija

Jei norite pradėti dirbti su EEPROM, taip pat galite išbandyti savo lentoje esantį Arduino. Tai galima užprogramuoti paprastai, kad loginiu ir programavimo lygiu suprastumėte, kaip tai gali veikti.

Kintamojo išsaugojimo pavyzdys

//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
}

Pavyzdys skaityti duomenis iš EEPROM

//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()
{
}

Vertybių atnaujinimo pavyzdys, planuokite iš naujo

//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
}

Daugiau informacijos - Nemokamas „Arduino“ kursas


Būkite pirmas, kuris pakomentuos

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.