Penjelasan Interface Serial
RS-485
RS485
adalah teknik komunikasi data serial yang dikembangkan di tahun 1983 dimana
dengan teknik ini, komunikasi data dapat dilakukan pada jarak yang cukup jauh
yaitu 1,2 Km. Berbeda dengan komunikasi serial RS232 yang mampu berhubungan
secara one to one, maka komunikasi
RS485 selain dapat digunakan untuk komunikasi multidrop yaitu berhubungan secara one to many dengan jarak yang jauh teknik ini juga dapat digunakan
untuk menghubungkan 32 unit beban sekaligus hanya dengan menggunakan dua buah
kabel saja tanpa memerlukan referensi ground yang sama antara unit yang satu
dengan unit lainnya.
Sistem
komunikasi dengan menggunakan RS485 ini dapat digunakan untuk komunikasi data
antara 32 unit peralatan elektronik hanya dalam dua kabel saja. Selain itu,
jarak komunikasi dapat mencapai 1,6 km dengan digunakannya kabel AWG-24 twisted
pair.
Gambar
3 IC 75176, industri standar RS485
Bus RS485 adalah mode transmisi balanced differential. Bus ini hanya
mempunyai dua sinyal, A dan B dengan perbedaan tegangan antara keduanya. Karena
line A sebagai referensi terhadap B maka sinyal akan high bila
mendapat input low demikian
pula sebaliknya. Pada komunikasi RS485, semua peralatan elektronik berada pada
posisi penerima hingga salah satu memerlukan untuk mengirimkan data, maka
peralatan tersebut akan berpindah ke mode pengirim, mengirimkan data dan
kembali ke mode penerima. Setiap kali peralatan elektronik tersebut hendak
mengirimkan data, maka terlebih dahulu harus diperiksa, apakah jalur yang akan
digunakan sebagai media pengiriman data tersebut tidak sibuk. Apabila jalur
masih sibuk, maka peralatan tersebut harus menunggu hingga jalur sepi.
Agar data yang dikirimkan hanya sampai
ke peralatan elektronik yang dituju, misalkan ke salah satu Slave, maka
terlebih dahulu pengiriman tersebut diawali dengan Slave ID dan dilanjutkan
dengan data yang dikirimkan. Peralatan elektronik yang lain akan menerima data
tersebut, namun bila data yang diterima tidak mempunyai ID yang sama dengan
Slave ID yang dikirimkan, maka peralatan tersebut harus menolak atau
mengabaikan data tersebut. Namun bila Slave ID yang dikirimkan sesuai dengan ID
dari peralatan elektronik yang menerima, maka data selanjutnya akan diambil
untuk diproses lebih lanjut.
Gambar 4 Topologi jaringan RS485
Gambar
4 memperlihatkan topologi jaringan RS485, stasiun manapun dapat berkomunikasi
dengan stasiun lainnya tetapi tidak pada waktu yang bersamaan.
Gambar
5 Terminating resistor pada jaringan RS485
Pada jaringan komunikasi RS485,
diperlukan adanya terminating resistor (RT). Nilai terminating resistor yang
sesuai dengan impedansi karakteristik kabel adalah sangat penting pada jaringan
RS485. Sebaliknya, jika nilai terminating resistor ini tidak sesuai maka akan
dihasilkan sinyal terdistorsi yang dapat
menyebabkan terjadinya data error.
Gambar 5 di atas memperlihatkan penempatan terminating resistor pada jaringan
RS485, dan gambar 6 memperlihatkan hasil percobaan pengaruh nilai terminating
resistor terhadap sinyal.
Gambar 6 Terminating resistor terhadap karakteristik
sinyal
Perangkat
Interface
Jaringan LocalTalk menggunakan
RS485 yang kompatibel dengan sinyal diferensial pada 4 kawat standar konektor
RJ11 dan kabel telepon. LocalTalk hanya menghubungkan ke pasangan terluar kabel
berikutnya ("pasangan luar" pada kabel 4 kawat standar).
Pasangan
terdalam kabel diabaikan oleh LocalTalk, sehingga pasangan terdalam sering
digunakan untuk telepon analog standar.
Koneksi RJ45 sering
digunakan untuk RS485, karena kemudahan menggunakan konektor modular dan
ketersediaan kabel dan konektor. Sebuah antarmuka RS485 biasanya akan
menggunakan pin 7 dan 8 untuk dua baris data, karena mereka terdiri dari
twisted pair. Hal ini untuk menghindari konflik dengan kedua Ethernet (Pins
1-3, 6) dan telepon analog (Pins 4-5). Grounding dapat menjadi masalah
tergantung pada aplikasi. Seringkali, penggunaan kabel terlindung CAT5 / 6 dapat
memberikan sinyal ground yang
memadai, meskipun hal ini tidak dianjurkan.
Gambar 7 Konektor RJ45
Komunikasi serial membutuhkan port sebagai saluran
data. Gambar 8 dan 9 berikut menampilan konfigurasi port serial DB9 yang
umum digunakan beserta fungsi-fungsinya.
Gambar
9 Fungsi masing-masing pin DB9
Rangkaian
[3]Rangkaian berikut ini adalah skema
dari Modul SR-485, yaitu modul RS485 yang didisain kompatibel dengan Modul
DST-51 dan telah dilengkapi dengan pembatas tegangan dengan menggunakan dua buah dioda zener yang
terpasang ditiap-tiap jalurnya. Kedua dioda tersebut terhubung saling
berhadapan untuk membatasi tegangan berlebih dari sisi positif maupun negatif.
Rangkaian R-C membentuk low pass filter
dengan periode cut off sebesar 0,7 x R x C atau 0,7 x 22 ohm x 220 pF yaitu 3,3
x 10 uS atau frekwensi 295,159 KHz. Untuk transmisi data dengan kecepatan yang
lebih tinggi, maka nilai capacitor C1 dan C2 dapat diubah sesuai kebutuhan.
Rangkaian
R-L yang terdiri dari R2, R3, R5
dan L1, L2 dibentuk untuk memberikan bias negatif maupun positif pada jalur B
dan A sehingga proses pengiriman data dalam bentuk perbedaan tegangan dapat
dilakukan. Selain itu L1 dan L2 juga berfungsi untuk meredam masuknya frekwensi
tinggi melalui jaringan sumber daya.
Connector JP1 pada skema tersebut adalah
merupakan konektor yang dibutuhkan untuk berhubungan dengan Modul DST-51, yaitu
suatu sistem berbasis mikrokontroler AT89C51 pada bagian port serialnya.
Sedangkan konektor J2 digunakan untuk berhubungan dengan antar muka RS485 yang
lainnya.
SN75176
SN75176 adalah IC yang menjadi komponen utama
Modul SR-485 yang didisain untuk komunikasi data secara bidirectional atau
multipoint dengan Standard ANSI EIA/TIA-422-B dan ITU V11. Data yang
ditransmisikan oleh IC ini dikirim dalam bentuk perbedaan tegangan yang ada
pada kaki A dan B dari SN75176.
SN75176 berfungsi sebagai pengirim data atau
penerima data tergantung dari kondisi kaki-kaki kontrolnya yaitu DE dan RE.
Apabila kaki DE berlogika 0 dan RE berlogika 0, maka SN75176 berfungsi sebagai
penerima data sedangkan bila kaki DE berlogika 1 dan RE berlogika 1 maka
SN75176 berfungsi sebagai pengirim.
Gambar
11 Diagram Komunikasi Data Master dan 32 Slave
Sistem komunikasi dengan menggunakan RS485
ini dapat digunakan untuk komunikasi data antara 32 unit peralatan elektronik
hanya dalam dua kabel saja.
Selain
itu, jarak komunikasi dapat mencapai 1,6 km dengan digunakannya kabel AWG-24
twisted pair.
Hubungan
Modul SR-485 dengan Modul DST-51
Hubungan antara Modul SR-485 dengan Modul
DST-51 dapat dilakukan hanya dengan menghubungkan kabel pita 10 pin antara
header SR-485 dan header EXT PORT dari DST-51 ditambah dengan dua kabel yang
dihubungkan pada I/O DST-51 (tergantung program anda) di mana kedua jalur ini
berfungsi untuk mengatur kondisi kaki DE dan RE. Apabila pada program anda
menggunakan T0 dan T1 untuk mengatur kondisi kaki DE dan RE maka kedua jalur
ini harus dihubungkan ke kaki T0 dan T1 yang terdapat pada header Control Bus dari DST-51.
Rangkaian Half-Duplex
Half duflex artinya pada satu saat hanya ada 1 node
yang mengirim data secara bergantian. Mengirim dan menerima data dgn pengaturan
pada pin RE dan DE .
Gambar 12 Rangkaian Rs485 dgn ic
max485
Penjelasan kaki ic max485 :
- kaki 1 digunakan untuk menerima data , kaki ini dihubungkan dengan pin Rx dari comm port /rs232 dari Pc atau Rx dari microcontroller.
- kaki 2 (RE) digunakan untuk kontrol penerimaan data . jika di beri 0 maka siap menerima data jika 1 maka tdk bisa mnerima data.
- kaki 3 (DE) digunakan untuk kontrol pengiriman data jika pc atau microcontroller ingin mengirim data maka kaki ini harus diberi logika 1.
- kaki 4 digunakan untuk jalur pengiriman data , kaki ini dihubungkan ke Tx dari pin comm port rs232 atau Tx microcontroller.
- kaki 5 di hubungkan ke ground.
- kaki 6 dihubungkan dengan kaki 6 dari ic max485 node lainnya melalui kable data, biasanya dinamakan jalur A
- kaki 7 dihubungkan dengan kaki 7 dari ic max485 nodelainya melalui kabel data. bisanya dinamakan jalur B.
- kaki 2 pada master biasanya dihubungkan ke 0 / ground . Artinya master selalu siap menerima data.
Pemrograman rs485
Secara pemrograman Rs485 persis sama
dengan rs232 , hanya perlu ditambah perintah untuk membuat kaki 3 (DE)
dari ic max485 diset menjadi 1 ketika akan mengirim data .
Jika kita ingin mengirim data dari
komputer lewat program visual basic 6 bisa dengan baris perintah :
MSComm1.RTSEnable
= False
dan sebaliknya ketika penerimaan
data kaki 2 (RE) dari ic max485 diset ke 0. dengan
baris perintah :
MSComm1.RTSEnable
= True
sebelumnya jangan lupa hubungkan
pin RTS pada serial port PC kita dengan Pin 3 (DE ) dari ic
max485 seperti tampak pada contoh jaringan Rs485 gambar dibawah
ini:
Gambar 13 Rs485
network
Penjelasan Rangkaian diatas:
- Master pada rangkaian diatas adalah sebuah PC dan sebagai slavenya adalah 2 buah microcontroller.
- IC Max232 digunakan merubah tegangan dari 12v port serial PC ke TTL (5 volt) . karena tegangan yang keluar dari Comm port PC kita 12v , sedangkan max485 menggunakan tegangan TTL (5v). Ada cara yang lebih praktis : anda bisa membeli modul Rs232 to rs485 converter harganya relatif murah.
- Kaki RE ic max485 dihubungkan ground artinya PC sebagai master selalu siap (defaultnya) menerima data
- Pada ujung kabel data jangan lupa diberi tahanan 120 ohm supaya sinyal tidak mantul.
- Pada slave misalnya sebuah Microcontroller dgn Icmax485 , gabungkan kaki RE dan DE dari max485 lalu hubungkan ke pin tertentu misal portD.7 maka ketika Micon akan mengirim data , portD.7 harus dibuat 1 terlebih dahulu sebelum micon mengirim data .
PortD.7 = 1; // DE dan RE dibuat 1
putchar(‘a’); // kirim data ‘a’
PortD.7=0; // DE dan
Re = 0 ( kembalikan ke default siap terima data)
FULL DUFLEX
Full Duflex artinya komunikasi
berjalan dua arah , jadi tdk perlu pengaturan spt pada half duflex dgn pin DE
dan RE dari Ic485 dan RTS oleh PORT PC.
Gambar 14
Rangkaian Rs485 Full Duflex
Teknik
Komunikasi dengan RS485
Agar komunikasi data pada sistem multipoint
yang dapat digunakan untuk 32 unit peralatan elektronik tidak terjadi saling
bentrok antar data, maka seperti layaknya pada forum diskusi yang benar, pada
kondisi awal semua peserta menjadi pendengar terlebih dahulu. Kemudian pada
saat salah seorang peserta diskusi berbicara, maka peserta yang lain harus
menunggu peserta yang berbicara tersebut menyelesaikan pembicaraan. Apabila
peserta tersebut selesai berbicara, maka peserta tersebut kembali menjadi
pendengar sedangkan yang lain baru boleh berbicara untuk memberikan tanggapan
atau mengajukan usul yang lain. Hal ini diperlukan agar forum diskusi dapat
berjalan dengan baik dan tertib.
Demikian pula pada komunikasi RS485, semua
peralatan elektronik berada pada posisi penerima hingga salah satu memerlukan
untuk mengirimkan data, maka peralatan tersebut akan berpindah ke mode
pengirim, mengirimkan data dan kembali ke mode penerima. Setiap kali peralatan
elektronik tersebut hendak mengirimkan data, maka terlebih dahulu harus
diperiksa, apakah jalur yang akan digunakan sebagai media pengiriman data
tersebut tidak sibuk. Apabila jalur masih sibuk, maka peralatan tersebut harus
menunggu hingga jalur sepi.
Gambar
15 Flowchart Pengiriman Data
Agar data yang dikirimkan hanya sampai ke
peralatan elektronik yang dituju, misalkan ke salah satu Slave, maka terlebih
dahulu pengiriman tersebut diawali dengan Slave ID dan dilanjutkan dengan data
yang dikirimkan. Peralatan
elektronik-peralatan elektronik yang lain akan menerima data tersebut, namun
bila data yang diterima tidak mempunyai ID yang sama dengan Slave ID yang
dikirimkan, maka peralatan tersebut harus menolak atau mengabaikan data
tersebut.
Gambar
16 Flowchart Penerimaan Data
Namun bila Slave ID yang dikirimkan sesuai
dengan ID dari peralatan
elektronik yang
menerima, maka data selanjutnya akan diambil untuk diproses lebih
lanjut.
Contoh Program
1. Program
untuk mengirimkan data karakter A dari Master ke Slave nomor 1 menggunakan
Komunikasi RS485
.DATA
Org 50H
SlaveID Ds 1
DE Bit T0
RE Bit T1
.CODE
Org 2000H
;Reset Vector
Ajmp Start
;
Org 2003H
;External Interrupt 0 Vector
Ret i
Org
200BH ;Timer 0 Interrupt Vector
Ret I ;
Org
2013H ;External Interrupt 1 Vector
Ret i ;
Org
201BH ;Timer 1 Interrupt Vector
Ret i ;
Org
2023H ;Serial Interrupt Vector
Ret i ;
Start:
Mov SlaveID,#01H
Acall KirimKeSlave
Ajmp *
KirimkeSlave:
Lcall
Periksa_Jalur
Setb DE
Setb RE
Mov A,SlaveID
Lcall
Serial_Out
Mov A,#'A'
Lcall
Serial_Out
Clr DE
Clr Re
Ret
;Periksa Jalur RXD, bila tidak sibuk hingga
Timer 0 overflow berarti
;jalur siap untuk pengiriman data
Periksa_Jalur:
Push
TMOD
Mov TMOD,#21H
;Timer 0 16 bit counter
;Timer 1 Serial Port
Jalur_Sibuk:
Lcall Reset_Timer0 ;
Setb
TR0 ;Timer 0 aktif
Periksa_RXD:
Jb RXD,Periksa_Timer0
;RXD tidak sibuk, pantau Timer 0
Ajmp Jalur_Sibuk ;RXD
sibuk reset timer 0 dan tunggu
;RXD
tidak sibuk
Periksa_Timer0:
Jbc TF0,Jalur_Bersih ;Timer 0 overlow, berarti jalur bersih
Ajmp
Periksa_RXD ;Belum overflow, periksa jalur lagi
Jalur_Bersih:
Clr
TR0 ;Jalur bersih, matikan
timer 0 dan
Pop
TMOD ;kembali
Ret
Reset_Timer0:
Mov TH0,#00H
Mov TL0,#00H
Ret
Init_Serial:
MOV SCON,#52H ; Mode 1 Ren, Serial Mode 1
MOV TMOD,#20H ;
T1 Mode 2
MOV TH1,#0FDH ;
9600 Baudrate
MOV TCON,#040H ; T1 On, T0 Off
MOV PCON,#00H ;
RET
Serial_Out:
CLR TI
MOV
SBUF,A
JNB
TI,*
RET
2. Program
untuk menerima data dari Master oleh Slave 1 dengan menggunakan Komunikasi
RS485 Pada program ini, Slave akan menunggu sampai Slave ID yang dikirimkan
benar-benar merupakan IDnya dan mengambil data selanjutnya serta menampilkan di
Port 1.
SlaveID
EQU 01H
DE
Bit T0
RE
Bit T1
Org 2000H ;Reset
Vector
Ajmp Start ;
Org 2003H ;External
Interrupt 0 Vector
Ret i ;
Org 200BH ;Timer
0 Interrupt Vector
Ret i ;
Org 2013H ;External
Interrupt 1 Vector
Ret i ;
Org 201BH ;Timer
1 Interrupt Vector
Ret i ;
Org 2023H ;Serial
Interrupt Vector
Ret i ;
Lcall
Init_Serial
Clr DE
Clr RE
TungguData:
Acall
Serial_In
Cjne A,#SlaveID,TungguData
Acall
Serial_In
Mov P1,A
Ajmp TungguData
Mode
Handshaking
Tidak ada
handshaking di RS-485. Jika handshaking diperlukan untuk RS-485 itu dapat dilakukan
menggunakan X-On / X-Off protokol handshaking.
RS-485 standar awalnya digunakan half-duplex komunikasi dan sinyal handshaking
seperti RTS / CTS untuk mengontrol arah aliran data. Banyak converter USB ke
serial dengan ADDC (Automatic Data Direction Control) yang secara otomatis mengamati dan mengontrol
arah data, yang membuat metode sinyal handshaking tidak terpakai.
Kelebihan dan
kekurangan
Berikut ini beberapa kelebihan dan kekurangan
menggunakan komunikasi serial RS485.
Kelebihan
|
Kekurangan
|
·
Antarmuka yang popular, sehingga banyak piranti
yang telah mendukung komunikasi serial RS485.
·
Dapat mencapai jarak sangat jauh hingga 1000 feet
·
Tahan terhadap noise dan perbedaan tegangan
·
Di implementasikan pada hardware dan software
·
Mudah di implementasikan
·
Banyak digunakan pada industri otomatisasi
·
Kecepatan tinggi hingga 115200 baud rate.
|
·
Lebih cocok untuk komunikasi sistem ke sistem,
dari pada chip ke chip atau chip ke sensor.
·
Penambahan biaya untuk chip sistem transceiver dan
kabel twisted pair dengan terminating resistors.
|
Kelebihan RS485 dibandingkan
RS232
·
Bisa
menghubungkan 1 master dengan 32 slave.
·
Kecepatan
data bisa sampai 1 mbps
·
Maksimal
panjang kabel data 1200 meter.
·
menggunakan
metoda master-slave
Perbedaan
antara RS-232 dan kedua jenis RS-485 (full-duplex dan half-duplex)
No.
|
Perbedaan
|
RS-232
|
RS-485
|
1.
|
Level sinyal
|
-12 V – +12
V relatif terhadap sinyal ground
|
0 – 5 V relatif terhadap sinyal
ground
|
2.
|
Sistem pengkabelan sinyal
|
menggunakan point-to-point kabel
sinyal searah
Hanya ada dua perangkat yang
terhubung ke kabel RS-232. TX output dari perangkat pertama yang terhubung ke
input RX dari perangkat kedua, dan output TX dari perangkat kedua dihubungkan
ke masukan RX dari perangkat pertama. Dalam kabel RS-232, data selalu
mengalir hanya dalam satu arah pada setiap kawat tertentu, dari TX ke RX
|
menggunakan jaringan kabel sinyal
linear dengan dua arah
Ada banyak perangkat biasanya
sepanjang kabel RS-485. "A" output dari masing-masing perangkat
terhubung ke output "A" dari setiap perangkat lain. Dalam kabel
RS-485, data yang biasanya mengalir di kedua arah sepanjang apapun kawat
tertentu, kadang-kadang dari "A" perangkat pertama ke "A"
perangkat kedua, dan kemudian dari "A" kedua perangkat ke
"A" perangkat pertama
|