Ceyhun TOPÇUOĞLU Kişisel Web Sitesi

EEPROM Nedir, Nasıl Kullanılır ve Pic Basic’de Dahili EEPROM Uygulaması

Bu makalemde EEPROM’un ne olduğundan, nasıl kullanabileceğimizden, avantajları ve dezavantajlarından bahsedeceğim. Örnek bir uygulaymayla da konuyu pekiştirmek istiyorum.

Mikro Denetliyicilerde en büyük sorunlardan birisi de güç kesilince kaybolan bilgilerimizdir.Sadece enerjisini kestiğimizde kaybolan verilerimizin yanı sıra bazı ortamlarda ki ses-parazit yüzünden mikro denetleyicimiz de kendini resetler, yine bilgilerimiz kaybolur. Çünkü işlem yaparken tüm değişkenlerimiz RAM bellektedir. Besleme gerilimi kesildiği anda RAM bellek tamamen silinir. Peki nasıl oluyor da yüklediğimiz program hiç bozulmadan duruyor ? Çünkü aktardığımız programımız direk olarak ROM belleğe yazılır, işlemcimizi çalıştırdığımızdan buradan çağrılarak işleyişine devam eder. Bu bölgeye EPROM (FLASH Memory) adı verilir. Bir de ROM belleğin diğer bir kısmı var ki asıl amacım sizlere onu anlatmak. O bölüme ise EEPROM adı veriliyor.

EEPROM (Electronically Erasable Programmable Read-Only Memory) kelimesinin baş harflerinden türetilmiştir. Türkçe olarak çevirdiğimizde; Eletriksel olarak Silinebilen Programlanabilien ve Sadece Okunabilen Hafıza demek oluyor. Bu hafıza alanına programımız işlerken müdahale edebiliyor, okuyabiliyor veya üzerine yazabiliyoruz. Ayrıca güç kesintisi ve reset olaylarında bu bölgede ki veriler silinmiyor. Ram belleklere göre çok yavaş çalışan bu bölgede sadece 2KB bir bilgi saklayabiliyoruz, harici eepromla ile bu sayıyı yükseltmek mümkün fakat fazla hafızaya gereksinim duyuyorsanız Flash Bellek – SD Kart kullanmak daha mantıklı.Ayrıca EEPROM hafızasının yetmediği takdirde program hafızasını da kullanabiliyoruz.EEPROM lar dahili ve harici olarak kullanabilirler MicroChip’in 12F,16F,18F serisi denetleyicilerinde dahili EEPROM’lar bulunmaktadır. EEPROM ların diğer bir özelliği ise 1.000.000 den fazla yazılma ve silinme özelliğine sahip ayrıca yazılan bir bilgi günümüz EEPROM’ ların da en az 40 sene saklanabiliyor. Bu rakamlar gerçekten çok ciddi rakamlar. Flash belleklerle karşılaştırırsak EEPROM’ lar çok daha geç yıpranıyorlar. Lakin 1 byte lık bilgiyi Flash bellekler 10 Nano Saniye de yazarken EEPROM’ lar 1 MS gibi bir sürede ancak yazabiliyorlar. Bu yüzden sürekli eeprom’a yazmak yerine sadece ihtiyacımız olan biligileri EEPROM’da yazmamız gerekiyor.

Picbasic’ de Dahili EEPROM Kullanımı ;

PBP kütüphanesinde EEPROM yazmak ve okumak için çok basite indirgenmiş 2 komut vardır. Bunlar Write, Read komutları.

Write Komutu adında da anlaşılacağı gibi EEPROM’ a Yazmak için kullanılır.Read Komutu ise EEPROM’ u Okumak için kullanılır.

EEPROM’a Yazma Komutu;

Write Adres,Veri
Şeklinde kullanılan bu komut oldukça basit zaten. Fakat bu komuttan sonra 10 ms bir gecikme koymamız gerekmektedir. Sebebi ise EEPROM’ a yazma işinin tamamlandığından emin olmalıyız. Yazma tamamlanmadan komut işletmeye çalışırsak yazmaya çalıştığımız değer eksik bir şekilde kaydedilecektir. Toplu kayıtlardan sonra Tek bir Pause 10 komutu kullanılabilir. Ayrıca çoğu denemelerimde gecikme kullanmadığım da bir sorun çıkmadı fakat işimizi sağlama almakta fayda var.

Örnek Komut;

Write 3,#bilgi   ‘ 3. EEprom adresine bilgi adında ki değişkenin içeriğini yazdık
Pause 10           ‘ Yazma işleminin bittiğinden emin olmamız için bir gecikme koyduk.

EEPROM’dan Okuma Komutu;

Read Adres,Değişken
Şeklinde kullanılır.Okuduğumuz adres 1 byte bilgi taşıdığını için değişkenimizde en az Byte tipinde tanımlanmış olması gerekiyor. Write komutunda ki gibi bekleme söz konusu değildir, direk olarak kullanılabilir.

Ufak bir uygulama ile EEPROM olayını anlamanız için bir devre paylaşıcam, Board’ da kurarak mantığını daha iyi kavrayabilirsiniz. Devre de 3 adet buton bulmaktadır. Bunlar “Arttır”,” Azalt”, “Değiştir-Kaydet” butonları dır. devreyi ilk çalıştırdığımızda Arttır Azalt butonları ile EEpromları okuyabilirsiniz. Herhangi bir EEPROM’a yazmak için  “Değiştir-Kaydet” butonuna basarak EEPROM yazma ekranına gelin. Üstte ki yanıp sönen alana bilginin kaydedileceği EEPROM adresini girin ( Arttır, Azalt butonları ile). Tekrar “Değiştir-Kaydet” butonuna tıklayarak, Altta ki yanıp sönen alana kaydedilecek bilgiyi girin.( Arttır, Azalt butonları ile).Daha sonra “Değiştir-Kaydet” butonuna basarak Hedeflenen EEPROM’a hedeflenen bilgiyi kaydedin. Tekrardan EEPROM lar arasında gezinerek içeriklerine bakabilirsiniz.

OKUMA:
eeprom-1
YAZMA:
eeprom-2

downloadDevrenin Şemaları ve Kaynak Kodları İçin Tıkla

