pembuatan modul interface untuk personal …

Post on 25-Oct-2021

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Proseding Seminar Pengembangan TeknologiDan Perekayasaan Instrumentasi Nuklir. Serpong 20 Mei 2003

ISSN NO : 1693 -3346

PEMBUATAN MODUL INTERFACE UNTUK PERSONAL KOMPUTERPRIBADI

Ahmad Rifai dan Usep Setia Gunawan - P2PN SATAN

AbstrakTelah dibuat sebuah modul interface mampu memberikan cara mudah dalam menginterface PCdengan piranti masukanlkeluaran. Tidak diperlukan bahasa assembly dalam menggunakannya.Modul ini berbasis mikrokontroler seri MCS51 dan menerima perintah dari komputer pribadi melaluiport serial. Perintah-perintah tersebut didefinisikan demikian sehingga memudahkan untukmengendalikan 24 buah jalur masukan/keluaran yang terdapat pada modul tersebiut. Jalur-jalurinidapat dipakai baik sebagai masukan ataupun keluaran sehingga menjadikan modul ini sangattepat guna. Setiap huruf yang diterima akan memberikan interrupt. Subrutin interupt akanmenyimpan huruf tersebut dalam sebuah buffer sampai tanda akhir perintah diterima. Selanjutnyaprogram dalam modul akan menterjemahkan perintah terebut memberikan respons yang sesuai.

AbstractA pc-interface module has been developed that provides an easy way to interface PC with I/Odevices. This MSC51 microcontroller based module accepts series of commands from a personalcomputer through a serial port. The commands are defined to easily control 24 I/O lines availableon the module. These lines can be individually used as either input or output that make the modulevery verstile. A command is received by the module on ASCII string basis. Each character sent tothe module willgive an interrupt. The firmware's interrupt handler willstore the character in a bufferuntil end of command character arrives. The firmware then parses and interpretes the commandand responses accordingly.

PendahuluanOalam pembuatan berbagaiinstrumentasi nuklir di lingkunganBATAN, komputer pribadi (PC) seringdipergunakan sebagai perlengkapanuntuk memproses dan menyajikanbesaran pengukuran, baik dalam bentuktampilan numerik maupun grafik.Penggunaan PC memang sangatmenguntungkan karena harganyamurah dan juga karena banyaktersedianya programming tool, sehinggapembuatan man-machine interface yangbaik dapat dimungkinkan. Oengandemikian ahli sistem instrumentasimembutuhkan interface yangmenghubungkan PC dengan rangkaianakuisisi data yang pada dasarnyamembaca besaran-besaran analogmaupun besaran digital. Pada awalperkembangannya PC menyediakanISA bus sebagai bus standar yangmemungkinkan penambahan peripheralinterface yang menghubungkan PCdengan dunia luar semisal sistemakuisisi data (ADC card, digital Ifa card,dll). Banyak praktisi instrumentasimerancang rangkaian interfacemenggunakan bus standar tersebut danmenggabungkannya dengan sistempengukuran (dan juga kontrol).

Oengan perkembangan yang sangatcepat dalam teknologi mikroprosesorpada PC, ISA bus dirasakan sudahsangat lambat ditinjau dari segiperangkat keras, dan juga tidak lagimemadai dalam mendukungperkembangan sistem operasi yangtelah menggunakan teknik plug & play.Keadaan ini mendorong terciptanyastandar bus yang baru - dikenal sebagaibus PCI (Peripheral ComputerInterconnect). Teknologi PCI bus cukupkompleks dan membutuhkan pci buscontroller chip yang dibuat khusus,sehingga pembuatan interface untukstandar bus ini tidak lagi sesederhanaseperti halnya untuk bus ISA. Oisamping itu, saat ini PC tidak lagidilengkapi dengan bus ISA, sehinggapembuatan rangkaian interface untukPC mengalami hambatan karena harusberadaptasi dengan teknologi tersebut.Beberapa standar interface lain yangbelakangan muncul untuk meningkatkankinerja PC dalam berkomunikasi denganperalatan lain seperti printer, scanner,atau data acquisition system adalahusa (universal serial bus). Sekali lagipraktisi instrumentasi harus kembaliberadaptasi dengan teknologi yang barudan harus mempelajari chip pendukungbus serial tersebut dan memasukkannya dalam rancangan rangkaian

Halaman 25

Proseding Seminar Pengembangan TeknologiDan Perekayasaan Instrumentasi Nuklir, Serpong 20 Mei 2003

ISSN NO: 1693.3346

