18
2.6.5. Komunikasi Serial USART
Komunikasi data adalah perpindahan data antara satu atau lebih piranti, perpindahan tersebut dapat dilaksanakan secara parallel atau seri. Komunikasi seri dapat
dibedakan menjadi dua macam yaitu, komunikasi data seri sinkron dan asinkron. Suatu komunikasi dapat dikatakan sinkron jika sisi pengirim dan penerima dipicu clocked oleh
pemicu clock yang sama, satu sumber pemicu, data dikirim beserta pemicu. Sedangkan suatu komunikasi dikatakan asinkron jika sisi pengirim dan penerima dipicu oleh pemicu
yang terpisah dengan frekuensi yang hampir sama, data dikirim disertai informasi sinkronisasi.
Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki baudrate yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai
berikut: a Operasi full duplex mempunyai register receive dan transmit yang terpisah
b Mendukung kecepatan multiprosesor c Mode kecepatan berorde Mbps
d Operasi asinkron atau sinkron e Operasi master atau slave clock sinkron
f Dapat menghasilkan baud-rate laju data dengan resolusi tinggi g Modus komunikasi kecepatan ganda pada asinkron
Inisialisasi USART
Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi
USART. Register-register yang digunakan untuk komunikasi USART antara lain:
USART IO Data Register UDR
UDR merupakan dua buah register 8 bit dengan alamat yang sama, yang digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan TXB atau tempat data
diterima RXB sebelum data tersebut dibaca, seperti yang terlihat pada gambar 2.13 berikut ini.
Gambar 2.13. Register UDR PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
USART Control and Status Register A UCSRA
Gambar 2.14. Register UCSRA
Penjelasan bit penyusun UCSRA: a Bit 7 - RXC USART Receive Complete
Bit ini akan berlogika 1 ketika data yang masuk ke dalam UDR belum terbaca dan akan berlogika 0 ketika sudah dibaca. Flag ini digunakan untuk membangkitkan
interupsi RX jika diaktifkan dan akan berlogika 0 secara otomatis bersamaan dengan eksekusi vektor interupsi yang bersangkutan.
b Bit 6 - TXC USART Transmit Complete Bit ini akan berlogika 1 ketika data yang dikirim telah keluar. Flag ini akan
membangkitkan interupsi TX jika diaktifkan dan akan clear secara otomatis bersamaan dengan eksekusi vektor interupsi yang bersangkutan.
c Bit 5 - UDRE USART Data Register Empty Flag ini sebagai indikator isi UDR. Jika bernilai 1 maka UDR dalam keadaaan
kosong dan siap menerima data berikutnya, jika flag bernila 0 berarti sebaliknya. d Bit 4 - FE Frame Error
Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika stop bit pertama data dibaca berlogika 0 maka bit FE bernilai 1. Bit akan bernilai 0 ktika
stop bit yang diterima berlogika 0. e Bit 3 - DOR Data OverRun
Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan bernilai 1 ketika terjadi tumpang tindih data.
f Bit 2 - PE Parity Error Bit yang menentukan apakah terjadi kesalahan paritas. Bit ini akan berfungsi jika
ada kesalahan paritas. Bit ini akan berlogika 1 jika terjadi bit parity error apabla bit paritas digunakan.
g Bit 1 - U2X Double the USART Transmission Speed Bit yang berfungsi untuk menggunakan laju data menjadi dua kalinya. Hanya
berlaku untuk modus asinkron, untuk mode sinkron bit ini diset 0. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI