Deprecated: Required parameter $output follows optional parameter $depth in /home/pkaykstj/andiandaria.trinita.ac.id/wp-content/themes/jannah/framework/classes/class-tielabs-mega-menu.php on line 451
Pertemuan 13 (Interface Serial USART) – Charissa
Periferal dan Antarmuka

Pertemuan 13 (Interface Serial USART)

Tujuan Pembelajaran

1. Mahasiswa mampu menjelaskan pengertian Kominikasi Serial
2. Mahasiswa mampu menjelaskan pengertian Interface Serial USART
3. Mahasiswa mampu mengimplementasikan fungsi antarmuka serial USART pada mikrokontroler AVR dan Arduino.
4. Mahasiswa mampu membuat rangkaian dan pemrograman antarmuka serial USART pada mikrokontroler AVR dan Arduino.

7.1 Komunikasi Serial

Komunikasi Serial merupakan sala satu alternatif yang relatif lebih murah untuk menggantikan komunikasi paralel, karena transfer data paralel menggunakan 8 jalur kondukto/kawat untuk menstransfer 8bit sekaligus.

Dengan menggunakan komunikasi serial, maka hal tersebut dapat dilakukan dengan hanya menggunakan satu kawat konduktor saja, tetapi ditransfer bit demi bit sebanyak 8 kali untuk dapat menyelesaikan transfer satu byte data.
Selain relatif lebih murah, komunikasi serial juga memberikan jangkauan transmisi yang lebih panjang dari komunikasi paralel.

Bandingkan dengan komunikasi paralel yang hanya bisa 1 hingga 2 meter saja, dengan komunikasi serial maka jangkauan tersebut bisa dilakukan berlipat-lipat ganda. Misalnya dengan menggunakan standar komunikasi serial EIA RS232 yang lebih dikenal dengan standard RS-232, dapat melakukan transmisi sejauh kurang lebih 50 feet dengan baud rate 9600.

Transmisi yang lebih jauh dapat dilakukan pada data rate yang lebih rendah, dan jarak transmisi menjadi lebih pendek pada data rate yang lebih besar dari 9600 baud.

Device yang melakukan konversi paralel ke serial dan konversi serial ke paralel salah satunya disebut universal asynchronous receiver-transmitter (UART).

Selain itu terdapat pula yang disebut universal synchronous asynchronous receiver-transmitter (USART), di mana selain dapat melakukan komunikasi serial secara asinkron juga dapat dennga cara sinkron. Baik cara sinkron maupun asinkron keduanya sama-sama mempunyai keuntungan dan kelemahannya masing-masing.

7.2 Antarmuka Serial dan USART

Ada dua jenis cara pengiriman data SERIAL USART, kedua cara tersebut dapat dibedakan berdasarkan sinyal detak(clock) yang diapaki untuk membawa data serial tersebut. Jika detak dikirim bersamaan dengan data serial maka cara pengiriman disebut dengan istilah pengiriman data serial secara sinkron (Asynchhronous).

Bila pengiriman data dilakaukan secara tak sinkron (Asynchronous) maka detak dikirim bersamaan dengan data serial, sehingga rankaian penerima data harus membangkitkan sendiri detak pendorong data serial. .

Mikrokontroler AVR maupun Arduino telah mendukung kedua teknik pengiriman data serial tersebut, baik secara sinkron maupun asingkron.

Penggabungan kedua teknik tersebut dikenal istilah Universal Synchronous and Asynchronous serial Receiver and Transmitter (USART). Contoh media yang digunakan oleh antarmuka komuikasi Serial USART adalah RS-232, RS-422, dan RS-485.

Karena data dalam prosesor (CPU) diproses dalam bentuk paralel maka transfer data input/output serial harus dimulai dan diakhiri dengan data paralel. Pada dasarnya konversi paralel ke serial mudah dilakukan.

Data paralel dimuat ke dalam sebuah register geser (shift register), kemudian register geser diberikan clock. Data kemudian dikeluarkan dari register geser mulai LSB (1 bit untuk setiap siklus clock).

Bit pertama dari sebuah transmisi serial adalah data LSB (least significant bit). Bit kedua adalah bit LSB berikutnya, dan seterusnya. Bit data yang terakhir adalah MSB (must significant bit). Konversi paralel ke serial ditunjukkan pada Gambar 7.1


