EEPROM: vše, co potřebujete o této paměti vědět

EEPROM

Pokud jste tvůrcem a děláte nějaké kutilské projekty, ve kterých musíte pracovat s pamětí, určitě už víte, jak fungují různé paměti, které integruje Arduino, například flash (energeticky nezávislé, kde jsou uloženy skica a bootloader), SRAM (rychlá a nestálá paměť, kde během zpracování zůstávají programové proměnné) a EEPROM (non-volatile and can be used to store reboot information).

Kromě EEPROM zahrnuté v Arduinu můžete také použít externí čipy tento druh pamětiJak ještě jedna součást. Není složité jim porozumět ani s nimi komunikovat za účelem generování přístupů (zápis a čtení) nebo aktualizací uložených informací. Zde najdete vše, co potřebujete vědět, abyste mohli začít pracovat s těmito typy vzpomínek ...

Co je to EEPROM?

EEPROM STMicroelectronics

EEPROM STMicroelectronics

La EEPROM (elektricky mazatelná programovatelná paměť pouze pro červenou) Jedná se o typ paměti ROM, to znamená energeticky nezávislou paměť, ve které budou data trvale uložena, i když je odpojen napájecí zdroj. To je staví na druhou stranu RAM (Random Access Memory), které ztratí všechna svá data, když nejsou napájeny.

V případě EEPROM nejde o paměť jako ROM, do které se zaznamenávají data a nelze je již měnit. EEPROM, jako flash, přiznává, že byl změněn podle potřeby. Jinými slovy, některá data lze ukládat a mazat, aby se ukládaly jiné.

Ve skutečnosti, jak naznačují jeho zkratky, jde o elektricky vymazatelná paměť (elektricky mazatelné) pro přeprogramování. To se liší od ostatních typů ROM, které lze také vymazat jako EPROM, ale v tomto případě se k mazání paměťových buněk nepoužívá elektřina, místo toho měli na čipu křemenné „okno“, aby bylo možné promítat UV světlo. který byl vymazán.

Tato charakteristika EPROM to jim bylo trochu nepříjemné, protože museli promítat tyto paprsky, aby je vymazali. A co je nejhorší, mohly by být náhodně vymazány, pokud by byly vystaveny tomuto typu záření. V EEPROM je povoleno provádět to napětím pohodlnějším a bezpečnějším způsobem.

Vnitřní struktura

Schéma EEPROM

Zdroj: Researchgate.net

Aby EEPROM fungovala, jsou zapotřebí velmi konkrétní paměťové buňky. Jsou postaveny pomocí tranzistorů typu MOS, ale mají plovoucí bránu ve srovnání s tradičními MOSFETy. Tyto nové tranzistory sledují strukturu známou jako SAMOSa jeho normální stav je oříznut a výstup bude vždy poskytovat logickou 1.

Tyto buňky EEPROM lze číst neomezeněkrát, ale je v nich omezeno kolikrát je lze vymazat a přeprogramovat, jak se to stává mnoha dalším. To se také stává, že bliká, a proto se tolik mluví o odolnosti pevných disků SSD, pera atd.

V případě SAMOS je tento limit mezi 100.000 1.000.000 a XNUMX XNUMX XNUMXkrát. Poté selžou. Mimochodem, některé struktury, které vytvořil starý známý, jeden z velikánů: Dr. Fujio Masuoka z Toshiba (1984), který vytvořil také další důležité paměti a polovodičové struktury ... První čip však byl spuštěn na trh byl Intel od roku 1988, EEPROM typu NOR.

Kromě toho musíte vědět, že tento typ paměti je obvykle propojen s CPU nebo řadiči autobus s protokoly jako SPI, I2C, atd. V případě MCU (mikrokontrolérů) je obvykle integrován dovnitř, jako u některých DSP, aby bylo dosaženo vyšší rychlosti.

