Jurnal Ilmiah Poli Rekayasa Volume 3, Nomor 2, Maret 2008 ISSN : 1858-3709 KOMUNIKASI DATA SERIAL MULTIPOINT MENGGUNAKAN TEKNIK RS485 HALF DUPLEX Oleh : Rikki Vitria Jurusan Teknik Elektro Politeknik Negeri Padang ABSTRACT RS485 is serial data communications technique able to communicate between one unit with other units at distance maximum 1,2 Km. Besides can be used for the Long distance, this technique also can be used to connect 32 unit at the same time or recognized with multipoint only by using two cable and don’t require same ground reference between one unit with others unit. Burden which connect with this network be implemented by using a PC and two minimum systems use AT89C51 microcontroller. Keywords: RS485, Multipoint, PC, Microcontroller Komunikasi Data Serial Asinkron Menggunakan 1. PENDAHULUAN Komunikasi (serial Standart RS485 ini merupakan pengembangan communications) merupakan cara menghantar dari komunikasi serial dengan standart RS232. data Dimana yang lebih secara mudah serial dibandingkan pada komunikasi serial standart komunikasi paralel (parallel communications) RS232, komunikasi yang bisa dilakukan adalah disebabkan sistem komunikasi paralel terlalu point to point dan jaraknya antara dua peralatan mahal untuk kegunaan jarak jauh. Data yang yang bernilai 8 bit di simpan di shift register dan maximum 15 meter [4]. dikirim Melihat secara satu bit demi satu bit ke berkomunikasi juga keterbatasan terbatas inilah yaitu dikembangkan tujuannya. Biasanya shift register tersebut dengan menggunakan standart RS485. Seperti berbentuk sebuah IC yang digunakan khas ulasan diatas komunikasi dengan teknik RS485 untuk komunikasi serial yang disebut UART bisa secara multipoint atau banyak item yang (Universal Receiver bisa kita hubungkan untuk berkomunikasi . Item Transmitter). Mode Komunikasi serial yang bisa yang bisa terhubung kedalam jaringan ini dilaksanakan seperti simplex, half duplex, dan adalah maksimum 32 buah item dan memiliki full duplex. jarak maksimum komunikasi yang lebih jauh Salah satu standart komunikasi serial yang sekitar 1.2 Km [2]. dipakai adalah Asynchronous Teknik RS485, Teknik ini adalah teknik komunikasi data serial yang 2. KONSEP TEKNIK RS485 dapat dilakukan pada jarak yang cukup jauh RS485 adalah teknik komunikasi data yaitu 1,2 Km. Selain dapat digunakan untuk serial yang dapat berkomunikasi antara satu jarak yang jauh teknik ini juga dapat digunakan unit dengan unit lainnya pada jarak yang cukup untuk menghubungkan 32 unit beban sekaligus jauh yaitu 1,2 Km [2]. Selain dapat digunakan hanya dengan menggunakan dua buah kabel untuk jarak yang jauh teknik ini juga dapat saja tanpa memerlukan referensi ground yang digunakan sama antara unit yang satu dengan unit lainnya beban sekaligus hanya dengan menggunakan [2]. dua buah untuk kabel menghubungkan 32 saja tanpa unit memerlukan 67 Jurnal Ilmiah Poli Rekayasa Volume 3, Nomor 2, Maret 2008 ISSN : 1858-3709 referensi ground yang sama antara unit yang standart RS485 seperti yang terlihat pada satu gambar 2.1 [2]. dengan unit lainnya. Beban yang terhubung kejaringan bisa berupa komputer, mikrokontroler dan peralatan-peralatan lainnya yang bisa dikoneksikan dengan menggunakan Gambar 2.1. Jaringan Komputer dan Peralatan lainnya dengan teknik RS485 Untuk mewujudkan hal ini biasanya digunakan sebuah IC SN75176, IC inilah yang menjadi komponen utama Modul RS485 yang didisain untuk komunikasi data secara bidirectional atau multipoint dengan Standard ANSI EIA/TIA-422B dan ITU V11. Data yang ditransmisikan oleh IC ini dikirim dalam bentuk perbedaan tegangan Gambar 2.2. Susunan Pin IC SN75176 yang ada pada kaki A dan B dari SN75176. SN75176 berfungsi sebagai pengirim data atau Pada komunikasi RS485, semua peralatan penerima data tergantung dari kondisi kaki-kaki elektronik berada pada posisi penerima hingga kontrolnya yaitu DE dan RE. Apabila kaki DE salah satu memerlukan untuk mengirimkan berlogika 0 dan RE berlogika 0, maka SN75176 data, maka peralatan tersebut akan berpindah berfungsi sebagai penerima data sedangkan ke mode pengirim, mengirimkan data dan bila kaki DE berlogika 1 dan RE berlogika 1 kembali maka SN75176 berfungsi sebagai pengirim. peralatan Adapun Gambar IC tersebut seperti yang mengirimkan data, maka terlebih dahulu harus terlihat pada gambar 2.2 [2]. diperiksa, apakah jalur yang akan digunakan ke mode penerima. elektronik Setiap tersebut kali hendak sebagai media pengiriman data tersebut tidak sibuk. Apabila jalur masih sibuk, maka peralatan tersebut harus menunggu hingga jalur sepi. Hal ini seperti yang ditunjukkan flowchart pada gambar 2.3 [2]. 68 Jurnal Ilmiah Poli Rekayasa Volume 3, Nomor 2, Maret 2008 ISSN : 1858-3709 selanjutnya akan diambil untuk diproses lebih lanjut. Proses ini seperti ditunjukkan flowchart pada Gambar 2.4 [2]. Gambar 2.3 Flowchart Pengiriman Data Gambar 2.4. Flowchart Penerimaan Data Agar data yang dikirimkan hanya sampai ke peralatan elektronik yang dituju, misalkan ke salah satu Slave, maka terlebih 3. IMPLEMENTASI KOMUNIKASI SERIAL RS485 dahulu pengiriman tersebut diawali dengan Slave ID Untuk Implementasi Proses komunikasi dan dilanjutkan dengan data yang dikirimkan. Serial ini kita bisam menggunakan sebuah Peralatan-peralatan elektronik yang lain akan komputer dan 2 buah sistem minimum yang menerima data tersebut, namun bila data yang menggunakan Mikrokontroler AT89C51, seperti diterima tidak mempunyai ID yang sama yang terlihat pada Gambar 5.1 dibawah ini dengan Slave peralatan ID tersebut yang harus dikirimkan, maka menolak atau mengabaikan data tersebut. Namun bila Slave ID yang dikirimkan sesuai dengan ID dari peralatan elektronik yang menerima, maka data PC Converter Rs232/Rs485 Converter TTL/Rs485 Sistim Minimum (Mikrokontroler AT89c51) Converter TTL/Rs485 Sistem Minimum (Mikrokontroler AT89c51) Gambar 3.1. Blok Diagram Modul Komunikasi Data Serial dengan Teknik RS485 69 Jurnal Ilmiah Poli Rekayasa Volume 3, Nomor 2, Maret 2008 Disini terlihat ada 3 buah item (1 PC dan 2 Port[$3F8]:=kar; Gotoxy(x,y); TextColor(Yellow); Case kar of $0D : Begin x:=2; y:=y+1; if y>12 then Begin ScrollUp1; y:=12; x:=2; end; end; $08 : Begin x:=x-1; if x<2 then Begin y:=y-1; x:=79; End; Gotoxy(x,y);Write(' '); Gotoxy(x,y); end; 00..07, 09..$0C, $0E..$FF : Begin Write(Chr(kar)); x:=x+1; if x>79 then Begin x:=2; y:=y+1; end; if y>12 then Begin ScrollUp1; y:=12; x:=2; end; end; end; end; Sistem minimum) yang dikomunikasikan, dan kita menganggap ini cukup mewakili komunikasi yang multipoint. Diagram di atas merupakan komunikasi data secara keseluruhan komunikasi data serial multipoint dengan menggunakan RS485. Setiap pengiriman data dari komputer selalu melewati konverter RS232/485 kemudian berulah masuk ke TTL485 yang merupakan modul yang terhubung ke MC. Jika data yang dikirimkan telah diterima oleh modul Mc maka akan ditampilkan oleh LCD sebagai display untuk menampilkan data. Pada saat pengiriman data dari modul MC data tersebut data dimasukkan dari keypad kemudian baru dikirimkan sesuai dengan program ketujuan yang diinginkan. Untuk Pembuatan berupa Bahasa Software Komunikasi pemograman yang , akan digunakan untuk bisa berkomunikasi antara satu unit dengan unit lainnya. Untuk Bagian di PC menggunakan Pascal dan menggunakan Bahasa Assembly untuk Sistem minimumnya. 3.1. Program Pengiriman Data pada PC Seandainya data yang akan dikirimkan adalah ”Komunikasi Data” dan alamat tujuannya adalah MC3 maka kita harus menulis ”3Komunikasi Data” dimana ”3” adalah sebagai alamat tujuan data dan data yang kirimkan tersebut adalah ”Komunikasi Data”. Pada saat diperhatikan pengiriman adalah data jangan yang perlu menggunakan karakter ”2” atau ”3” secara bersamaan. Sebab jika ini terjadi maka akan menyebabkan data yang dikirimkan oleh program pada PC ini akan diterima oleh kedua MC. Procedure Kirim_Data(Var kar : byte); Begin While(Port[Line_Stat_Reg] and $20) = do; ISSN : 1858-3709 3.2. Program Pengiriman Mikrokontroler Data pada Kirimkan_Data: Clr Ea Setb p3.2 clr ti mov a,r0 subb a,#40h mov r1,a mov r0,#Mulai_Data Kirim_lagi: mov a,@r0 Lcall Serial_Out1 inc r0 djnz r1,Kirim_Lagi 70 Jurnal Ilmiah Poli Rekayasa Volume 3, Nomor 2, Maret 2008 mov a,#0dh Lcall Serial_Out1 setb Ea CLR p3.2 Ljmp Kembali Pada baris pertama potongan program diatas dilakukan Clr Ea yang menyatakan bahwa semua interupsi dimatikan, kemudian dilakukan Setb p3.2 yang menandakan bahwa RS485 dalam Mode Transmit dan flag TI harus diberi logika 0 agar data dapat dikirimkan. Mov a,r0 merupakan perintah untuk memindahkan alamat akhir data ditulis ke dalam Accumulator. Subb a,#40H adalah perintah untuk melakukan pengurangan alamat akhir data dalam r0 dengan alamat awal data 40H. Hasil akhir dari pengurangan tersebut dimasukkan ke dalam alamat r1 dan data didalam alamat r1 inilah yang akan dikirimkan. Sebelum data dikirimkan, terlebih dahulu harus ditulis ID penerima agar data yang dikirim hanya akan diterima oleh penerima yang mempunyai ID yang sama dengan ID data yang dikirim. Jika ID penerima tidak ditulis, maka data akan diterima oleh semua penerima/perangkat yang terhubung melalui jaringan RS485 tersebut. 3.3. Program Penerimaan Data Pada PC Program terima_Data ini akan bekerja jika data pertama yang dikirimkan adalah 31H atau “1” dalam bilangan ASCII. Jika bilangan pertama yang diterima adalah “1” maka port Rx_Buffer yang berada pada port serial akan aktif dan telah siap untuk menerima data yang telah dikirimkan baik itu oleh MC2 atau MC3. Procedure Terima_Data; Interrupt; Begin TextColor(White); Data_masuk :=Port[Rx_Buffer]; ISSN : 1858-3709 IF Data_Masuk = $31 then Begin While Data_Masuk <> $0D do Begin Data_Masuk :=Port[RX_Buffer]; Gotoxy(l,m); Case Data_Masuk of $0D : Begin l:=2; m:=m+1; if m>23 then Begin ScrollUp2; m:=23; l:=2; end; end; $08 : Begin l:=l-1; if l<2 then Begin m:=m-1; l:=79; end; Gotoxy(l,m);Write(' '); gotoxy(l,m); end; $1B : Begin SetIntVec($0C,Cs_IP_Lama); Port[Int_Enb_Reg]:=$01; Port[INTA00]:=$20; Port[Mod_Ctrl_Reg]:=$00; TextBackGround(Black); TextColor(7); halt; End; 00..07, 09..$0C, $0E..$1A, $1C..$FF : Begin Write(Chr(Data_masuk)); l:=l+1; if l>79 then Begin m:=m+1; l:=2; end; if m>23 then Begin ScrollUp2; m:=23; l:=2; end; end; end; end; end; 71 Jurnal Ilmiah Poli Rekayasa Volume 3, Nomor 2, Maret 2008 ISSN : 1858-3709 Hasil Port[Int_Enb_Reg]:=$01; Port[INTA00]:=$20; end; akhir komunikasi serial ini dari implementasi adalah berupa modul- modul yang bisa kita komunikasikan secara multipoint satu 3.4. Program Terima Data Pada dengan yang lainnya dengan menggunakan teknik RS485. Mikrokontroler Pada komunikasi data yang dirancang ini Terima_Data: clr p3.2 Jnb ri,$ clr ri mov r0,#Mulai_Data mov a,sbuf cjne a,#'3',keluar menggunakan dua buah mikrokontroler dan satu buah komputer yang dilengkapi dengan program pengiriman data dan penerimaan data yang dibuat dengan menggunakan bahasa pemograman Turbo Pascal 7.0 di bagian Berbeda dengan pengiriman data, pada penerimaaan data interupsi harus diaktifkan, karena jika tidak terjadi intrupsi, penerimaan data tidak potongan akan program pernah dilakukan. diatas tidak Pada terdapat perintah untuk mengaktifkan interupsi karena diawal program telah dilakukan inisialisasi terhadap interupsi serial. Interupsi ini akan aktif setelah selesai menerima data. Pada proses penerimaan data, penerima akan memeriksa ID data yang dikirimkan oleh pengirim. Jika ID data sama dengan ID penerima, maka data akan dikirimkan ke LCD untuk ditampilkan, tetapi jika ID data tidak sama dengan ID penerima, maka data tersebut ditolak. Seperti pada perintah cjne a,#'3',keluar, jika penerima mempunyai ID sama dengan 3, maka data yang dikirimkan tersebut diterima dan ditampilkan pada LCD tetapi jika tidak maka melompat ke label keluar yang menandakan bahwa data tersebut ditolak. Data yang ditampilkan pada layar LCD hanya data yang berada setelah no ID penerima. Misalnya data yang dikirimkan “34567”, maka data yang akan diterima dan ditampilkan pada layar LCD penerima dengan no ID 3 adalah “4567” Komputer dan menggunakan bahasa Assembly MCS-51 di bagian mikrokontrolernya. Sebelum melakukan pengiriman data semua alat yang digunakan untuk komunikasi data ini diset dalam posisi menerima. Maka alat akan menerima data jika data yang pertama tersebut sama dengan ID yang diset pada masing alat. Pada Mikrokontroler data yang diterima ditampilkan pada LCD (Liquid Cristal Display). Sedangkan pada komputer, data yang diterima ditampilkan pada kolom baris kedua. Penulisan data yang dikirimkan pada Mikrokontroler dengan menggunakan Keypad Matrik dan pada Komputer menggunakan kayboard. Mode komunikasi yang bisa dilakukan adalah half Duplex Atau mode komunikasi dua arah antara pengirim dan penerima tetapi proses pengiriman dan penerimaan data tersebut harus secara bergantian dan tidak bisa secara bersamaan. Semua Unit yang terhubung ke jaringan bisa saling berkomunikasi satu dengan yang lainnya. Jadi sistem yang menggunakan teknik RS485 ini merupakan pengembangan dari keterbatasan yang ada pada teknik RS232, yang hanya bisa melakukan komunikasi point to point saja 4. HASIL DAN PEMBAHASAN 5. KESIMPULAN DAN SARAN 72 Jurnal Ilmiah Poli Rekayasa Volume 3, Nomor 2, Maret 2008 Labor Telekomunikasi, Penelitian Program 5.1. Kesimpulan Dari uraian yang telah disampaikan sebelumnya, maka kami menarik beberapa kesimpulan yaitu: RS485 ini merupakan pengembangan dari keterbatasan yang ada pada komunikasi Komunikasi Multipoint yang terjadi antara modul dengan yang lainnya diibaratkan seperti forum diskusi, dimana ketika 4. Interfacing the Serial / RS232 Port V5.0, 5. Mackenzie Scott, The Microcontroller 8051, Prentice sebuah modul Hall, Englewood Cliffs, New Jersey, Columbus, Ohio, 1992 6. Ibnu Serial RS232 sebuah Sp4 PSTT Politeknik Negeri Padang, 2004 www.senet.com.au/~cpeacock 1. Komunikasi Serial Multipoint dengan teknik 2. ISSN : 1858-3709 Malik Bereksperimen Mohammad, dengan Anistardi, mikrokontroler 8031, PT Elex Media Komputindo, Jakarta, 1997 mengirimkan informasi, maka modul-modul yang lain akan menerimainformasi tersebut 3. Pengiriman informasi dari suatu modul ke modul tertentu dapat diwujudkan dengan cara memberi ID pada setiap modul modul yang ada 5.2 Saran Keterbatasan menggunakan teknik RS485 ini adalah komunikasi yang terjadi tidak full duplex, tetapi half duplex. Mungkin nanti komunikasi serial ini bisa dikembangkan dengan teknik yang lain yang bisa mengatasi keterbatasn tersebut DAFTAR PUSTAKA 1. Andi Nalwan Paulus, Panduan Praktis Teknik Antarmuka Dan Pemograman Mikrokontroler AT89C51, PT Elex Media Komputindo, Jakarta, 2003 2. Jan Axelson, Networks for Monitoring And Control Using an RS485 Interface, Mikrocomputer Journal, August 1995 3. Septima Uzma, Rikki Vitria, Pembuatan Modul Pengiriman Dan Penerimaan Data Serial Asinkron Menggunakan Standart Rs232 Untuk Praktek Komunikasi Data Di 73