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
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.
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.
- 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.
- Dubutuhkan jumlah kabel yang sedikit, bisa hanya menggunakan 3 kabel yaitu saluran Transmit Data, saluran Receive Data, dan saluran Ground (Konfigurasi Null Modem
- 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).
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.
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
Diperoleh nilai baud rate-nya adalah
9615.38 bps. Dengan membandingkan nilai baud rate awal yaitu 9600 bps maka kita
dapat menghitung error tersebut
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