Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

EPROM Emulator

Eprom Emulator adalah sistem multiplexing memori yang dibangun dengan RAM (Random Access Memory) yang mempunyai 2 mode kerja, mode pertama adalah mode pengisian memori, mode kedua adalah mode pemakaian memori sebagai memori-program (code-memory) bagi sistem prosesor lain.

Program pengendali mikroprosesor / mikrokontroler biasanya disimpan di dalam suatu chip ROM (Read-Only Memory) atau EPROM (Erasable Programmable Read-Only Memory) agar tidak hilang walaupun catu daya dimatikan. Pada saat uji-coba program, isi EPROM sering harus dirubah. Proses hapus dan isi ulang EPROM sangat merepotkan dan makan waktu. EPROM Emulator dipakai untuk mempermudah proses tersebut.

Pada mode pertama, saluran-data (data bus); saluran-alamat (address bus) dan WE (Write-Enable, sinyal perintah untuk menyimpan data) Dari RAM dikendalikan dengan mikrokontroler. Program dirancang bangun di komputer, pada saat akan diuji coba, program tersebut ditransferkan ke mikrokontroler untuk disimpan di RAM.

Selesai mengisi RAM, pada mode kedua saluran-data (data bus) dan saluran-alamat (address bus) dari RAM dihubungkan ke rangkaian pemakai EPROM Emulator ini, dan prosesor tersebut mengambil isi RAM sebagai program, seperti layaknya prosesor mengambil program dari EPROM. Prosesor ini berikutnya disebut sebagai Prosesor Pemakai Eprom.

Pada setiap mode, kaki OE pada RAM dikontrol oleh mikrokontroler agar pada mode pertama OE menjadi tidak aktif dan pada mode kedua OE menjadi aktif.

Gambar 1 memperlihatkan bagan sebuah EPROM Emulator yang dibangun dengan AT89C51, hal-hal yang dibicarakan diatas terlihat dengan jelas dalam gambar tersebut. Nampak jelas RAM dalam EPROM Emulator dikendalikan dari dua pihak, masing-masing dengan perangkat kendali sendiri. AT89C51 mengisi RAM dengan saluran-Data I; saluran-alamat I, WE dan OE, sedangkan prosesor pemakai EPROM mengambil program dari RAM dengan saluran-data II; saluran-alamat II, OE dan CE.

Agar sistem memori ini dapat bekerja, diperlukan satu perangkat saklar digital untuk memisahkan saluran-saluran data dan saluran-saluran alamat dari AT89C51 sebagai pengisi dan sistem mikroprosesor sebagai pengguna memori. Sehingga pada mode pengisian, RAM terhubung ke AT89C51 dan terlepas dari prosesor pemakai EPROM, pada mode pemakaian memori RAM terlepas dari AT89C51 dan dikendalikan oleh prosesor pemakai EPROM, kecuali untuk sinyal OE.

Meskipun masalahnya hanya sekedar sistem saklar, tapi karena menyangkut banyak jalur (8 jalur untuk saluran-data, 13 jalur untuk saluran-alamat, jalur-jalur kontrol, yang masing-masing satu perangkat dari AT89C51 dan prosesor pemakaian EPROM), rangkaian jadi rumit dan harus dirancang cukup baik

Blok Diagram EPROM Emulator
Gambar 1. Bagan kerja EPROM Emulator

Sistem Saklar

Sistem saklar merupakan bagian utama dalam rangkaian EPROM Emulator, sehingga perlu dipilih IC yang tepat untuk sistem saklar ini.

Untuk keperluan sistem saklar seperti ini, biasanya digunakan tri-state buffer, yaitu sebuah komponen digital yang dapat mempunyai tiga keadaan output, yaitu high, low, dan high-impedance. Yang disebut dengan high-impedance adalah suatu keadaan dimana output tri-state buffer di-‘mati’-kan. Dalam keadaan semacam ini hubungan elektris dari satu bagian ke bagian lain bisa dilepas meskipun secara fisik kedua bagian itu masih terhubung lewat komponen ini.

