6
BAB II LANDASAN TEORI Bab ini akan membahas teori yang melandasi pembuatan alat untuk tugas akhir, diantaranya definisi pengukuran, transducer, ADC, interface, dan lain-lain. Penjelasan lebih lanjut akan dibahas pada sub bab berikut.
2.1 Teknik Pengukuran Dalam teknik pengukuran perlu diperhatikan berberapa hal penting yang menentukan keberhasilan suatu teknik pengukuran, hal-hal penting itu diantaranya definisi teknik pengukuran itu sendiri, kesalahan-kesalahan dalam pengukuran, blok rangkaian, dan sebagainya.
2.1.1 Definisi Teknik Pengukuran Pengukuran didefinisikan sebagai suatu cara fisis untuk menentukan suatu besaran (kuantitas) atau variabel. Suatau pengukuran membutuhkan instrumen. Instrumen dapat didefinisikan sebagai sebuah alat yang digunakan untuk menentukan nilai atau besar dari suatu kuantitas atau variabel tersebut. Instrumen yang menggunakan rangkaian elektronik di dalamnya didasarkan pada prinsipprinsip listrik atau elektronika dalam pemakaianya sebagai alat ukur elektronik. Dalam pengukuran ada beberapa hal yang harus diperhatikan, diantaranya: Ketelitian (accuracy) Ketepatan (precision) Sensitivitas (sensitivity) Resolusi (resolution) Kesalahan (error) •
Ketelitian (accuracy):
harga terdekat dimana suatu pembacaan instrumen
mendekati harga sebenarnya dari variabel yang diukur. •
Ketepatan (precision): Suatu ukuran kemampuan untuk mendapatkan hasil pengukuran yang serupa.
Dengan memberikan suatu harga tertentu bagi
6
7
sebuah variabel, ketepatan (presisi) merupakan suatu ukuran tingkatan yang menunjukan perbedaan hasil pengukuran pada pengukuran-pengukuran yang dilakukan secara berturutan. •
Sensitivitas (sensitivity): perbandingan antara sinyal keluaran atau respon instrumen terhadap perubahan masukan atau variabel yang diukur.
•
Resolusi (resolution): perubahan terkecil dalam nilai yang diukur dimana instrumen akan memberi respon (tanggapan).
•
Kesalahan (error):
penyimpangan variabel yang diukur dari harga
sebenarnya.
2.1.2 Kesalahan-kesalahan Dalam Pengukuran Dalam teknik pengukuran, tidak ada pengukuran yang menghasilkan ketelitian yang sempurna, hal ini dikarenakan sampai saat ini tidak ada alat ukur dengan ketelitian yang bagus. Untuk mengetahui ketelitian yang sebenarnya dan bagaimana kesalahan yang berbeda digunakan dalam pengukuran adalah penting. Langkah pertama yang diperlukan untuk menguranginya adalah mempelajari kesalahan-kesalahan tersebut dimana dari hal ini juga dapat menentukan ketelitian hasil akhir. Kesalahan-kesalahan dapat terjadi karena berbagai sebab dan umumnya dibagi dalam tiga jenis utama, yaitu: •
Kesalahan-kesalahan umum (gross-errors):
Kebanyakan disebabkan oleh
kesalahan manusia, diantaranya adalah kesalahan pembacaan alat ukur, penyetelan yang tidak tepat dan pemakaian instrumen yang tidak sesuai, dan kesalahan penaksiran. •
Kesalahan-kesalahan
sistematis
(systematic
errors):
disebabkan
oleh
kekurangan-kekurangan pada instrumen sendiri seperti kerusakan atau adanya bagian-bagian yang aus dan pengaruh lingkungan terhadap paralatan atau pemakai. •
Kesalahan-kesalahan yang tidak disengaja (random errors): diakibatkan oleh penyebab-penyebab yang tidak dapat langsung diketahui sebab perubahanperubahan parameter atau sistem pengukuran terjadi secara acak.
8
2.1.3 Sistem Dasar Teknik Pengukuran Digital Sistem instrumentasi elektronik terdiri dari sejumlah komponen yang secara bersama-sama digunakan untuk melakukan suatu pengukuran dan mencatat hasilnya. Sistem instrumentasi umumnya terdiri dari tiga elemen utama, yaitu peralatan masukan, pengkondisi sinyal, peralatan pengolah dan peralatan keluaran.
Peralatan masukan menerima besaran yang akan diukur dan
menghasilkan sebuah sinyal elektris yang yang sebanding dengan peralatan pengkondisi sinyal.
Sinyal ini kemudian diperkuat, ditapis, dan dimodifikasi
menjadi format yang cocok bagi peralatan keluaran. Besaran masukan instrumentasi yang kebanyakan bukan besaran listrik diterima oleh sebuah alat yaitu transducer yang kemudian besaran masukan ini diubah menjadi besaran listrik. Besaran listrik ini disesuaikan oleh pengkondisi sinyal agar dapat diolah menjadi sinyal digital oleh ADC. Hasil pengolahan data ini kemudian dimanipulasi oleh komputer digital, data yang telah diolah kemudian ditampilkan pada layar monitor sebagai hasil dari pengukuran. Gambar 2.1 menunjukkan rangkaian dasar pengolahan data digital. Sistim ini disusun dari dua komponen utama, yaitu komponen pengukuran dan komponen pengendalian. Komponen pengukuran terdiri dari sensor, penguat dan konverter analog ke digital, sedangkan komponen pengaturan terdiri dari driver dan pompa.
Keduanya dihubungkan dengan komputer dengan perantaraan
interface.
sensor
ADC
interface
PC
interface driver
Gambar 2.1. Blok rangkaian pengolah data digital
pompa
9
2.2 Blok Dasar Pengolah Data Digital Gambaran lebih jelas mengenai elemen penyusun sistim pengolah data digital ini akan dibahas pada uraian berikut.
2.2.1 Transducer Sensor merupakan suatu sistem yang berfungsi untuk mengubah besaran fisis menjadi besaran elektrik, besaran elektrik yang dihasilkan ini dalam bentuk analog.
Untuk mengubah besaran tersebut diperlukan sebuah alat yang disebut
transducer. Transducer dikelompokkan dalam dua kelompok berdasarkan sifat listriknya. Kelompok pertama yaitu transducer pasif yang menghasilkan perubahan dalam sebuah parameter listrik seperti tahanan, kapsitansi, dan lain-lain yang dapat diukur sebagai perubahan tegangan atau arus. kelompok berikutnya adalah transducer jenis pembangkit sendiri (self generating type), yang menghasilkan suatu tegangan atau arus analog bila diberi respon dengan suatu bentuk fisis energi. Dalam
sistim
pengukuran,
transducer
menentukan
ketelitian
hasil
pengukuran. Oleh karena itu ada beberapa hal yang harus diperhatikan dalam pemilihan transducer agar diperoleh ketelitian, diantaranya: •
Parameter dasar transducer,yaitu jenis pengukuran, sensitivitas, eksitasi.
•
Kondisi fisik, yaitu sambungan-sambungan mekanis dan elektris, ketahanan terhadap korosi, dsb.
•
Kondisi sekeliling, yaitu efek ketidaklinieran, efek histerisis, respon frekuensi dan resolusi.
•
Kondisi lingkungan, yaitu efek temperatur, percepatan, goncangan dan getaran.
•
Kesesuaian peralatan yang disertakan, mencakup perlengkapan kesetimbangan nol, toleransi sensitivitas, penyesuaian impedansi dan tahanan isolasi. Kesalahan total pengukuran di dalam sebuah sistem yang disebabkan oleh
transducer dapat diperkecil agar berada dalam ketelitian yang diinginkan melalui teknik-teknik berikut:
10
•
Menggunakan sistem kalibrasi pada tempatnya beserta koreksi dalam reduksi data.
•
Secara simultan memonitor lingkungan dan mengoreksi data secara tepat, misalnya dengan memperhatikan temperatur ruangan tempat pengukuran dilakukan.
•
mengontrol lingkungan secara buatan guna memperkecil kesalahan-kesalahan yang mungkin, misalnya menambahkan pendingin pada beberapa komponen yang rentan terhadap panas.
2.2.2 Analog to Digital Converter Sebelum suatu perangkat dihubungkan dengan komputer, maka sinyal output dari perangkat tersebut harus disesuaikan dengan sinyal input yang diperlukan oleh komputer.
Komputer mengolah data-data dalam bentuk biner, sehingga
perangkat yang akan dihubungkan, sinyal outputnya harus diubah ke dalam bentuk digital. Analog to digital converter adalah inti dari sistem akuisisi data yang mengubah data dalam bentuk varaibel analog menjadi kode diskrit biner yang dapat diolah oleh pemrosesan digital. Terdapat empat tipe pengubah analog ke digital, yaitu: •
Dual slope integrating, adalah jenis ADC dengan keakuratan tinggi tetapi berkecepatan rendah. pembuangan kapasitor.
Prinsip kerjanya dalah proses pengisisan dan ADC tipe ini memiliki banyak kelemahan.
Keakuratan pengkonversian tergantung pada nilai kapasitor dan frekuensi clock-nya. Selain itu kualitas komponen pun berpengaruh pada waktu dan keakuratan pengkonversiannya. •
Tracking (counter comparator), adalah tipe ADC yang menggunakan bantuan DAC untuk mengkonversi input analog yang diberikan padanya. ADC ini membandingkan tegangan input yang tidak diketahui dengan output ADC hasil counter oleh program. Karena itu ADC tipe ini memerlukan program pembantu untuk mengkonversi. Kelebihan ADC tipe ini adalah harganya murah dan kecepatannya relatif cepat dari tipe dual slope. Kelemahannya
11
adalah diperlukannya suatu program khusus untuk menjalankan ADC tipe ini dan sangat rentan terhadap noise. •
Multicomparator flash ADC, adalah jenis ADC yang tercepat menggunakan komparator dan beberapa rangkaian kombinasional digital. Tegangan input dibandingkan dengan tegangan referensi oleh sederet komparator yang dihubung seri dan membentuk sebuah level detektor.
Penunjukkan level
detektor ini sepadan dengan besar tegangan yang diberikan pada input ADC, selanjutnya diubah menggunakan rangkaian kombinasional menjadi data dalam bentuk biner.
ADC ini sangat cepat karena besar tegangan input
langsung dikonversi menjadi biner.
Juga resolusinya yang cukup tinggi.
Kelemahannya adalah harganya cukup mahal. •
Successive
approximation,
adalah
tipe
ADC
yang
sangat
populer
penggunaanya. Karena kecepatan, resolusi dan keakuratannya yang cukup dan sebanding dengan harganya yang relatif murah. Konsep kerja dari tipe ADC ini adalah penggunaan shift register dan komparator untuk mendeteksi besar input analognya.
ADC yang digunakan untuk Tugas Akhir ini adalah tipe tracking (counter comparator) Salah satu contoh ADC jenis ini adalah ADC 0820.
12
Gambar 2.2 Block Diagram ADC 0820
2.2.3 Interface Untuk menghubungkan suatu peranti periferal, seperti relai, indikator, sensor, catu daya yang dapat diprogram, pembangkit frekuensi, dan lain-lainnya dengan perangkat komputer maka diperlukan suatu rangkaian tambahan yang disebut interface atau antarmuka. Rangkaian ini bertugas untuk menyesuaikan sinyal peranti luar dengan komputer. Karena besarnya tegangan, arus, dan daya peranti periferal kebanyakan tidak sesuai dengan yang ada pada komputer, terutama karena kecepatan pengolahannya sangat berbeda dengan komputer, maka besaran-besaran ini harus disesuaikan dengan bantuan interface. Interface yang digunakan untuk Pengukur Volume Zat Cair Digital ini adalah PPI 8255 (Programmable Peripheral Interface).
2.2.4 Op Amp Op-amp adalah rangkaian terpadu (IC) merupakan penguat DC berpenguatan sangat tinggi yang menggunakan rangkaian umpan balik luar untuk mengontrol
13
responsnya. Op-amp tanpa umpan balik luar dikenal sebagai mode open loop. Dalam mode ini kita dapat memperoleh karakteristik op-amp ideal :
Penguatan open loop tak terhingga.
Tahanan inputnya tak terhingga.
Tahanan outputnya nol.
Lebar frekuensi kerjanya tak hingga.
Tegangan outputnya nol bila tegangan input nol (berarti offsetnya nol).
Karakteristik di atas akan mempengaruhi nilai pengukuran jika digunakan dengan alat ukur. Namun pada prakteknya tidak ada op-amp yang memiliki karakteristik ideal seperti disebutkan di atas. Parameter lain yang mempengaruhi ketepatan alat ukur diantaranya: Slew rate yaitu laju perubahan tegangan output yang diperoleh pada rangkaian opamp yang berpenguatan tagangan satu. Common Mode Rejection Ratio (CMRR) yaitu ukuran kemampuan op-amp untuk menolak sinyal-sinyal yang secara serentak diberikan pada kedua inputnya. Parameter ini merupakan rasio antara tegangan input common mode dan tegangan ouput yang dihasilkan, biasanya dinyatakan dalam desibel (dB). Ad =
R2 R1
=
R4 R3
Persamaan 2.1 Penguatan Differensial
Acm =
V0 (cm) Vi (cm)
Persamaan 2.2 Penguatan Common mode (cm)
CMRR = 20 log
Ad Acm
Persamaan 2.3 Common mode rejection ratio (CMRR)
14
7
R4
3 Vi(cm)
R1
6
Vo(cm)
2
R3 5
4 1
UA741
R2
Gambar 2.3 Op-amp 2.3 Organisasi Sistem Berbasis Mikroprosesor
Sistem berbasis mikroprosesor adalah sistem yang memanipulasi angkaangka biner (data) dan memproses informasi berdasarkan urutan program sebagai instruksinya sehingga menghasilkan suatu fungsi tertentu, dengan mikroprosesor sebagai pelaksana sebagian besar dari fungsi tersebut bersama dengan komponen LSI (Large Scale Integrated) lainnya. Mikroprosesor digunakan sebagai unit pemroses,
sedangkan
komponen
lainnya
melaksanakan
fungsi
memori,
masukan/keluaran, dan fungsi lain yang diperlukan.
2.3.1 Blok Dasar Mikrokomputer
Gambar 2.3 menunjukkan blok mikrokomputer, pada gambar terlihat bagian terpenting yang membentuk mikropkomputer, yaitu CPU (Central Processing Unit), memori (RAM dan ROM) serta input/output. Penjelasan tiap-
tiap bagian tersebut adalah; •
Unit pemroses pusat (Central Processing Unit, CPU) terdiri atas dua bagian unit, yaitu unit pengendali (Control Unit, CU) dan unit Aritmatika dan logika (Arithmatic and Logical Unit, ALU). Unit aritmatika dan logika melaksanakan operasi aritmatika dan logika untuk melaksanakn operasi aritmatika dan logika untuk data yang melaluinya.
Fungsi utama dari unit pengendali adalah
mengambil, mendekode, dan melaksanakan urutan instruksi sebuah program yang tersimpan dalam memori. Unit pengendali mengatur operasi seluruh
15
sistem.
Unit ini menghasilkan dan mengatur
sinyal pengendali yang
diperlukan untuk mensinkronkan operasi. •
Memori digunakan untuk menyimpan kode biner dari instruksi yang akan dijalankan oleh CPU, juga digunakan untuk menyimpan data. Terdapat dua jenis memori yang sering dipakai, yaitu memori utama (Main Memory) dan memori massal (Mass Memory). Memori utama digunakan untuk menyimpan program yang sedang dilaksanakan dan data-data yang diperlukan dalam program.
Memori ini harus cepat agar tidak memperlambat kerja CPU.
Memori massal digunakan untuk menyimpan program dan data yang tidak dapat ditampung oleh memori utama yang tidak segera dibutuhkan CPU, memori ini kerjanya lambat tetapi dapat menampung data lebih banyak. •
Unit input/output I/O memungkinkan CPU untuk menerima data dari luar atau mengirim data ke luar. Unit masukan menyediakan informasi bagi ALU atau memori. Unti masukan yang umum adalah keyboard atau sebuah sensor. Unit keluaran meyajikan data yang datang dari ALU atau hasil-hasil operasi. Unit keluaran yang umum adalah display, pencetak, atau penggerak alat lainnya seperti driver atau mekanisme pengendali. Untuk menghubungkan bagian-bagian pada
sistem mikrokomputer
digunakan bus. Pada dasarnya bus ini terbagi atas tiga bagian yang dinamakan bus alamat, bus data dan bus kontrol. •
Bus data (Data Bus), adalah bus yang digunakan untuk mengalirkan data dari mikroprosesor ke alat lainnya yang dihubungkan pada bus ini maupun sebaliknya. Jadi bus ini bersifat dua arah (bidirectional).
•
Bus alamat (Address Bus), adalah bus yang digunakan untuk memilih suatu lokasi memori pada ROM atau RAM, atau lokasi suatu input atau output. Bus ini bersifat searah, yaitu dari mikroprosesor ke alat lain yang dihubungkan pada bus ini
•
Bus pengendali (Control Bus), adalah bus yang digunakan untuk mengendalikan kerja seluruh sistem , mensinkronkan kegiatan-kegiatan sistem, dan membawa informasi status suatu alat atau status mikroprosesornya sendiri. Bus ini bersifat satu arah.
16
Unit Pengendali
Unit Aritmatika & Logika
Unit Masukan
Unit Keluaran
Memori Utama Memori Masal
Gambar 2.4. Diagaram blok sistem mikroprosesor umum
2.3.2 ROM (Read Only Memori)
ROM merupakan jensi memori yang datanya tidak hilang ketika catu daya dimatikan. Ada beberapa ROM yang tersedia saat ini, diantaranya adalah: ROM (Read Only Memori) yang diprogram dalam proses pembuatannya, jenis ini tidak adapat diprogram ulang. PROM (Programmmable ROM) yang diprogram dengan cara memutuskan hubungan sekering internal. PROM hanya dapat diprogram satu kali dan tidak dapat diprogram ulang. EPROM (Erasable PROM) diprogram dengan cara mengisi gerbang tersekat pada peranti.
Dihapus dengan pemberian sinar ultra violet melalui
jendela pada bagian atas IC. Setelah dihapus dapat diprogram ulang. EEPROM (Electrically Erasable PROM) diprogram dengan cara mengisi gerbang tersekat pada peranti. Dapat dihapus dengan menggunakan sinyal listrik dan dapat diprogram ulang.
17
Flash EPROM diprogram dengan cara mengisi gerbang tersekat pada peranti. Dapat diprogram ulang.
2.3.3 RAM (Random Access Memori)
RAM adalah jenis memori yang akan hilang datanya ketika catu daya dimatikan. Ada beberapa jenis RAM, diantaranya: RAM static (SRAM). Pada RAM ini data disimpan dalam deretan flipflop sehingga data dapat ditulis dan dibaca. Data akan tetap sampai ada data baru yang masuk, jika catu daya dimatikan data akan hilang. Dinamik RAM (DRAM). Data disimpan dengan mengisi kapasitor kecil sehingga hanya dapat bertahan beberapa milidetik. Sebelum data hilang harus dilakukan penyegaran (refresh).
Jika catu daya dimatikan data akan hilang.
Kelebihan RAM dinamis dibandingkan RAM statis adalah konsumsi dayanya lebih rendah serta mempunyai kapasitas penyimpanan kurang lebih lima kali lebih besar, kekurangannya adalah waktu aksesnya lebih lambat dan diperlukan rangkaian khusus saat memperbaharui data. NOVRAM (Non-volatile RAM). Berisi RAM statis dan EEPROM yang dipasang paralel. Jika catu daya mati, data dari RAM dengan cepat ditransfer ke EEPROM. Jika catu daya hidup kembali data ditransfer kembali ke RAM.
2.3.4 Siklus Pembacaan Memori
Siklus pembacaan memori ditunjukkan oleh gambar 2.3, pada diagram tersebut satu siklus bus menggunakan empat periode clock sistem. Pada keadaan T1 mikroprosesor mengeluarkan 20 bit alamat memori. Bus data tidak berfungsi (Hi-Z) dan sinyal kontrol tidak aktif. Pada keadaan clock T2 sinyal kontrol MEMR berubah menjadi rendah. Sinyal ini akan dikenali oleh bagian memori, dan memori merupakan data yang teralamati. Pada keadaan clock T3 diberikan waktu bagi memori untuk mengeluarkan data yang teralamati. Pada keadaan T4 mikroprosesor menganggap memori telah meletakkan data yang diinginkan pada bus data dan membaca data yang diberikan oleh memori. Jika memori belum
18
memberikan data yang diinginkan, mikroprosesor akan membaca data sembarang yang ada pada bus data saat ini. Pada dasarnya, yang membedakan antara siklus satu dengan yang lainnya adalah sinyal kontrol. Jadi hanya ada satu sinyal kontrol pada setiap saat, yaitu MEMR, MEMW, IOR, dan IOW tidak boleh ada dua sinyal yang aktif bersamaan.
Clock Alamat MEMR/IO Data Alamat MEMW/IOW
Data
Gambar 2.5. Timing diagram siklus pembacaan memori
2.4 TRANSFER DATA
Pada dasarnya transfer data antara prosesor dengan alat luar atau peripheral ada dua cara yaitu transfer data serial dan transfer data paralel.
2.4.1 Transfer Data Serial
Biasanya untuk berhubungan dengan alat luar yang tidak memerlukan kecepatan transfer yang tinggi, atau alat luar yang letaknya berjauhan dengan mikroprosesor,
seperti
CRT,
keyboard,
modem.
Untuk
memudahkan
pelaksanaannya biasanya dipakai perantara serial, seperti USART 8251 (Universal Asynchronous Receiver Transmitter). Perantara serial menerima data
19
paraleldari prosesor dan mengubahnya kebentuk serial untuk diberikan pada alat luar dan sebaliknya.
2.4.2 Transfer Data Paralel
Transfer data paralel lebih cepat dari transfer data serial. Transfer data dikendalikan oleh prosesor (dengan program) atau oleh DMA (Direct Memory Access).
2.4.2.1 Pengendalian Transfer Data Dengan program
Sebuah program dibuat untuk melaksanakan transfer data, umumnya menggunakan perantara paralel untuk mempermudah program maupun perangkat keras yang dibutuhkan, seperti Z80 PIO (Paralel Input Output)dan PPI 8255 (Programmable Peripheral Interface). Z80 PIO mempunyai dua buah port 8 bit dan masing-masing mempunyai jalur handshaking.
Sedangkan PPI 8255
mempunyai tiga buah port 8 bit . PPI 8255 memungkinkan transfer data paralel melalui program dengan cara simple I/O maupun handshake I/O yang memberikan sinyal-sinyal handshake otomatis.
2.4.2.2 Pengendalian Transfer Data Dengan DMA
Untuk transfer data dalam jumlah besar dan dalam waktu singkat, biasanya digunakan DMA yaitu periferal yang berhubungan langsung dengan memori untuk menyimpan atau mengambil data tanpa melalui prosesor, seperti yang terjadi pada transfer data antara disket dengan RAM. Pada proses DMA bus-bus prosesor dikuasai, atau siklus prosesor diberhentikan sementara.
2.5 TEKNIK-TEKNIK INPUT DAN OUTPUT
Beberapa teknik input/output digunakan untuk menghubungkan komputer dengan perangkat luar, bergantung dari alat luar dan kecepatan transfer yang diinginkan.
Dilihat dari metode yang digunakan dalam transfer data maka
terdapat empat cara yaitu: Simple I/O, Strobed I/O, Single Handshake I/O dan Double Handshake I/O.
20
2.5.1 Simple I/O
Dalam cara ini, transfer data dapat terjadi kapan saja.
Pemberi dan
penerima data selalu siap, sehingga tidak memerlukan sinyal pengendali. Seperti transfer data antara komputer dengan switch atau display.
2.5.2 Strobed I/O
Adakalanya alat luar hanya memberi atau menerima data pada saat tertentu, karena itu diperlukan sinyal pemberitahuan (strobe) untuk memberitahu unit I/O bahwa data telah ada, dan unit I/O yang menerima memberi sinyal pengakuan (acknowledge) jika data sudah diterima. Terdapat beberapa cara untuk memeriksa sinyal ini, yaitu: •
Dengan memeriksa sinyal ini terus menerus (looping), selama looping prosesor tidak akan melakukan pekerjaan lainnya.
•
Pemeriksaaan secara periodik (polling). Secara rutin dengan jangka waktu tertentu prosesor memeriksa sinyal-sinyal ini sehingga memberi kesempatan mikroprosesor untuk melakukan pekerjaan yang lainnya.
•
Sinyal-sinyal tersebut dihubungkan dengan input interupsi prosesor,yang jika ada peberitahuan atau pengakuan dari I/O, prosesor akan melompat ke rutin pelayanan interupsi untuk melakukan transfer data. Selama tidak ada interupsi utuk melakukan transfer data.
Selama tidak ada ineterupsi prosesor
melakukan pekerjaan lain.
Strobed I/O hanya aman untuk alat luar yang mengirim atau menerima data dengan kecepatan rendah, seperti keyboard, karena jika alat luar mengirim atau menerima data lebih cepat dari prosesor cara ini tidak menjamin transfer data yang syah, sehingga harus dengan cara handshake I/O.
2.5.3 Single Handshake I/O
Dalam cara ini pengirim data memberikan sinyal strobe untuk memberitahu
adanya
data,
kemudian
penerima
data
meberikan
sinyal
21
acknowledge yang menyatakan data telah diterima, seperti transfer data antara prosesor dengan printer. printer.
Prosesor mengirimkan datra serta sinyal strobe ke
Bila printer telah siap, maka printer akan mebaca data tersebut dan
mengirimkan sinyal acknowldge yang menandakan printer telah mebaca data tersebut dan siap menerima data selanjutnya. Jadi pada metoda ini, yang menjadi acuan adalah level logika dari sinyal strobe dan acknowledge (level sensitive).
2.5.4 Double Handshake I/O
Perbedaan utama metode ini dengan metode single handshake adalah, setiap ujung dari sinyal strobe dan acknowledge masing-masing mempunyai arti (edge sensitive). Teknik I/O mode ini urutan operasinya adalah sebagai berikut: •
Prosesor melalui komponen pengatur mengirimkan sinyal strobe ke alat tujuan sebagai tanda siap mengirimkan data. Sinyal strobe berubah dari logika low ke high. Pada saat perubahan tersebut , alat tujuan meresponnya denga merubah sinyal acknowledge dari logika high ke low sebagai tanda siap menerima data.
•
Setelah menerima perubahan sinyal itu, komponen pengatur segera mengirimkan data serta menurunkan sinyal strobe dari logika high ke low, sebagai tanda data telah ada. Selanjutnya alat tujuan meresponnya dengan menaikkan sinyal acknowldge dari logka low ke high, sebagai tanda data telah diterima.
Komunikasi antara mikroprosesor dan perangkat lain ada dua jenis, yaitu I/O mapped (terpeta I/O) dan Memori mapped (terpeta memori). Contoh I/O mapped
adalah disk drive, card printer paralel, dan RS-232. Sedangkan hubungan antara RAM dan ROM menggunakan memori mapped. Dalam proses megeluarkan dan memasukan data secara I/O mapped terdapat dua metode, yaitu direct methode (metode langsung ) dan indirect methode (metode tidak langsung). Metode direct menyebutkan secara langsung alamat I/O yang dituju pada program. Alamat I/O yang dapat dihubungi hanya 1 byte, yaitu 00 – FF. Metode pengalamatan tidak langsung dilakukan secara tidak langsung, alamat rangkaian dicatat di register DX
22
sedangkan data yang akan dikeluarkan dimasukkan ke register AL (untuk 8 bit data) atau register AX (16 bit data). Sebelum menghubungkan komputer dengan device luar, perlu diketahui fungsi setiap pena yang terdapat pada slot PC selain itu perlu diketahui pula peta alamat I/O pada PC.
2.6 Slot IBM PC
PC XT dan kelas di atasnya memiliki slot-slot. Pada slot PC XT yang ada hanya side A dan side B, sedangkan pada PC AT semua side ada dari A sampai D. Alamat yang dapat digunakan untuk rangkaian interfacing pada PC adalah A0 sampai A9 dan alamat 300h sampai 31Fh, sedangkan alamat yang lain sudah digunakan untuk operasi internal.,
fungsi pena-pena tersebut adalah sebagai
berikut: •
D0 – D7 (data 0 – data 7), merupakan data bus 8088, 8bit, bidirectional.
•
MEMR dan MEMW (Memory Read – Memori Write), menandakan μP
sedang melakukan pembacaan atau penulisan memori. •
IOR dan IOW (I/O Read – I/O Write), menandakan μP sedang melakukan
pembacaan atau penulisan rangkaian I/O. •
ALE (Address Latch Enable), menandakan AD0 – AD7 dan A8 –A19 μP
8088 berisi A0 – A19. •
OSC (Oscillator), merupakan keluaran osilator kristal dari 8284. Frekuensi
versi turbo lebih tinggi dari non-turbo. •
CLK (Clock), merupakan keluaran oscillator kristal dari 8284.
•
RESET DRV (Reset Drive), merupakan pulsa reset dari 8284. Aktif sesaat
ketika PC mulai dihidupkan. •
IRQ2-IRQ7 (Interupt Request 2 – 7), pena-pena ini dihubungkan langsung
dengan PIC 8259. Aktif pada sisi naik. •
DRQ1 – DRQ3 (Direct Memory Access Request 1 – 3), pena ini dihubungkan
dengan 8237 untuk meminta akses memori langsung.
23
•
DACK0 – DACK3 (DMA Acknowledge), merupakan pulsa keluaran 8237
untuk memberitahu bahwa permintaan DMA yang bersesuaian dapat dilaksanakan. •
I/O CH CK (I/O channel check), untuk meminta NMI (non-maskableinterupt).
•
I/O CH RDY (I/O channel ready), digunakan untuk meminta penundaan kerja μP.
•
AEN (address Ennable), saat aktif tinggi menandakan komputer sedang
megadakan memory refresh. Karena memory refresh terletak pada interupsi tertinggi, pada saat terjadi aktivitas ini, komputer hanya dapat mengerjakan memory refresh saja. Sangat penting digunakan pada proyek interfacing. •
TC (terminal Count), menandakan telah selesainya DMA.
24
B1
A1
IO CH CK
RESET DRV B2
GND
A2
D7
+5V
B3
A3
D6
IRQ2
B4
A4
D5
-5V
B5
A5
D4
DRQ2
B6
A6
D3
-12V
B7
A7
D2
NOT USED B8
A8
D1
+12V
B9
A9
D0
GND
B10
A10
IO CH RDY
MEMW
B11
A11
AEN
MEMR
B12
A12
A19
IOW
B13
A13
A18
IOR
B14
A14
A17
DACK3
B15
A15
A16
DRQ3
B16
A16
A15
DACK1
B17
A17
A14
DRQ1
B18
A18
A13
DACK0
B19
A19
A12
CLK
B20
A20
A11
IRQ7
B21
A21
A10
IRQ6
B22
A22
A9
IRQ5
B23
A23
A8
IRQ4
B24
A24
A7
IRQ3
B25
A25
A6
DACK2
B26
A26
A5
T/C
B27
A27
A4
ALE
B28
A28
A3
+5V
B29
A29
A2
OSC
B30
A30
A1
GND
B31
A31
A0
Component_1
Gambar 2.6. Slot ISA IBM PC
25
2.7 Peta Alamat I/O PC XT
Berikut ini adalah peta alamat I/O PC XT, Tabel 2. peta alamat I/O PC XT Alamat (hexa)
Fungsi
000 – 00F
8237 DMA Controller
020 – 021
8259 PIC
040 – 043
8253 PIT
060 – 063
8255 PIO
080 – 083
DMA Page Register
OA
NMI Mask Register Enable/Disable
OC
Cadangan
OE
Cadangan
0F8 – 0FF
Cadangan untuk upgrade 8088
100 – 1FF
Tidak digunakan
200 – 20F
Game Control
210 – 217
Unit ekspansi
220 – 24F
Cadangan
2F0 – 2F7
Cadangan
2F8 – 2FF
Komunikasi Asinkron (sekunder)
278 – 27F
Cadangan
300 – 31F
Prototype card
320 – 32F
Hard Disk
378 – 37F
Printer
380 – 38C
SDLC
380 – 389
Komunikasi sinkron Biner (Sekunder)
3B0 – 3BF
Display Monochrome/printer card
3C0 – 3CF
Color/Graphics card
3E0 – 3F7
Cadangan
3F0 – 3F7
Disket
3F8 – 3FF
Komunikasi Asinkron (primer)
26
2.8 Register Internal 8088
Mikroprosesor 8088 mempunyai empat golongan register yaitu flag register, general purpose register, instruction pointer dan segment register.
2.8.1 Flag Register
Flag register 8088 terdiri atas 16 bit data. Letak masing-masing bit (D15 – D0) adalah sebagai berikut: D15 X
D0 X
X
X
0
D
I
T
S
Z
X
A
X
P
X
C
Gambar 2.7. Flag Register 8088
O = Overflow
S = Sign
D = Direction
Z = Zero
I = Interupt
A = Auxillary Carry
X = tidak terpakai
P = Parity
T = Trap
C = Carry
2.8.2 General Purpose Register
Pada mikroprosesor 8088 terdapat delapan register, yaitu: AX, BX, CX, DX, SI, DI, BP dan SP. Register AX sampai DX dapat dibagi menjadi register AH sampai DH (untuk bit 8 sampai 15) dan AL sampai DL (untuk bit 0 sampai 7). Disamping kegunaan umum, masing-masing rgister memiliki kegunaan khusus. •
Register AX, nama lain dari register ini adalah akumulator. Register ini
dipakai untuk operasi perkalian dan pembagian.
Register ini merupakan
register yang paling efisien untuk operasi aritmatika, logika dan pemindahan data. •
Register BX.
Register BX memiliki kemampuan untuk menunjuk lokasi
memori melalui perintah tidak langsung misalnya mov al, [bx]. Nilai default
27
untuk penunjukkan lokasi memori melalui register BX adalah ralitf terhadap register DS. •
Register CX memiliki kegunaan khusus sebagai pencacah untuk program
yang melakukan looping. •
Register DX merupakan register yang dapat mencatat lopkasi I/O untuk
transfer data dari dan ke lokasi I/O, disamping itu register DX dipakai untuk proses perkalian dan pembagian 32 bit. •
Register SI memiliki kemampuan seperti register BX, namun melaui perintah
khusus register ini dapat berbuat lebih banyak dibandingkan register BX. •
Register DI memiliki kegunaan hampir sama dengan register SI.
•
Register BP hampir sama dengan register BX, SI dan DI. Perbedaannya
adalah register BX, SI dan DI menunjukkan lokasi memori relatif terhadap DS (Data Segment), penunjukkan register BP adalah relatif terhadap SS (stack Segment). •
Register SP digunakan pada operasi stack.
• Instruction Pointer Register IP menunjuk alamat perintah yang akan dikerjakan oleh μP.
2.8.3 Segment Register
Segment register ada empat buah, yaitu CS, DS, ES dan SS •
Register CS, bersama dengan IP, yaitu CS:IP, menunjuk lokasi perintah yang
akan dikerjakan oleh mikroprosesor. •
Register DS, menunjukkan alamat awal segment data. Cara penunjukkan
lokasi data adalah DS:alamat relatif. •
Register ES, Extra Segment, kegunaan khusus register ini tidak ada. Dengan
cara-cara tertentu register ini dapat digunakan untuk bermacam-macam tujuan. •
Register SS, bersama dengan SP, yaitu SS:SP, register ini menunjuk data
yang akan diambil pada operasi stack.
28
2.9 BORLAND DELPHI
Ide munculnya Delphi berasal dari bahasa pemrograman yang cukup terkenal, yaitu Pascal. Bahasa pascal diciptakan tahun 1971 oleh ilmuwan dari Swiss, yaitu Niklaus Wirth. Nama pascal diambil dari nama ahli matematika dan filsafat dari Perancis, yaitu Blaise Pascal (1623-1662). Sejak saat itu muncul beberapa versi Pascal diantaranya Turbo Pascal yang dikeluarkan oleh Borland International Incorporation tahun 1983. Turbo Pascal yang muncul pertama kali hanya dapat dijalankan pada sistim operasi DOS. Namun pada perkembangan selanjutnya, Borland International juga mengeluarkan Turbo Pascal yang dapat dioperasikan pada windows 3.x, yaitu Turbo Pascal for Windows.
Tahun 1992, dikeluarkan Borland Pascal versi 7 yang berupa
gabungan Turbo Pascal for Dos dan Turbo Pascal for Windows. Karena pemrograman windows dengan Borland Pascal masih dirasa cukup sulit, maka sejak tahun 1993 Borland International mengembangkan bahasa Pascal yang bersifat visual. Hasil pengembangan ini adalah dikeluarkannya Borland Delphi. Dalam pembuatan sebuah program , Delphi menggunakan sistem yang disebut RAD (Rapid Aplication Development). Sistim ini memanfaatkan bahasa pemrograman visual yang membuat seorang programer lebih mudah mendesain tampilan program (user interface). Cara ini sangat bermanfaat untuk membuat program yang bekerja dalam sistem windows yang memang tampilan grafisnya lebih rumit namun indah dilihat dibandingkan dengan sistem DOS.
Dengan
bahasa pemrograman biasa (non-visual), waktu seorang programmer akan lebih banyak dihabiskan untuk mendesain tampilan program daripada menulis program utamanya sendiri.
Misalnya mengatur pergerakan mouse, membuat efek
penekanan tombol, pembukaan kotak dialog, dan lain-lain.