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
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
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:
- I-95040Kb ST 4 serial SPI
- Akukho mveliso ifunyenweyo
- Akukho mveliso ifunyenweyo
- Akukho mveliso ifunyenweyo
- ST 24LC256 uthotho I2C 256Kb
- Akukho mveliso ifunyenweyo
Sebenzisa iArduino EEPROM
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