EEPROM: konke odinga ukukwazi ngale nkumbulo

EEPROM

Uma ungumenzi futhi wenza amanye amaphrojekthi we-DIY lapho kufanele usebenze ngememori, ngokuqinisekile usuvele uyazi ukuthi izinkumbulo ezahlukahlukene i-Arduino ihlanganisa umsebenzi kanjani, njenge-flash (engashintshi lapho kugcinwa khona umdwebo ne-bootloader), I-SRAM (inkumbulo esheshayo neguquguqukayo lapho okuhlukahluka kohlelo kuhlala kusacutshungulwa), kanye ne- EEPROM (okungaguquguquki futhi kungasetshenziswa ukugcina imininingwane yokuqalisa kabusha).

Yebo, ngaphezu kwe-EEPROM efakwe ku-Arduino, ungasebenzisa futhi ama-chips wangaphandle we lolu hlobo lwememori, njenge into eyodwa ngaphezulu. Azinzima ukuyiqonda, noma ukusebenzisana nazo ukwenza ukufinyelela (ukubhala nokufunda) noma ukuvuselelwa kolwazi olugciniwe. Lapha uzothola konke odinga ukukwazi ukuqala ukusebenza nalezi zinhlobo zezinkumbulo ...

Yini i-EEPROM?

I-STMicroelectronics EEPROM

I-STMicroelectronics EEPROM

La I-EEPROM (Imemori Ebomvu Ehlelwa Ngogesi) Luhlobo lwememori ye-ROM, okungukuthi, inkumbulo engashintshi lapho idatha izogcinwa khona unomphela, noma ngabe amandla kagesi asusiwe. Lokho kubabeka ngakolunye uhlangothi lwama-RAM (Imemori Yokufinyelela Okungahleliwe), elahlekelwa yiyo yonke idatha yayo lapho inganikwa amandla.

Endabeni ye-EEPROM, akuyona imemori efana neROM, lapho idatha ibhalwa khona futhi ingasakwazi ukuguqulwa. I-EEPROM, njenge-flash, iyavuma ukuthi ishintshiwe njengoba kudingeka. Lokho wukuthi, enye idatha ingagcinwa futhi isulwe ukugcina ehlukile.

Eqinisweni, njengoba ama-akhronimi ayo ekhombisa, iyi- inkumbulo esusa ugesi (kususwe ngogesi) ukwenza kabusha uhlelo. Lokhu kwehlukile kwezinye izinhlobo zeROM, nazo ezisusekayo njengama-EPROM, kepha kulokhu ugesi awusetshenziswanga ukusula amangqamuzana enkumbulo, kunalokho abene "window" le-quartz ku-chip ukuze akwazi ukukhanyisa isibani se-UV. Nge esuliwe.

Leso sici se I-EPROM kubenze bangakhululeki ngandlela thile, kwadingeka ukuthi baveze leyo misebe ukuze basule. Futhi, okubi kakhulu, zingasulwa ngengozi uma zivezwe kulolu hlobo lwemisebe. Kuma-EEPROMs, kuvunyelwe ukukwenza ngokusebenzisa ama-voltages, ngendlela enethezekile futhi ephephile.

Isakhiwo sangaphakathi

Umdwebo we-EEPROM

Umthombo: Researchgate.net

Ukuze i-EEPROM isebenze, kudingeka amaseli wememori akhethekile. Akhiwe kusetshenziswa ama-transistor wohlobo lwe-MOS, kepha anesango elintantayo uma liqhathaniswa nama-MOSFET wendabuko. Lawa ma-transistor amasha alandela isakhiwo esaziwa njenge ISAMOS, futhi isimo saso esijwayelekile siyanqunywa futhi umphumela uzohlala unikeza okunengqondo 1.

Lawa maseli we-EEPROM angafundwa izikhathi ezingenamkhawulo, kepha kunqunyelwe ku- inani lezikhathi ezingasulwa futhi zenziwe kabusha, njengoba kwenzeka kwabanye abaningi. Lokhu kwenzeka futhi ekukhanyeni, yingakho kube nezikhulumi eziningi kakhulu ngokuqina kwama-hard drive e-SSD, ama-pen drives, njll.

Endabeni yeSAMOS, lo mkhawulo uphakathi kwe- Izikhathi eziyizi-100.000 nezizi-1.000.000 XNUMX XNUMX. Ngemuva kwalokho, bazohluleka. Ngale ndlela, ezinye izakhiwo ezidalwe ngumuntu omdala omaziyo, omunye wama-greats: UDkt Fujio Masuoka waseToshiba (1984), obuye wadala ezinye izinkumbulo ezibalulekile nezinhlaka ze-semiconductor ... Kodwa-ke, i-chip yokuqala yethule imakethe kwakuyi-Intel kusuka ngo-1988, uhlobo lwe-NOR EEPROM.

Ngaphezu kwalokho, kufanele wazi ukuthi lolu hlobo lwememori luvame ukuxhunyaniswa nama-CPU noma abalawuli ibhasi ngezivumelwano ezifana ne-SPI, I2C, njll. Endabeni yama-MCUs (ama-microcontroller) imvamisa ihlanganiswa ngaphakathi, njengakwezinye i-DSP, ukufeza isivinini esikhulu.

