EEPROM: yonke into ekufuneka uyazi malunga nale nkumbulo

EEPROM

Ukuba ungumenzi kwaye wenza ezinye iiprojekthi ze-DIY apho kufuneka usebenze ngememori, ngokuqinisekileyo sele uyayazi indlela iinkumbulo ezahlukileyo ezenziwa ngu-Arduino ngokudibanisa umsebenzi, njenge-flash (engazinzanga apho kugcinwa khona umzobo kunye ne-bootloader), I-SRAM (imemori ekhawulezileyo kunye neguquguqukayo apho kuhlala khona izinto eziguquguqukayo xa kusenziwa), kunye EEPROM (engazinzanga kwaye inokusetyenziselwa ukugcina ulwazi lokuqalisa kwakhona).

Ewe, ukongeza kwi-EEPROM efakwe kwiArduino, ungasebenzisa kwakhona iichips zangaphandle ze olu hlobo lwenkumbulo, njengoko elinye icandelo. Azikho nzima ukuziqonda, okanye ukunxibelelana nazo ukuvelisa ukufikelela (ukubhala kunye nokufunda) okanye uhlaziyo lolwazi olugciniweyo. Apha uya kufumana yonke into oyifunayo ukuze uqale ukusebenza nezi ntlobo zeenkumbulo ...

Yintoni i-EEPROM?

I-STMicroelectronics EEPROM

I-STMicroelectronics EEPROM

La I-EEPROM (Imemori enokuSombululeka enokuCwangciswa ngoBomvu kuphela) Luhlobo lweememori zeROM, oko kukuthi, imemori engagungqiyo apho idatha iya kugcinwa khona ngokusisigxina, nokuba unikezelo lwamandla lususiwe. Oko kubabeka kwelinye icala le-RAM (iMemori yokuFikelela ngokungaQhelekanga), ephulukana nayo yonke idatha yayo xa ingenamandla.

Kwimeko ye-EEPROM, ayisiyo imemori efana neROM, apho idatha irekhodwa khona kwaye ingasenakuguqulwa. I-EEPROM, njengelitha, iyavuma ukuba itshintshiwe njengoko kufuneka. Oko kukuthi, enye idatha inokugcinwa kwaye icinywe ukugcina eyahlukileyo.

Ngapha koko, njengoko ii-acronyms zayo zibonisa, yi inkumbulo enokucinywa ngombane (ngombane osusekayo) yokwenza iphrogramu kwakhona. Oku kwahlukile kwezinye iindidi zeROM, ezinokususwa ezinje ngee-EPROMs, kodwa kule meko umbane awusetyenziswanga ukucima iiseli zememori, endaweni yoko babene "window" ye-quartz kwi-chip ukuze bakwazi ukwenza isibane se-UV. ekucinywe ngayo.

Olu phawu lwe I-EPROM ibenza ukuba bangonwabi ngandlela ithile, kufuneka ukuba bayivelise loo misebe ukuze bayicime. Kwaye, okona kubi kuko konke, banokucinywa ngengozi ukuba bavezwe kolu hlobo lwemitha. Kwii-EEPROMs, kuvunyelwe ukuyenza ngee-voltages, ngendlela elula ngakumbi nekhuselekileyo.

Ubume bangaphakathi

Umzobo we-EEPROM

Umthombo: Researchgate.net

Ukuze i-EEPROM isebenze, iiseli ezithile zememori ziyafuneka. Zakhiwe zisebenzisa uhlobo lwe-MOS, kodwa zinesango elidadayo xa kuthelekiswa neeMOSFET zesiko. Ezi transistors zintsha zilandela isakhiwo esaziwa njenge ISAMOS, kwaye imeko yayo yesiqhelo iyanqunyulwa kwaye iziphumo ziya kuhlala zibonelela ngengqiqo 1.

Ezi seli ze-EEPROM zinokufundwa inani elingenamda lamaxesha, kodwa lilinganiselwe kwi inani lamaxesha anokucinywa kwaye iphinde yenziwe kwakhona, njengoko kusenzeka kwabanye abaninzi. Oku kuyenzeka nakwiflash, yiyo loo nto kuye kwakho intetho eninzi malunga nokuqina kwe-SSD hard drive, pen drives, njl.

Kwimeko ye-SAMOS, lo mda uphakathi kwe- Amaxesha ayi-100.000 kunye ne-1.000.000. Emva koko, baya kusilela. Ngendlela, ezinye izakhiwo zenziwe ngumntu omdala, omnye wabantu abakhulu: UDkt Fujio Masuoka waseToshiba (1984), oye wenza ezinye iinkumbulo ezibalulekileyo kunye nezakhiwo ze-semiconductor ... Nangona kunjalo, i-chip yokuqala yaqalisa Imakethi yayiyi-Intel's ukusukela ngo-1988, uhlobo lwe-NOR EEPROM.

Ukongeza, kuya kufuneka uyazi ukuba olu hlobo lwenkumbulo luhlala ludityaniswa nee-CPU okanye abalawuli ibhasi ngemigaqo efana ne-SPI, I2Cnjl. Kwimeko yee-MCUs (ii-microcontrollers) zihlala zidityaniswa ngaphakathi, njengakwezinye ii-DSP, ukufezekisa isantya esikhulu.

