EEPROM: mọi thứ bạn cần biết về bộ nhớ này

EEPROM

Nếu bạn là một nhà sản xuất và bạn đang thực hiện một số dự án DIY trong đó bạn phải làm việc với bộ nhớ, chắc chắn bạn đã biết các ký ức khác nhau mà Arduino tích hợp hoạt động như thế nào, chẳng hạn như flash (không thay đổi nơi lưu trữ bản phác thảo và bộ nạp khởi động), SRAM (một bộ nhớ nhanh và dễ bay hơi, nơi các biến chương trình vẫn còn trong quá trình xử lý), và EEPROM (không bay hơi và có thể được sử dụng để lưu trữ thông tin khởi động lại).

Ngoài EEPROM có trong Arduino, bạn cũng có thể sử dụng các chip bên ngoài của loại ký ức nàyNhư một thành phần nữa. Chúng không phức tạp để hiểu, cũng như không tương tác với chúng để tạo ra các quyền truy cập (viết và đọc) hoặc cập nhật thông tin được lưu trữ. Ở đây bạn sẽ tìm thấy mọi thứ bạn cần biết để bắt đầu làm việc với những loại ký ức này ...

EEPROM là gì?

STVi điện tử EEPROM

STVi điện tử EEPROM

La EEPROM (Bộ nhớ chỉ đỏ có thể lập trình được bằng điện) Đây là một loại bộ nhớ ROM, tức là bộ nhớ không bay hơi, trong đó dữ liệu sẽ được lưu trữ vĩnh viễn, ngay cả khi nguồn điện bị loại bỏ. Điều đó đặt chúng ở phía bên kia của RAM (Bộ nhớ truy cập ngẫu nhiên), bộ nhớ này sẽ mất tất cả dữ liệu của chúng khi chúng không được cấp nguồn.

Trong trường hợp của EEPROM, nó không phải là một bộ nhớ như ROM, trong đó dữ liệu được ghi lại và không thể thay đổi được nữa. EEPROM, giống như flash, thừa nhận đã bị thay đổi khi cần thiết. Nói cách khác, một số dữ liệu có thể được lưu trữ và xóa để lưu trữ những dữ liệu khác nhau.

Trên thực tế, như tên viết tắt của nó chỉ ra, nó là một bộ nhớ có thể xóa bằng điện (có thể xóa bằng điện) để lập trình lại. Điều này khác với các loại ROM khác, cũng có thể xóa được như EPROM, nhưng trong trường hợp này điện không được sử dụng để xóa các ô nhớ, thay vào đó chúng đã có một "cửa sổ" thạch anh trên chip để có thể chiếu tia UV vào. mà nó đã bị xóa.

Đó là đặc điểm của EPROM nó khiến họ hơi khó chịu, phải chiếu những tia sáng đó để xóa chúng. Và tệ nhất là chúng có thể bị xóa vô tình nếu tiếp xúc với loại bức xạ này. Trong EEPROMs, nó được phép làm điều đó thông qua điện áp, một cách thoải mái và an toàn hơn.

Cấu trúc bên trong

Sơ đồ EEPROM

Nguồn: Researchgate.net

Để EEPROM hoạt động, cần có các ô nhớ rất cụ thể. Chúng được chế tạo bằng bóng bán dẫn loại MOS, nhưng có cổng nổi so với MOSFET truyền thống. Những bóng bán dẫn mới này tuân theo một cấu trúc được gọi là SAMOS, và trạng thái bình thường của nó bị cắt và đầu ra sẽ luôn cung cấp giá trị logic 1.

Các ô EEPROM này có thể được đọc không giới hạn số lần, nhưng nó bị giới hạn ở số lần chúng có thể bị xóa và lập trình lại, như nó xảy ra với nhiều người khác. Điều này cũng xảy ra với flash, đó là lý do tại sao đã có quá nhiều lời bàn tán về độ bền của ổ cứng SSD, ổ bút, v.v.

Trong trường hợp SAMOS, giới hạn này nằm giữa 100.000 và 1.000.000 lần. Sau đó, họ sẽ thất bại. Nhân tiện, một số cấu trúc được tạo ra bởi một người quen cũ, một trong những người vĩ đại: Tiến sĩ Fujio Masuoka từ Toshiba (1984), người cũng đã tạo ra những ký ức và cấu trúc bán dẫn quan trọng khác ... Tuy nhiên, con chip đầu tiên được tung ra trên thị trường là của Intel từ năm 1988, một EEPROM loại NOR.

Ngoài ra, bạn phải biết rằng loại bộ nhớ này thường được liên kết với CPU hoặc bộ điều khiển thông qua xe buýt với các giao thức như SPI, I2C, Vân vân. Trong trường hợp MCU (vi điều khiển), nó thường được tích hợp bên trong, như trong một số DSP, để đạt được tốc độ lớn hơn.

