Anda di halaman 1dari 5

PC Interfacing Pengenalan Komunikasi Serial

Pada prinsipnya, komunikasi serial ialah komunikasi dimana pengiriman data dilakukan per bit, sehingga lebih lambat dibandingkan komunikasi parallel seperti pada port printer yang mampu mengirim 8 bit sekaligus dalam sekali detak. Beberapa contoh komunikasi serial ialah mouse, scanner dan system akuisisi data yang terhubung ke port COM1/COM2.
Peralatan Komunikasi Serial

Devais pada komunikasi serial port dibagi menjadi 2 (dua ) kelompok yaitu Data Communication Equipment (DCE) dan Data Terminal Equipment (DTE). Contoh dari DCE ialah modem, plotter, scanner dan lain lain sedangkan contoh dari DTE ialah terminal di komputer. Spesifikasi elektronik dari serial port merujuk pada Electronic Industry Association (EIA) :

1. Space (logika 0) ialah tegangan antara + 3 hingga +25 V. 2. Mark (logika 1) ialah tegangan antara 3 hingga 25 V. 3. Daerah antara + 3V hingga 3V tidak didefinisikan /tidak terpakai 4. Tegangan open circuit tidak boleh melebihi 25 V. 5. Arus hubungan singkat tidak boleh melebihi 500mA.
Komunikasi serial membutuhkan port sebagai saluran data. Berikut tampilan port serial DB9 yang umum digunakan sebagai port serial

Gambar Port DB9 jantan

Gambar Port DB9 betina