Dari sekian banyak tri-state buffer yang ada, dengan pertimbangan agar PCB untuk EPROM Emulator tidak menjadi rumit, dipilih 74LS245 Octal Bus Transceiver, seperti diperlihatkan dalam Gambar 2. IC ini merupakan kumpulan dari 8 buah tri-state buffer 2 arah yang dikemas dalam satu chip, membentuk sistem saklar untuk 8 jalur sekaligus. Susunan kaki 8 buah tri-state buffer tersebut di atur sedemikian rupa sehingga masing-masing jalur mempunyai kaki yang berseberangan (perhatikan kaki 9 dan kaki 11, kaki 8 dan kaki 12 dan seterusnya), sehingga memudahkan pembuatan PCB.

Gambar 2. Susunan Kaki 74LS245

74LS245 bisa menyalurkan data dalam dua arah, yakni dari sisi B (B1 .. B8, kaki 11 sampai 18) ke sisi A (A1..A8, kaki 2 sampai 9), atau sebaliknya. Arah aliran data ini ditentukan lewat DIR (kaki nomor 1), jika DIR = ‘0’ data bisa mengalir dari sisi B ke A, dan data mengalir dari sisi A ke B jika DIR=’1’. Selain itu aliran data tersebut bisa di-‘mati’-kan sama sekali dengan memberi ‘1’ pada E (kaki nomor 19). Hal ini diringkas dalam tabel di Gambar 2.

Desain Rangkaian EPROM Emulator

Rangkaian lengkap EPROM Emulator terlihat di Gambar 3. Dalam gambar tersebut AT89C51 (U1) berfungsi menerima data dari PC lewat saluran RS232, selanjutnya mengisikan data tersebut ke RAM 6264 (U2). Konektor EPROM yang diemulasi adalah konektor (header 28) yang susunan kakinya dibuat sama dengan susunan kaki UV EPROM 2764. Lewat konektor ini EPROM Emulator dihubungkan ke prosesor pemakai EPROM.

C1, C2 dan kristal Y1 merupakan rangkaian osilator standard MCS51, C3 dan R2 membentuk rangkaian reset. Kedua rangkaian ini selalu dijumpai dalam semua rangkaian dengan mikrokontroler MCS51.

Komunikasi ke PC dilakukan dengan menggunakan sarana UART yang ada di dalam AT89C51, sinyal UART tersebut dikirim lewat TXD (kaki nomor 11) dan diterima di RXD (kaki nomor 10). Kedua kaki tersebut bekerja dengan level tegangan TTL, sedangkan Serial Port PC bekerja dengan level tegangan RS232. IC MAX232 (U3) berikut dengan kapasitor C4, C5, C6 dan C7 bertugas menyesesuaikan kedua level tegangan yang berbeda tersebut, agar alat ini mudah dihubungkan ke PC. Konektor P1 merupakan konektor DB9, konektor standar RS232, seperti yang biasa dipakai untuk mouse dari PC.

Gambar 3. Rangkaian EPROM Emulator

Sistem saklar dibangun dengan 3 chip 74LS245 (U4, U5 dan U6), U4 untuk saluran-data dan U5, U6 untuk saluran-alamat. Sinyal DIR dari ketiga IC tersebut dihubungkan ke Ground (‘0’), dengan demikian data akan mengalir dari sisi B (kaki 11 sampai 18) ke sisi A (kaki 2 sampai 9).