Như có thể thấy trong hình trên, Bóng bán dẫn SAMOS tạo thành các ô nhớ, trong trường hợp đó được nhóm thành từng cặp. Một trong những đường được gắn vào cổng của một số bóng bán dẫn hoạt động như một đường lựa chọn, để đánh dấu hoặc báo hiệu cho đường đó truy cập (đọc và ghi), và đường kia sẽ là đường lưu trữ bit thông tin (0 hoặc 1).

Các bóng bán dẫn được căn chỉnh để tạo thành độ dài từ cần thiết (4-bit, 8-bit, 16-bit, ...) và nhiều từ như công suất bạn muốn có EEPROM (ví dụ: có thể có độ dài từ 64 bit và với 16 dòng = 1024 bit, tức là 1kb).

EERPOM hoạt động như thế nào?

Như bạn có thể thấy ở bên, để thực hiện các nhiệm vụ khác nhau, điện áp của cổng, nguồn và cống phải là điện áp cụ thể:

  • Cửa ở 20v và Xả ở 20v = lập trình (ghi) ô nhớ để lưu bit mong muốn.
  • Cửa ở 0v và Xả ở 20v = xóa bit được lưu trữ để nó có thể được lập trình lại với một giá trị khác.
  • Cổng ở 5v và Xả ở 5v = đọc bit được lưu trữ. Vì điện áp cổng thấp hơn điện áp ghi, giá trị được lưu trữ sẽ không bị thay đổi. Điều tương tự cũng xảy ra với điện áp xả thấp hơn, bit được lưu trữ sẽ không bị xóa.

Kết luận, EEPROMs sử dụng một số điện áp "Cao" để xóa và viết, trong khi sử dụng điện áp thấp hơn để đọc ...

Mua EEPROM và làm việc với nó

STMicroelectronics, nhà sản xuất vi điện tử của Pháp, đứng đầu về loại chip EEPROM này, mặc dù có nhiều nhà sản xuất khác, chẳng hạn như Microchip. Những con chip này thường khá rẻ.

Nếu bạn quyết định sử dụng một trong những con chip này, bạn nên xem nhà sản xuất và mô hình và tìm kiếm bảng dữliệu để xem tất cả các khuyến nghị của nhà sản xuất, vì chúng có thể khác nhau. Ví dụ: họ sẽ chỉ định điện áp mà nó hoạt động, sơ đồ chân, Vân vân. Vì vậy, bạn có thể cấu hình dự án của mình đúng cách.

Tùy thuộc vào kích thước và mô hình, nó có thể có nhiều hơn hoặc ít hơn cây thông. Nhưng để cung cấp cho bạn một ý tưởng, một chip IC EEPROM 24LC512 điển hình có thể bao gồm:

  • Các chân 1 (A0), 2 (A1) và 3 (A3) được sử dụng trong cấu hình là các chân lựa chọn.
  • Chân 4 (Vss / GND) nối đất.
  • Chân 5 (SDA), cho dữ liệu nối tiếp cho giao tiếp I2C.
  • Chân 6 (SCL), cho đồng hồ I2C.
  • Chân 7 (WP), chống ghi hoặc chống ghi. Nếu nó được kết nối với GND, tính năng ghi sẽ được bật. Nếu nó kết nối với Vcc nó sẽ bị vô hiệu hóa.
  • Chân 8 (Vcc), được kết nối với nguồn điện.

Khi Thông số kỹ thuật của chip này:

  • 512K (64 × 8)
  • Bộ đệm 128 byte để ghi
  • Điện áp hoạt động: 1.8v đến 5.5v
  • Đọc hiện tại: 40uA
  • Xe buýt giao tiếp: I2C
  • Chu kỳ ghi: 5ms
  • Tương thích đồng hồ: 100-400Khz
  • Độ bền: 10.000.000 chu kỳ
  • Có thể xếp tầng lên đến 8 thiết bị
  • Bao bì: DIP 8 chân, SOIJ, SOIC và TSSOP.

Mua ở đâu

đến mua chip EEPROM, bạn có thể xem các đề xuất sau:

Sử dụng Arduino EEPROM

Ảnh chụp màn hình Arduino IDE

Nếu bạn muốn bắt đầu làm việc với EEPROM, bạn cũng có thể thử cái trên bảng của mình Arduino. Nó có thể được lập trình theo cách đơn giản để hiểu ở cấp độ logic và lập trình nó có thể hoạt động như thế nào.

Ví dụ để lưu một biến

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

Ví dụ để đọc dữ liệu từ 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()
{
}

Ví dụ để cập nhật giá trị, lên lịch lại

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

Thêm thông tin - Khóa học Arduino miễn phí


Hãy là người đầu tiên nhận xét

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.