Konektor port serial terdiri dari 2 jenis, yaitu konektor 25 pin (DB25 dan 9 pin (DB9) yang berpasangan (jantan dan betina). Bentuk dari konektor DB-25 sama persis dengan port paralel. Umumnyua COM1 berada dialamat 3F8H, sedangkan COM2 dialamat 2F8H.

Tabel Jenis SInyal RS232 yang umum digunakan

Konverter Logika RS-232

Jika peralatan yang kita gunakan menggunakan logika TTL maka sinyal serial port harus kita konversikan dahulu ke pulsa TTL sebelum kita gunakan, dan sebaliknya sinyal dari peralatan kita harus dikonversikan ke logika RS-232 sebelum di-inputkan ke serial port. Konverter yang paling mudah digunakan adalah MAX-232. Di dalam IC ini terdapat Charge Pump yang akan membangkitkan +10 Volt dan -10 Volt dari sumber +5 Volt tunggal. Dalam IC DIP (Dual In-line Package) 16 pin (8 pin x 2 baris) ini terdapat 2 buah transmiter dan 2 receiver. Sering juga sebagai buffer serial digunakan chip DS275. Untuk menghubungkan antara 2 buah PC, biasanya digunakan format null mode, dimana pin TxD dihubungkan dengan RxD pasangan, pin Sinyal ground (5) dihubungkandengan SG di pasangan, dan masing masing pin DTR, DSR dan CD dihubung singkat, dan pin RTS dan CTS dihubung singkat di setiap devais.

Pemrograman Port Serial Komputer


Port serial sering digunakan untuk interfacing komputer dan mikrokontroler, karena kemampuan jarak pengiriman data dibandingkan port paralel. Berikut contoh program assembly untuk komunikasi serial antara 2 PC. Untuk komunikasi ini, anda cukup menghubungkan :

1. Pin TxD ke pin RxD computer lain 2. Pin RXD dihubungkan ke pin TxD komputer lain 3. RTS dan CTS dihubung singkat 4. DSR dan DTR dihubung singkat
5. GND dihubungkan ke GND komputer lain

Jika Anda ingin membuat aplikasi menggunakan bahasa Visual Basic .NET, menggunakan kelas Rs232, berikut contohnya : Program Inisialisasi dan membuka port komunikasi Private Sub btnOpenCom_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenCom.Click moRS232 = New Rs232() buat ojek serial Try '// setup parameter koneksi With moRS232 .Port = miComPort .BaudRate = CInt(txtBaudrate.Text) .DataBit = 8 .StopBit = Rs232.DataStopBit.StopBit_1 .Parity = Rs232.DataParity.Parity_None .Timeout = CInt(txtTimeout.Text) .WorkingMode = CType(IIf(chkOl.Checked, Rs232.Mode.Overlapped, Rs232.Mode.NonOverlapped), Rs232.Mode) btnAsyncTx.Enabled = (.WorkingMode = Rs232.Mode.Overlapped) btnAsync.Enabled = (.WorkingMode = Rs232.Mode.Overlapped) chkOl.Enabled = False End With '// inisialisasi port serial moRS232.Open() '// Set state of RTS / DTS moRS232.Dtr = (chkDTR.CheckState = CheckState.Checked) moRS232.Rts = (chkRTS.CheckState = CheckState.Checked) Catch Ex As Exception MessageBox.Show(Ex.Message, "Error koneksi ", MessageBoxButtons.OK) Finally btnCloseCom.Enabled = moRS232.IsOpen btnOpenCom.Enabled = Not moRS232.IsOpen btnTx.Enabled = moRS232.IsOpen btnRx.Enabled = moRS232.IsOpen btnCheck.Enabled = moRS232.IsOpen End Try End Sub

Untuk menulis data, gunakan fungsi-fungsi berikut ini : Private Sub Kirim_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTx.Click

gunakan fungsi write()


moRS232.Write(txtTx.Text) 'moRS232.Write(Chr() & Chr(3) & Chr(0) & Chr(0) & Chr(0) & Chr(16) & Chr(68) & Chr(83)) ' Bersihkan textbox txtRx.Text = String.Empty txtRx.Refresh() lbHex.Items.Clear() If chkAutorx.Checked Then Button1_Click(Nothing, Nothing) End Sub

Untuk membaca data gunakan fungsi-fungsi Read dan InputStreamString seperti berikut :

Try

gunakan fungsi Read()


moRS232.Read(CInt(txtBytes2Read.Text)) txtRx.Text = moRS232.InputStreamString txtRx.ForeColor = Color.Black txtRx.BackColor = Color.White '// Fills listbox with hex values Dim aBytes As Byte() = moRS232.InputStream Dim iPnt As Int32 For iPnt = 0 To aBytes.Length - 1 lbHex.Items.Add(iPnt.ToString & ControlChars.Tab & String.Format("0x{0}", aBytes(iPnt).ToString("X"))) Next Catch Ex As Exception txtRx.BackColor = Color.Red txtRx.ForeColor = Color.White txtRx.Text = "Terjadi error " & Ex.Message & " data fetched: " & moRS232.InputStreamString End Try

Gambar Program Komunikasi Serial VB .NET

Kita juga dapat menggunakan komponen yang sudah dibuat oleh suatu perusahaan, misalnya PortController.Net yang terdapat pada CD Program, sehingga pemrograman menjadi lebih mudah seperti contoh mebuka dan menulis ke suatu port serial berikut :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load myPortController.Open("COM1") End Sub Private Sub SendButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SendButton.Click myPortController.Write(SendText.Text) SendText.Clear() End Sub Private Sub myPortController_OnDataReceived(ByVal sender As Object, ByVal e As System.EventArgs) Handles myPortController.OnDataReceived ReceiveText.AppendText(myPortController.Read()) End Sub

Jika hanya menggunakan bahasa Visual Basic 6, tempelkan kontrol MSComm1, dan masukkan kode untuk menset MSComm1 dimana memperoleh input dari suatu combobox berikut :
MsComm1.commPort=cmbPort.ListIndex +1 MsComm1.Settings=cmbbitspersecond.text MSComm1.Handshaking=cmbFlowControl.LinstIndex

Anda mungkin juga menyukai