Jak je vidět na obrázku výše, Tranzistory SAMOS které tvoří paměťové buňky, jsou v tomto případě seskupeny do párů. Jedna z linek připojených k branám některých tranzistorů funguje jako volitelná linka k označení nebo signalizaci této linky pro přístup (čtení a zápis) a druhá bude ta, která ukládá informační bit (0 nebo 1).

Tranzistory jsou zarovnány tak, aby tvořily požadované délky slov (4bitové, 8bitové, 16bitové, ...) a tolik slov, kolik capacidad chcete mít EEPROM (např .: může existovat 64bitová délka slova a 16 řádků = 1024 bitů, tj. 1 kB).

Jak funguje EERPOM?

Jak vidíte na boku, hrát různé úkoly, napětí vaší brány, zdroje a odtoku musí být konkrétní:

  • Dveře při 20 V a vypouštění při 20 V = programování (zápis) do paměťové buňky pro uložení požadovaného bitu.
  • Dveře při 0 V a vypouštění při 20 V = vymazat uložený bit, aby jej bylo možné přeprogramovat na jinou hodnotu.
  • Brána na 5v a vypouštění na 5v = přečíst uložený bit. Protože je hradlové napětí nižší než napětí zápisu, uložená hodnota se nezmění. Totéž se děje s vypouštěcím napětím, protože je nižší, uložený bit nebude vymazán.

Závěr, EEPROM používají několik napětí „Vysoká“ pro mazání a zápis, zatímco pro čtení se používá nižší napětí ...

Kupte si EEPROM a pracujte s ní

STMicroelectronics, francouzský výrobce mikroelektroniky, je jedničkou v tomto typu čipů EEPROM, i když existuje mnoho dalších výrobců, například Microchip. Tyto čipy jsou obvykle docela levné.

Pokud se rozhodnete použijte jeden z těchto čipů, měli byste vidět výrobce a model a hledat jeho list zobrazit všechna doporučení výrobce, protože se mohou v jednotlivých případech lišit. Například určí napětí, s nimiž pracuje, pinout, atd. Takže můžete svůj projekt správně nakonfigurovat.

V závislosti na velikosti a modelu může mít více či méně borovice. Ale pro představu, typický IC čip 24LC512 EEPROM může být složen z:

  • Kolíky 1 (A0), 2 (A1) a 3 (A3) použité v konfiguraci jsou výběrové kolíky.
  • Pin 4 (Vss / GND) připojený k zemi.
  • Pin 5 (SDA), pro sériová data pro komunikaci I2C.
  • Pin 6 (SCL), pro hodiny pro I2C.
  • Pin 7 (WP), ochrana proti zápisu nebo ochrana proti zápisu. Pokud je připojen k GND, zápis bude povolen. Pokud se připojí k Vcc, je deaktivováno.
  • Pin 8 (Vcc), připojený k napájení.

Vzhledem k tomu, Technické specifikace tohoto čipu:

  • 512 kB (64 × 8)
  • 128bajtová vyrovnávací paměť pro zápis
  • Provozní napětí: 1.8 V až 5.5 V
  • Čtecí proud: 40uA
  • Komunikační sběrnice: I2C
  • Cyklus zápisu: 5ms
  • Kompatibilita hodin: 100-400Khz
  • Trvanlivost: 10.000.000 XNUMX XNUMX cyklů
  • Lze kaskádovat až 8 zařízení
  • Balení: 8kolíkový DIP, SOIJ, SOIC a TSSOP.

Dónde comprar

na koupit čipy EEPROM, můžete se podívat na tato doporučení:

Používání Arduino EEPROM

Screenshot Arduino IDE

Pokud chcete začít pracovat s EEPROM, můžete také vyzkoušet tu na vaší desce Arduino. Může být naprogramován jednoduchým způsobem, aby pochopil, na logické a programovací úrovni, jak to může fungovat.

Příklad uložení proměnné

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

Příklad pro čtení dat z 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()
{
}

Příklad aktualizace hodnot, přeplánování

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

Více informací - Kurz Arduino zdarma


Buďte první komentář

Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.