Selasa, 18 Agustus 2009

Komunikasi USART Mode Asinkron.

.
Jika pada Komunikasi USART AVR Mode Sinkron menggunakan 3 buah jalur maka komunikasi USART AVR mode asinkron menggunakan 2 buah jalur untuk komunikasi data yaitu RxD (PORTD.0) untuk menerima data dan TxD (PORTD.1) untuk mengirim data dan konfigurasi ini adalah konfigurasi secara umum untuk komunikasi UART (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. Kedua hal tersebut harus sama untuk setiap perangkat yang akan berkomunikasi secara serial asinkron, jika tidak maka kesalahan data akan terjadi bahkan komunikasi data tidak dapat dilakukan.

Kecepatan Transfer Data (Baud Rate)
Beberapa perangkat telah memiliki baudrate standar atau baudrate tertentu yang tetap (tidak dapat diubah) sehingga perangkat yang lebih fleksibel harus mengikuti-nya.
Contohnya adalah komputer memiliki nilai-nilai baudrate tertentu sehingga mikrokontroller sebagai perangkat yang fleksibel mengikuti nilai baudrate yang dimiliki komputer.

Apabila akan dilakukan komunikasi serial asinkron antar perangkat yang fleksibel, misal mikro dengan mikro maka kecepatan transfer data dapat diberikan pada nilai berapapun asalkan kedua mikro memiliki baudrate yang sama.
Beberapa nilai standar baudrate antara lain :
  • 1200
  • 2400
  • 4800
  • 9600
  • 19200
  • 38400
  • 57600
  • 115200
  • .. dst
Jika kecepatan transfer data 9600 bit per second maka 1 bit membutuhkan 1/9600 detik atau 0,000104 detik atau 104 uS (microsecond= 10^-6 detik).

Protokol Komunikasi Data
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.

Protokol komunikasi data antara lain :
  • Start Bit Selalu bernilai 0 : Ketika komunkasi UART (serial asinkron) akan diberikan, terlebih dahulu dimulai dengan pemberian Start Bit. 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.
  • Data Bits : 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 selain itu pemancar dan penerima harus menggunakan parity yang sama. Jika ODD parity maka jumlah total nilai 1 pada data bits + parity berjumlah ganjil, contoh ODD, jika data bits 00110101 maka parity bernilai 1. Sedangkan jika EVEN parity maka jumlah total nilai 1 pada data bits + parity berjumlah genap. Contoh even, jika data bits 00110101 maka parity bernilai 0.
  • Stop Bit Selalu bernilai 1 : berfungsi sebagai akhir dari komunikasi data dan kamudian masuk pada IDLE state. Pengiriman data selanjutnya dapat dilakukan setelah stop bit diberikan.
  • IDLE state : adalah kondisi tidak terjadinya komunikasi data dan jalur data berlogika 1 secara terus menerus (marking).
Silahkan lihat link Tutorial lengkap mengenai Serial and UART Tutorial.

Level Tegangan Komunikasi UART
Komunikasi data serial asinkron (UART) dapat dilakukan dengan 3 level tegangan yaitu level tegangan TTL, RS232, dan RS485. Gambar dibawah ini memperlihatkan perbedaan level tegangan tersebut.

Gambar disamping hanya menunjukkan perbedaan level tegangan untuk logika 1 dan logika 0 sehingga pada level RS232 tidak ditunjukkan starbit, parity, dan stopbit.
Level konverter TTL - RS232 pada
Komunikasi USART : TTL - RS232

Link Bacaan:
- www.lammertbie.nl
- www.rs485.com
- www.bb-elec.com

Tabel perbandingan UART pada level tegangan yang berbeda.

Topik yang Populer