Saturday, January 22, 2011

Belajar EEPROM Eksternal AT24C1024

Bismillahirrohmaanirrohiim...

Berdasarkan literatur dari wikipedia, EEPROM (Electrically Erasable Programmable Read-Only Memory) adalah sejenis chip memori tidak-terhapus yang digunakan dalam komputer dan peralatan elektronik lain untuk menyimpan sejumlah konfigurasi data pada alat elektronik tersebut yang tetap harus terjaga meskipun sumber daya diputuskan, seperti tabel kalibrasi atau kofigurasi perangkat.Pengembangan EEPROM lebih lanjut menghasilkan bentuk yang lebih spesifik, seperti memori kilat (flash memory). Memori kilat lebih ekonomis daripada perangkat EEPROM tradisional, sehingga banyak dipakai dalam perangkat keras yang mampu menyimpan data statik yang lebih banyak (seperti USB flash drive).Kelebihan utama dari EEPROM dibandingkan EPROM adalah ia dapat dihapus secara elektris menggunakan cahaya ultraviolet sehingga prosesnya lebih cepat. Jika RAM tidak memiliki batasan dalam hal baca-tulis memori, maka EEPROM sebaliknya. Beberapa jenis EEPROM keluaran pertama hanya dapat dihapus dan ditulis ulang (erase-rewrite) sebanyak 100 kali sedangkan model terbaru bisa sampai 100.000 kali.


Nah, salah satu EEPROM yang mempunyai memori cukup besar adalah AT24C1024 produksi ATMEL. Komponen ini menyediakan 1.048.576 bit serial Read Only Memory (EEPROM) yang bisa dihapus dan diprogram, terdiri dari 131.072 word yang masing-masing berukuran 8 bit . Komponen ini dapat dipasang secara cascade (maksimal 2 buah) dengan menggunakan konsep I2C. Komponen ini dapat digunakan dalam aplikasi industri dan komersial yang membutuhkan daya dan tegangan rendah.

Device Adress (Alamat Device)
Alamat device ini bergantung pada port A1. Jika A1=0(GND) maka alamatnya juga 0. Jika A1=1(VCC) maka alamat devicenya juga 1.

P0 merupakan bit ke 17 untuk alamat baca/tulis. R/W untuk menentukan operasi baca/tulis (0=baca, 1=tulis).

Operasi Write (tulis)

BYTE WRITE: untuk memilih data di memori EEPROM diperlukan 17-bit word alamat. Alamat ini terdiri dari bit P0 pada device adrress (alamat device), dan kemudian iikuti MSB dan LSB word alamat kemudian baru datanya.


 




Operasi Read (baca)
secara prinsip, operasi baca ini sama dengan operasi tulis, hanya saja bit R/W diberi logika 1.


Begini nih simulasinya.. Pertama-tama mari kita buat skema di porteus seperti gambar dibawah ini.



sebagai displaynya, digunakan LCD 2x16. Ingat, pada EEPROMnya pin SDA dan SCL harus diberi resistor pull up (kenapa? udah dari sononya, hehe). A1 diberi logika 0 (alamat 0), dan WP (Write Protect) diberi logika 0.
Programnya (BASCOM) sbb :
 
listing program
 

Pina.2 digunakan untuk input tombol yang berfungsi untuk operasi write data angka 3 pada alamat 1. Pina.3 untuk input tombol yang berfungsi read data pada alamat 1. Pina.4 untuk input tombol yang berfungsi untuk operasi write angka 255 pada alamat 1. Program utama pada listing ini terletak pada :

Do
  If Pina.2 = 0 Then Call Write_eeprom(1 , 3)        'tulis alamat 1 dengan data 3
  If Pina.3 = 0 Then
     Call Read_eeprom(1 , Value)            'baca alamat 1
     Lowerline : Lcd "datanya=" ; Value ; "   "
  End If
  If Pina.4 = 0 Then Call Write_eeprom(1 , 255)        'tulis alamat 1 dengan 255
Loop

alamat dan data pada penggalan program diatas dapat kita ubah2 sesuai keinginan kita..silahkan berkreasi.. :)

Oiya, untuk design PCBnya, bisa dicontohkan sperti ini (Eagle 5.4.0):

design board
 

Untuk lebih jelasnya, datasheet dan Application note komponen ini dapat langsung diunduh di situs resmi ATMEL dibawah ini:

Datasheet

Application Note

Demikian, semoga bermanfaat dan bisa dijadikan referensi... :)

Related Post:

3 comments:

  1. Mantab bro !!, jadi nambah ilmu nih, hehe ..
    mau tanya nih bro,,, klo untuk page write, apa alamat tertentu saja yg diakses atau boleh random ??? tolong pencerahannya ya... lagi pusing nih... bdw, salam kenal ya...

    ReplyDelete
  2. Thx atas komennya n salam kenal juga.. :)
    boleh random bro..tinggal tentuin aja alamat mana yang mau di write..tp kelemahannya kalo pas mau baca alamat yang udah kita tulis tadi jadi membingungkan soalnya alamatnya acak..
    oiya, ane follow blog brader yak.. http://elektro-jurnalku.blogspot.com/ kan?

    ReplyDelete
  3. thanks,,, atas pencerahannya. Nanti ta' coba coba dulu, kalu ada yang ganjel di pikiran, wa nanya lagi ya Primz...
    silahkan ajah Primz,,, tapi blognya msih kosong,,, hehehe, udah lama ga buka blog lagi nih,

    ReplyDelete