EEPROM: все, що вам потрібно знати про цю пам’ять

EEPROM

Якщо ви виробник і робите кілька саморобних проектів, в яких вам доведеться працювати з пам’яттю, ви напевно вже знаєте, як працюють різні спогади, які інтегрує Arduino, наприклад, флеш (енергонезалежні, де зберігаються ескіз та завантажувач), SRAM (швидка і мінлива пам'ять, де програмні змінні залишаються під час обробки), і EEPROM (енергонезалежний і може використовуватися для зберігання інформації про перезавантаження).

Ну, крім EEPROM, що входить до складу Arduino, ви також можете використовувати зовнішні мікросхеми цей вид пам’ятіТакий як ще один компонент. Їх не складно зрозуміти, ані взаємодіяти з ними для отримання доступу (написання та читання) або оновлення збереженої інформації. Тут ви знайдете все, що вам потрібно знати, щоб почати працювати з такими типами спогадів ...

Що таке EEPROM?

STMicroelectronics EEPROM

STMicroelectronics EEPROM

La EEPROM (Електрично стирається програмована червона пам'ять) Це тип пам’яті ПЗУ, тобто енергонезалежна пам’ять, в якій дані будуть зберігатися постійно, навіть якщо джерело живлення вимкнено. Це ставить їх на інший бік оперативної пам'яті (оперативної пам’яті), яка втрачає всі свої дані, коли їх не живлять.

У випадку з EEPROM це не така пам'ять, як ПЗУ, в яку записані дані і які більше не можуть бути змінені. EEPROM, як спалах, визнає, що його змінили в міру необхідності. Тобто деякі дані можна зберігати та стирати для зберігання різних.

Насправді, як вказують його скорочення, це a електрично стирається пам’ять (електрично стирається) для перепрограмування. Це відрізняється від інших типів ПЗУ, які також стираються, як EPROM, але в цьому випадку електроенергія не використовується для стирання комірок пам'яті, натомість у них було кварцове "вікно" на мікросхемі, щоб можна було проеціювати УФ-світло. яку він стер.

Ця характеристика EPROM це зробило їх дещо незручними, доводилося проектувати ці промені, щоб їх стерти. І, що найгірше, їх можна випадково стерти, якщо потрапити під цей тип випромінювання. У EEPROM можна це робити через напруги, більш зручним і безпечним способом.

Внутрішня структура

Діаграма EEPROM

Джерело: Researchgate.net

Для того, щоб EEPROM працював, потрібні дуже конкретні комірки пам'яті. Вони побудовані з використанням транзисторів типу MOS, але мають плаваючий затвор у порівнянні з традиційними MOSFET-транзисторами. Ці нові транзистори мають структуру, відому як САМОС, і його нормальний стан відсікається, і вихід завжди буде мати логічний 1.

Ці комірки EEPROM можна читати необмежену кількість разів, але це обмежено в скільки разів їх можна стерти та перепрограмувати, як це трапляється з багатьма іншими. Це також трапляється із спалахом, саме тому так багато говорять про довговічність жорстких дисків SSD, накопичувачів тощо.

У випадку з SAMOS ця межа знаходиться між 100.000 та 1.000.000 разів. Після цього вони зазнають невдачі. До речі, деякі структури, створені старим знайомим, одним з великих: доктором Фуджіо Масуока з Toshiba (1984), який також створив інші важливі спогади та напівпровідникові структури ... Однак перший чіп, запущений на ринком збуту був Intel з 1988 р., EEPROM типу NOR.

Крім того, ви повинні знати, що цей тип пам’яті зазвичай пов’язаний з центральними процесорами або контролерами автобус з протоколами типу SPI, I2Cтощо У випадку мікроконтролерів (мікроконтролерів) він, як правило, інтегрується всередину, як і в деяких ЦСП, для досягнення більшої швидкості.

Як видно на зображенні вище, файл Транзистори SAMOS які утворюють комірки пам'яті, групуються в цьому випадку по парах. Одна з ліній, прикріплених до затворів деяких транзисторів, діє як лінія вибору, щоб позначити або сигналізувати цю лінію для доступу (читання та запис), а інша буде такою, що зберігає біт інформації (0 або 1).

Транзистори вирівняні, щоб утворити необхідну довжину слів (4-біт, 8-біт, 16-біт, ...) і стільки слів, скільки потужність ви хочете мати EEPROM (наприклад: може бути 64-бітна довжина слова і з 16 рядками = 1024 біта, тобто 1 кб).

Як працює EERPOM?

Як бачите збоку, для виступу різні завдання, напруга на затворі, джерелі та каналізації має бути конкретним:

  • Двері на 20v та злив на 20v = програмування (запис) комірки пам'яті для зберігання потрібного біта.
  • Двері на 0v та злив на 20v = очистити збережений біт, щоб його можна було перепрограмувати з іншим значенням.
  • Затвор на 5v і злив на 5v = прочитати збережений біт. Оскільки напруга на затворі нижче напруги запису, збережене значення не змінюватиметься. Те саме відбувається з напругою стоку, будучи нижчим, збережений біт не стирається.

Висновок, EEPROM використовують кілька напруги "Висока" для стирання та запису, при цьому використовується менша напруга для читання ...

Купіть EEPROM і працюйте з ним

STMicroelectronics, французький виробник мікроелектроніки, є номером один у цьому типі чіпів EEPROM, хоча існує багато інших виробників, таких як Microchip. Ці чіпси, як правило, досить дешеві.

Якщо ви вирішите використовуйте одну з цих фішок, ви повинні побачити виробника та модель та шукати їх технічний опис ознайомитись з усіма рекомендаціями виробника, оскільки вони можуть різнитися від одного до іншого. Наприклад, вони вкажуть напруги, з якими він працює, розпиновкатощо Тож ви можете правильно налаштувати свій проект.

Залежно від розміру та моделі він може мати більше або менше сосни. Але щоб дати вам уявлення, типовий мікросхемний модуль EEPROM 24LC512 може складатися з:

  • Висновки 1 (A0), 2 (A1) та 3 (A3), що використовуються в конфігурації, є виборами.
  • Штифт 4 (Vss / GND) підключений до землі.
  • Контакт 5 (SDA) для послідовних даних для зв'язку I2C.
  • Контакт 6 (SCL) для годинника для I2C.
  • Pin 7 (WP), захист від запису або захист від запису. Якщо він підключений до GND, запис буде ввімкнено. Якщо він підключається до Vcc, він вимикається.
  • Штифт 8 (Vcc), підключений до живлення.

Як Технічні характеристики цього чіпа:

  • 512K (64 × 8)
  • 128-байтний буфер для запису
  • Робоча напруга: від 1.8 до 5.5 в
  • Струм зчитування: 40uA
  • Шина зв'язку: I2C
  • Цикл запису: 5 мс
  • Сумісність годин: 100-400 кГц
  • Міцність: 10.000.000 XNUMX XNUMX циклів
  • Можна каскадувати до 8 пристроїв
  • Упаковка: 8-контактний DIP, SOIJ, SOIC і TSSOP.

Де купити

в купити чіпи EEPROM, Ви можете поглянути на ці рекомендації:

Використання Arduino EEPROM

Знімок екрана Arduino IDE

Якщо ви хочете почати працювати з EEPROM, ви також можете спробувати той, що на вашій дошці Arduino. Його можна запрограмувати простим способом, щоб зрозуміти на логічному та програмному рівні, як це може працювати.

Приклад збереження змінної

//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. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.