Njengoba kungabonakala esithombeni esingenhla, ifayela le- Ama-transistor eSAMOS akha amaseli enkumbulo, ahlelwe kuleso simo ngababili. Olunye lolayini olunamathele emasangweni abanye abaguquli lusebenza njengolayini wokuzikhethela, ukumaka noma ukukhombisa lowo layini wokufinyelela (ukufunda nokubhala), kanti omunye kuzoba yilowo ogcina imininingwane kancane (0 noma 1).

Ama-transistors aqondaniswe nokwakha ubude bamagama obudingekayo (4-bit, 8-bit, 16-bit, ...) namagama amaningi njengo amandla ufuna ukuba ne-EEPROM (isb. kungaba nobude bamagama angama-64-bit futhi ngemigqa engu-16 = izingcezu eziyi-1024, okungukuthi, 1kb).

Isebenza kanjani i-EERPOM?

Njengoba ukwazi ukubona ohlangothini, ukwenza imisebenzi ehlukene, amandla esango lakho, umthombo nodreyini kufanele kube ngokhonkolo:

  • Umnyango ku-20v bese ukhipha u-20v = ukuhlela (ukubhala) kweseli lememori ukugcina okulindelekile.
  • Umnyango ku-0v bese ukhipha u-20v = sula into egciniwe ukuze ikwazi ukwenziwa kabusha ngenye inzuzo.
  • Isango ku-5v ne-Drain ku-5v = funda okugciniwe okugciniwe. Njengoba amandla esango ephansi kunalawo wokubhala, inani eligciniwe ngeke lishintshwe. Okufanayo kwenzeka nge-voltage drain, njengoba iphansi, intwana egciniwe ngeke isulwe.

Isiphetho, ama-EEPROM asebenzisa okumbalwa ukuqhuma "Phezulu" ukusula nokubhala, ngenkathi usebenzisa amanani aphansi ekufundeni ...

Thenga i-EEPROM bese usebenza ngayo

STMicroelectronics, umkhiqizi waseFrance we-microelectronics, ungunombolo eyodwa kulolu hlobo lwama-chips we-EEPROM, yize kunabanye abakhiqizi abaningi, njengeMicrochip. Lawa machips ngokuvamile ashibhile.

Uma uthatha isinqumo soku sebenzisa eyodwa yalezi chips, kufanele ubone umkhiqizi nemodeli bese uyifuna ishidi le-data ukubona zonke izincomo zomkhiqizi, njengoba zingahluka ngokuya kokunye. Isibonelo, bazocacisa amanani asebenza ngawo, i-pinout, njll. Ukuze ukwazi ukulungiselela iphrojekthi yakho kahle.

Ngokuya ngosayizi nemodeli, ingahle ibe nokuningi noma okuncane Pines. Kepha ukukunikeza umbono, i-chip ejwayelekile ye-24LC512 EEPROM IC ingahlanganiswa:

  • Izikhonkwane 1 (A0), 2 (A1), no-3 (A3) ezisetshenziswe ekucushweni yizikhonkwane zokukhetha.
  • I-Pin 4 (Vss / GND) exhunywe emhlabathini.
  • I-Pin 5 (SDA), yedatha ye-serial yokuxhumana kwe-I2C.
  • I-Pin 6 (SCL), yewashi le-I2C.
  • Phina 7 (WP), bhala-vikela noma bhala ukuvikela. Uma ixhunywe ku-GND, ukubhala kuzonikwa amandla. Uma ixhuma ku-Vcc ikhutshaziwe.
  • I-Pin 8 (Vcc), ixhunywe emandleni.

Ngokuqondene ne Ukucaciswa kobuchwepheshe yale chip:

  • I-512K (64 × 8)
  • Ibhafa engu-128-byte yokubhala
  • I-voltage yokusebenza: 1.8v kuye ku-5.5v
  • Okwamanje kufundwa: 40uA
  • Ibhasi lezokuxhumana: I2C
  • Bhala umjikelezo: 5ms
  • Ukuhambisana kwewashi: 100-400Khz
  • Ukuqina: imijikelezo eyi-10.000.000
  • Ingabhalwa kuze kufike kumadivayisi we-8
  • Ukupakisha: I-8-pin DIP, i-SOIJ, i-SOIC ne-TSSOP.

Ukuthenga kuphi

para thenga ama-chips e-EEPROM, ungabheka lezi zincomo:

Usebenzisa i-Arduino EEPROM

Isithombe se-Arduino IDE

Uma ufuna ukuqala ukusebenza ne-EEPROM, ungazama futhi eyodwa ebhodini lakho I-Arduino. Ingacushwa ngendlela elula yokuqonda ezingeni elinengqondo nelokuhlela ukuthi lingasebenza kanjani.

Isibonelo sokugcina okuguquguqukayo

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

Isibonelo sokufunda idatha kusuka ku-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()
{
}

Isibonelo sokuvuselela amanani, ukuhlela kabusha

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

Imininingwane engaphezulu - Inkambo yamahhala ye-Arduino


Yiba ngowokuqala ukuphawula

Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.