Upload
ameeda-ummu-fauzy
View
283
Download
6
Embed Size (px)
Citation preview
BABII
PERLUASAN MEMORI
Mikrokotroler AT89X51/52 mempunyai keterbatasan kapasitas memori internal (on chip) baik memori program maupun memori data. Kapasitas memori program mikrokontroler AT89X51 adalah 4 kByte sedangkan AT89X52 adalah 8 kByte. Sedangkan kapasitas memori data on chip untuk mikrokontroler AT89X51 adalah 128 byte dan AT89X52 adalah 256 byte. Untuk melakukan penambahan kapasitas memori dapat dilakukan dengan menambahkan chip memori eksternal (off chip).
II.1 Memori
Secara umum memori dapat dibedakan menjadi dua macam, yaitu1.Memori hanya baca (ROM), dan2.Memori baca-tulis (RAM)
II.1.1Karakteristik Memori
Beberapa karakteristik memori yang perlu diperhatikan ketika melakukan perancangan aplikasi mikrokontroler yang menggunakan chip memori eksternal. Karakteristik-karakateristik tersebut antara lain:
II.1.1.1Kecepatan (speed)
Kecepatan dinyatakan dalam bentuk waktu akses (access time) dan waktu siklus (cycle time). Waktu akses adalah waktu yang diukur dari saat alamat yang diberikan ke memori stabil sampai memori memberikan data yang stabil. Waktu siklus adalah waktu yang menyatakan kecapatan mengakses memori secara kontinyu.
II.1.1.2Kepadatan/Kapasitas
Kepadatan atau kapasitas adalah jumlah bit yang dapat disimpan dalam chip memori. Kepadatan atau kapasitas chip memori menetukan berapa jumlah chip yang dibutuhkan untuk mengimplementasikan memori pada sistem mikroprosesor/mikrokontroler. Sedikitnya jumalgh chip akan mengurangi kompleksitas rangkaian dan luasan PCB (Printed Circuit Board) yang akhirnya akan mengurangi biaya sistem.
II.1.1.3Disipasi Daya (power disipation)
Disipasi daya adalah daya yang diserap (digunakan) oleh chip. Pada chip memori disipasi daya dibedakan menjadi daya operasi (operating power) dan daya stanbai (standby power). Dalam pemilihan chip memori, daya stanbai perlu diperhatikan karena waktu terbanyak berada pada kondisi stanbai. Chip dengan disipasi daya yang rendah akan mengurangi konsumsi daya listrik dan panas.
II.1.1.4Organisasi Memori
Susunan bit-bit dalam memori menentukan organisasi memori. Organisasi memori biasanya dinyatakan dalam bentuk perkalian antara jumlah alamat dengan lebar data. Sebagai contoh organisasi memori 1k x 8 bit menyatakan bahwa jumlah alamat adalah 1 kilo sedangkan lebar datanya 8 bit sehingga kapasaitas totalnya adalah 8 kbit.
catatan:kilo dalam satuan memori sama dengan 210 = 1024.
II.1.1.5Karakteristik non fisik
Dalam pemilihan chip memori, selain pertimbangan-pertimbangan di atas perlu juga
1
disampaikan di sini pertimbangan-pertimbangan non fisik, di antaranya adalah masalah harga, ketersedian di pasaran, dan kompatibilitas. Harga jelas akan mempengaruhi biaya dan nilai jual, ketersediaan di pasaran akan mempengaruhi kecepatan realisasi yang juga berimplikasi terhadap biaya dan waktu, kompatibilitas akan mempengaruhi kemudahan pengembangan.
II.1.2Memori Hanya Baca (ROM)
Pada sistem mikroprosesor atau mikrokontroler ada suatu bagian memori yang berisi program untuk dieksekusi atau data yang bersifat konstan dan hanya dibaca oleh prosessor (CPU). Data program maupun data konstan biasanya disimpan secara permanen di dalam memori hanya baca (Read Only Memory). ROM mempunyai keuntungan utama yang disebut nonvolatile, yaitu isi memori (data) tidak beubah (hilang) jika terjadi kesalahan operasi atau ketika catu daya tidak ada.
Tipe chip ROM dapat dikategorikan ke dalam :3.nonprogrammable read-only memoriy ( ROM)4.programmable, nonerasable, read only memory (PROM)5.programmable, ultraviolet erasable, read only memory ( UV EPROM)6.programmable, electrical erasable, read only memory (EEPROM)7.flash Memory.
II.1.2.1Nonprogrammeble ROM
Nonprogrammable ROM adalah jenis ROM yang tidak dapat diprogram oleh pengguna, data diisikan ketika proses pabrikasi. Data yang disimpan tidak dapat diubah. Pengubahan data memerlukan proses pabrikasi dari awal sehingga proses koreksi akan memerlukan biaya yang lebih besar serta waktu yang lebih lama.
II.1.2.2Programmable, nonerasable, read only memory (PROM)
PROM merupakan jenis ROM yang dapat diprogram oleh pengguna. Pemrograman (pengisian data ke chip) biasanya hanya dapat dilakukan satu kali sehingga sering juga disebut dengan One Time Programming ROM (OTP ROM). Pemrograman dillakukan dengan menggunakan alat pemrogram PROM.
II.1.2.3Ultra violet Erasable Programmable Read Only Memory ( UV EPROM)
UV EPROM adalah jenis ROM yang dapat dihapus dan diprogram. Pemograman dilakukan dengan bantuan pemrogram UV EPROM dan penghapusan dilakukan dengan menggunakan sinar ultra violet dengan rentang waktu tertentu. Tidak seperti PROM yang hanya dapat diprogram satu kali UV EPROM dapat dilakukan program-hapus berulang-ulang.
II.1.2.4Electrical Erasable Programmable Read Only Memory (EEPROM)
EEPROM atau kadang disingkat E2PROM adalah jenis ROM yang dapat dihapus dan diprogram secara elektrik sehingga chip memori tidak perlu dicabut dari sistem (In-circuit).
II.1.2.5Flash Memory
Flash memory adalah jenis ROM yang dapat dihapus dan diprogram secara elektrik. Penghapusan dan pemrograman dilakukan perblok yang biasanya besarnya 512 byte.
2
II.1.3Memori Baca-Tulis (RAM)
Dalam sistem komputer biasanya terdapat operasi yang membutuhkan penyimpanan data, yang dapat dilakukan pengubahan ketika sistem sedang berjalan. Data yang demikian membutuhkan tempat yang sifatnya dapat ditulis maupun dibaca. Tempat penyimpanan data tersebut biasanya menggunakan memori baca-tulis. Karena penulisan dan pembacaan dilakukan secara acak maka sering disebut dengan RAM (Random access memory). RAM bersifat volatile dalam artian jika catu daya dihilangkan dari chip maka data yang tersimpan akan hilang.
Elemen rangkaian yang membentuk RAM dapat bersifat dinamik maupun statik sehingga dikenal dengan RAM dinamik dan RAM statik.
II.1.3.1RAM Dinamik (DRAM)
DRAM elemen penyimpan logika 1 dan 0 berupa kapasitor, jika kapasitor terisi (charged) maka elemen penyimpan berlogika 1 dan jika kapasitor kosong (discharged) maka elemen penyimpan berlogika 0. Karena ada arus bocor pada kapasitor maka muatan pada kapasitor akan berkurang sampai pada titik yang mengakibatkan logika 1 akan berubah menjadi logika 0, yang berarti data yang tersimpan di dalam memori akan beubah (hilang). Oleh karena itu RAM Dinamik memerlukan proses yang dikenal dengan refresh. Refresh dilakukan secara periodik untuk mengisi ulang seluruh kapasitor yang berlogika 1 agar tidak berubah menjadi logika 0.
Beberapa karakteristik penting DRAM adalah:8.membutuhkan proses refresh.9.kepadatan tinggi.
10.disipasi daya rendah11.secara umum lebih lambat.12.rangkaian antarmuka lebih komplek13.pewaktuan (proses baca tulis) kompleks.14.harga perbitnya lebih murah
II.1.3.2RAM Statik (SRAM)
Pada RAM Statik elemen penyimpan berupa rangkaian flip-flop yang dibuat dengan beberapa transistor. Beberapa karakteristik SRAM adalah sebagai berikut:15.karena elemen penyimpan berupa flip-flop maka tidak diperlukan proses refresh16.kepadatanya lebih rendah 17.disipasi daya lebih besar18.kecepatan lebih tinggi19.rangkaian antarmuka lebih sederhana20.pewaktuan (proses baca tulis) lebih sederhana21.harga perbitnya lebih mahal
Beberapa perusahaan memproduksi SRAM yang disertai dengan baterai buck-up di dalam kemasannya, sehingga ketika catu daya hilang dari sistem, SRAM masih mendapatkan catu daya dari baterai buck-up tersebut. Jenis SRAM seperti ini sering disebut dengan Non Volatile SRAM (NV-SRAM). Kemudian SRAM yang tidak terdapat baterai back-up disebut dengan Volatile SRAM (V-SRAM).
Catatan:Sebagian besar memori (main memory) pada personal komputer (PC) merupakan memori jenis DRAM dan sebagian kecil berupa memori SRAM ( Cache Memory).
3
II.1.4Chip ROM dan RAM
Chip ROM dan RAM sangat beragam dari sisi kapasitas, jenis, maupun pembuatnya sehingga pada subbab ini hanya akan dibahas beberapa chip yang akan digunakan sebagai contoh dalam perancangan perluasan memori. Beberapa contoh chip ROM maupun RAM dapat dilihat pada Tabel II.4
Tabel II.4 Contoh chip ROM dan RAM.
Seri Jenis Kapasitas organisasi Kecepatan (ns)
Disipasi daya (mA)
operasi standbyAT28C64 EEPROM 64 kbit 8k x 8 bit 120 30 0,1M27C64 EPROM 64 kbit 8k x 8 bit 150 30 0,1HY6264A SRAM 64 kbit 8k x 8 bit 70 70 2DS1225 NV-SRAM 64 kbit 8k x 8 bit 70 - 200 75 5
II.2 Contoh Chip
Sebagai contoh chip akan dibahas dua chip yaitu AT28C64 dan DS1225
II.3 EEPROM AT28C64
AT28C64 adalah chip memori EEPROM yang diproduksi oleh ATMEL . Huruf di depan pada seri chip merupakan kode pembuat, sedangkan angka 28 merupakan kode EEPROM, huruf C merupakan kode teknologi yang digunakan untuk implement chip yaitu CMOS, angka 64 merupakan kapasitas memori dalam kilo (210) bit, yaitu 64 kbit. AT28C64 diorganisasikan ke dalam 8k x 8 bit.
Susunan kaki chip AT28C64 diperlihatkan pada Gambar II.14.
Gambar II.14 Susunan kaki IC AT28C64.
Tabel II.4 Fungsi kaki IC AT28C64
Nama Fungsi KeteranganA
0 s/d A
12Alamat jalur masukan alamat untuk menentukan
lokasi memori yang akan diakses.I/O
0 s/d I/O
7masukan/keluaran data jalur input data ketika proses menulis dan
keluaran data ketikan proses membaca./CE Chip enable jalur signal kendali untuk pemilihan chip (chip
enable), jika CE aktif maka chip dalam kondisi aktif dan jika CE tidak aktif maka chip dalam
4
kondisi stanbai./OE Output enable jalur signal kendali ketika proses membaca
(output enable)./WE Write enable jalur signal kendali ketika proses menulis
(write enable).Ready/Busy Keluaran ready/busy Jalur signal ready atau busyVCC Catu daya positif (+5V)GND GroundNC No Connect Tidak dihubungkan
II.3.1.1Operasi Penulisan
Operasi penulisan dilakukan pertama kali dengan mengirim alamat lokasi memori yang akan ditulis kemudian memberi logika OE = 1, CE dan WE = 0 seperti diperlihatkan pada Gambar II.14.
Gambar II.14 Diagram waktu operasi penulisan AT28C64.
II.3.1.2Operasi Pembacaan
Operasi pembacaan dilakukan pertama kali dengan mengirim alamat lokasi memori yang akan dibacakemudian memberi logika OE dan CE = 0 seperti diperlihatkan pada Gambar II.14.
Gambar II.14 Diagram waktu operasi pembacaan AT28C64
CatatanAgar konsumsi daya yang digunakan lebih hemat maka kaki CE diberi logika
tinggi jika tidak melakukan penulisan maupun pembacaan memori (lihat mode operasi).
5
II.4 NV-SRAM DS1225
DS1225 merupakan NV-SRAM yang diproduksi oleh Dallas/Maxim. Secara internal terdapat baterai lithium sebagai back-up. Ketika tegangan catu di bawah spesifikasi, baterai ini akan memberikan catu ke RAM sehingga data tidak hilang walaupun catu daya utama hilang atau ada gangguan. Pengalihan sumber catu daya RAM dari catu utama ke catu baterai back-up dilakukan secara otomatis.
Kapasitas memori DS1225 sebesar 64kbit dan diorganisasikan ke dalam 8k x 8 bit = 8kbyte. Susunan pin DS1225 kompatibel dengan EEPROM 2864 dan tentu saja dengan SRAM 6264 sebagaimana Gambar II.14.
Gambar II.14 Susunan kaki IC DS1225.
Tabel II.4 Fungsi kaki IC DS1225.
Nama Fungsi KeteranganA
0 s/d A
12Alamat jalur masukan alamat untuk menentukan
lokasi memori yang akan diakses.I/O
0 s/d I/O
7masukan/keluaran data
jalur input data ketika proses menulis dan keluaran data ketikan proses membaca.
/CE Chip enable jalur signal kendali untuk pemilihan chip (chip enable), jika CE aktif maka chip dalam kondisi aktif dan jika CE tidak aktif maka chip dalam kondisi stanby.
/OE Output enable jalur signal kendali ketika proses membaca (output enable).
/WE Write enable jalur signal kendali ketika proses menulis (write enable).
Ready/Busy Keluaran ready/busy Jalur signal ready atau busyVCC Catu daya positif (+5V)GND GroundNC No Connect Tidak dihubungkan
II.4.1.1Operasi Penulisan
Operasi penulisan dilakukan pertama kali dengan mengirim alamat lokasi memori yang akan ditulis kemudian memberi logika OE = 1, CE dan WE = 0 seperti diperlihatkan pada Gambar II.14.
6
Gambar II.14 Diagram pewaktuan operasi penulisan DS1225.
II.4.1.2Operasi Pembacaan
Operasi pembacaan dilakukan dengan memberi logika OE dan CE = 0 seperti diperlihatkan pada Gambar II.14.
Gambar II.14 Diagram pewaktuan operasi pembacaan DS1225.
II.5 Menambahkan Memori Program ( Program Memory/ Code Memory)
Mikrokontroler AT89X51/52 mampu mengalamati memori program sebesar 64 kByte. Akses terhadap memori program eksternal dilakukan dengan menggunakan Port 0 dan Port 2. Port 0 digunakan sebagai bus data yang termultipleks dengan bus alamat rendah ( A0 s/d A7 ), sedangkan Port 2 sebagai bus alamat tinggi ( A8 s/d A15 ). Sedangkan signal kendali yang digunakan adalah:
1.ALE ( Address Latch Enable ) aktif tinggi dan 2./PSEN (Program Store enable ) aktif rendah
II.5.1Signal ALE
Signal ALE digunakan untuk singkronisasi pada bus alamat rendah karena bus alamat rendah termultipleks dengan bus data. Pada setengah siklus mesin pertama Port 0 digunakan sebagai bus alamat dan setengah siklus mesin berikutnya digunakan sebagai bus data. Ketika data alamat berada pada port 0 yang ditandai oleh signal tinggi pada ALE maka data alamat harus dipegang oleh latch agar selama proses pembacaan memori program, data alamat tidak hilang. Pemegangan data alamat ini dilakukan menggunakan IC
7
(Integrated Circuit) latch seperti 74LS373 atau 74HCT573. Signal ALE dihubungkan dengan kaki pemboleh (enable) pada IC latch.
Gambar II.14. Koneksi Signal ALE Pada IC Latch 74LS373
II.5.2Signal /PSEN
Signal /PSEN merupakan signal baca untuk memori program. Signal ini dihubungkan dengan kaki OE (Output Enable) atau RD (Read).
II.5.3Chip Memori
Chip memori yang biasa digunakan sebagai memori program adalah dari jenis ROM semisal PROM, EPROM, EEPROM,dan Flash Memory atau NV-SRAM semisal DS1225. Gambar II.14 memperlihatkan hubungan antara IC Latch 74LS373, IC EEPROM 28C64, Port 0 ( bus data dan alamat) serta signal ALE, dan /PSEN.
Gambar II.14. Koneksi EPROM Dengan IC Latch 74LS373
8
Gambar II.14 Siklus Baca Memori Program eksternal
II.5.4Antarmuka Mikrokontroler Dengan Memori Program Eksternal
Sebagian koneksi (pengkawatan) antara mikrokontroler dengan memori program telah diperlihatkan pada Gambar II.14 dan Gambar II.14. Untuk lebih memperjelas, akan diberikan contoh perancangan koneksi secara lengkap.
Hal yang perlu diperhatikan dalam penambahan memori program adalah penempatan alamat chip memori tambahan pada ruang memori yang diperbolehkan. Penempatan chip memori tidak boleh tumpang tindih antara chip satu dengan yang lainnya, oleh karena itu perlu dirancang pemetaan dari semua chip yang akan ditambahkan.
Sebagai contoh akan ditambahkan chip memori AT28C64 untuk menambah kapasitas memori program yang telah dipunyai oleh mikrokontroler (4kByte onchip) dan ditempatkan pada alamat mulai 0x2000. Peta memorinya diperlihatkan pada Gambar II.14
Gambar II.14 Penempatan AT28C64 pada memori program.
Diagram blok antarmuka mikrokontroler dengan EEPROM AT28C64 diperlihatkan pada Gambar II.14.
9
Gambar II.14 Diagram blok antarmuka mikrokontroler dengan AT28C64.
Untuk membagi ruang memori data eksternal menjadi 8 ruang dapat dilakukan dengan menggunakan IC dekoder alamat seri 74LS138 dengan blok diagram seperti pada Gambar II.14 dan tabel kebenaran seperti pada Tabel II.4.
Gambar II.14 Blok diagram fungsional IC 74X138
Tabel II.4 Hubungan antara masukan dengan keluaran IC 74X138
Masukan KeluaranEnable Select
G1 /G2 C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7X 1 X X X 1 1 1 1 1 1 1 10 X X X X 1 1 1 1 1 1 1 11 0 0 0 0 0 1 1 1 1 1 1 11 0 0 0 1 1 0 1 1 1 1 1 11 0 0 1 0 1 1 0 1 1 1 1 11 0 0 1 1 1 1 1 0 1 1 1 11 0 1 0 0 1 1 1 1 0 1 1 11 0 1 0 1 1 1 1 1 1 0 1 11 0 1 1 0 1 1 1 1 1 1 0 11 0 1 1 1 1 1 1 1 1 1 1 0
Contoh rangkaiannya seperti pada Gambar II.14
Gambar II.14 Rangkaian dekoder menggunakan IC 74LS138
Catatan:Y0/D0 keluaran dekoder 74LS138 tidak dapat digunakan secara langsung karena ruang
10
alamatnya sudah digunakan oleh internal memori program (on-chip) sebesar 4kByte mulai alamat 0x0000 s/d 0x0FFF sedangkan alamat 0x1000 s/d 0x1FFF masih kosong. Agar alamat 0x1000 s/d 0x1FFF dapat digunakan maka perlu dilakukan pendekodean lebih lanjut, yaitu dengan mendekode alamat A11.
Rangkaian lengkap antarmuka mikrokontroler AT89C/S51 dengan EEPROM AT28C64 yang dipetakan pada lokasi memori mulai alamat 0x2000 diperlihatkan pada Gambar II.14.
Gambar II.14 Rangkaian lengkap antarmuka mikrokontroler AT89C/S51 dengan AT28C64.
II.6 Menambahkan Memori Data Ekternal
Mikrokontroler AT89C51/52 atau AT89S51/52 mempunyai ruang memori data eksternal sebesar 64 kbyte, yang bersifat dapat dibaca maupun ditulis. Akses data pada ruang memori data eksternal menggunakan bus alamat dan bus data yang sama dengan yang digunakan pada memori program eksternal. Oleh karena itu rangkaian antarmuka yang digunakan juga sama, yaitu menggunakan tambahan IC Latch sebagaimana Gambar II.14.
Sinyal kendali yang digunakan adalah:1.RD (Read) yaitu sinyal baca2.WR (write) yaitu sinyal tulis
11