Saat dimana
komputer berkomunikasi dengan dunia luar, semua dilakukan dengan data berukuran
byte. Dan hal sama, seperti printer, informasi data secara langsung dilakukan
melalui BUS data 8-bit ke BUS data 8-bit milik printer. Hal ini dapat bekerja
selama jarak tidak sangat jauh, mengingat jarak kabel yang panjang akan
mengurangi (mengganggu) kualitas sinyal. Kabel yang buruk dan sangat panjang
akan membuat logika palsu, dan data menjadi berubah tidak seperti semestinya.
Disamping itu, hubungan data 8-bit menjadi sangat mahal, karena dibutuhkan
kualitas kabel yang sangat baik dan jumlah lebih banyak. Untuk alasan ini,
komunikasi serial digunakan untuk mentransfer data antara dua system dengan
jarak yang sangat jauh mulai dari beberapa puluh meter sampai ribuan kilometer.
Gambar dibawah menampilkan bagan dari transfer data serial dan
parallel.
Gambar Transfer Data Serial dan Parallel
Komunikasi
Serial dapat digunakan untuk menggantikan Komunikasi Parallel jalur data 8-bit
dengan baik. Tidak saja memakan biaya yang lebih murah, namun dapat digunakan
untuk menghubungkan dua peralatan yang sangat jauh. Misalnya menumpang pada
kabel telepon.
Agar
komunikasi serial dapat bekerja dengan baik, data byte harus diubah ke dalam
bit-bit serial menggunakan peralatan yang disebut shift register parallel-in
serial-out, kemudian data dikirimkan hanya dengan satu jalur data saja. Hal
yang serupa dikerjakan pada penerima, dimana penerima harus mengubah bit-bit
serial yang diterimanya menjadi data byte yang persis seperti data semula pada
pengirim, dengan menggunakan shift register serial-in parallel-out.
Tentu saja jika data serial tersebut dikirim menumpang jalur telpon, maka
dibutuhkan peralatan pengubah status digital 0s atau 1s menjadi sinyal suara
audio. Peralatan seperti ini kemudian disebut modem
(modulator/demudulator). Modulator sebagai pengubah sinyal digital
menjadi sinyal audio, sebaliknya Demodulator adalah sebagai mengubah
kembali sinyal audio menjadi sinyal digital.
Pada jarak
yang sangat dekat, kita dapat menggunakan komunikasi serial sederhana dan tidak
perlu modulasi. Seperti yang dapat kita lihat pada hubungan komputer kita
dengan keyboard atau mouse.
Komunikasi
data serial mengenal dua buah metode, yaitu synchronous dan asynchronous.
Metode sychronous mengirimkan datanya beberapa byte atau karakter (atau disebut
blok data) sebelum meminta konfirmasi apakah data sudah diterima dengan baik
atau tidak. Sementara metode asynchronous data dikirim satu byte setiap
pengiriman. Biasanya tidak dibutuhkan konfirmasi menerimaan data. Dari kedua
jenis metode tersebut dapat dipilih dan dilakukan lewat program. Tentu saja
dibutuhkan program yang baik dan teliti untuk melakukannya. Namun dewasa ini
proses pengiriman data serial tersebut sudah dilakukan oleh sebuah chip
tersendiri (Hardware). Salah satu chip disebut UART (Universal Asynchronous
Reciever Transmiter) dan satunya lagi disebut USART (Universal Synchronous
Asynchronous Reciever Transmiter). Dalam protokol berbeda, sychronous
memerlukan sinyal tambahan yang digunakan untuk men-sychron-isasi setiap denyut
dari proses transfer.
Gambar Transfer Data Simplex, Half-,
dan Full-Duplex.
Komunikasi Half- dan Full-Duplex
Dalam
trnasimisi data, jika data dapat dikirim dan diterima, ini dinamakan transmisi duplex.
Sangat berbeda dengan transmisi simplex, misalnya pada printer, dimana
printer hanya bisa menerima data. Tranmisi duplex dapat digolongkan menjadi half-duplex
dan full-duplex, tergantung pada bisa tidaknya transfer data dua arah
sekaligus. Jika data dikirmkan satu arah saja, maka dinamakan half-duplex. Jika
data dapat menuju dua arah dalam waktu yang bersamaan, disebut full-duplex.
Tentu saja, full-duplex membutuhkan penghubung dua kabel yang digunakan sebagai
saluran datanya, satu kabel untuk mengirim data, satu kabel untuk menerima
data, dan satu lagi untuk ground yang digunakan bersama.
Komunikasi serial Asynchronous dan Data
Framing
Setiap data yang diterima pada
komunikasi serial adalah memiliki sinyal 0s dan 1s. Hal ini akan sangat sulit
untuk menentukan sebuah data kecuali antara pengirim dan penerima sepakat
dengan protokol, yaitu bagaimana data dikemas (packet), berapa bit yang digunakan
untuk satu karakter, dan kapan data tersebut mulai dan selesai dikirim.
Bit Start dan Bit Stop
Komunikasi data serial Asynchronous
sekarang sudah digunakan demikian luas untuk transmisi yang berorientasi
karakter, sementara metode Synchronous digunakan untuk transmisi yang
berorientasi blok. Pada mode Asynchronous, setiap karakter ditempatkan berada
diantara bit start dan bit stop. Bit start selalu satu bit, tapi stop bit bisa
satu bit atau dua bit. Start bit selalu 0 (low) dan stop bit selalu 1 (high). Contohnya,
lihat pada gambar dibawah ini yang dimana
karakter A (01000001 biner) dikemudian dibingkai (dikurung) oleh start bit dan
satu stop bit. Harap dicatat, LSB dikirim terlebih dahulu.
Gambar Pembingkaian ASCII
"A" (41h)
Ingat pada
gambar Diatas saat tidak transfer, sinyal (jalur kabel) selalu
dalam keadaaan 1 (high), yang disebut mark (tanda). Sedang 0 (rendah) diartikan
space. Bahwa transmisi pertama dimulai dengan start bit, yang kemudian diikuti
oleh D0, LSB, dan diikuti oleh bit-bit yang lain, sampai MSB(D7), dan akhirnya
bit stop yang menanndakan akhir dari karakter "A".
Pada
komunikasi serial Asynchronous, peralatan dan modem dapat diprogram untuk
menggunakan lebar data 7 atau 8-bit. Tentu saja ditambah dengan Stop bit.
Dahulu, system karakter ASCII masih terbatas pada data 7-bit, namun sekarang
ASCII extended sudah lazim menggunakan lebar data 8-bit. Pada peralatan kuno,
dengan komponen-komponen yang lambat pula, dibutuhkan stop bit yang agak
panjang, hal ini dimaksudkan untuk memeberi kesempatan peralatan untuk
menangani data yang telah diterimanya, dan untuk mempersiapkan diri untuk
menerima byte berikutnya. Namun sekarang modem PC kita dewasa ini biasanya
hanya menggunakan satu bit stop. Jika kita hitung, dengan menggunakan satu bit
stop total kita memiliki 10-bit untuk setiap karakter 8-bit. Dengan kata lain
setiap karakter 8-bit dikirim bersama-sama start dan stop bit sehingga total
menjadi 10-bit, yang artinya ada proses transfer lebih panjang 20% setiap
karakternya.
Pada system
yang sangat mementingkan integritas data yang disimpan, maka ditambahkanlah bit
paritas kepada bingkai data tersebut. Maksudnya untuk setiap karakter 8-bit
kita masih menambahkan bit paritas disamping bit start dan bit stop. Sehingga
total adalah 11-bit. Adapun bit paritas adalah bit yang menunjukkan bahwa data
yang dimaksud adalah memiliki jumlah bit 1s (high) ganjil atau genap. Bit
paritas adalah bit di luar data yang bersangkutan atau merupakan tambahan. Chip
UART khusus biasanya sudah dilengkapi dengan keperluan paritas tersebut secara
hardware. Bahkan ada beberapa pilihan untuk penanganan paritas ini, misalnya
odd-, even- dan no-parity.
Data tranfer rate
Kecepatan tranfer data pada
komunikasi data serial diukur dalam satuan BPS (bits per second). Sebutan
terkenal lainnya adalah baud rate. Namun Baud dan bps tidak serta merta adalah
sama. Hal ini mengacu kepada fakta bahwa baud rate adalah terminology modem dan
diartikan sebagai perubahan signal dalam satuan bit signal setiap detik. Sedang
data tranfer rate penamaannya mengacu pada jumlah bit dari byte data yang
ditransfer setiap detik.
Sementara itu kecepatan transfer data (data transfer
rate) pada komputer tergantung pada jenis komunikasi yang diberlakukan atasnya.
Seperti contoh, komputer PC-IBM model kuno dapat mentransfer data mulai dari
100 s/d 9600 bps. Namun pada saat sekarang kecepatan komunikasi serial menjadi
sangat pesat. 56.000 bps kemudian menjadi standar kecepatan pada modem. Namun
para perancang komputer sepakat untuk membatasi kecepatan pada komunikasi
serial Asynchronous hanya setinggi 100.000 bps. Untuk kecepatan yang lebih
tinggi mode Synchronous kemudian menjadi pilihan.
Pada 8051 kita hanya membahas tentang masalah
komunikasi serial dengan mode Asynchronous yang sudah ada pada chip tersebut.
Standar RS232
Untuk mendapatkan keserba-cocokan (compatibility) dari
beberapa peralatan komunikasi data dari berbagai pabrik, diciptakanlah standar
tatap-muka (interfacing) yang dinamakan RS232. Standar ini dipublikasikan oleh EIA
(Electronics Industries Association) pada 1960. Dan pada 1963 standar
itu dimodifikasi dengan nama RS232A. RS232B dan RS232C ditetapkan pada tahun
masing-masing 1965 dan 1969. Pada buku ini kita akan mengacu pada standar RS232
paling dasar. Sekarang Standar RS232 masih menjadi standar dunia mengenai
standar tatap-muka I/O komunikasi serial. Bahkan standar ini masih dipakai dan
digunakan pada komputer PC kita.
Karena standar ini sudah dupublikasikan jauh lebih
lama dari standar TLL, standar yang diciptakan saat komputer masih dibuat dari
tansistor, relay dan tabung hampa, sehingga standar ini sama sekali tidak
kompatibel dengan standar keluarga logika TTL yang diciptakan belakangan. Pada
RS232, 1s (high) direpresentasikan dengan tegangan -3 s/d -25V, dan 0s (low)
direpresentasikan sebagai +3 s/d +25V. Sedang diantara -3 dan +3V dianggap
sebagai status mengambang dan tidak dianggap. Atas alasan ini, untuk menghubungkan
8051 yang ber-standar TTL dengan komputer (atau alat lain) yang menggunakan
RS232, kita harus menggunakan peralatan tambahan misalnya dengan chip MAX232
untuk mengkonversi level TTL ke RS232 dan level RS232 ke level TTL.
Walaupun RS232 sudah mulai ditinggalkan, kita masih
bisa berbangga bahwa standar ini masih dijadikan standar dasar bagi
standar-standar yang lebih maju, misalnya USB, SATA, Packet Data dll. Sehingga
sangat bermanfaat mempelajari standar RS232 ini sebelum mempelajari standar
yang lainnya.
0 komentar:
Posting Komentar