EEPROM: mea uma e tatau ona e iloa e uiga i lenei manatua

Eeprom

Afai o oe o se tufuga ma o loʻo e faia ni DIY galuega faʻavae e te manaʻomia ai ona e galue ma manatua, e mautinoa ua e iloa pe faʻafefea ona eseʻese manatuaga o loʻo tuʻufaʻatasia e Arduino galuega, e pei o moli (e le femoumouiaʻi le mea tusia ma bootloader o loʻo teuina), SRAM (o se faʻavavevave ma vevesi manatua e tumau ai fesuiaʻiga polokalama i le taimi o gaioiga), ma le Eeprom (leai-le mautonu ma mafai ona faʻaaogaina e teu ai toefaʻamatalaga).

Ia, i le faʻaopopoga i le EEPROM aofia ai i le Arduino, e mafai foi ona e faʻaaogaina fafo chips o lenei ituaiga o manatua, pe faapefea tasi le isi vaega. Latou te le faigata ona malamalama i ai, pe fesoʻotaʻi ma latou e faʻaosofia ai avanoa (tusitusi ma faitauga) poʻo ni faʻafouga o le teuina faʻamatalaga. Lenei o le a e mauaina mea uma e te manaʻomia ia iloa e amata galue ai ma nei ituaiga o manatua ...

O le a le EEPROM?

STMicroelectronics EEPROM

STMicroelectronics EEPROM

La EEPROM (Eletise Erasable Programmable Mumu-Na Manatu) O se ituaiga o ROM manatua, o lona uiga, e le-fesuiaʻi manatua o le a faʻamaumauga o le a teuina tumau, tusa lava pe o le eletise sapalai ua aveʻesea. O lena tuʻuina i latou i le isi itu o RAM (Random Access Memory), lea e leiloa uma a latou faʻamatalaga pe a latou le afi.

I le tulaga o le EEPROM, e le o se faʻamanatu e pei o le ROM, lea e tusia ai faʻamaumauga ma e le mafai ona toe suia. EEPROM, pei o flash, ioeina ua suia pe a manaʻomia I nisi upu, nisi faʻamaumauga mafai ona teuina ma tapeina e teu eseʻese.

O le mea moni, e pei ona faʻailoa mai e ana faʻaupuga, o le a manatua eletise soloia (eletise soloiesea) mo reprogramming. E ese mai i isi ituaiga ROM, e mafai foi ona tineia pei o EPROM, ae o le mea lea e le faʻaaogaina le eletise e tineia ai sela manatua, ae e iai le "faʻamalama" quartz i luga o le chips e mafai ai ona faʻapipiʻi se malamalama UV. lea na soloiesea.

O lena uiga o EPOMA na mafua ai ona latou le maua se toʻafimalie, i le faʻaaluina o na ave e tape ese ai. Ma o le mea e sili ona leaga i latou uma, e mafai ona titina faʻafuaseʻi pe a faʻaalia i lenei ituaiga radiation. I EEPROMs, ua faʻatagaina ona faia e ala i voltages, i se sili atu le mafanafana ma le saogalemu auala.

Faʻavae totonu

EEPROM ata

Punavai: Researchgate.net

Ina ia mafai ona galue le EEPROM, e manaʻomia tele sela manatua. O loʻo fausia e faʻaaogaina le MOS transistors, ae iai se faitotoʻa opeopea faʻatusatusa i MOSFET masani. O nei transistors fou mulimuli i se fausaga lauiloa SAMOSA, ma lona tulaga masani ua vavae ese ma le galuega faatino o le a maua ai i taimi uma se talafeagai 1.

Nei sela EEPROM mafai ona faitauina le faʻatapulaʻaina numera o taimi, ae e faʻatapulaʻa i totonu le aofai o taimi e mafai ona latou soloiesea ma toe faʻapulagaina, pei ona tupu i le tele o isi. E tupu foʻi lenei mea i le emo o le uila, ma o le mafuaʻaga lea ua tele ai talanoaga e uiga i le tumau o SSD hard drive, pen drive, ma isi.

I le tulaga o SAMOS, o lenei tapulaʻa i le va o le 100.000 ma le 1.000.000 taimi. A maeʻa lena, o le a latou toilalo. I le auala, o nisi fausaga na fausia e se masani masani, o se tasi o sili sili: Dr.Fujio Masuoka mai Toshiba (1984), o ia foi na fausiaina isi taua manatuaina ma semiconductor fausaga ... Ae ui i lea, o le muamua malamala faʻalauiloaina luga o le maketi na Intel's mai le 1988, o le NOR ituaiga EEPROM.

I se faʻaopopoga, oe tatau ona iloa o lenei ituaiga o manatua e masani ona fesoʻotaʻi i CPUs poʻo tagata faʻatonutonu ala pasi ma faʻataʻitaʻiga e pei o SPI, I2C, ma isi I le tulaga o MCUs (microcontrollers), e masani ona tuʻufaʻatasia i totonu, e pei o isi DSP, ina ia maua le saoasaoa sili atu.

E pei ona vaaia i le ata i luga, o le SAMOS fesuiaʻi o loʻo avea ma sela manatua, ua faʻavasega i lena tulaga i paga. O se tasi o laina faʻapipiʻi i faitotoʻa o nisi transistors galue o se filifiliga laina, e faʻailoga pe faʻailo lena laina mo accesses (faitau ma le tusitusi), ma le isi o le a avea ma se tasi e teuina le faʻamatalaga laititi (0 pe 1).

