Pikir dan Rasa

cogito ergo sum

Null modem dan loopback

leave a comment »

Dasar koneksi

Dasar hubungan komunikasi serial secara sederhana dapat dilihat dari gambar yang saya dapatkan dari electricly.com dan CAMI Research berikut:







Keterangan konfigurasi di atas sebagai berikut:
Serial communications with RS232. One of the oldest and most widely spread communication methods in computer world. The way this type of communication can be performed is pretty well defined in standards. I.e. with one exception. The standards show the use of DTE/DCE communication, the way a computer should communicate with a peripheral device like a modem. For your information, DTE means data terminal equipment (computers etc.) where DCE is the abbreviation of data communication equipment (modems). [1]


Hubungan kabel untuk bentuk konfigurasi di atas (DTE-DCE) yang sering disingkat straight cable adalah sebagai berikut:





Null modem

Bagaimana jika hubungan tidak dilakukan antara DTE & DCE, misalnya untuk menghubungakan unit mikrokontroler ke PC? Untuk keperluan ini ada pola koneksi yang dikenal sebagai null modem.

One of the main uses of serial communication today where no modem is involved—a serial null modem configuration with DTE/DTE communication—is not so well defined, especially when it comes to flow control. The terminology null modem for the situation where two computers communicate directly is so often used nowadays, that most people don’t realize anymore the origin of the phrase and that a null modem connection is an exception, not the rule.
 
In history, practical solutions were developed to let two computers talk with each other using a null modem serial communication line. In most situations, the original modem signal lines are reused to perform some sort of handshaking. Handshaking can increase the maximum allowed communication speed because it gives the computers the ability to control the flow of information. High amounts of incomming data is allowed if the computer is capable to handle it, but not if it is busy performing other tasks. If no flow control is implemented in the null modem connection, communication is only possible at speeds at which it is sure the receiving side can handle the amount information even under worst case conditions.[1]


Konfigurasi sederhana tanpa handshaking adalah sebagai berikut [2]:

     

Tabel koneksi lengkap “RS232 DB9 NULL Modem Pinout” [3]:
DB9 Signal DB9 Signal
2 RD 3 TD
3 TD 2 RD
4 DTR 6,1 DSR, DCD
6,1 DSR, DCD 4 DTR
7 RTS 8 CTS
8 CTS 7 RTS
5 SGND 5 SGND
9 RI 9 RI


 

Sumber gambar: USB RS232 Level Conversion – Smiley Micros (Joe Pardue)


   
  
Bagaimana jika menggunakan IC MAX232? Untuk memahami secara mudah peran IC MAX 232 yang tidak lain hanyalah pengubah level tegangan dari/ke CMOS/TTL ke RS232 silahkan melihat dua gambar yang saya modifikasi dari coolcircuit.com berikut:




 
Contoh lain konfigurasi null modem pada aplikasi microcontroller (embedded system)  [4]:




Contoh kabel null modem komersial yang dijual seperti berikut:



 


       
Loopback (loop back)

Konfigurasi loopback diperlukan–sederhananya–untuk menguji apakah hubungan koneksi dan sistem antar muka suatu sistem berfungsi dengan baik. Lebih lengkapnya [3]:
Loopback is a method of testing the RS232 connector and interface circuitry to ensure it is functioning correctly, that is, in layman’s jargon – it ain’t broke! If communication fails to occur between two machines the question that immediately arises is – which end is broken? In the worst case both ends could even be broken in which case ritual suicide may be the best solution. Loopback works by testing each end of the connection independently. Data is sent and received on the same RS232 connector – which may be either DB9 or DB25. The test normally consists of using some program to transmit data. The program then checks to ensure exactly the same data was received. Loopback testing gives you a binary result – it works, in which case the end under test is good, or it does not, in which case the end under test is broken.

     

Berikut adalah koneksi untuk loopback [2]:




Tabel koneksi lengkap konfigurasi loopback [3]:

DB9 Signal Loopback to Signal
2 RD 3 TD
3 TD 2 RD
4 DTR 6,1,9 DSR, DCD, RI
7 RTS 8 CTS
5 SGND 5 SGND
 
 
 
 
Implementasi koneksi loopback pada konektor DB9 female dengan sebuah kabel isi tunggal dan timah:




Dongle konektor loopback yang sudah dipasang pada konektor USB-to-serial converter:





Untuk melakukan uji coba pada interface serial dan pengkabelan, pada komputer diperlukan perangkat lunak tambahan. Di sistem OS Windows dapat di-download aplikasi Br@y++ Terminal yang didapat dari http://www.smileymicros.com:




Untuk sistem ber-OS GNU/Linux seperti Ubuntu ada beberapa pilihan yang biasa saya coba. Yang pertama adalah moserial ($sudo apt-get install moserial)

   


Yang kedua adalah CuteCom, yang dapat diperoleh dengan menginstall: $sudo apt-get install cutecom




Yang ketiga adalah GtkTerm ($sudo apt-get install gtkterm), untuk penggunaan pada konfigrasi loopback perlu diaktifkan opsi local echo.




Aplikasi pada GNU/Linux yang terakhir yang saya pakai adalah minicom ($sudo apt-get install minicom). Aplikasi ini menurut saya agak unik dan “paling sederhana” tampilannya. Untuk menguji dengan loopback terminal minicom dipergunakan seperti notepad atau gedit. Jika sistem komunikasi serial pada komputer yang di-loopback berfungsi baik maka karakter dari key yang ditekan pada keyboard akan muncul di layar monitor. Jika loopback dongle dilepas atau sistem serial rusak/gagal maka tampilankarakter tidak akan muncul.



Referensi:
[1] http://www.lammertbies.nl/comm/info/RS-232_null_modem.html
[2] http://www.lammertbies.nl/comm/cable/RS-232.html
[3] http://www.zytrax.com/tech/layer_1/cables/tech_rs232.htm
[4] http://what-when-how.com/8051-microcontroller/
[5] http://www.sparkfun.com/tutorials/104
 

Written by sunupradana

November 22, 2011 at 1:04 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: