EEPROM: bu hafıza hakkında bilmeniz gereken her şey

EEPROM

Bir yapımcıysanız ve bellekle çalışmanız gereken bazı DIY projeleri yapıyorsanız, kesinlikle Arduino'nun entegre ettiği flash (eskiz ve önyükleyicinin depolandığı yerde uçucu olmayan) gibi farklı anıların nasıl çalıştığını zaten biliyorsunuzdur. SRAM (program değişkenlerinin işleme sırasında kaldığı hızlı ve geçici bellek) ve EEPROM (uçucu değildir ve yeniden başlatma bilgilerini saklamak için kullanılabilir).

Arduino'da bulunan EEPROM'a ek olarak, harici yongaları da kullanabilirsiniz. bu tür bir hafızaGibi bir bileşen daha. Anlaşılması karmaşık değildir ve saklanan bilgilerin erişimlerini (yazma ve okuma) veya güncellemelerini oluşturmak için onlarla etkileşime girmeleri de karmaşık değildir. Bu tür anılarla çalışmaya başlamak için bilmeniz gereken her şeyi burada bulacaksınız ...

EEPROM nedir?

STMikroelektronik EEPROM

STMikroelektronik EEPROM

La EEPROM (Elektrikle Silinebilir Programlanabilir Yalnızca Kırmızı Bellek) Bu, güç kaynağı çıkarılsa bile verilerin kalıcı olarak saklanacağı bir ROM bellek türüdür, yani geçici olmayan bellektir. Bu, onları RAM'lerin (Rastgele Erişim Belleği) diğer tarafına koyar ve güç olmadıklarında tüm verilerini kaybeder.

EEPROM durumunda, verilerin yazıldığı ve artık değiştirilemediği ROM gibi bir bellek değildir. EEPROM, flaş gibi, değiştirildiğini kabul ediyor ihyaç olduğu gibi. Yani, bazı veriler farklı olanları saklamak için saklanabilir ve silinebilir.

Aslında, kısaltmalarından da anlaşılacağı gibi, bir elektriksel olarak silinebilir hafıza (elektriksel olarak silinebilir) yeniden programlama için. Bu, EPROM'lar gibi silinebilen diğer ROM türlerinden farklıdır, ancak bu durumda bellek hücrelerini silmek için elektrik kullanılmaz, bunun yerine çip üzerinde bir UV ışığı yansıtabilmek için bir kuvars "penceresi" vardır. silindi.

Bu özelliği EPROM onları silmek için bu ışınları yansıtmak zorunda kaldığı için onları biraz rahatsız etti. Ve en kötüsü, bu tür bir radyasyona maruz kalırlarsa kazara silinebilirler. EEPROM'larda daha rahat ve güvenli bir şekilde gerilimler üzerinden yapılmasına izin verilir.

Iç yapısı

EEPROM diyagramı

Kaynak: Researchgate.net

EEPROM'un çalışması için çok özel bellek hücrelerine ihtiyaç vardır. MOS tipi transistörler kullanılarak üretilirler, ancak geleneksel MOSFET'lere kıyasla yüzen bir kapıya sahiptirler. Bu yeni transistörler olarak bilinen bir yapıyı takip eder. SİSAMve normal durumu kesilir ve çıktı her zaman mantıksal 1 sağlar.

Bu EEPROM hücreleri sınırsız sayıda okunabilir, ancak silinme ve yeniden programlanma sayısı, diğerlerinin de başına geldiği gibi. Bu aynı zamanda flash için de olur, bu yüzden SSD sabit sürücülerin, kalem sürücülerin vb. Dayanıklılığı hakkında çok fazla konuşma yapıldı.

SAMOS durumunda bu sınır, 100.000 ve 1.000.000 kez. Ondan sonra başarısız olacaklar. Bu arada, eski bir tanıdık, büyüklerden biri tarafından yaratılan bazı yapılar: başka önemli anılar ve yarı iletken yapıları da yaratan Toshiba'dan (1984) Dr. Pazar 1988'den beri NOR tipi bir EEPROM olan Intel'ti.

Ek olarak, bu tür belleğin genellikle CPU'lara veya denetleyicilere bağlı olduğunu bilmelisiniz otobüs SPI gibi protokollerle, I2C, vb. MCU'lar (mikro denetleyiciler) durumunda, daha yüksek hız elde etmek için bazı DSP'lerde olduğu gibi genellikle içeriye entegre edilmiştir.

