Senin, 17 Agustus 2009

Komunikasi USART AVR Mode Sinkron.

.
Komunikasi data antar perangkat seperti mikro-mikro, mikro-PC, atau antar perangkat lain merupakan hal yang selalu digunakan. Apalagi jika memiliki sistem monitoring, Analisis, ataupun kontrol interface yang user friendly yaitu menggunakan komputer sebagai input ataupun output data.
Hampir semua perangkat telah memiliki interface untuk saling berkomunikasi data, baik berupa I2C, TWI, USART, SPI, dll. Oleh sebab itu, pengetahuan komunikasi data suatu hal yang wajib.
NB: ada banyak istilah-istilah tentang komunikasi data yang penting memahami prinsip dan konsepnya

Pada topik ini akan dibahas mengenai SCI(Serial Communication Inteface) yaitu USART(Universal Synchronous Asynchronous Receiver Transmitter).

Mikrokontroller ATmega8535 memiliki USART yang dapat berfungsi sebagai serial sinkron ataupun serial asinkron dengan operasi Full Duplex yaitu penerima dan pengirim memiliki register tersendiri. Artinya dalam satu waktu dapat melakukan pengiriman data sekaligus menerima data.

Serial Sinkron (Synchronous ) :
Komunikasi serial sinkron menggunakan Clock dan data line (jalur data) untuk berkomunikasi. Pengiriman setiap datanya selalu disertai pemberian sinyal clock, Artinya suatu nilai (logika 1 ataupun 0) tidak akan dianggap suatu data jika belum diberikan sinyal Clock.

Oleh sebab itu pada komunikasi serial sinkron harus ada Master dan Slave, yaitu Master sebagai pemberi Clock dan Slave sebagai penerima Clock, bahkan jika komunikasi hanya 2 mikro atau kasus tertentu bisa saja master dan slavenya berganti-gantian tergantung siapa terlebih dahulu yang akan memulai komunikasi data baik menerima ataupun memberi data.






Pada gambar tersebut terlihat bahwa pada komunikasi secara Serial sinkron yang diberikan data terlebih dahulu kemudian disertai Clock, Hal ini agar data yang diterima valid dan tidak error, gambar selanjutnya akan menjelaskan hal ini.







Pada gambar terlihat adanya pergeseran saat pengiriman data. Mengapa pada bit ke-3 datanya sesuai sedangkan pada bit ke-5 terjadi kesalahan yang seharusnya bernilai 1 tetapi yang diterima 0 ?

Hal ini tergantung dari komunikasi yang anda gunakan yaitu saat pengambilan data (sampling), apakah anda mengambil data saat clock low-high (rising edge) atau saat clock high-low (falling edge), dan pada gambar tersebut pengambilan data saat rising edge oleh sebab itu bit ke-3 datanya sesuai meskipun terjadi pergeseran data.

USART mode Sinkron :
Pada USART AVR mode sinkron, komunikasi data dan clock telah diatur secara internal oleh AVR. Komunikasi USART mode Sinkron pada AVR, RxD (PORTD.0) dan TxD (PORTD.1) berfungsi sebagai pemberi dan penerima data sedangkan XCK (PORTB.0) sebagai pembangkit Clock-nya.

Beberapa hal mengenai USART mode serial sinkron pada AVR, antara lain :
  • Sebagai Master atau sebagai Slave.
  • Nilai Clock kristal (XTALL) antara master dan slave minimal sama dan jika tidak sama maka Clock kristal Slave harus lebih cepat dari Master agar Slave bisa mengikuti Clock Master.
  • UCPOL diatur set (logika 1) atau low (logika 0).
  • Format komunikasi datanya.
  • Saat IDLE logika pada RxD dan TxD haruslah berlogika 1 (High).






Gambar tersebut menjelaskan penggunaan UCPOL, yaitu :
  • UCPOL = 0 maka data yang dikirim pada TxD akan berubah saat clock rising edge sedangkan data akan diterima pada RxD saat clock falling edge.
  • UCPOL = 1 kebalikan yaitu data yang dikirim pada TxD akan berubah saat clock falling edge sedangkan data akan diterima pada RxD saat clock rising edge.
Baca posting tentang : Komunikasi USART Mode Asinkron.

Topik yang Populer