Selasa, 20 Mei 2014

Komunikasi Serial



A.   Komunikasi Serial
Komunikasi serial adalah komunikasi yang pengiriman datanya per-bit secara berurutan dan bergantian. Komunikasi ini mempunyai suatu kelebihan yaitu hanya membutuhkan satu jalur dan kabel yang sedikit dibandingkan dengan komunikasi paralel. Pada prinsipnya komunikasi serial merupakan komunikasi dimana pengiriman data dilakukan per bit sehingga lebih lambat dibandingkan komunikasi parallel, atau dengan kata lain komunikasi serial merupakan salah satu metode komunikasi data di mana hanya satu bit data yang dikirimkan melalui seuntai kabel pada suatu waktu tertentu. Pada dasarnya komunikasi serial adalah kasus khusus komunikasi paralel dengan nilai n = 1, atau dengan kata lain adalah suatu bentuk komunikasi paralel dengan jumlah kabel hanya satu dan hanya mengirimkan satu bit data secara simultan.Hal ini dapat disandingkan dengan komunikasi paralel yang sesungguhnya di mana n-bit data dikirimkan bersamaan, dengan nilai umumnya 8 ≤ n ≤ 128.
Komunikasi serial ada dua macam, asynchronous serial dan synchronous serial.Synchronous serial adalah komunikasi dimana hanya ada satu pihak (pengirim atau penerima) yang menghasilkan clock dan mengirimkan clock tersebut bersama-sama dengan data. Contoh pengunaan synchronous serial terdapat pada transmisi data keyboard. Asynchronous serial adalah komunikasi dimana kedua pihak (pengirim dan penerima) masing-masing menghasilkan clock namun hanya data yang ditransmisikan, tanpa clock. Agar data yang dikirim sama dengan data yang diterima, maka kedua frekuensi clock harus sama dan harus terdapat sinkronisasi. Setelah adanya sinkronisasi, pengirim akan mengirimkan datanya sesuai dengan frekuensi clock pengirim dan penerima akan membaca data sesuai dengan frekuensi clock penerima. Contoh penggunaan asynchronous serial adalah pada Universal Asynchronous Receiver Transmitter (UART) yang digunakan pada serial port (COM) komputer.
B.     PENGERTIAN  PORT
Port merupakan satu set perintah yang digunakan oleh komputer untuk memindahkan data dari atau ke perangkat lain, misalnya untuk berhubungan dengan keyboard, mouse, printer, modem, monitor dan sebagainya. Ada berbagai macam port, yaitu :
·         Serial Port
·         Pararel Port
·          IDE
·         SATA
·         USB
·         Ethernet
·         Audio Codec
·         PCI

 
C.    SERIAL PORT
Pengertian dan Fungsi Serial Port


Serial Port atau biasa disebut dalam bahasa Indonesia adalah port seri merupakan sebuah port pada personal computer yang berfungsi untuk mentransmisikan satu bit informasi pada satu satuan waktu. Dalam serial port, pengiriman informasi tidak memungkinkan untuk melakukan secara banyak sekalius. Hal ini disebabkan karena dalam melakukan pemindahan data, biasanya serial port bekerja seri, misalnya COM 1 dan COM 2. Untuk penggunaan port serial sekarang ini sudah berkurang. Penggunaan port serial telah tergantikan dengan port USB dan Firewire. Sedangkan untuk jaringan (networking) fungsinya sudah tergantikan dengan port Ethernet. Berikut beberapa fungsi serial port yaitu menghubungkan antara peripheral (alat) computer lain dengan motherboard, penghubung antara mouse dengan motherboard, penghubung antara modem dengan motherboard, dan mentransmisikan informasi-informasi berupa bit-bit dari mainboard ke perangkat lainnya. Konektor yang digunakan adalah RS-232C dengan 9 pin atau 25 pin.
·         Generasi Serial Port
PS/2



PS2 merupakan perkembangan dari port serial. Bentuknya berupa bulatan dengan desain sedemikian rupa sehingga tidak mungkin terbalik atau salah. Komputer dengan processor pentium MMX ke atas biasanya terdapat 2 port PS2, yaitu untuk mouse dan keyboard.
Namun saat ini penggunaan port serial sebagain besar sudah digantikan oleh jenis port baru yang bernama USB. Saat ini USB sudah benar-benar diterima pasar dan menggantikan kepopuleran port serial dan port parallel. Saat ini jika kita butuh serial port jenis RS232 atau paralel port(printer port) di sebuah komputer, maka pada saat membeli komputer kita harus memeriksa terlebih dahulu apakah motherboardnya menyediakan serial port dan paralel port. Sedangkan untuk mencari motherboard dengan USB board bukanlah hal yang sulit, umumnya setiap motherboard saat ini telah dilengkapi dengan 2 hingga 4 buah slot port USB dan dua lagi tambahan port USB di bagian depan casing CPU.

