PADA ATMEGA8535
ROM (Read Only Memory) merupakan salah satu jenis memory non-
volatile yang mana data yang telah tersimpan tidak dapat dimodifikasi ataupun
dihapus. ROM biasa disebut sebagai firmware, karena umumnya data yang
terdapat pada ROM diisi oleh perusahaan ataupun pabrik yang memproduksi
suatu peralatan elektronik.
EEPROM (Electronic Erasable Programmable Read Only Memory)
merupakan salah satu jenis dari ROM, yang mana data yang telah tersimpan dapat
dimodifikasi ataupun dihapus secara elektronik. EEPROM juga termasuk dalam
kategori memory non-volatile yang mana data yang telah tersimpan tidak akan
hilang walaupun catu daya dimatikan.
Memory map merupakan pemetaan memory yang terdapat pada
mikrokontroler ATmega8535. Memory yang dipetakan tersebut antara lain:
program memory/in-system reprogrammable flash memory, data memory, serta
EEPROM.
4
BAB I – EEPROM
A. Pengertian ROM
ROM (Read Only Memory) merupakan salah satu jenis media
penyimpanan data yang biasa digunakan pada komputer dan berbagai macam
peralatan elektronik lainnya. Semua teknologi ROM bersifat non volatile, yang
artinya data yang tersimpan tidak akan terhapus walaupun catu daya dicabut dari
rangkaian. Data yang tersimpan pada ROM tidak bisa diubah. Namun ada
beberapa jenis ROM yang menggunakan teknologi tertentu sehingga data yang
tersimpan bisa dimodifikasi sesuai dengan keinginan. ROM juga biasa disebut
sebagai firmware karena biasanya program yang terdapat pada ROM
ditulis/diprogram oleh pabrik pembuat piranti elektronik. Sehingga program
tersebut hanya sesuai dengan perangkat elektronik yang spesifik.
B. Jenis-jenis ROM
1. ROM (Read Only Memory)
ROM atau yang biasa disebut dengan firmware adalah generasi awal dari
teknologi ROM. Data yang tersimpan di ROM tidak bisa diubah atau dimodifikasi
oleh pengguna. Oleh karena itu firmware yang disimpan oleh pabrik pada
perangkat elektronika umumnya tidak bisa dimodifikasi oleh pengguna.
Konstruksi dari ROM terdiri atas dioda yang dihubungkan secara matriks
yang terdiri dari baris dan kolom. Perhatikan gambar 1.1. Pada gambar tersebut
terdapat sel yang terdapat dioda dan sel yang tidak terdapat diode. Jika suatu sel
5
BAB I – EEPROM
terdapat dioda, maka arus dapat diteruskan ke ground sehingga sel tersebut
berlogika 1. Namun jika suatu sel tidak terdapat dioda, maka arus tidak dapat
dialirkan ke ground sehingga sel tersebut berlogika 0. Kumpulan dari logika 0 dan
1 dari matriks dioda tersebut bermakna data.
Oleh karena itu suatu ROM yang telah diisi program oleh pabrik akan
bersifat permanen. Sehingga pengguna tidak akan bisa memodifikasi atau
memprogram ulang ROM yang telah dibuat oleh pabrik.
2. PROM (Programmable Read Only Memory)
Generasi selanjutnya dari ROM yaitu PROM (Programmable Read Only
Memory). Apabila ROM telah diisi program oleh pabrik dan tidak dapat
dimodifikasi, maka PROM mengisi kekurangan yang terdapat pada ROM. PROM
memungkinkan pengguna untuk dapat memprogram/mengisi sendiri data yang
diinginkan. Sehingga di pasaran PROM biasanya dijual tanpa terisi program.
Perhatikan gambar 1.2. Jika konstruksi ROM terdiri atas dioda yang
disusun secara baris dan kolom, maka pada PROM peran dioda tersebut diganti
dengan fuse/sekering. Suatu PROM yang belum terisi data, maka setiap
sekeringnya akan tersambung. Pengguna membutuhkan suatu perangkat
programmer untuk menuliskan data pada PROM. Untuk memberikan logika 0,
maka fuse/sekering akan diputus. Oleh karena itu proses penulisan data pada
6
BAB I – EEPROM
PROM disebut dengan burning PROM. Sekering yang tersambung akan berlogika
1, sedangkan sekering yang terputus akan berlogika 0.
Kumpulan dari logika 0 dan 1 dari matriks sekering tersebut bermakna
data. Suatu PROM hanya dapat diisi data sekali saja, sehingga pengguna tidak
dapat memodifikasi/ mengubah data yang telah diprogram.
3. EPROM (Erasable Programmable Read Only Memory)
EPROM merupakan pengembangan lebih lanjut dari teknologi PROM.
Apabila PROM bisa diisi data oleh pengguna namun tidak bisa dimodifikasi,
EPROM menawarkan teknologi yang memungkinkan pengguna untuk
memodifikasi data yang telah ditulis. Berbeda dengan PROM yang menggunakan
matriks sekering pada konstruksinya, EPROM menggunakan dua buah transistor
yang saling berpotongan pada tiap selnya.
Perhatikan gambar 1.3. Pada gambar tersebut ditunjukkan satu buah sel
yang memiliki dua buah transistor yang saling berpotongan. Control gate
transistor terhubung dengan baris sedangkan drain transistor terhubung dengan
kolom. Di antara control gate dengan floating gate terdapat suatu lapisan oxide.
Untuk membuka atau menutup lapisan oxide dari transistor bisa menggunakan
cahaya UV (Ultra Violet) dengan lebar gelombang 253.7 nanometer. Jika arus
yang mengalir di antara control gate dan floating gate sebesar lebih dari 50% dari
7
BAB I – EEPROM
batas ambang, maka akan berlogika 1. Sedangkan jika arus yang mengalir di
antara control gate dan floating gate sebesar kurang dari 50% dari batas ambang,
maka akan berlogika 0.
Kumpulan dari logika 0 dan 1 dari matriks transistor tersebut bermakna
data. Untuk menulis dan memodifikasi data pada EPROM membutuhkan
peralatan khusus yang dapat memancarkan sinar UV (Ultra Violet) dan EPROM
tersebut harus dilepas dari rangkaian.
8
BAB I – EEPROM
9
BAB I – EEPROM
2. Data Memory
Berbeda dengan program memory, data memory tidak menggunakan
teknologi flash memory sebagai media penyimpanan datanya. Melainkan
menggunakan teknologi penyimpanan SRAM (Static Random Access Memory).
Kapasitas dari data memory ATmega8535 yaitu 512 Bytes. Apabila teknologi
ROM dan generasi-generasi ROM berikutnya bersifat non-volatile, maka berbeda
pula dengan SRAM. SRAM bersifat volatile, sehingga apabila catu daya dilepas
dari rangkaian maka data yang tersimpan pada SRAM tersebut akan terhapus.
10
BAB I – EEPROM
c. SRAM
SRAM dialokasikan untuk penyimpanan variabel ataupun konstanta
yang dideklarasikan pada program ATmega8535. Rentang
alamatnya mulai dari $060 sampai dengan $25F.
3. EEPROM
Jenis memori ketiga yang digunakan pada ATmega8535 selanjutnya yaitu
EEPROM (Electrical Erasable Programmable Read Only Memory). EEPROM
digunakan untuk menyimpan data yang ingin tetap tersimpan meskipun catu daya
dimatikan. Kapasitas dari EEPROM ATmega8535 yaitu 512 Bytes. Contoh
penggunaan EEPROM biasanya digunakan untuk melakukan logging/pencatatan.
Seperti penyimpanan data suhu pada sistem monitoring suhu.
11
BAB I – EEPROM
12
BAB I – EEPROM
pengalamatan secara otomatis, namun alamat pada masing-masing data yang akan
ditulis ataupun dibaca dari EEPROM dapat diberikan secara spesifik.
ATmega8535 sudah menyediakan register yang bertujuan untuk menampung
alamat dari masing-masing data yang akan disimpan ataupun dibaca dari
EEPROM, register tersebut yaitu EERH dan EERL.
Register EEAR terdiri dari 16 bit yang mana dibagi menjadi dua bagian,
yaitu EEARH dan EEARL. EEARH dimulai dari bit 8 sampai dengan bit 15,
sedangkan EEARL dimulai dari bit 0 sampai dengan bit 7.
Bit 0 sampai dengan bit 8 : EEPROM Address
Pada bit ini berisi alamat dari EEPROM yang digunakan.
Pengalamatan dari EEPROM berkisar dari 0 sampai dengan 511 secara
linier, sesuai dengan ukuran EEPROM ATmega8535 yaitu 512 Bytes.
Bit 9 sampai dengan bit 15 : Reserved Bits
Bit ini merupakan bit reserved atau bit yang telah digunakan oleh
ATmega8535 untuk keperluan tertentu. Pada bit ini nilainya selalu
dibaca sebagai nol (0).
13
BAB I – EEPROM
14
BAB I – EEPROM
15
BAB I – EEPROM
16
BAB I – EEPROM
17
BAB I – EEPROM
void main(void) {
int i;
18
BAB I – EEPROM
Penjelasan:
int i;
Maksud dari baris kode di atas adalah mendeklarasikan suatu variabel
bertipe integer yang digunakan untuk menampung hasil pembacaan data dari
EEPROM.
ptr_to_eeprom=&dataku;
Maksud dari baris kode di atas adalah memasukkan alamat variabel
EEPROM “dataku” pada variabel pointer “ptr_to_eeprom”
*ptr_to_eeprom=55;
Maksud dari baris kode di atas adalah memasukkan data berupa angka 55
pada pointer yang menunjuk pada alamat EEPROM “dataku”
i=*ptr_to_eeprom;
Maksud dari kode program di atas adalah memasukkan nilai dari alamat
pointer pada variabel “dataku” ke dalam variabel i.
19
BAB I – EEPROM
dataku=55
Maksud dari baris kode di atas adalah memasukkan data berupa angka 55
pada variabel EEPROM “dataku”
i=dataku
Maksud dari baris kode di atas adalah memasukkan data pada variabel
“dataku” dan disimpan pada variabel i.
20
BAB I – EEPROM
RANGKUMAN
ROM (Read Only Memory) atau yang biasa disebut dengan firmware
adalah generasi awal dari teknologi ROM. Data yang tersimpan di
ROM tidak bisa diubah atau dimodifikasi oleh pengguna.
PROM adalah jenis ROM memungkinkan pengguna untuk dapat
memprogram/mengisi sendiri data yang diinginkan.
EPROM adalah jenis ROM yang menawarkan teknologi yang
memungkinkan pengguna untuk memodifikasi data yang telah ditulis.
EEPROM adalah jenis ROM yang menawarkan teknologi yang
memungkinkan pengguna untuk memodifikasi data yang telah ditulis
tanpa menggunakan sinar UV.
Pada mikrokontroler ATMega8535 terdapat 3 jenis memory yang
digunakan, antara lain: program memory, data memory, dan
EEPROM
Register-register EEPROM pada ATmega8535 antara lain:
o SREG (Status Register)
o EEARH (EEPROM Address Register High) dan EEARL
(EEPROM Address Register Low)
o EEDR (EEPROM Data Register)
o EECR (EEPROM Control Register)
Penulisan data dan pembacaan data EEPROM pada ATmega8535
terdiri dari 2 metode, yaitu:
o Metode tidak langsung (Indirect Read Indirect Write)
o Metode langsung (Direct Read Direct Write)
21
BAB I – EEPROM
LATIHAN
1. Jelaskan prinsip kerja dari EEPROM !
2. Sebutkan dan jelaskan contoh penerapan EEPROM pada
rangkaian elektronika !
3. Jelaskan pemetaan memory pada ATmega8535 !
4. Jelaskan algoritma penulisan dan pembacaan data EEPROM pada
ATmega8535 !
5. Jelaskan perbedaan metode pembacaan dan penulisan EEPROM
secara langsung dengan metode pembacaan dan penulisan secara
tidak langsung !
22
BAB I – EEPROM
GLOSSARIUM
23
BAB I – EEPROM
DAFTAR PUSTAKA
24