Sistem saklar ini dikendalikan dengan sinyal FillRAM yang dibangkitkan AT89C51 di P3.2, dihubungkan ke kaki G (kaki nomor 19) U5 dan U6. Sedangkan kaki G pada U4 (saluran data) tidak langsung dihubungkan ke P3.2 AT89C51. Sinyal FillRAM bersama-sama dengan sinyal CE dan OE dari sistem pengguna EPROM di-OR-kan menjadi satu untuk mengendalikan kaki G pada U4. Hal ini karena pada mode pemakaian memori, apabila mikroprosesor tidak sedang mengakses EPROM Emulator atau dengan kata lain pin CE dan atau OE pada soket EPROM adalah High, seharusnya O0..O7 dari soket EPROM dalam keadaan mengambang / tri-state.

Pada mode Pengisian Memori, sinyal FillRAM bernilai ‘1’ memutuskan hubungan sisi B ke sisi A semua 74LS245, sehingga hubungan RAM ke prosesor pemakai EPROM sama sekali terputus.
Pada mode Pemakaian Memori, sinyal FillRAM bernilai ‘0’, U4 menghubungkan saluran-data RAM (.D7) ke O0..O7 konektor EPROM yang diemulasi yang selanjutnya dihubungkan ke saluran-data prosesor pemakai EPROM (apabila kondisi CE dan OE dari sistem mikroprosesor bernilai ‘0’), U5 dan U6 menghubungkan saluran-alamat dari prosesor pemakai EPROM ke saluran-alamat RAM (A0..A12).

Saluran-data; saluran-alamat dari AT89C51 tidak perlu dilewatkan 74LS245, tapi dari Port 0 (P0.0..P0.7, kaki nomor 32 sampai 39) langsung dihubungkan ke saluran-data 6264 (U2) (D0..D7, kaki nomor 11 sampai 19), Port 1 (P1.0..P1.7, kaki nomor 1 sampai 8) langsung dihubungkan ke saluran-alamat 6264 (A0..A7, kaki 10 sampai 3), Port 2 (P2.0..P2.4, kaki 21 sampai 25) langsung dihubungkan ke saluran-alamat 6264 (A8..A12), demikian pula dengan P2.6 .. P2.7 dihubungkan ke OE dan WE dari 6264. Kaki CS dari 6264 langsung dihubungkan ke GND sehingga 6264 akan aktif sepanjang waktu.

Hubungan port-port AT89C51 langsung ke RAM 6264 tersebut mendaya-gunakan sifat rangkaian output pada Port 0, Port 1 dan Port 2 AT89C51, yang mempunyai konstruksi quasi bi-directional port. Sifat rangkaian output quasi bi-directional ini mirip dengan rangkaian output open-collector pada IC TTL. Saat rangkaian output semacam ini bernilai ‘1’ , maka rangkaian ini tidak akan ber-‘tabrak’-an dengan rangkaian output komponen digital lainnya, sehingga tidak memerlukan 74LS245. Hal ini dijelaskan lebih lanjut dengan Gambar 4a dan Gambar 4b berikut.

Gambar 4a. Bagan sistem saklar saluran-data

Gambar 4a menggambarkan sistem saklar untuk saluran-data secara rinci, untuk memudahkan pembahasan gambar ini hanya menggambarkan jalur-data D0 saja (saluran-data yang lengkap terdiri atas jalur-data D0 .. D7). Pada gambar tersebut kaki D0 dari RAM dihubungkan ke input 74LS245 dan output Port 0 dari AT89C51.

Transistor MOS dalam gambar merupakan bagian akhir rangkaian output quasi bi-directional port 0, rangkaian Port 0 ini tidak dilengkapi tahanan ke Vcc sehingga harus ditambah tahanan di luar chip (R1 pada rangkaian Gambar 3).

Saat saluran-data dipakai AT89C51 untuk mengisi RAM, kaki G pada 74LS245 yang dikendalikan oleh sinyal FillRAM berkedudukan ‘1’ akibatnya hubungan sisi B ke sisi A 74LS245 terputus, sehingga aktivitas AT89C51 tidak akan mengganggu kerja dari rangkaian prosesor pemakai EPROM.