D.    Karakteristik Sinyal Serial Port
Standar sinyal komunikasi serial yang banyak digunakan ialah standar RS232. Standar ini hanya menyangkut komunikasi data antara komputer (Data Terminal Equipment – DTE) dengan alat – alat pelengkap komputer (Data Circuit-Terminating Equipment – DCE). Standarad RS232 inilah yang biasa digunakan pada serial port IBM PC Compatibel.
Standar sinyal serial RS232 memiliki ketentuan level tegangan sebagai berikut:
  • Logika ‘1’ disebut ‘mark’ terletak antara -3 volt hingga -25 volt.
  • Logika ‘0’ disebut ‘space’ terletak antara +3 volt hingga +25 volt.
  • Daerah tegangan antara -3 volt hingga +3 volt adalah invalid level, yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga level tegangan lebih negatif dari -25 volt atau lebih positif dari +25 volt juga harus dihindari karena dapat merusak line driver pada saluran RS232.
E.     Konfigurasi Serial Port.
                gambar 1 adalah gambar konektor port serial DB 9. Pada komputer IBM PC Compatibel biasanya kita dapat menemukan dua konektor DB 9 yang bisanya dinamakan COM1 dan COM2.


Gambar 1. Konfigurasi Serial port DB9



  Gambar 2. Konfigurasi pin dan nama sinyal konektor serial DB 9
