bab09 - icl7109
DESCRIPTION
ICL7109TRANSCRIPT
Teknik Akuisisi Data 62
7. ICL 7109
Spesifikasi Dual Slope ADC dengan 12 bit biner ditambah dengan bit polaritas
dan over range
Output kompatibel dengan TTL, THREE STATE, Mode Handshake
UART untuk interfacing dengan mikroprosesor secara paralel dan
serial.
Input RUN/-HOLD dan STATUS dapat digunakan untuk memonitor
dan mengendalikan konversi
Input dan referensi diferensial
Noise rendah sekitar 15 uVPP
Arus input sekitar 1 piko Ampere
Konversi 30 data per detik
Osilator ON CHIP jika beroperasi pada 3.58 MHz akan menghasilkan
7.5 data per detik dengan rejeksi 60 Hz atau dapat juga menggunakan
osilator RC untuk frekuensi clock.
Diskripsi
ICL7109 mempunyai performansi yang tinggi, CMOS, ADC
integrator daya rendah yang didisain untuk interface dengan mikroprosesor
secara mudah
Output data (12 bit, polaritas dan over range) dapat langsung diakses
dengan mengendalikan 2 bit input enable dan chip select untuk interface
single parallel.. Mode handshake UART disediakan agar ICL7109 bekerja
dengan standar industri dalam transmisi data serial. Input RUN/-HOLD dan
STATUS dapat digunakan untuk memonitor dan mengendalikan konversi
Teknik Akuisisi Data 63
ICL7109 memberikan ke pengguna akurasi yang tinggi, rendah
noise, low drift dan AD konverter dual slope integrating, noise rendah sekitar
15 uVPP, arus input sekitar 1 piko Ampere, konsumsi daya 20 mW.
gambar 7.1. Pin ICL7109
PIN SIMBOL DISKRIPSI
1 GND Ground digital
2 STATUS HIGH selama integrate dan de integrate sampai data di latch. LOW jika analog dalam konfigurasi auto zero
3 POL HIGH untuk input positif
4 OR HIGH jika input overrange
5 B12 B12 Most Significant Bit Three state
6 B11 B11 HIGH = True Three state
7 B10 B10 HIGH = True Three state
8 B9 B9 HIGH = True Three state
9 B8 B8 HIGH = True Three state
10 B7 B7 HIGH = True Three state
11 B6 B6 HIGH = True Three state
12 B5 B5 HIGH = True Three state
13 B4 B4 HIGH = True Three state
14 B3 B3 HIGH = True Three state
15 B2 B2 HIGH = True Three state
16 B1 B1 Least Significant Bit Three state
17
TEST
HIGH jika operasi normal, LOW untuk memaksa semua bit output HIGH. Hanya digunakan untuk tester. Dihubungkan ke +5 untuk operasi normal
Teknik Akuisisi Data 64
PIN SIMBOL DISKRIPSI
18 -LBEN Low Byte Enable. Jika Mode (pin 21) LOW dan CE/LOAD LOW dan LBEN LOW maka output bit yang aktif B1 sampai B8
19
-HBEN
High Byet Enable. Jika Mode (pin 21) LOW dan CE/LOAD LOW dan HBEN LOW maka output bit yang aktif B9 sampai B12 dan POL,OR
20 -CE/LOAD Chip Enable Load. Jika Mode (pin 21) LOW. CE/LOAD LOW berfungsi sebagai master output enable, dan jika HIGH, B1- B12, POL, OR tidak berfungsi. Jika Mode (pin 21) HIGH, CE/LOAD berfungsi sebgai strobe untuk moide handshake.
21 MODE Bekerja bersama dengan pin 18,19,20
22 OSC IN Osilator Input
23 OSC OUT Osilator Output
24 OSC SEL Oscillator Select : Input HIGH akan mengkonfigurasi bersama dengan OSC IN, OSC OUT dan BUF OSC OUT sebagai osilator RC, clock akan se fase dan duty cycle = BUS OSC OUT
25 BUF OSC OUT Buffer Osilator Output
26 RUN/-HOLD Input HIGH -> Konversi tiap 8192 pulsa clock Input LOW -> Konversi lengkap, berhenti pada hitungan ke 7 dari Auto Zero sebelum integrasi.
27 SEND Digunakan dalam mode handshake untuk menunjukkan kemampuan peralatan luar dalam menerima data. Dihubungkan ke + 5 jika tidak digunakan.
28 V- Tegangan catu daya, normal -5 V terhadap GND
29 REF OUT Output tegangan referensi, normalnya 2.8 V di bawah V+
30 BUFFER Buffer Amplifier Output
31 AUTO- ZERO Titik auto zero
32 INTEGRATOR Integrator output
33 COMMON Analog common – system auto zero terhadap COMMON
34 INPUT LO Differential Input LOW
35 INPUT HI Differential Input HIGH
36 REF IN + Referensi Input + Differensial
37 REF CAP + Kapasitor referensi +
38 REF CAP - Kapasitor referensi -
39 REF IN- Referensi Input - Differensial
40 V+ Tegangan catu daya, normal +5 V terhadap GND
Teknik Akuisisi Data 65
Diskripsi detail
Bagian Analog
Gambar 7.2. Bagian analog ICL 7109
Gambar 7.2. menunjukkan rangkaian ekivalen dari ICL7109. Jika
input RUN/-HOLD dibiarkan terbuka atau dihubungkan ke V+, rangkaian
akan melakukan konversi pada waktu yang ditentukan oleh frekuensi clock
nya. (8192 clock per siklusnya). Masing-masing siklus pengukuran dibagi
menjadi 3 fase seperti ditunjukkan dalam gambar 7.3. Fase 1 adalah auto zero
(A Z), fase 2 Signal Integrate (INT) dan fase 3 de-integrate (D E).
Teknik Akuisisi Data 66
Gambar 7.3. Waktu konversi (RUN/-HOLD HIGH)
Fase auto zero
Selama fase ini, ada 3 hal yang terjadi. Pertama, input HIGH dan
LOW dilepas dari pin dan dihubungsingkatkan secara internal dengan
COMMON analog, Kedua, kapasitor referensi dihubungkan dengan tegangan
referensi. Ketiga, loop feedback ditutup agar sistem mencharge kapasitor
auto zero, CAZ untuk mengkompensasi tegangan offset dari buffer amplifier,
integrator dan komparator. Karena komparator termasuk dalam loop, akurasi
AZ dibatasi oleh noise sistem saja. Di beberapa kasus, offset input kurang dari
10 uV.
Fase Integrasi Sinyal
Selama fase ini, lup auto zero ditutup, hubung singkat internal
dibuang dan input internal HIGH dan LOW dihubungkan dengan pin
eksternal. ADC kemudian mengintegrasikan tegangan differensial antara
HIGH dan LOW untuk waktu yang tetap. Tegangan differensial ini dapat
Teknik Akuisisi Data 67
berada dalam range input yang lebar. Akhir dari fase ini adalah polaritas
tegangan ditentukan.
ADC ini dioptimasikan untuk operasi dengan COMMON analog
yang dekat dengan digital ground. Dengan catu daya +5 V dan – 5 V, ADC
ini dapat membaca input 4 V skala penuh negatif atau positif.
Referensi diferensial
Tegangan referensi dapat dihasilkan dari catu daya ADC. Sumber
utama dari COMMON MODE ERROR adalah tegangan roll over yang
disebabkan oleh kapasitor referensi kehilangan atau ketambahan muatan. Jika
tegangan bertambah, kapasitor referensi dapat menaikkan gain atau tegangan
ketika de integrasi sinyal positif dan menurunkan tegangan jika de integrasi
sinyal negatif. Perbedaan referensi untuk tegangan input positif dan negatif
akan menyebabkan error roll over. Dengan memilih kapasitor yang cukup
besar, error dapat dikurangi kurang dari 0.5 counter. Dapat juga
diminimumkan dengan tegangan COMMON MODE dekat dengan
COMMON analog.
Pemilihan harga komponen
Untuk performansi optimum dari bagian analog, pemilihan nilai
resistor dan kapasitor integrator, kapasitor auto zero, tegangan referensi dan
kecepatan konversi harus hati-hati. Pemilihan nilainya harus disesuaikan
dengan aplikasi khususnya.
Sebagai contoh, tegangan suplly +/-5 V dan COMMON dihubungkan ke
ground, maka tegangan input skala penuhnya adalah +/- 4 Volt. Karena output
integrator dapat berada 0.3 volt dari catu daya tanpa mengganggu linearitas,
output integrator 4 V dapat berada 0.7 V. Catu daya +/-5 V dan
Teknik Akuisisi Data 68
Resistor Integrator
Buffer amplifier dan integrator mempunyai tahapan output kelas A dengan
arus 100 uA. Amplifier dan integrator memberikan arus 20uA yang tidak
linier. Resistor integrator sebaiknya mempunyai nilai yang besar untuk
menjaga daerah linier dari range tegangan input. Untuk skala penuh 409.6
mV, besarnya resistor integrator adalah 200 Kohm dan 20 Kohm untuk skala
4.096 V. Untuk nilai yang lain, gunakan rumus :
A
fullscaleRINT
20
Kapasitor integrator
Kapasitor integrator sebaiknya dipilih agar bisa memberikan jangkauan
tegangan yang maksimum (mendekati 0.3 V dari tegangan catu daya). Untuk
ICL7109 dengan catu daya 5 V analog common dihubungkan ke GND,
jangkauan output integrator yang normal adalah 3.5 sampai 4 V. Untuk
konversi 7 ½ per detik (frekuensi clock 61.72 KHz) yang diberikan oleh
kristal, harga nominal CINT = 0.15 uF dan CAZ = 0.33 uF. Untuk frekuensi
clock yang lain, gunakan rumus berikut ini :
swingvoltageoutputegrator
AclockxperiodaCINT
...int
20.2048
Kapasitor Teflon dianjurkan digunakan sebagai kapasitor integrator karena
hanya memberikan error 0.5 count saja
Kapasitor Auto Zero
Ukuran dari kapasitor auto zero berpengaruh pada noise dari system :
ukuran fisik yang lebih kecil dan hargfa yang lebih besar akan mengurangi
Teknik Akuisisi Data 69
noise dari system secara keseluruhan. CAZ tidak bisa dinaikkan tanpa batas,
penempatan yang paralel dengan kapasitor integrator membentuk time
constant R-C yang menentukan kecepatan recovery dari beban dan error yang
terjadi pada akhir dari siklus auto zero. Untuk skala penuh 409.6 mV dimana
noise sangat berperan dan resistor integrator kecil, harga dari CAZ harus dua
kali CINT agar tercapai keadaan optimum. Sedangkan pada skala penuh 4.096
V dimana recovery lebih penting dari noise, harga CAZ = CINT.
Untuk membuang noise, bagian luar dari CAZ sebaiknya
dihubungkan dengan titik sambung dari R-C dan bagian dalam dengan pin 31.
Bagian luar dari CINT dihubungkan dengan sambungan R-C. Kapasitor Teflon
dianjurkan untuk suhu di atas 85o C
Kapasitor Referensi
Kapasitor 1 uF memberikan hasil yang memuaskan. Dalam beberapa
hal dimana tegangan common mode referensi digunakan dan skala penuh
4096.5 mV digunakan, kapsitor yang lebih besar diperlukan untuk mencegah
error roll over. Biasanya 10 uF dapat mengurangi error roll over sampai 0.5
hitungan. Kapasitor Teflon dianjurkan untuk suhu di atas 85o C
Tegangan referensi
Input analog yang dibutuhkan untuk membuat output skala penuh
4.096 hitungan adalah VIN = 2 Vref. Untuk skla normal, referensi 2.048 V
digunakan untuk skala penuh 4.096 V dan 204.8 mV digunakan untuk 0.4096
V. Dalam beberapa aplikasi dimana AD digunakan untuk membaca output
dari sensor, akan timbul skala faktor lain diantara tegangan output absolut
yang diukur dengan output digital yang diinginkan. Sebagai contoh, dalam
system timbangan, disainer menginginkan skala penuh pembacaan jika
Teknik Akuisisi Data 70
tegangan sensor 0.682 V. Selain menurunkan input menjadi 409.6 mV,
tegangan input yang diukur harus mempunyai referensi 0.341 V. Nilai yang
sesuai untuk resistor integrator adalah 33 Kohm dan kapasitor integrator 0.15
uF. Hal ini akan menghindarkan pembaigan input. Keuntungan lain dari
system ini terjadi jika zero digunakan untuk input yang tidak 0 V.
Sumber referensi
Kestabilan tegangan referensi adalah faktor utama dalam akurasi absolut
keselurahan dari konverter. Resolusi dari ICL7109 pada 12 bit adalah 1 / 4096
atau 244 ppm, sehingga jika referensi mempunyai koefisien temperatur 80
ppm / oC, perbedaan temperatur 3
oC akan menyebabkan error absolut 1 bit.
Untuk alasan itulah, dianjurkan memakai referensi luar dengan kualitas yang
sangat baik.
ICL7109 menyediakan REF OUT (pin 29) yang dapat digunakan dengan
bantuan rangkaian pembagi tegangan (resistor) untuk menghasilakn tegangan
referensi yang sesuai. Output ini akan menarik 20 mA tanpa menggangu
tegangan. Tegangan output nominal 2.8 V di bawah V + dan mempunyai
koefisien temperatur 80 ppm / oC. Jika menggunakan referensi onboard, REF
OUT (pin 29) sebaiknya dihubungkan ke REF – (pin 39) dan REF+
dihubungkan ke keluaran potensiometer (multiturn) yang diletakkan antara
REF OUT dan V+. Rangkaian untuk referensi 204.8 mV ditunjukkan pada
gambar sebelumnya. Untuk referensi 2.048 mV, resistor dibuang dan
multiturn 25 K dipasang antara REF OUT dan V+.
Perhatian : jika pin 29 dan 39 dijadikan 1 dan pin 39 secara tidak sadar
terhubung ke pin 40, tegangan referensi menyebabkan arus yang masuk IC
dapat merusak IC, untuk itu dipasang resistor 1K seri dengan pin 39
Teknik Akuisisi Data 71
Diskripsi lengkap
Bagian Digital
Termasuk osilator clock dan rangkaian pen-skala, counter 12 bit
dengan output latch dan driver 3 state output yang kompatibel dengan TTL,
polaritas, overange dan kontrol logika., logika handshake UART seperti pada
gambar
Untuk konsumsi daya minimum, semua input harus berada pada
tegangan 0 (LOW) dan V+ (HIGH). Input dari TTL sebaiknya mempunyai
resistor pull up 3 – 5 K agar tahan terhadap noise
gambar 7.4. Bagian digital
Mode Input
Mode Input digunakan untuk mengendalikan mode output dari
konverter. Jika pin MODE LOW atau dibiarkan terbuka (pin ini harus ada
resistor pull down), konverter akan mempunyai mode output “DIRECT”. Jika
Teknik Akuisisi Data 72
MODE PULSE HIGH, konverter akan mempunyai mode handshake UART
dan menghasilkan data 2 byte, kemudian kembali ke mode “DIRECT”. Jika
MODE dibiarkan HIGH, maka konverter akan mempunyai mode handshake
pada akhir dari setiap siklus konversi
Status Output
Selama siklus konversi, output STATUS berubah menjadi HIGH pada awal
SIGNAL INTEGRATE (fase 2) dan menjadi LOW 1 ½ periode clock setelah
data baru dari konversi disimpan di output latch. Lihatlah gambar 7.3, sinyal
ini digunakan sebagai tanda dari “data valid” (data tidak berubah selama
STATUS LOW) untuk mengkatifkan inerupsi atau monitoring status dari
konverter.
Input RUN/-HOLD
Jika input RUN/-HOLD HIGH, atau dibiarkan terbuka, rangkaian akan terus
melakukan siklus konversi, memperbarui output latch setelah zero crossing
selama deintegrate siklus konversi (fase 3). Pada modeini siklus konversi
dilakukan dalam periode clock 8192.
gambar 7.5 Operasi RUN/-HOLD
Teknik Akuisisi Data 73
Jika RUN/-HOLD LOW di setiap saat selama deintegrate (fase 3)
setelah zero crossing terjadi, rangkaian akan segera menghentikan deintegrate
dan loncat ke auto zero. Fitur ini dapat menghilangkan waktu yang terbuang
dalam deintegrate setalah zero crossing. Jika RUN/-HOLD tetap LOW,
konverter akan meminimisasi waktu auto zero dan tetap menunggu sampai
RUN/-HOLD menjadi HIGH. Konverter akan mulai integrate (fase 2) pada
konversi berikutnya (output STATUS akan menjadi HIGH) 7 clock setelah
level HIGH dideteksi pada RUN/-HOLD.
Menggunakan input RUN/-HOLD dalam kondisi ini akan
mempermudah interface “KONVERSI SESUAI PERMINTAAN”digunakan.
Konverter mungkin akan diam dalam auto zero dengan RUN/-HOLD LOW.
Jika RUN/-HOLD menjadi HIGH, konversi dimulai dan jika -STATUS
menjadi LOW data baru menjadi valid. RUN/-HOLD dapat juga menjadi
LOW yang akan menghentikan deintegrate dan memastikan waktu auto zero
menjadi minimum sebelum konveri berikutnya.
Alternatif lain, RUN/-HOLD dapat digunakan untuk meminimisasi
waktu konversi dengan menjadikan LOW selama deintegrate, setelah zero
crossing dan menjadi HIGH setelah titik HOLD dicapai. Input RUN/-HOLD
dapat dilakukan dengan menghubungkan ke output BUFFER OSCILLATOR.
Pada mode ini, waktu konversi tergantung pada nilai input yang diukur.
Jika RUN/-HOLD menjadi LOW dan tetap LOW selama auto zero (fase 1),
konverter akan berhenti pada akhir dari auto zero dan menunggu RUN/-
HOLD menjadi HIGH. Integrate (fase 2) akan mulai setelah 7 clock setelah
didteksi kondisi HIGH.
Teknik Akuisisi Data 74
Direct Mode
Jika pin MODE dibiarkan LOW, output data akan dikendalikan oleh terminal
input byte dan chip enable. Semua input ini semuanya aktif LOW dan
membutuhkan resistor pull up untuk memastikan keadaan tidak aktif, HIGH
atau terbuka., Ketika chip enable LOW dan byte enable LOW, output byte
akan aktif dan data dapat diambil secara paralel. Input kontrol ini bersifat
asinkron terhadapa clock konverter, sehingga data dapat diambil setiap saat.
Hal ini memungkinkan akses data selama data tersebut diperbarui.
Sinkronisasi dilakukan hanya dengan memonitor output STATSUS. Data
tidak akan diperbarui selama STATUS LOW.
Tabel 7.1 Waktu yang dibutuhkan dalam Direct Mode
Diskripsi Simbol Minimum Tipikal Maksimum Unit
Lebar Byte Enable tBEA 350 220 - ms
Waktu Data Akses dari byte enable
tDAB - 210 350 ms
Waktu hold data dari byte enable
TCHB - 150 300 ms
Lebar chipo enable tCEA 400 260 - ms
Waktu Data Akses dari chip enable
tDAC - 260 400 ms
Waktu hold data dari chip enable
tDHC - 240 400 ms
gambar 7.6. diagram waktu direct mode
Teknik Akuisisi Data 75
Mode Handshake
Mode ini merupakan alternatif interfacing dengan ICL7109 dengan sistem
digital dimana ADC menjadi aktif dengan mengendalikan aliran data selain
dengan chip dan byte enable. Mode ini didisain tanpa memerlukan logika
eksternal.
Teknik Akuisisi Data 85
{ 1 0 0 A Cu 0 B Cl } { 1 0 0 1 1 0 1 1 } { PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 } { D7 D6 D5 D4 D3 D2 D1 D0 } { PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 } { X X X STATUS D11 D10 D9 D8 } uses crt; var status,dataL,dataH : word; data : word; volt : real; begin clrscr; {1 0 0 A Cu 0 B Cl} {1 0 0 1 1 0 1 1} port[$303]:=$9b; repeat
Teknik Akuisisi Data 86
repeat status := port[$301]; status := status and 2; until status = 2; dataL := port[$302]; dataH := port[$300]; dataH := dataH and 15; dataH := dataH shl 8; data := dataH + dataL; gotoxy(10,10);write(' '); gotoxy(10,12);write(' '); gotoxy(10,14);write(' '); gotoxy(10,16);write(' '); delay(10); gotoxy(10,10);write('LOW BYTE : ',dataL); gotoxy(10,12);write('HIGH BYTE : ',dataH); gotoxy(10,14);write('12 BIT : ',data); volt := (data * 0.61) /1000; gotoxy(10,16);write('INPUT : ',volt:4:3); delay(10); until keypressed; end.