Yukarıdaki görselde görülebileceği gibi, SAMOS transistörleri hafıza hücrelerini oluşturan, bu durumda çiftler halinde gruplanır. Bazı transistörlerin kapılarına eklenen hatlardan biri, erişim için (okuma ve yazma) bu satırı işaretlemek veya işaretlemek için bir seçim hattı olarak işlev görür ve diğeri bilgi bitini (0 veya 1) depolayan olacaktır.

Transistörler, gerekli kelime uzunluklarını (4-bit, 8-bit, 16-bit, ...) ve olabildiğince çok kelimeyi oluşturmak için hizalanır. kapasite EEPROM'a sahip olmak istiyorsanız (örneğin: 64-bit kelime uzunlukları ve 16 satır = 1024 bit, yani 1kb olabilir).

EERPOM nasıl çalışır?

Yan tarafta görebileceğiniz gibi, gerçekleştirmek için farklı görevler, kapınızın, kaynağınızın ve drenajınızın voltajı somut olmalıdır:

  • 20v'de kapı ve 20v'de boşaltma = istenen biti saklamak için hafıza hücresinin programlanması (yazılması).
  • 0v'de kapı ve 20v'de boşaltma = saklanan biti başka bir değerle yeniden programlanabilmesi için temizleyin.
  • Kapı 5v'de ve Drenaj 5v'de = saklanan biti okuyun. Kapı voltajı yazılan voltajdan daha düşük olduğu için, saklanan değer değiştirilmeyecektir. Aynısı boşaltma voltajında ​​da olur, daha düşüktür, depolanan bit silinmez.

Sonuç olarak, EEPROM'lar birkaç voltajlar Silme ve yazma için "Yüksek", okumak için daha düşük voltajlar kullanılırken ...

EEPROM satın alın ve onunla çalışın

STMicroelectronicsFransız mikroelektronik üreticisi, Microchip gibi birçok başka üretici olmasına rağmen, bu tür EEPROM yongalarında bir numaradır. Bu cipsler genellikle oldukça ucuzdur.

Eğer karar verirsen bu çiplerden birini kullanın, üreticiyi ve modeli görmeli ve veri Sayfası üreticinin tüm önerilerini görmek için, bunlar birbirinden farklı olabilir. Örneğin, çalıştığı voltajları belirleyecekler, pin çıkışı, vb. Böylece projenizi doğru şekilde yapılandırabilirsiniz.

Boyuta ve modele bağlı olarak, az ya da çok olabilir. çamlar. Ancak size bir fikir vermesi için tipik bir 24LC512 EEPROM IC yongası şunlardan oluşabilir:

  • Yapılandırmada kullanılan 1 (A0), 2 (A1) ve 3 (A3) pinleri seçim pinleridir.
  • Pin 4 (Vss / GND) toprağa bağlı.
  • I5C iletişimi için seri veriler için Pin 2 (SDA).
  • I6C için saat için Pin 2 (SCL).
  • Pin 7 (WP), yazma koruması veya yazma koruması. GND'ye bağlıysa, yazma etkinleştirilecektir. Vcc'ye bağlanırsa devre dışı bırakılır.
  • Pin 8 (Vcc), güce bağlı.

Gibi Teknik özellikler bu çipin:

  • 512K (64 × 8)
  • Yazma için 128 bayt arabellek
  • Çalışma voltajı: 1.8v - 5.5v
  • Okuma akımı: 40uA
  • İletişim veriyolu: I2C
  • Yazma döngüsü: 5ms
  • Saat uyumluluğu: 100-400Khz
  • Dayanıklılık: 10.000.000 döngü
  • 8 cihaza kadar kademelendirilebilir
  • Ambalaj: 8 pinli DIP, SOIJ, SOIC ve TSSOP.

Nereden Alınır

Daha EEPROM çipleri satın al, şu önerilere bir göz atabilirsiniz:

Arduino EEPROM'u kullanma

Arduino IDE ekran görüntüsü

EEPROM ile çalışmaya başlamak istiyorsanız, kartınızdakini de deneyebilirsiniz. Arduino. Mantıksal ve programlama düzeyinde nasıl çalıştığını anlamak için basit bir şekilde programlanabilir.

Bir değişkeni kaydetme örneği

//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'dan veri okumak için örnek

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

Değerleri güncelleme, yeniden zamanlama örneğ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
}

Daha fazla bilgi - Ücretsiz Arduino kursu


İlk yorumu siz

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.