Keterangan mengenai fungsi saluran RS232 pada konektor DB9 adalah sebagai berikut:
·         Receive Line signal detect, dengan saluran ini DCE memberitahukan ke DTE bahwa pada terminal masukkan ada data masuk.
·         Receive Data, digunakan DTE menerima data dari DCE.
·         Transmit Data, digunakan DTE mengirimkan data ke DCE.
·         Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan terminalnya.
·         Signal Ground, saluran ground.
·         Ring Indicator, pada saluran ini DCE memberitahukan ke DTE bahwa sebuah stasiun menghendaki berhubungan dengannya.
·         Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh mulai mengirim data.
·         Request To Send, dengan saluran ini DCE diminta mengirim data oleh DTE.
·         DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.
Untuk dapat menggunakan port serial harus diketahui dahulu alamat dari port serial
tersebut. Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Base
Address COM1 biasanya 1016 (3F8h) dan COM2 biasanya 760 (2F8h). Alamat tersebut
adalah alamat yang biasa digunakan, tergantung komputer yang digunakan.Tepatnya kita
bisa melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori
0000.0400h untuk COM1 dan 0000.0402h untuk COM2. 
Alasan Penggunaan Port Serial 
Dibandingkan dengan menggunakan port parallel penggunaan port serial terkesan lebih rumit. Berikut adalah keuntungan penggunaan port serial dibandingkan penggunaan port parallel.
  1.    Pada komunikasi dengan kabel yang panjang, masalah cable loss tidak akan menjadi masalah besar daripada menggunakan kabel parallel. Port serial mentransmisikan “1” pada level tegangan -3 Volt sampai -25 Volt dan “0” pada level tegangan +3 Volt sampai +25 Volt, sedangkan port parallel mentransmisikan “0” pada level tegangan 0 Volt dan “1” pada level tegangan 5 Volt. 
  2.     Dubutuhkan jumlah kabel yang sedikit, bisa hanya menggunakan 3 kabel yaitu saluran Transmit Data, saluran Receive Data, dan saluran Ground (Konfigurasi Null Modem 
  3.   Saat ini penggunaan mikrokontroller semakin populer. Kebanyakan mikrokontroller sudah dilengkapi dengan SCI (Serial Communication Interface) yang dapat digunakan untuk komunikasi dengan port serial komputer
F.     UART(Universal Asincrhounus Recivier transmiter)
UART atau Universal Asynchronous Receiver-Transmitter adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal. UART sekarang ini termasuk di dalam beberapa mikrokontroler (contohnya, PIC16F628).
Komponen keping UART tipikal
Keping UART biasanya terdiri dari:
·         Penyangga (buffer) Transmit/Receive
·         Pengendali (control) Transmit/Receive
·         Penyangga Bus Data
·         Logika Kendali Read/Write
·         Kendali Modem
UART atau Universal Asynchronous Receiver Transmitter adalah protokol komunikasi yang umum digunakan dalam pengiriman data serial antara device satu dengan yang lainnya. Sebagai contoh komunikasi antara sesama mikrokontroler atau mikrokontroler ke PC. Dalam pengiriman data, clock antara pengirim dan penerima harus sama karena paket data dikirim tiap bit mengandalkan clock tersebut. Inilah salah satu keuntungan model asynchronous dalam pengiriman data karena dengan hanya satu kabel transmisi maka data dapat dikirimkan. Berbeda dengan model synchronous yang terdapat pada protokol SPI (Serial Peripheral Interface) dan I2C (Inter-Integrated Circuit) karena protokol membutuhkan minimal dua kabel dalam transmisi data, yaitu transmisi clock dan data. Namun kelemahan model asynchronous adalah dalam hal kecepatannya dan jarak transmisi. Karena semakin cepat dan jauhnya jarak transmisi membuat paket-paket bit data menjadi terdistorsi sehingga data yang dikirim atau diterima bisa mengalami error.
namun, bukan error tersebut yang saya maksud. Ada error satu lagi yang disebabkan oleh paket bit data yang tidak pas dengan clock dari mikrokontroler. Paket bit data ini bergantung dari nilai baud rate dengan satuan bit per sekon. Untuk bisa mengetahui mengapa error tersebut bisa terjadi terlebih dahulu kita mengetahui format data dari UART
           Gambar di atas saya kutip dari datasheet AVR. Pada pengiriman data UART terdapat beberapa parameter yang dapat diatur yaitu start bit, parity bit, dan stop bit. Pengaturan ini harus sama antara pengirim dan penerima karena jika tidak maka data tidak akan diterima. Data yang dikirim adalah data berukuran 8 bit atau 1 byte. Jika ditambah dengan 3 parameter diatas maka total bit data yang dikirim adalah 11 bit. Dari format data inilah setiap data yang terbaca dapat diterjemahkan menjadi bit-bit yang merepresentasikan data tertentu
Sebenarnya tidak semua terdapat error dalam pengiriman data UART. Terjadinya error hanya terjadi ketika kita menggunakan clock mikrokontroler untuk nilai tertentu saja. Pada paket data UART, clock yang dikirimkan bergantung dari nilai baud rate. Karena protokol ini universal, maka baud rate yang ada adalah nilai-nilai tetap yang tidak bisa diubah ubah dari kisaran nilai 110 sampai 11059200 bps (bit per sekon) atau lebih. Semakin cepat clock yang digunakan mikrokontroler/mikroprosesor maka baud rate akan semakin cepat juga.
Umumnya baud rate yang digunakan dalam pengiriman data antar mikrokontroler adalah 9600 bps. Karena dengan kecepatan pengiriman data ini sudah cukup. Kita akan menghitung error pada mikrokontroler dengan clock 11.059200 MHz. Sehingga register UBRR harus bernilai.
UBRR=fosc16.BAUD−1
Sehingga nilai UBRR adalah 71. Sedangkan jika kita menggunakan clock yang berbeda yaitu 8 MHz, maka nilai register UBRR adalah 51.083. Nah inilah yang menyebabkan error pada pengiriman data UART. Kita akan coba menghitung error yang terjadi dengan membandingkan baudrate aktual dengan baudrate sebenarnya. Karena tipe data register UBRR bukan float maka nilai 51.083 dibulatkan menjadi 51. Sehingga kita dapat menghitung nilai aktual dari baud rate
BAUD=fosc(16.(UBRR+1))
Diperoleh nilai baud rate-nya adalah 9615.38 bps. Dengan membandingkan nilai baud rate awal yaitu 9600 bps maka kita dapat menghitung error tersebut
%error=BAUDaktualBAUDawalBAUDawal.100%
Maka nilai persen error yang diperoleh adalah 0.160%. Hasil yang sama jika kita menggunakan AVR Calculator. Nampaknya nilai error yang terjadi sangat kecil dan untuk terjadi error pada data yang dikirim juga akan jarang. Ya, untuk data-data yang tidak banyak ini tidak menjadi masalah yang berarti. Coba bayangkan untuk kasus di atas jika data yang dikirim sejumlah 8 Kbyte maka kemungkinan data error adalah sekitar 13 byte. Apa jadinya jika data yang dikirimkan adalah berupa data .hex untuk memory flash mikrokontroler

G.    KESIMPULAN
Komunikasi serial adalah komunikasi yang pengiriman datanya per-bit secara berurutan dan bergantian. Komunikasi ini mempunyai suatu kelebihan yaitu hanya membutuhkan satu jalur dan kabel yang sedikit diba                                                            

Tidak ada komentar:

Posting Komentar