Saat prosesor pemakai EPROM mengambil isi memori, sinyal FillRAM dibuat menjadi ‘0’ akibatnya sisi B 74LS245 terhubung ke sisi A, berarti jalur-data memori terhubung ke jalur-data prosesor pemakai EPROM. Saat ini transistor MOS pada Port 0 di-‘off’-kan sehingga tidak ‘mengganggu’ jalur-data, hal ini bisa dilaksanakan dengan instruksi MOV P0,#$FF.

Gambar 4b. Bagan sistem saklar saluran-alamat

Gambar 4b menggambarkan sistem saklar untuk saluran-alamat secara rinci, untuk memudahkan pembahasan gambar ini hanya menggambarkan jalur-data A0 saja (saluran-alamat yang lengkap terdiri atas jalur-data A0 .. A12). Pada gambar tersebut kaki A0 dari RAM dihubungkan ke input 74LS245 dan output Port 1 & sebagaian Port 2 dari AT89C51.

Rangkaian output quasi bi-directional Port 1 & Port 2 merupakan transistor MOS yang dilengkapi tahanan ke Vcc sehingga tidak perlu ditambah tahanan di luar chip.

Saat AT89C51 mengisi RAM, kaki G pada 74LS245 yang dikendalikan oleh sinyal FillRAM berkedudukan ‘1’ akibatnya hubungan sisi B ke sisi A 74LS245 terputus, sehingga rangkaian prosesor pemakai EPROM tidak mengganggu informasi yang terdapat pada Port 1 dan Port 2. Sinyal FillRAM dibuat bernilai ‘1’ dengan instruksi:

SETB P3.2 ;FillRAM mode

Saat prosesor pemakai EPROM mengambil isi memori, sinyal FillRAM dibuat menjadi ‘0’ akibatnya sisi B 74LS245 terhubung ke sisi A, berarti jalur-alamat prosesor pemakai EPROM terhubung ke jalur-alamat memori. Saat ini transistor MOS pada Port 1 dan Port 2 di-‘off’-kan dengan instruksi MOV P1,#$FF dan MOV P2,#$BF. Port 2 diisi nilai $BF yaitu agar OE pada 6264 menjadi aktif, sehingga data pada 6264 dapat dibaca oleh prosesor pemakai. Sinyal FillRAM dibuat bernilai ‘1’ dengan instruksi:

CLR P3.2 ;Disabling FillRAM (enabling buffer)

Untuk keperluan ini, dalam rangkaian ini RAM 6264 tidak disusun sebagai memori-data eksternal, tapi diperlakukan sebagai chip memori yang dikendalikan dengan Port 0, Port 1 dan Port 2. Sinyal perintah untuk penyimpan data ke 6264 juga tidak pakai sinyal WR milik AT89C51, tapi dikendalikan dengan P2.7. Cara penulisan data ke 6264 tanpa instruksi MOVX milik MCS51 adalah seperti potongan program di bawah ini:

Potongan Program 1 :

1 : Fill:
2 : MOV P1,DPL ;Prepare A0..A7
3 : MOV B,DPH
4 : ANL B,#$1F
5 : ORL B,#$C0 ;WE high, OE high, CS low
6 : MOV P2,B ;Prepare A8..A12, WE, OE, CS
7 : MOV P0,A ;Preparing Data D0..D7
8 : NOP
9 : CLR P2.7 ;Writing Data into RAM
10 : NOP ;———————
11 : SETB P2.7 ;———————

Dengan mengkonfigurasikan RAM sebagai salah satu I/O seperti cara ini dan bukannya sebagai memori-data external, rangkaian hardware dapat disederhanakan walaupun dengan kompensasi sedikit lebih rumit dalam pembuatan software untuk EPROM Emulator tersebut.


This post first appeared on Teknik Elektronika Dan Radio Komunikasi, please read the originial post: here

Share the post

EPROM Emulator

×

Subscribe to Teknik Elektronika Dan Radio Komunikasi

Get updates delivered right to your inbox!

Thank you for your subscription

×