Tuesday, June 7, 2011

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

ADC0809

ADC0809 adalah IC pengubah tegangan analog menjadi digital dengan masukan berupa 8 kanal input yang dapat dipilih. IC ADC0809 dapat melakukan proses konversi secara terkontrol ataupun free running. Modul AD-0809 yang didisain terhubung dengan Modul DST-51 dikhususkan untuk melakukan proses konversi secara terkontrol, yaitu sebuah proses konversi perubahan tegangan dari analog ke digital berdasarkan perintah dari mikrokontroler.

ADC ini mempunyai ketelitian sebesar 1 bit LSB, untuk ketelitian yang lebih akurat ½ bit LSB, IC ini dapat digantikan dengan ADC0808 yang mempunyai konfigurasi pin sama persis dengan ADC0809. ADC0809 melakukan konversi tegangan analog ke digital dengan menggunakan metode SAR (successive approximation register) dengan resolusi 8 bit dan waktu konversi 100 uS.

Gambar 1 Blok Diagram ADC (diambil dari data sheet National Semiconductor)

Seperti yang terlihat pada gambar 1, ADC ini mempunyai 8 kanal saklar analog multipleks yang diatur oleh Address Latch and Decoder di mana multiplexer ini akan meneruskan sinyal analog tersebut ke bagian konversi tegangan. Pada mode terkontrol, proses konversi dilakukan setelah perintah start yaitu logika 1 pada kaki START diberikan. Kecepatan konversi tergantung dari frekwensi clock yang diberikan oleh rangkaian eksternal. Sedangkan hasil konversi dikirimkan ke Tri State Output Latch Buffer yang kompatibel dengan level TTL, yaitu sebuah buffer penahan yang bersifat tiga tingkat di mana tingkat pertama terjadi pada saat data hasil konversi masuk ke input dari bagian ini. Tingkat kedua saat data tersebut di latch (terjadi secara otomatis dalam IC ini setiap kali konversi) ke dalam buffer internalnya dan tingkat ketiga saat sinyal OE yang berlogika 1 diberikan ke kaki OE IC ini sehingga data yang ada dalam buffer internal dikirim ke bagian output (D0…D7). Selama kaki OE masih berlogika 0 maka jalur output (D0…D7) bersifat high impedance (impedansi tinggi) sehingga pada suatu sistem yang kompleks, jalur ini masih dapat digunakan oleh komponen lain yang mempunyai kemampuan akses dengan menggunakan sistem bus

Pemilihan Kanal Input ADC0809

ADC0809 mempunyai 8 buah kanal input yang diatur oleh kaki A0, A1 dan A2 sesuai dengan tabel berikut:

Tabel 1

Proses Konversi ADC0809

Gambar 2 Timing Diagram ADC0809 (diambil dari data sheet National Semiconductor)

Pada timing diagram di atas, tampak proses konversi mulai terjadi saat sinyal ALE dan Start muncul. Sinyal analog di kanal sesuai yang ditunjuk berdasarkan kaki A0, A1 dan A2 akan dikonversi menjadi digital. Akhir proses konversi terjadi dengan adanya perubahan dari logika 0 ke logika 1 pada kaki EOC. Data hasil konversi akan muncul di Data Bus (D0…D7) saat sinyal OE berlogika 1 muncul.

Hubungan ADC0809 ke Modul DST-51

ADC0809 tidak mempunyai pin WR dan CS sesuai yang dibutuhkan oleh Control Bus DST-51, oleh karena itu dengan tambahan rangkaian seperti pada gambar berikut maka ADC0809 seolah-olah mempunyai pin WR dan CS.

Gambar 3 Skema Modul AD-0809

Dengan rangkaian gerbang NOR 74LS02 seperti pada gambar 2, maka sinyal WR dan RD hanya dapat diteruskan ke kaki start atau OE dari ADC0809 hanya saat kondisi CS berlogika 0. Sinyal WR yang diteruskan ke Start dan ALE akan memerintahkan ADC0809 untuk melakukan konversi tegangan.

