EEPROM: бул эс тутум жөнүндө билишиңиз керек болгон нерселердин бардыгы

EEPROM

Эгер сиз чыгаруучу болсоңуз жана сиз эс тутум менен иштөөгө тийиш болгон айрым DIY долбоорлорду жасап жаткан болсоңуз, анда Arduino интеграциялаган ар кандай эскерүүлөрдүн кандай иштээрин, мисалы, флэш (эскиз жана жүктөгүч сакталуучу туруктуу эмес), SRAM (тез жана туруктуу эстутум, анда программанын өзгөрмөлөрү иштеп жатканда калат) жана EEPROM (туруксуз жана өчүрүп-күйгүзүү жөнүндө маалыматты сактоо үчүн колдонсо болот).

Ардуино курамына кирген EEPROMдон тышкары, тышкы чиптерди дагы колдонсоңуз болот мындай эс тутумсыяктуу дагы бир компонент. Аларды түшүнүү жана алар менен өз ара аракеттенүү, сакталган маалыматтын жеткиликтүүлүгүн (жазуу жана окуу) же жаңыртууну түзүү үчүн татаал эмес. Ушул жерден ушул түрдөгү эскерүүлөр менен иштей баштоо үчүн сиз билишиңиз керек болгон нерселердин бардыгын таба аласыз ...

EEPROM деген эмне?

STMicroelectronics EEPROM

STMicroelectronics EEPROM

La EEPROM (Электр менен өчүрүлө турган программалануучу кызыл-эс тутум) Бул ROM эс тутумунун бир түрү, башкача айтканда, электр кубаты алынып салынса дагы, туруктуу сакталып турган туруктуу эс тутум. Бул аларды RAMлердин экинчи тарабына (Random Access Memory) коет, алар иштебей турганда, бардык маалыматтарын жоготушат.

EEPROM учурда, ал ROM сыяктуу эстутум эмес, анда маалыматтар жазылып, аларды өзгөртүүгө болбойт. EEPROM, жарк сыяктуу, өзгөртүлгөнүн мойнуна алат зарылдыгына жараша. Башкача айтканда, ар кандай маалыматтарды сактоо үчүн айрым маалыматтарды сактоого жана өчүрүүгө болот.

Чындыгында, анын кыскартууларынан көрүнүп тургандай, ал электрдик өчүрүлүүчү эс тутум (электрдик өчүрүлүүчү) кайра программалоо үчүн. Бул башка ROM типтеринен айырмаланат, алар EPROM сыяктуу өчүрүлөт, бирок бул учурда электр энергиясы эс тутумун өчүрүү үчүн колдонулбайт, анын ордуна чипте ультрафиолет нурун чагылдыруу үчүн кварц "терезеси" болгон. ал өчүрүлдү.

Ошол мүнөздөмөсү EPROM бул аларды бир аз ыңгайсыз кылды, аларды жок кылуу үчүн ошол нурларды проекциялоого туура келди. Жана, баарынан жаманы, алар радиациянын ушул түрүнө дуушар болсо, кокустан жок болуп кетиши мүмкүн. EEPROM-дордо, аны чыңалуу аркылуу, ыңгайлуу жана коопсуз жол менен жасоого болот.

ички түзүлүшү

EEPROM диаграммасы

Булак: Researchgate.net

EEPROM иштеши үчүн, өзгөчө, эс тутумдары керек. Алар MOS тибиндеги транзисторлордун жардамы менен курулган, бирок салттуу MOSFETке салыштырмалуу калкып жүрүүчү дарбазасы бар. Бул жаңы транзисторлор бир структураны ээрчишет САМОС, жана анын нормалдуу абалы үзүлүп, чыгышы ар дайым логикалык 1 менен камсыз кылат.

Бул EEPROM уячаларын чексиз көп жолу окууга болот, бирок ал чектелген аларды өчүрүүнүн жана кайра программалоонун саны, башка көптөгөн адамдарда болот. Ушундай эле нерсе жаркылдай баштайт, ошондуктан SSD катуу дисктеринин, калем дисктердин ж.б.

SAMOS үчүн, бул чектөө ортосунда болот 100.000 жана 1.000.000 жолу. Андан кийин, алар ийгиликсиз болот. Баса, эски тааныш, улуу адамдардын бири жараткан кээ бир курулуштар: Тошибадан доктор Фуджио Масуока (1984), ал дагы башка маанилүү эскерүүлөрдү жана жарым өткөргүч структураларды жараткан ... Бирок, биринчи чип базар 1988-жылдан Intel компаниясына таандык, NE типтеги EEPROM.

Мындан тышкары, сиз эс тутуму адатта аркылуу CPU же контроллеру менен байланышкан экенин билишибиз керек автобус SPI сыяктуу протоколдор менен, I2C, жана башкалар. MCU (микроконтроллерлер) учурда, ал кээ бир DSPлердегидей эле, чоң ылдамдыкка жетүү үчүн, ичине интеграцияланат.