Arama Kelimeleri : EEPROM nedir (48) eprom nedir (28) eeprom hatası (10) eeporm nedemek (1)
Admin Hakkında
Kocaeli Üniversitesinde Mekatronik Mühendisliği 3. sınıf öğrencisi Nefes Doğa ve Kamp Grubu yöneticisi. #Camping #Vb.net #C# #SolidWorks #PHP #SQL #WebSecurity #ComputerSecurity... Ayrıntılı bilgi için tıklayın

  1. mustafa emre diyor ki:

    hocam kusura bakmayın bu işlerde yeni sayılırım istediğimiz melodiyi nasıl yükleyeceğim onu biraz daha açıklar mısınız

  2. ege diyor ki:

    kardeşim 95640 eepromu programa girmeden devredışı bırakabılırmıyız

    • Ceyhun TOPÇUOĞLU diyor ki:

      Programa girmeden Ancak fiziksel olarak ayırabilirisiniz. Fakat bu ana program eepromdan veri okumaya çalıştığında hata olarak görerek programda aksatlıklar olabilir. İmkanınız var ise +5 v ve GND bacaklarını ana karttan ayırın.

  3. mevlüt diyor ki:

    hocam mitsubishi fx1n 60 mr-ds plc var bunun üzerinde sökülebilir epron var bu epron tam olarak ne işe yarar bu epronu başka plc ye taktıgımda direk çalışırmı yoksa yeni plc yi taktıgımda başka bir işlemmi yapmam gerekiyor

  4. Erdtur diyor ki:

    Merhaba,
    picbasicde bir EEPROM komutu var o nerelerde kullanılır. açıklarsanız memnun olurum.

    kolay gelsin
    Erdtur

    • Ceyhun TOPÇUOĞLU diyor ki:

      Merhaba; EEPROM’ların varsayılan(Default) içeriği FF yani 255’dir. Eğer siz isterseniz EEPROM’ların bu varsayılan değerlerini değiştirebiliyorsunuz. EEPROM=64 Komutunu verdiğinizde tüm dokunulmamış EEPROMLAR 64 değerini alır.

      • Erdtur diyor ki:

        Cevabınız için teşekkürler,
        Sanırım, Bu değer eeproma sadece pic’in içerisine program download ederken yüklenir.
        Daha sonra pic içerisindeki eeprom değerleri WRITE komutu ile değiştirilirse, bir sonraki restart ta eepromda en son değitirilen değerler kalırmı?

        Teşekkür ederim.
        Erdtur

        • Ceyhun TOPÇUOĞLU diyor ki:

          Kısmen doğru, şöyle izhah etmeye çalışıyım. EEprom komutu program esnasında kullanılabilir bir komut şöyle ki; Sizin yazacağınız programda ayrı ayrı derslikler olduğunu düşünün. Ders zilini kontrol eden bir yazılım yapıcaksınız. Ders zilleri 40 dk dan geriye olucak şekilde geri sayım yapıyorsunuz ve bunlar anlık olarak eeproma yazılıyor. Programın başında EEprom=40 komutunu verdiğinizde tüm EEpromlar 40 olucak siz yeni bir derslik eklendiğinde sadece o dersliği de gerisayıma katıcaksınız. Onu tekrardan 40 değerine set etmenize gerek yok. Veye diğerleri içinde her ders sonunda düm derslikleri set etmiyeceksiniz. tekrardan EEprom=40 komutunu vermeniz yeterli olucak

  5. Turgay diyor ki:

    Merhaba öncelikle epromlarla ilgili çok bilgi sahibi değilim. Bir konu hakkında yardımınıza ihyiyacım var. Bende bir elektronik sanayi tipi makina var ve hareketlerini epromlara yazılan verilerle belirleniyor makinanın kulladıgı 14 bacaklı bir eprom benim bu eproma yazdıgım veriyi yüklemem lazım ama nasıl yapacagımı bilmiyorum eprom okuyucu olarak neyi kullananbilirim ve yazmak için başka bir programada ihtiyacım var mı ?
    Yardımcı olursanız sevinirim Tesekkürler.

    • Ceyhun TOPÇUOĞLU diyor ki:

      Merhaba, öncelikle mikrodenetleyicinin modelini öğrenmeniz gerekiyor. Eğer yazılım ile eeproma yazma izni veriyor ise bu yolla yazabilirsiniz. Veya eepromun model ve üretici firmasına göre gerekli donanım ve yazılım ile yapabilirsiniz.

      • Turgay diyor ki:

        Teşekkür ederim Verdiğiniz cevaplar için
        Epromlara HEX olarak mı yazılıyor veriler , makinaya veri yazdıgım programın HEX olarak veriyi kaydetme özelligi var. Ama direkt olarak Eproma yazarmı bilmiyorum denemedim çünkü Epromu PC ye bağlayamadım yani usb okuyucuları çözmüş değilim piyasada yaygın olanların hangisi işimi görür bilemiyorum çok fazla bilgim olmadıgı için internette araştırma yaptım fakat net bir sonuca varamadım sizin Epromlar ile alakalı yazılarınızı görünce yazmak istedim sizi rahatsız ediyorum kusura bakmayın

Bir Yorum Yazın

Doğrulama Kodu : (Verilen işlemde boş bırakılan yeri doldurun) * Time limit is exhausted. Please reload CAPTCHA.