Apabila kondisi CS berlogika 1, maka output dari gerbang NOR akan selalu berlogika 0 sehingga Start, ALE maupun OE tidak akan aktif sehingga dapat dikatakan ADC0809 sedang dalam kondisi tidak aktif bagaikan sebuah komponen yang mempunyai pin CS (Chip Select) namun komponen tersebut sedang tidak dipilih atau CS tidak aktif.

Setelah proses konversi selesai, maka kaki EOC akan mengeluarkan sinyal berlogika 1, namun karena interrupt dari DST-51 adalah aktif low, maka output tersebut terlebih dahulu dilewatkan rangkaian transistor yang membentuk inverter. Pengambilan data dilakukan oleh DST-51 dengan mengirimkan sinyal RD yang diteruskan ke kaki OE sehingga data hasil konversi akan muncul di jalur Data Bus.

Pemilihan Alamat

Modul AD-0809 didisain agar dapat dihubungkan dengan modul-modul lain yang menggunakan jalur bus dengan alamat yang berbeda. Agar modul tersebut dapat diatur tidak terjadi bentrok dengan modul yang lain, maka alamat dari modul ini dapat diatur dengan mengatur posisi jumper JP5.

Jumper tersebut akan mengatur hubungan antara CS dengan CS3, CS4, CS6 atau CS7 di mana masing-masing mempunyai alamat tersendiri yaitu 6000H, 8000H, 0C000H atau 0E000H yaitu lokasi memori yang sudah disediakan oleh Modul DST-51.

Pemilihan Interupsi

Dalam kondisi tertentu dapat juga terjadi interupsi-interupsi DST-51 digunakan oleh modul yang lain, untuk menjaga agar tidak terjadi bentrok, maka hasil invers dari EOC dapat dihubungkan ke INT0, INT1, T0 atau T1 sesuai dengan pengaturan jumper pada JP4.

Contoh Program

Program berikut adalah program untuk melakukan konversi dari delapan buah kanal analog input secara berurutan dan mengirimkan ke port serial.

********************************************************************** BACA 8 CHANNEL ADC DATA (ADC0808/0809) OLEH DST-51 DAN KIRIM KE SERIAL

* PC

* Registers:

* - DPTR : DPH.5 ... DPH.7 --> ADC Address

* : DPL.0 ... DPL.2 --> ADC Channel

* - A : Data

* - B : Delay

*

* DST-51 Internal routine yang digunakan:

* - Init_Serial

* - Serial_Out

* - ASCII_Out

* Program ini digunakan untuk hanya KIT ADC-0809 Testing

* Design by: Paulus Andi Nalwan, ST

**************************************

.CODE

ASCII_Out EQU 197H

Init_Serial EQU 1B8H

Serial_Out EQU 1C8H

Org 2000H

Ajmp Start

Org 2003H ;External INT0

Reti

Org 200BH ;Timer 0 Interrupt

Reti

Org 2013H ;External INT1

Reti

Org 201BH ;Timer 1 Interrupt

Reti

Org 2023H ;Serial I/O Interrupt

Reti

Start:

Mov Dptr,#08000H ;ADC pada alamat 800XH, CS4 pada DST-51

Lcall Init_Serial ;Inisial Serial Port

Loop:

Acall ADC ;Akses ADC

Acall Delay ;

Mov A,#' ' ;

Lcall Serial_Out ;Kirim Spasi

Inc Dptr ;Tunjuk ke channel berikut

Mov A,DPL ;

Cjne A,#08H,Loop ;Channel 8? Belum Loop

Ajmp *

ADC:

Mov A,#00H ;Start Conversion

Movx @Dptr,A ;

Jb INT0,* ;Tunggu EOC

Acall Delay

Mov A,#00H ;Read Convert Data

Movc A,@A+Dptr ;

Lcall ASCII_Out ;Send to Serial Out

Ret

Delay:

Push B

Mov B,#0FFH

Djnz B,*

Pop B

Ret

No comments:

Post a Comment