Njengoko kunokubonwa kumfanekiso ongentla, ifayile ye- Abaguquleli beSAMOS ezenza iiseli zememori, ziqokelelwe kwimeko apho ngababini. Omnye wemigca eqhotyoshelwe kumasango abanye betshintshi usebenza njengomgca wokukhetha, ukumakisha okanye ukubonakalisa loo mgca wokufikelela (ukufunda nokubhala), kwaye omnye uya kuba ligcina ulwazi oluncinci (0 okanye 1).

Abaguquli balungelelaniswe ukwenza ubude begama elifunekayo (ii-4-bit, 8-bit, 16-bit, ...) namagama amaninzi njenge umthamo ufuna ukuba ne-EEPROM (umzekelo: kunokubakho ubude bamagama angama-64-bit kunye nemigca eli-16 = 1024 bits, oko kukuthi, 1kb).

Isebenza njani i-EERPOM?

Njengoko ubona ecaleni, ukwenza imisebenzi eyahlukeneyo, ombane wesango lakho, umthombo kunye nomsele kufuneka ube yikhonkrithi:

  • Umnyango kwi-20v kunye ne-Drain kwi-20v = Inkqubo (yokubhala) yeselfowuni yokugcina into oyifunayo.
  • Umnyango kwi-0v kunye ne-Drain kwi-20v = cima isuntswana eligciniweyo ukuze liphinde lenziwe elinye ixabiso.
  • Isango nge-5v kunye ne-Drain kwi-5v = funda isuntswana eligciniweyo. Njengoko ombane wesango uphantsi kunelo lokubhala, ixabiso eligciniweyo aliyi kutshintshwa. Kukwenzeka okufanayo ngombhobho wokuhambisa amanzi, ukuba usezantsi, isuntswana eligciniweyo alizukucinywa.

Isiphelo, i-EEPROMs zisebenzisa ezimbalwa iivoti "Ephakamileyo" yokucima nokubhala, ngelixa usebenzisa iivolthi ezisezantsi zokufunda ...

Thenga i-EEPROM kwaye usebenze ngayo

STMicroelectronics, umenzi waseFransi we-microelectronics, ungoyena mntu kolu hlobo lweetshipsi ze-EEPROM, nangona kukho abanye abenzi abaninzi, njengeMicrochip. Ezi chips zihlala zitshiphu.

Ukuba uthatha isigqibo soku Sebenzisa enye yezi chips, Kuya kufuneka ubone umenzi kunye nemodeli kwaye uyijonge ishiti yedatha ukubona zonke iingcebiso zomenzi, njengoko zinokwahluka ukusuka kwelinye ukuya kwelinye. Umzekelo, baya kuchaza i-voltages esebenza ngayo, isikhonkwanenjl. Ke unokuyilungisa ngokufanelekileyo iprojekthi yakho.

Kuxhomekeke kubukhulu kunye nemodeli, inokuba ngaphezulu okanye ngaphantsi iipayini. Kodwa ukukunika umbono, isixhobo esiqhelekileyo se-24LC512 EEPROM IC sinokudityaniswa:

  • Izikhonkwane 1 (A0), 2 (A1), kunye 3 (A3) ezisetyenziswe kuqwalaselo zizikhonkwane zokukhetha.
  • I-Pin 4 (Vss / GND) edityaniswe emhlabeni.
  • I-Pin 5 (SDA), yedatha ye-I2C yonxibelelwano.
  • Phina 6 (SCL), yewotshi ye-I2C.
  • Phina 7 (WP), bhala-khusela okanye ubhale ukhuseleko. Ukuba iqhagamshelwe kwi-GND, ukubhala kuya kwenziwa. Ukuba idibanisa neVcc ikhubazekile.
  • I-Pin 8 (Vcc), edityaniswe kumandla.

Ngokuphathelele Ukucaciswa kobugcisa yale chip:

  • I-512K (64 × 8)
  • I-128-byte buffer yokubhala
  • Umbane osebenzayo: 1.8v ukuya ku-5.5v
  • Ukufunda okwangoku: 40uA
  • Ibhasi yonxibelelwano: I2C
  • Bhala umjikelo: 5ms
  • Ukuhambelana kwewotshi: 100-400Khz
  • Ukuqina: Imijikelezo ye-10.000.000
  • Unokufakwa kwizixhobo ezi-8
  • Ukupakisha: I-8-pin DIP, SOIJ, SOIC kunye ne-TSSOP.

Ukuthenga phi

ukuba thenga iitshipsi ze-EEPROM, ungazijonga ezi ngcebiso:

Sebenzisa iArduino EEPROM

Iscreen seArduino IDE

Ukuba ufuna ukuqala ukusebenza ne-EEPROM, ungazama enye ebhodini yakho Arduino. Inokucwangciswa ngendlela elula yokuqonda kwinqanaba lokufunda kunye nokusebenza kwayo.

Umzekelo ukugcina umahluko

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

Umzekelo wokufunda idatha kwi-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()
{
}

Umzekelo wokuhlaziya amaxabiso, ukuhlela kwakhona

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

Iinkcukacha ezithe xaxe - Ikhosi yasimahla yeArduino


Yiba ngowokuqala ukuphawula

Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.