Komunikasi
serial merupakan suatu proses pengiriman data secara sekuensial atau satu
persatu melalui sebuah kanal informasi. Serial port pada komputer memungkinkan
untuk melakukan komunikasi dua arah atau full duplex yaitu dapat
mengirim dan menerima data secara bersamaan atau lebih dikenal dengan istilah
komunikasi serial asinkron.
Komunikasi serial asinkron berbeda dengan serial sinkron yaitu tidak adanya
sinyal Clock yang mensinkronkan
komunikasi data, hal yang mensinkronkannya adalah protokol komunikasi data dan
kecepatan transfer yang dinyatakan dengan bit per second (bps) atau dikenal dengan nama baud
rate. Apabila suatu mikrokontroler memiliki
nilai baud rate 9600 artinya
mikrokontroler tersebut memiliki kecepatan transfer data 9600 bit per second,
maka 1 bit membutuhkan 1/9600 detik atau 0,000104 detik atau 0,104 ms (milisecond).
Beberapa parameter yang harus
ditentukan untuk komunikasi serial yaitu:
1. Baud rate atau kecepatan transmisi
data
2. Start bit
3. Data bit
4. Parity bit, digunakan untuk error
checking yang terdiri dari odd dan even parity.
5. Stop bit
Komunikasi
asinkron antar perangkat harus memiliki protokol yang sama antara perangkat 1
dengan perangkat yang lain, apabila protokolnya berbeda maka akan terjadi
kesalahan komunikasi data atau bahkan komunikasi data tidak dapat dilakukan.
Gambar Protokol
komunikasi serial asinkron
Protokol
komunikasi data asinkron yang ditunjukkan pada Gambar 3.11, terdiri dari
beberapa bagian yaitu :
- Bit start : selalu bernilai 0, ketika komunkasi UART (serial asinkron) akan
diberikan, terlebih dahulu dimulai dengan pemberian bit start. Fungsinya sebagai pemicu (tanda) kepada penerima
(RxD) bahwa akan ada data yang diberikan oleh pemancar (TxD) dan juga akan
memicu clock pada reciever
sehingga disinkronkan dengan
clock pada transmitter.
Clock penerima dan pemancar haruslah akurasi dengan toleransi 10% sehingga
tidak terjadi kesalahan data.
- Bit Data : adalah data yang akan dikirimkan secara UART dimulai
dari LSB (bit ke 0) hingga MSB (bit terakhir). Jangan lupa menentukan
banyaknya bit tersebut haruslah sama antara pemancar dengan penerima.
Banyaknya data bits pada AVR bisa
bernilai 7,8, atau 9 data bits.
- Parity (keseimbangan) : berfungsi sebagai pengecekan error data yang ditransfer. Parity
bisa bernilai odd (ganjil), even (Genap), dan
none.
- Bit Stop :
selalu bernilai 1 berfungsi sebagai akhir dari komunikasi data dan
kemudian masuk pada Idle state. Pengiriman data
selanjutnya dapat dilakukan setelah bit stop diberikan.
- Idle state : adalah kondisi tidak
terjadinya komunikasi data dan jalur data berlogika 1 secara terus menerus
(marking).
Komunikasi serial dapat
menghubungkan mikrokontroler dengan peralatan lainnya. Port serial pada mikrokontroler
terdiri atas dua pin, yaitu RxD dan TxD. RxD berfungsi untuk menerima data dari
komputer atau peralatan lainya, sedangkan TxD berfungsi untuk mengirim data ke
komputer atau peralatan lainya.