Gambar 7.1 Transmisi data paralel dan serial

Penerimaan data serial dan konversinya ke data paralel merupakan operasi kebalikannya. Data serial digeser ke dalam sebuah register geser, kemudian setelah semua bit di-clock ke dalam register geser maka data diambil secara paralel untuk ditransfer ke prosesor. Jadi dengan kata lain digunakan dua register geser, yang pertama register jenis PISO (parallel in serial out) dan di sisi yang lain digunakan jenis SIPO (serial in parallel out).

Pentransmisian data 8-bit dengan asinkron sebenarnya memerlukan pengiriman lo-bit. Ada tambahan bit start dan bit stop yang mengapit bit-bit data yang 8-bit tersebut. Bit pertama menyatakan penerimaan UART bahwa data telah tiba. Kemudian bit yang terakhir menyatakan bahwa bit data (word) yang jumlahnya 1 byte (8-bit) telah selesai/lengkap.

Pada Gambar 11.2 ditunjukkan sebuah word data 8-bit dengan penambahan 1 bit start dan 1 bit stop. Bit start umumnya bit dengan logika 0 (low level), sedangkan bit stop logika 1 (high level), Kecepatan transmisi data komunikasi serial disebut baud rute.

Baud rate atau signaling rate menyatakan berapa banyak bit yang ditransmisikan per detik. Misalnya, sebuah transmisi 1200 baud mengambil laju (rate) 120 karakter 10-bit (1 bit start, 8 bit data, dan 1 bit stop) per detik.

Nilai-nilai baud rate yang lazim adalah 300 baud, 600 baud, 1200 baud, 2400 baud, 4800 baud, 9600 baud, 19200 baud, 38400 baud,

7.3 Register USART

AVR USART (Universal Synchronous Asynchronous Receiver Transmitter) adalah komunikasi serial dua arah yang terdapat di AVR yang melibatkan register register sbb:

Gambar 7.2 Register Penyusun USART

Gambar 7.3 Diagram Penyusun USART

Dari Gambar Register dapat dibagi menjadi beberapa blok yaitu:

7.3.1 Register UCSRA

  • Bit 7 RXC: USART Receive Complete, RXC otomatis akan bernilai 1, jika ada data baru di bufer penerima. RXC otomatis akan bernilai 0, jika data sudah dibaca atau bufer penerima kosong.
  • Bit 6 TXC: USART Transmit Complete, TXC otomatis akan bernilai 1, jika data di buffer selesai dikirim.
  • Bit 5 UDRE: USART Data Register Empty, UDRE otomatis akan bernilai 1 , jika register UDR kosong transmiter siap mengirim data. UDRE=0, UDR berisi data yg belum selesai dikirim .
  • Bit 4 FE: Frame Error, FE otomatis akan bernilai 1, jika ada frame eror.
  • Bit 3 DOR: Data OverRun, DOR otomatis akan bernilai 1, jika data datang ketika bufer penuh(terjadi antrian).
  • Bit 2 PE: Parity Error, PE otomatis akan bernilai 1, jika terjadi parity eror.
  • Bit 1 U2X: Double the USART Transmission Speed, kita set U2X=0, kecepatan normal. U2X=1 kecepatan 2xbaudrate.
  • Bit 0 MPCM: Multi-processor Communication Mode, kita set MCM=1 byte pertama yg diterima harus 9 bit , jika tdk data byte akan diabaikan.bit ini terjadi hanya untuk penerimaan saja pd komunikasi banyak microcontroller.