digitalnya. Satu-satunya interface yangumum dan masih dipergunakan padaPC adalah port komunikasi RS-232.Walaupun memiliki kecepatan rendah,teknologi ini masih banyakdipergunakan baik dalam sistempengukuran maupun dalam sistemakuisisi data di industri. Variasi interfaceserial ini masih banyak ditemui dalamjaringan industri, seperti RS-485 danRS-422. Oalam makalah ini akandisajikan suatu modul interface yangmenggunakan port serial RS-232 untukberkomunikasi dengan PC, sehinggadengan perangkat lunak yang tepatdapat diperintahkan untuk menghasilkansinyal-sinyal yang diperlukan untukberkomunikasi dengan masukan ataukeluaran digital, cip ADC/DAC,multiplexer, relay, dlsb. Modul sepertiirii juga tersedia di pasaran yangumumnya masih diimpor.

Metode

Oalam merancang modul interface inibeberapa pertimbangan dimasukkanagar pemanfaatanya optimal, antaralain:

. Berharga murah

Mudah penggunaannyaTidak membutuhkan bahasa

pemrograman level rendah(assembly language)

Memiliki perintah yang sederhanaOapat dipergunakan sebagaimasukan dan keluaran

Menggunakan perangkat keras yangminimal

Firmware nya dapat dikembangkanuntuk keperluan khusus

.

.

.

.

.

.

Oalam mewujudkan pertimbangantersebut di atas, modul interface inimenggunakan mikrokontroler seriMCS51 yang sangat populer danbanyak pemakainya. Pemilihan in hanyadidasarkan pada pengalaman kami yangtelah mengenal mikrokontroler ini sejaklama dan tentu ini akan sangatmembantu dalam memanfaatkannyabaik dari perangkat keras maupundalam memprogramnya. Secara blokdiagram kedudukan modul interface ini

digambarkangambar 1.

seperti terlihat pada

MODUL INTERFACE

A

B

C

ADCDAC

RelayMulbplexeretc

Gbr. 1. Blok diagram penggunaan modulinterface

Oalam gambar diatas A, B, dan Cmasing-masing adalah port 8 bit yangdapat dijadikan sebagai masukanataupun keluaran, jadi seluruhnyaterdapat 24 buah masukan/keluaran.Setiap bit pada port A dan B dapatdikendalikan dengan perangkat lunakpada komputer pribadi sehinggapenggunaannya sangat fleksibel. Oesainrangkaian modul interface ini terlihatdalam gambar 2. Modul inimenggunakan jumlah rangkaian terpaduyang minimum. Komponen utamaadalah mikrokontroler i87C51 ataukompatibelnya dan satu buah cip driverRS-232 MAX232. Oengan jumlahkomponen yang minimum ini diharapkanharga modul ini dapat ditekan sangatmurah.

Untuk memudahkan penggunaan modulinterface ini, didefinisikan seperangkatperintah yang sangat mudah diingat.Berikut ini beberapa contoh perintahtersebut:

Halaman 26

Perintah Penggunaannya

0 %SET AO<Cr> 0 Men-set bit 0 pada port A0 %CLRAO<Cr> 0 Me-reset bit 0 pad a port A0 %GETB7<Cr> 0 Membaca bit 7 daTi port B0 %PUTA57<Cr> 0 Mengirim bilangan hexadesimal

57(hex) ke port A

0 %PUTC6A<Cr> 0 Mengirim bilangan hexadesimal6A(hex) ke port C

0 %GETA<Cr> 0 Membaca daTi port A

0 %PULSE A3<Cr> 0 Kirim satu pulsa pada bit 3 padaport A. Bisa digunakan untukmemulai konversi Dada ADC.

Proseding Seminar Pengembangan TeknologiDan Perekayasaan Instrumentasi Nuklir,Serpong 20 Mei 2003

~~

R3 = Xl Xl

5K T 6MHfu I, '"

-L4 C2

ITRJ(

11

WI'

Gbr.2: Skema rangkaian

Perintah terdiri dari string (huruf besar)yang dimulai dengan simbol '%' dandiakhiri dengan carriage return(heksadesimal 00). Perintah ini dikirimdari PC ke modul interface melalui serialport komputer (COM1 atau COM2)dengan baudrate tetap 9600 bps.Baudrate seperti ini tentu dapat denganmudah tersedia pada PC.

Prinsip kerja

Prinsip kerja modul interface inimenggunakan teknik master-slavedalam berkomunikasi dengan PC. Modulbertindak sebagai slave yang menungguperintah dari PC (master), kemudianmenterjemahkan perintah tersebut. Jikaperintahnya benar maka perintah akandijalankan dan memberikan response kePC berupa string "OK" atau sebuah nilaiyang diakhiri dengan string "-OK".Perintah yang salah akan diabaikan,dan PC akan menerima pesan berupastring "Error". Semua komunikasidilakukan dengan menggunakan hurufberkode ASCII.

ISSN NO : 1693 -3346

PI

PM

U18031

PlOP11P"P13P14P15P16P11

~"

39"'" ~38

POOPOIPO]P03P04POSP06P01