O le transistors ua ogatusa e fausia ai le manaʻomia upu umi (4-sina, 8-sina, 16-fāsimea, ...) ma le tele o upu e pei o malosi oe manaʻo ia i ai le EEPROM (eg: mafai ona i ai 64-bit upu uumi ma ma 16 laina = 1024 fagota, o lona uiga, 1kb).

Faʻafefea ona galue le EERPOM?

E pei ona e vaaia i le itu, e faʻafiafia o galuega eseese, o le voltage o lau faitotoʻa, mafuaʻaga ma alavai e tatau ona avea ma sima:

  • Faitotoʻa i le 20v ma Faʻatafe i le 20v = polokalame (tusitusi) o le sela manatua e teu ai le mea na manaʻomia.
  • Faitotoʻa i le 0v ma Faʻatafe i le 20v = kilia le teuina faʻasoa ina ia mafai ai ona toe faʻapipiʻiina ma se isi tau.
  • Faitotoʻa i le 5v ma Faʻatafe i le 5v = faitau le mea na teuina. A o le faitotoʻa voltage e maualalo nai lo le tusitusiga, o le teuina tau o le a le suia. O le mea lava e tupu i le eletise eletise, o le maualalo, o le teuina vaega o le a le soloiesea.

Faaiuga, EEPROMs faʻaaogaina ni nai volitiga "Maualuga" mo le tapeina ma le tusitusi, aʻo faʻaaogaina voltage maualalo mo le faitauga ...

Faʻatau EEPROM ma galue faʻatasi

STMicroelectronics, o le Farani na gaosia microelectronics, o le numera tasi i lenei ituaiga chips EEPROM, e ui lava e tele isi gaosi, pei o Microchip. O nei chips e masani lava ona taugofie.

Afai e te filifili faʻaaoga se tasi o nei chips, oe tatau ona vaʻai i le gaosi oloa ma faʻataʻitaʻiga ma vaʻai mo ana datasheet e vaʻai uma fautuaga a le kamupanī, aua e mafai ona fesuiaʻi mai le tasi i le isi. Mo se faʻataʻitaʻiga, latou te faʻamaotiina voltages e galue ai, le pine, ma isi Ma oe mafai ona configure lelei lau poloketi.

Faʻamoemoe i le tele ma le faʻataʻitaʻiga, atonu e sili atu pe itiiti ifo paina. Ae ia avatu ia te oe se manatu, o se masani a 24LC512 EEPROM IC chips, e mafai ona aofia ai:

  • Pin 1 (A0), 2 (A1), ma le 3 (A3) o loʻo faʻaaogaina i le faʻatulagaina o pine filifilia.
  • Pin 4 (Vss / GND) fesoʻotaʻi i le eleele.
  • Pin 5 (SDA), mo serial data mo I2C fesoʻotaʻiga.
  • Pin 6 (SCL), mo le uati mo I2C.
  • Pin 7 (WP), tusi-puipui pe tusi puipuiga. Afai e fesoʻotaʻi i le GND, o le a mafai tusitusiga. Afai e fesoʻotaʻi i le Vcc ua le toe aoga.
  • Pin 8 (Vcc), fesoʻotaʻi i le paoa.

Ae mo le Faamatalaga faʻapitoa o lenei malamala:

  • 512K (64 × 8)
  • 128-byte buffer mo le tusitusi
  • Volitiga faʻagaioiga: 1.8v i le 5.5v
  • Faitauga o le taimi nei: 40uA
  • Pasi pasi: I2C
  • Tusi taʻamilosaga: 5ms
  • Uiga fetaui: 100-400Khz
  • Tumau: 10.000.000 taʻamilosaga
  • Mafai ona cascaded oo atu i 8 masini
  • Afifiina: 8-pin DIP, SOIJ, SOIC ma TSSOP.

O fea e faʻatau

Para faʻatau chips EEPROM, oe mafai ona tilotilo i nei fautuaga:

Faʻaaogaina o le Arduino EEPROM

Puʻe ata o le Arduino IDE

Afai e te manaʻo e amata galue ma le EEPROM, oe mafai foi taumafai le tasi i luga o lau laupapa Arduino. E mafai ona faʻapolokalameina i se auala faigofie e malamalama ai i se talafeagai ma polokalame tulaga pe faʻafefea ona galue.

Faʻataʻitaʻiga e sefe ai se fesuiaʻiga

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

Faʻataʻitaʻiga e faitau faʻamaumauga mai le 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()
{
}

Faʻataʻitaʻiga e faʻafou ai tulaga taua, toe faʻatulaga

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

Nisi faʻamatalaga - Taʻaloga Arduino maua fua


O mataupu o le tusitusiga e tausisi ia tatou mataupu silisili o amio lelei faʻatonu. E lipotia se mea sese kiliki iinei.

Ia avea muamua ma faamatalaga

Tuʻu lau faamatalaga

o le a le lomia lou tuatusi imeli. O nofoaga e manaʻomia e makaina *

*

*

  1. E tali atu mo faʻamatalaga: Miguel Ángel Gatón
  2. Faamoemoega o faʻamatalaga: Pulea le SPAM, faʻamatalaga pulega.
  3. Tulaga faʻatulafonoina: Lau maliega
  4. Fesoʻotaʻiga o faʻamatalaga: O faʻamatalaga o le a le fesoʻotaʻi atu i isi vaega vagana i tulafono faʻatulafonoina.
  5. Teuina o faʻamatalaga: Faʻamaumauga tuʻufaʻatasia e Occentus Networks (EU)
  6. Aia Tatau: I soo se taimi e mafai ai ona e faʻatapulaʻaina, toe maua ma aveʻese au faʻamatalaga.