7.3.2 Register UCSRB

  • Bit 7 RXCIE: RX Complete Interrupt Enable, kita set RXCIE=1, interupsi receive complete aktif.
  • Bit 6 TXCIE: TX Complete Interrupt Enable, kita set TXCIE=1, interupsi transmit complete aktif.
  • Bit 5 UDRIE: USART Data Register Empty Interrupt Enable, kita set UDRIE=1, interupsi UDRE aktip.
  • Bit 4 RXEN: Receiver Enable, kita set RXEN=1, USART receiver aktif. micon bisa mnerima data.
  • Bit 3 TXEN: Transmitter Enable, kita set TXEN=1, Usart Transmiter aktif. micon bisa mengirim data.
  • Bit 2 UCSZ2: Character Size, kita set UCSZ2:UCSZ1:UCSZ0 = 011, panjang data 8 BIT. (bit UCSZ1 dan UCSZ0 ada di register UCSRC)
  • Bit 1 RXB8: Receive Data Bit 8, RXB8 menjadi bit ke-9 jika panjang data yg diterima 9 bit .
  • Bit 0 TXB8: Transmit Data Bit 8, TXB8 menjadi bit ke-9 jika panjang data yg dikirim 9 bit.

7.3.3 Register UCSRC

  • Bit 7 URSEL: Register Select . memilih UCSRC atau UBRRH, kita set URSEL=1 , UCSRC aktif ,UBRRH tdk aktif, kita set URSEL=0 , UBRRH aktif , UCRSC tdk aktif.
  • Bit 6 UMSEL: USART Mode Select, kita set UMSEL=1 , mode synceonous. UMSEL=0 mode asyncronous
  • Bit 5:4 UPM1:UMP0: Parity Mode,
  • Bit 3 USBS: Stop Bit Select, kita set USBS=0, stop bit =1 bit, USBS=1 panjang stop bit = 2 bit.
  • Bit 2:1 UCSZ1:0: Character Size, kita set UCSZ2:UCSZ1:UCSZ0 = 011 , panjang data 8 BIT. (bit UCSZ2 ada di register UCSRB)
  • Bit 0 UCPOL: Clock Polarity bit ini digunakan untuk mode syncoronous saja, kita set UCPOL=0 trnasmisi clock naik, UCPOL=1 transmisi clock turun. (khusus yg ini dont care krn kita menggunakan mode asyncronous)

7.4 Fitur pada Serial USART

Universal Synchronous and Asynchronous serial Receiver and Transmitter (USART) merupakan salah satu perangkat komunikasi serial yang mempunyai tingkat fleksibilitas komunikasi yang sangat tinggi.

  1. Pada mikrokontroler Atmel AVR, biasanya fitur USART mencakup:
  2. Operasi full duplex.
  3. Dapat beroperasi pada mode Asynchronous dan Synchcronous.
  4. Dapat bekerja dengan resolusi baud rate yang tinggi.
  5. Mendukung serial frames dengan data bit 5,6,7,8 atau 9 data bit dan dilengkapi dengan 1 atau 2 stop bit.
  6. Dilengkapi dengan fasilitas parity check dan dapat bekerja pada parity Odd atau Even.
  7. Dapat beroperasi sebagai Master atau Slave Clock Synchronous.
  8. Dilengkapai dengan fitur data Over Run Detection.
  9. Terdapat fasilitas Frame Error Detection.
  10. Dilengkapai dengan filter utntuk menyaring noise yaitu digital low pass filter.
  11. Mempunyai tiga interupsi yang terpisah pata Tx Complete, Data Register Empty Rx complete.
  12. Mendukung komunikasi multiprosessor.
  13. Bekerja pada mode komunikasi Doubel Speed Asynchronous.

7.5 Komponen dengan antarmuka USART

Syarat komponen/alat untuk berkomunikasi dengan mikrokontroler lewat USART adalah komponen atau alat modul harus memiliki pin rx (receiver) dan pin tx(transmitter), biasanya komponen ini sudah berupa modul.

7.5.1 Bluetooth

Bluetooth adalah sebuah teknologi komunikasi wireless (tanpa kabel) yang beroperasi pada pita frekuensi 2,4 GHz unlicensed ISM (Industrial, Scientific and Medical) dengan menggunakan sebuah frekuensi hopping tranceiver yang mampu menyediakan layanan komunikasi data dan suara secara real-time antara host-host bluetooth dengan jarak jangkauan layanan yang terbatas (sekitar 10 meter).

Bluetooth juga merupakan spesifikasi industri untuk jaringan kawasan pribadi (Personal Area Networks atau PAN) tanpa kabel. Bluetooth dapat dipakai untuk melakukan tukar-menukar informasi di antara peralatan-peralatan (gadget).

Gambar 7.4 Bluetooth HC

7.5.2 Modul GSM

Modul GSM adalah perangkat kontrol elektronika yang peruntukannya pada sistem kontrol jarak jauh, Terdapat beberapa tipe breakoutboard, tetapi yang paling populer penggunaannya adalah versi mini dengan kartu GSM jenis micro SIM. Salah satu yang paling populer adalah Modul SIM800L.

Mudul SIM800L adalah salah satu Module GSM/GPRS Serial yang dapat digunakan bersama Arduino maupun mikrokontroler AVR.

Gambar 7.5 Modul GSM SIM800L

7.6 Interface Serial USART pada Mikrokontroler AVR

Serial USART pasa mikrokontroler AVR adalah komunikasi yang menggunakan 2 data sebagai pengirim (Tx) dan penerima (Tx) yang harus ada pada kedua perangkat yang akan berkumunikasi.

7.6.1 Rangkaian USART

Interface USART menggunakan 2 jalur data yaitu RX dan TX, berikut adalah contoh rangkaian yang menggunakan komunikasi Serial USART.

Gambar 7.6: Interface Bluetooth dengan Mikrokontroler ATmega16

pada gambar 7.6 dapat dilihat bahwa untuk mengkomunikasikan bluetooth dengan mikrokontroler hanya menggunakan 2 jalur dati yaitu Rx dan Tx.

Harus diperhatikan bahwa untuk dapat bertukar data atau berkomunikasi dalam interface data USART ini, pin Rx pada mikrokontroler harus dipasangkan dengan pin Tx pada Bluettoth, begitupin pin Tx pada mikrokontroler harus dipasangkan dengan pin Rx pada bluetooth.

7.6.2 Pemrograman USART

Berdasarkan dari rangkaian pada gambar 7.6 dapat dilakukan konfigurasi untuk mengaktifkan fungsi USART pada pin Rx dan TX di mikrokontroler pada aplikasi CodevosionAVR.

Gambar 7.7 Mengaktifkan Fungsi UART mikrokontroler

Berikut adalah contoh listing program pengaplikasian interface USART menggunakan bluetooth, listing program telah disesuaikan dengan rangkaian pada gambar 7.6
Listing Program:

7.7 Interface Serial pada Arduino

Sama seperti mikrokontroler AVR, Interface USART pada mikrokontroler adalah komunikasi yang menggunakan 2 data sebagai pengirim (Tx) dan penerima (Tx) yang harus ada pada kedua perangkat yang akan berkumunikasi.

7.7.1 Rangkaian USART

Interface USART menggunakan 2 jalur data yaitu RX dan TX, berikut adalah contoh rangkaian yang menggunakan komunikasi Serial USART.

Gambar 7.8 Interface Bluetooth pada Arduino

Pada gambar 7.8 dapat dilihat bahwa untuk mengkomunikasikan bluetooth dengan arduino hanya menggunakan 2 jalur data yaitu Rx dan Tx.

Harus diperhatikan bahwa untuk dapat bertukar data atau berkomunikasi dalam interface data USART ini,

pin Rx pada mikrokontroler harus dipasangkan dengan pin Tx pada Bluettoth,

begitupin pin Tx pada mikrokontroler harus dipasangkan dengan pin Rx pada bluetooth.

Pengembangan yang diadakan oleh Arduino memungkinkan semua pinnya dipakai sebagai jalur data USART.

7.7.2 Pemrograman USART

pada pemrograman arduino pin USART telah tersedia pada pin digital 0 (Rx) dan pin digital 1 (Tx). Namun seperti diketahui semua pin pada Arduino dapat digunakan sebagai pin USART dengan cara memanggil library “SoftwareSerial.h”, library ini memberikan kemungkinan pin selain pin 0 dan 1 dapat digunakan sebagai pin USART.

Berikut adalah listing program untuk mengelolah data serial USART, listing program disesuaikan dengan rangkaian pada gambar 7.8.
Listing Program:

Pada listing program diatas dapat diperhatikan bahwa pin digital 8 digunakan sebagai pin TX dan pin digital 9 digunakan sebagai RX. Data yang terkirim dan diterima oleh bluetooth akan dikelolah dan ditampilkan ke LCD 16×2.