ALFJP 30

nlTO "'" IN1UINTITOTlRESErEA/VPRDWR

i87csl

P]O>]1PJ]P]J>]4>]5P]6P]1

]I PCO

~~ ~nlr. ]4

vcr

.ClO

.luF

Pada gambar 3 terlihat state diagramcara bekerja firmware pada modulinterface. Setiap huruf yang dikirim olehPC akan rnemberikan interrupt serialpada mikrokontroler. Huruf yangditerima akan disimpan dalam sebuahbuffer sampai terdapat huruf yangmenandai akhir suatu perintah (carriagereturn DOH), atau jumlah huruf yangditerima melebihi balas, dalam hal initerjadi kesalahan. Jika modul telahmenerima perintah yang benar,firmware akan memeriksa perintah (danparameter) yang diterima denganmembandingkan perintah tersebutdengan isi label perintah yangdiperbolehkan (valid). Selanjutnyaadalah melaksanakan perintah terse butjika benar, atau mengirimkan pesansalah ke PC. Kemudian modul akankembali menunggu perintah selanjutnya.

Ha/aman 27

Ji -LC3Rt - T! l P!T

U3

A T24C081

Iwp vcrMJ

SDA I jAlseLK3 11.2

GND,

vcr

.!!

.?!

.?!

19.

E.

.!!J]

Proseding Seminar Pengembangan TeknologiDan Perekayasaan Instrumentasi Nuklir. Serpong 20 Mei 2003

ISSN NO: 1693 -3346

Benar

Gbr. 2: State diagram

Hasil yang dicapai

Dalam pembuatan ini dilakukanpengujian antara lain:

Men-set dan me-reset setiap bit padaport A dan port BMengirim satu byte data ke port A, portB dan port CMembaca port A, port B, dan port CMembaca masing-masing bit pada portA dan port BMengirim satu pulsa ke setiap bit padaport A

Gambar 3 adalah contoh output yangdihasilkan setelah modul menerimaperintah dari PC:

5V

%CLR AO<Cr%SET AO<Cr>

Gbr.3: Contoh perintah pada bit AOpada port A

Untuk bahan pengujian lainnya modulinterface ini dipergunakan dalampembuatan device programmer untuktarget mikrokontroler AT89C2051.AT89C2051 adalah suatu mikrokontrolerseri MCS51 berukuran 20 pin, memiliki128 byte RAM dan 2K flash programmemory. Untuk menggunakanmikrokontroler kecil ini, program berupa

machine code harus ditanamkan terlebihdahulu ke dalam flash memorytersebut. Modul interface dalampembahasan ini dipergunakan sebagaiinterface PC dengan mikrokontrolertarget tersebut. Aplikasai program dalambahasa pemrograman C++dipergunakan untuk mengirimkan datayang akan dimasukkan ke dalam target.Setelah diisi program kedalam flashmemorynya, target device dapatberfungsi seperti yang diprogramkan.Dalam pembuatan device programmerini tidak diperlukan bahasa assemblysarna sekali, jadi sangat mudahmenggunakannya.

Kesimpulan dan saran

Kami dapat menyimpulkan, bahwapekerjaan kami ini telah dapatmengatasi masalah kesulitan dalammembuat interface untuk komputerpribadi. Kemudahan juga telah diperolehkarena dengan menggunakan modul initidak perlu lagi memprogram dalambahasa bahasa assembly ataupunprogram yang mengakses langsung kealamat I/O pada komputer.

Kemampuan mikrokontroler yangdipergunakan belum dimanfaatkansecara maksimum. Oleh karena itu dimasa mendatang firmware masih dapatditambahkan sehingga modul ini dapatjuga melakukan pencacahan pulsa danmenyimpan datanya pada memori yangtersedia.

Referensi:

-,"MCS51 Programmer's guide", IntelCorp., 1987.-,"8-bit microcontroller with 2K flash",Atmel Corp. 1997

Halaman 28

top related