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 DELTA ELECTRONIC http://www.delta-electronic.com
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.
DELTA ELECTRONIC http://www.delta-electronic.com
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. VCC VCC JP1 1 3 5 7 9
IN0 IN2 IN4 IN6
2 4 6 8 10
U1 IN1 IN3 IN5 IN7
IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
HEADER 5X2
26 27 28 1 2 3 4 5 12 16
VCC
R5 VCC
10 10K 9 7
R4 Q1 2N2222
JP3
IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
D0 D1 D2 D3 D4 D5 D6 D7
REF+ REF-
A0 A1 A2
CLK START ALE
OE EOC
25 24 23
A0 A1 A2
2 4 6 8 10
U2C 10 8
12
U2A 3
13 11
5 INT1 T1 CS3 CS7 RD
D1 D3 D5 D7 A1
9 6 22
1
JP2
2 4 6 8 10 12 14
HEADER 7X2
6 4
1 3 5 7 9 11 13
D0 D2 D4 D6 A0 A2
U2D
U2B
1 3 5 7 9
D0 D1 D2 D3 D4 D5 D6 D7
ADC0809
10K VCC INT0 T0 CS4 CS6 WR
17 14 15 8 18 19 20 21
2
R3 330R R1
HEADER 5X2
R2
1K
1K Y1 455KHZ
VCC
JP4 INT0 INT1 T0 T1
1 3 5 7
2 4 6 8
INT
1 3 5 7
2 4 6 8
D1
VCC
VCC
470R C4 100nF
HEADER 4X2 JP5 CS3 CS4 CS6 CS7
VCC
R6
C3 100nF
C2 100nF
+
C1 10uF/16V
LED
CS
HEADER 4X2
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
DELTA ELECTRONIC http://www.delta-electronic.com
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 DST51. 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 Init_Serial EQU Serial_Out EQU Org Ajmp Org Reti Org Reti Org Reti Org Reti Org Reti
197H 1B8H 1C8H
2000H Start 2003H
;External INT0
200BH
;Timer 0 Interrupt
2013H
;External INT1
201BH
;Timer 1 Interrupt
2023H
;Serial I/O Interrupt
Start: Mov Dptr,#08000H ;ADC pada alamat 800XH, CS4 pada DST-51 Lcall Init_Serial ;Inisial Serial Port
DELTA ELECTRONIC http://www.delta-electronic.com
Loop: Acall Acall Mov Lcall Inc
ADC Delay A,#' ' Serial_Out Dptr
;Akses ADC ; ; ;Kirim Spasi ;Tunjuk ke channel berikut
Mov Cjne Ajmp
A,DPL ; A,#08H,Loop ;Channel 8? Belum Loop *
Mov Movx Jb Acall Mov Movc Lcall Ret
A,#00H @Dptr,A INT0,* Delay A,#00H A,@A+Dptr ASCII_Out
Push Mov Djnz Pop Ret
B B,#0FFH B,* B
ADC:
Delay:
DELTA ELECTRONIC http://www.delta-electronic.com
;Start Conversion ; ;Tunggu EOC ;Read Convert Data ; ;Send to Serial Out