Rangkuman

1. Komunikasi Serial merupakan sala satu alternatif yang relatif lebih murah untuk menggantikan komunikasi paralel, karena transfer data paralel menggunakan 8 jalur konduktor/kawat untuk menstransfer 8bit sekaligus.
2. Device yang melakukan konversi paralel ke serial dan konversi serial ke paralel salah satunya disebut universal asynchronous receivertransmitter (UART).
3. Contoh perangkat yang berkomunikasi lewat interface USART adalah bluetooth. Bluetooth adalah sebuah teknologi komunikasi wireless (tanpa kabel) yang beroperasi pada pita frekuensi 2,4 GHz unlicensed ISM (Industrial, Scientific and Medical) dengan menggunakan sebuah frekuensi hopping tranceiver yang mampu menyediakan layanan komunikasi data dan suara secara real-time antara host-host bluetooth dengan jarak jangkauan layanan yang terbatas (sekitar 10 meter).
4. Komunikasi USART menggunakan 2 pin data yaitu Rx dan Tx.
5. Pemrograman Komunikasi Serial USART menggunakan perintah “getchar()” untuk mendapatkan data, sedangkan pada pemrograman Ardunino hanya menggunakan sebuah librari yaitu “SoftwareSerial.h”

Tugas Formatif

1. Jelaskan pengertian komunikasi serial?
2. Jelaskan pengertian komunikasi serial USART?
3. Jelaskan fungsi kedua pin (Rx dan Tx) yang ada pada komunikasi serial USART?
4. Berikan contoh implementasi interface serial USART yang dapat dibuat menggunakan mikrokontroler AVR dan Arduino?

Tugas Latihan

1. Buatlah rangkaian dan program menggunakan mikrokontrole AVR dan Arduino menggunakan interface1 buah komponen bluetooth dan 1 buah led dan sebuah aplikasi smartphone yang dapat memberikan umpan dat ke bluetooth.
2. Buatlah dengan algoritma, smartphone dapat mengirimkan sinyal ke mikrokontroler untuk menyalakan dan mematikan LED.

Daftar Pustaka
1. Adrianto, H.: 2013, Pemrograman Mikrokontroler AVR ATmega16 Menggunakan Bahasa C (CodeVisionAVR), Informatika bandung, Bandung.
2. Adrianto, H.: 2015, Pemrograman Mikrokontroler AVR ATmega16 Menggunakan Bahasa C (CodeVisionAVR), Informatika bandung, Bandung.
3. E. Knuth, D.: 2011, The Art of Computer Programing, Addison Wesley, United States.
4. Fahmizal: 2011, Jenis dan Tipe Motor Servo. URL: https://fahmizaleeits.wordpress.com/
5. Fauzi, F. A.: 2015, Downloader). URL: https://fajarahmadfauzi.wordpress.com/
6. Grupta, M.: 2012, Perkenalan Seputar Mikrokontroler. URL: https://guptayp.wordpress.com/
7. Iswanto: 2011, Belajar Mikrokontroler AT89S51 dengan Bahasa C, CV Andi Offset, Yogyakarta.
8. Kadir, A.: 2015, Buku Pintar Pemrograman Arduino, MediaKom, Yogyakarta.
9. Rachmat, O.: 2012, Panduan Praktis Membuat Robotik dengan Pemrograman C++, CV Andi Offset, Yogyakarta.
10. Rangkuti, S.: 2011, Mikrokontroler Atmel AVR Simulasi dan Praktik Menggunakan ISIS Proteus dan CodeVisionAVR, Informatika Bandung, Bandung.
11. Saputra, E.: 2015, Materi dasar Algoritma dan Pemograman. URL: https://suhaebiebi40.wordpress.com/
12. Spurianto: 2015, Pengertian Push Button Switch (Saklar Tombol Tekan)). URL: http://blog.unnes.ac.id/
13. Syahrul: 2012, Mikrokontroler AVR ATmega8535, Informatika Bandung, Bandung.
14. syarif, m.: 2014, Serial Pheripheral Interface (SPI) dan Universal Synchronous Asynchronous Receiver Transmitter (USART). URL: http://muhammadsyarif.ilearn

Related Articles

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Back to top button