Жогорудагы сүрөттө көрүнүп тургандай, SAMOS транзисторлору эс тутумун түзгөн, экиден топтолгон. Айрым транзисторлордун дарбазаларына бекитилген сызыктардын бири тандоо тилкесинин милдетин аткарат, ошол сызыкты белгилөө же сигнал берүү үчүн (окуу жана жазуу), экинчиси маалымат битин (0 же 1) сактайт.

Транзисторлор талап кылынган сөздөрдүн узундугун (4-бит, 8-бит, 16-бит, ...) жана ушунча көп сөздөрдү түзүүгө ылайыкташтырылган кубаттуулугу сиз EEPROMго ээ болгуңуз келет (мисалы: 64 биттик сөздүн узундугу жана 16 саптан турган = 1024 бит, башкача айтканда, 1kb болушу мүмкүн).

EERPOM кандай иштейт?

Көрүнүп тургандай, аткарууга ар кандай тапшырмалар, сиздин дарбазаңыздын, булактын жана дренаждын чыңалуусу конкреттүү болушу керек:

  • 20v дарбазасы жана 20v сууну төгүү = каалаган битти сактоо үчүн эс тутумун программалоо (жазуу).
  • 0v дарбазасы жана 20v сууну төгүү = сакталган битти тазалап, аны башка маани менен кайра программалоого болот.
  • 5v дарбазасы жана 5v = Drain сакталган битти окуу. Дарбазанын чыңалуусу жазууга караганда төмөн болгондуктан, сакталган маани өзгөрүлбөйт. Дренаждын чыңалуусу төмөндөсө, сакталган бит өчүрүлбөйт.

Жыйынтык, EEPROM бир нече колдонушат чыңалуу Өчүрүү жана жазуу үчүн "жогорку", ал эми төмөнкү чыңалууларды окуу үчүн ...

EEPROM сатып алып, аны менен иштөө

STMicroelectronics, Франциянын микроэлектроника өндүрүүчүсү, EEPROM чиптеринин бул түрү боюнча биринчи орунда турат, бирок Microchip сыяктуу көптөгөн башка өндүрүүчүлөр бар. Бул чиптер, адатта, кыйла арзан.

Эгер сиз чечсеңиз ушул микросхемалардын бирин колдонуңуз, сиз өндүрүүчүнү жана моделди көрүп, аны издеш керек маалымат жадыбалы өндүрүүчүнүн бардык сунуштарын көрүү, анткени алар ар башка болушу мүмкүн. Мисалы, алар иштеген чыңалууларды көрсөтүшөт, pinout, жана башкалар. Ошентип, сиз долбоорду туура конфигурациялай аласыз.

Өлчөмүнө жана моделине жараша, ал аздыр-көптүр болушу мүмкүн төөнөгүчтөр. Бирок сизге идея берүү үчүн, типтүү 24LC512 EEPROM IC чип, төмөнкүлөрдөн турушу мүмкүн:

  • Конфигурацияда колдонулган 1 (A0), 2 (A1) жана 3 (A3) пиндери тандоо пиндери болуп саналат.
  • Жерге туташтырылган 4-пин (Vss / GND).
  • I5C байланышы үчүн сериялык маалыматтар үчүн 2-Pin (SDA).
  • I6C үчүн саат үчүн 2-Pin (SCL).
  • PIN 7 (WP), жазуудан коргойт же жазуудан коргойт. Эгер ал GND менен байланышкан болсо, анда жазуу иштетилет. Эгер ал Vcc менен туташса, ал өчүрүлөт.
  • Пин 8 (Vcc), кубатка туташтырылган.

карата абал боюнча Техникалык мүнөздөмө бул чиптин:

  • 512K (64 × 8)
  • Жазуу үчүн 128 байттык буфер
  • Иштөө чыңалуусу: 1.8v дан 5.5vге чейин
  • Окуу агымы: 40uA
  • Байланыш автобусу: I2C
  • Жазуу цикли: 5 мс
  • Саат шайкештиги: 100-400Khz
  • Узактыгы: 10.000.000 цикл
  • 8 шайманга чейин каскадга өтсө болот
  • Таңгак: 8-сайлуу DIP, SOIJ, SOIC жана TSSOP.

Кайдан сатып

Para EEPROM чиптерин сатып алыңыз, сиз төмөнкү сунуштарды карап көрсөңүз болот:

Arduino EEPROM колдонуу

Arduino IDE скриншоту

Эгер сиз EEPROM менен иштөөнү баштағыңыз келсе, анда аны өз тактаңызда колдонуп көрсөңүз болот Ардуино. Ал кандайча иштей тургандыгын логикалык жана программалоо деңгээлинде түшүнүү үчүн жөнөкөй жол менен программаланса болот.

Өзгөрмөнү сактоо үчүн мисал

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

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()
{
}

Маанилерди жаңыртууга мисал, башка күнгө жылдыруу

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

Кошумча маалымат - Акысыз Arduino курсу


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий биринчи болуп

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.