Cara Kerja Komunikasi USART dan UART
USART(Universal Synchronous Asynchronous
Receiver/Transmitter)
USART Pada transimi sinkron (USART) pengirim akan mengirimkan clock / timing signal sehingga device penerima tahu kapan membaca bit data berikutnya. Transimisi asinkron (UART) mengijinkan pengirim tidak memberikan clock sinyal pada penerima, sebagai gantinya untuk memulai transmisi pengirim mengirimkan start bit pada tiap byte data yang dikirimkan dan diakhiri dengan stop bit. Komunikasi dengan menggunakan USART dapat dilakukan dengan dua cara yaitu dengan mode sinkron dimana pengirim data mengeluarkan pulsa/clock untuk sinkronisasi data, dan yang kedua dengan mode asinkron, dimana pengirim data tidak mengeluarkan pulsa/clock, tetapi untuk proses sinkronisasi memerlukan inisialisasi, agar data yang diterima sama dengan data yang dikirimkan. Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki baud rate (laju data) yang sama. Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART dilakukan dengan cara mengaktifkan register2 yang digunakan untuk komunikasi USART.
Fungsi
USART
adalah transmisi data baik secara syncrhronous maupun asyncrhronous, sehingga
dengan memiliki USART pasti kompatibel dengan UART. Pada ATmega8535, secara
umum pengaturan mode syncrhronous maupun asyncrhronous adalah sama.
Perbedaannya hanyalah terletak pada sumber clock saja. Jika pada mode
asyncrhronous masing-masing peripheral memiliki sumber clock sendiri, maka pada
mode syncrhronous hanya ada satu sumber clock yang digunakan secara
bersama-sama. Dengan demikian, secara hardware untuk mode asyncrhronous hanya
membutuhkan 2 pin yaitu TXD dan RXD, sedangkan untuk mode syncrhronousharus 3
pin yaitu TXD, RXD dan XCK.
Komunikasi
serial data antara master dan slave pada SPI diatur melalui 4 buah pin yang
terdiri dari SCLK, MOSI, MISO, dan SS sbb:
·
SCLK dari master ke
slave yang berfungsi sebagai clock
·
MOSI jalur data
dari master dan masuk ke dalam slave
·
MISO jalur data
keluar dari slave dan masuk ke dalam master
·
SS (slave select)
merupakan pin yang berfungsi untuk mengaktifkan slave
Cara Kerja USART
UART (Universal Asynchronous Receiver/Transmitter)
UART atau Universal Asynchronous Receiver-Transmitter adalah bagian perankat keras yang menerjemahkan antara bit – bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port seria perangkat periperal. UART sekarang ini termasuk di dalam beberapa mikrokontroller.
Struktur UART
Sebuah
clock generator, biasanya kelipatan dari bit rate untuk memungkinkan
pengambilan sampel di tengah bit.
• Input dan Output pergeseran register
• kontrol mengirim / menerima
• Kontrol logika untuk membaca / menulis
• Kirim / menerima buffer (opsional)
• Paralel data bus buffer (opsional)
• Pertama-in, first-out (FIFO) memori (opsional)
UART atau Universal Asynchornous Receiver Transmitter adalah protokol komunikasi yang umum digunakan dalam pengiriman data serial antara device satu dengan yang lainnya. Sebagai contoh komunikasi antara sesama mikrokontroler atau mikrokontroler ke PC. Dalam pengiriman data, clock antara pengirim dan penerima harus sama karena paket data dikirim tiap bit mengandalkan clock tersebut. Inilah salah satu keuntungan model asynchronous dalam pengiriman data karena dengan hanya satu kabel transmisi maka data dapat dikirimkan. Berbeda dengan model synchronous yang terdapat pada protokol SPI (Serial Peripheral Interface) dan I2C (Inter-Integrated Circut) karena protokol membutuhkan minimal dua kabel dalam transmisi data, yaitu transmisi clock dan data. Namun kelemahan model asynchronous adalah dalam hal kecepatannya dan jarak transmisi. Karena semakin cepat dan jauhnya jarak transmisi membuat paket-paket bit data menjadi terdistorsi sehingga data yang dikirim atau diterima bisa mengalami error.
Cara Kerja
Dalam mengirim dan menerima data Universal Asynchronous Receiver / Transmitter (UART) dengan bit individu dan berurutan. UART berisi sebuah register geser yang merupakan metode dasar konversi antara bentuk serial dan paralel. UART biasanya tidak secara langsung menghasilkan atau menerima sinyal eksternal digunakan antara item yang berbeda dari peralatan. Sebuah perangkat interface yang terpisah digunakan untuk mengkonversi sinyal tingkat logika dari UART dan level sinyal eksternal. Setiap karakter dikirim sebagai sedikit logika mulai rendah, sejumlah bit dikonfigurasi data (biasanya 7 atau 8, kadang-kadang 5), sebuah bit paritas opsional, dan satu atau lebih berhenti logika bit tinggi. Pada 5-8 bit berikutnya, tergantung pada kode set digunakan, mewakili karakter. Setelah data bit mungkin sedikit paritas. Satu atau dua bit berikutnya selalu dalam tanda (logika tinggi, yaitu, '1 ') negara dan disebut stop bit (s). Penerima sinyal karakter yang selesai. Sejak mulai sedikit logika rendah (0) dan berhenti logika agak tinggi (1) selalu ada demarkasi yang jelas antara karakter sebelumnya dan berikutnya.
--> Mengirimkan dan menerima data serial
Universal Asynchronous Transmitter Receiver / (UART) mengambil byte data dan mengirimkan bit individual secara berurutan. [1] Di tempat tujuan, sebuah UART kedua kembali merakit bit menjadi byte lengkap. Setiap UART berisi sebuah register geser yang merupakan metode dasar konversi antara bentuk serial dan paralel. Transmisi serial informasi digital (bit) melalui kawat tunggal atau media lainnya adalah biaya yang jauh lebih efektif daripada transmisi paralel melalui beberapa kabel.
UART biasanya tidak secara langsung menghasilkan atau
menerima sinyal eksternal digunakan antara item yang berbeda dari peralatan.
Perangkat antarmuka yang terpisah digunakan untuk mengkonversi sinyal tingkat
logika dari UART dan dari tingkat sinyal eksternal. Sinyal eksternal mungkin
berbagai bentuk. Contoh standar untuk sinyal tegangan RS-232, RS-422 dan RS-485
dari AMDAL. Secara historis, saat ini (dalam loop arus) digunakan di sirkuit
telegraf. Beberapa skema sinyal tidak menggunakan kabel listrik. Contoh
tersebut serat optik, IrDA (inframerah), dan (nirkabel) Bluetooth Serial Port
Profile nya (SPP). Beberapa skema sinyal menggunakan modulasi dari sinyal
pembawa (dengan atau tanpa kabel). Contohnya adalah modulasi sinyal audio
dengan modem saluran telepon, RF modulasi dengan radio data, dan DC-LIN untuk
komunikasi power line.
Komunikasi dapat "full duplex" (keduanya
mengirim dan menerima pada waktu yang sama) atau "half duplex"
(perangkat bergiliran transmisi dan menerima).
-->
Transmitter
Pada posisi pemancar, transmisi berlangsung dalam sebuah operasi sederhana, karena berada di bawah kontrol dari sistem transmisi. Setelah data disimpan dalam register geser, hardware UART menghasilkan mulai sedikit, menggeser jumlah yang diperlukan bit data ke dalam baris, menghasilkan dan menambahkan bit paritas (jika digunakan), dan menambahkan sedikit berhenti.
Karena transmisi karakter tunggal dapat memakan waktu
yang lama relatif terhadap kecepatan CPU, UART akan mempertahankan bendera yang
menunjukkan status dari host sibuk, sehingga sistem tidak menyimpan karakter
baru untuk transmisi sampai sebelumnya telah selesai, dapat juga dilakukan dengan
interrupt.
Karena full-duplex operasi membutuhkan karakter yang
akan dikirim dan diterima pada saat yang sama, UART menggunakan dua shift
register yang berbeda untuk karakter karakter ditransmisikan dan diterima.
--> Receiver
Semua hardware UART operasi dikendalikan oleh sinyal clock yang berjalan pada beberapa data rate - setiap bit data untuk 16 jam pulsa. Receiver menguji kondisi sinyal yang masuk di setiap pulsa clock. Jika bit tersebut terjadi, satu-setengah dari waktu, dianggap untuk bertemu dan merupakan sinyal awal dari sebuah karakter baru. Setelah menunggu lama, tingkat clock yang dihasilkan ke sebuah register geser. Setelah jumlah yang diperlukan bit untuk jangka waktu yang lama karakter (5 sampai 8 bit, biasanya) telah berlalu, isi dari register geser yang tersedia (dalam modus paralel) ke sistem penerima. UART akan menetapkan bendera yang menunjukkan data baru tersedia, dan juga dapat menghasilkan interupsi prosesor untuk meminta prosesor host transfer data yang diterima.
Sebuah UART biasanya berisi komponen dari sebuah clock
generator, biasanya kelipatan dari bit rate untuk memungkinkan pengambilan
sampel dalam periode bit.Input tengah dan register keluaran bergeser. Mengirim
/ menerima kontrol. Membaca / menulis kontrol logika. Mengirim / menerima
buffer (opsional). Paralel data bus buffer (opsional). Pertama-in, first-out
(FIFO) memori (opsional). UART mengambil byte data dan mengirimkan bit
individual secara berurutan. Setiap UART berisi sebuah register geser yang
merupakan metode dasar konversi antara bentuk serial dan paralel. UART biasanya
tidak secara langsung menghasilkan atau menerima sinyal eksternal digunakan
antara item yang berbeda dari peralatan. Setiap karakter dikirim sebagai logika
dengan pengiriman awal nilai rendah, jumlah bit data dikonfigurasi (biasanya 7
atau 8, kadang-kadang 5), sebuah bit paritas opsional, dan satu atau lebih
berhenti logika bit tinggi. Bit pada penerima sinyal dan kemudian dilanjutkan
dengan bit 5-8 berikutnya, tergantung pada kode set digunakan, mewakili
karakter. Setelah itu, satu atau dua bit berikutnya selalu dalam keadaan logika
tinggi, yaitu, '1 'dan disebut stop bit (s). Penerima sinyal selesai. Pada
logika rendah (0) dan stop bit logika tinggi (1), ada demarkasi yang jelas
antara karakter sebelumnya dan berikutnya.
Keping 16550 merupakan kompatibelnya 8250 dan 16450,
perbedaannya terletak pada pin 24 dan 29:
Kaki
16550
8250/16450
24
TXRDY
CSOUT
29
RXRDY
Tidak dihubungkan
Pada 16550 terdapat sinyalTXRDY (Transmit Ready) dan RXRDY (Receive Ready) yang dapat digunakan untuk implementasi DMA (Direct Memory Access) dengan dua mode kerja (operasional):
1. Mode 0 -
Single Transfer DMA: lebih dikenal juga dengan mode 16450,mode ini diaktifkan
dengan cara menon-aktifkanFIFO (bit-0 FCR = 0) atau dengan mengaktifkan FIFO
dan pemilih mode DMA (bit-3 FCR = 1). Sinyal RXRDY akan aktif (rendah) jika ada
(minimal) sebuah karakter pada penyangga penerima dan akan kembali non-aktif
(tinggi) jika tidak ada satupun karakter pada penyangga penerima, sedangkan
sinyal TXRDY akan aktif jika penyangga pengirim kosong sama sekali dan akan
kembali non-aktif (tinggi) setelah karakter 1 byte pertama diisikan ke
penyangga pengirim.
2. Mode 1 -
Multi Transfer DMA: dipilih dengan syarat FCR bit-0 = 1 dan FCR bit-3 - 1. Pada
mode ini, sinyal RXRDY akan aktif (rendah) jika telah tercapai tingkat picuan
(trigger level} atau saat munculnya time-out 16550 dan akan kembali non-aktif
jika sudah tidak ada satupun karakter yang tersimpan dalam FIFO. Sinyal TXRDY
akan aktif (rendah) jika tidak ada karakterpun pada penyangga pengirim dan akan
non-aktif jika penyangga pengirim FIFO sudah betul-betul penuh.
Gambar Diagram Pin UART 16550 dan 8250/16450
Semua chip UART kompatibel dengan TTL (termasuk sinyal
TxD, RxD, RI, DCD, DTS, CTS, DTR dan RTS), dengan demikian diperlukan konverter
tingkat RS232 (RS232 level converter) yang berfungsi untuk mengkonversi sinyal
TTL menjadi logika tingkat RS232. Interupsiin itu UART juga membutuhkan clock
untuk operasionalnya, biasanya dibutuhkan kristal eksternal dengan frekuensi
1,8432 MHz atau 18,432 MHz.
Fungsi PinOut UART 16550 dan 8250/16450
PIN
|
Nama
|
Keterangan
|
Pin 1-8
|
D0:D7
|
Bus Data
|
Pin 9
|
RCLK
|
Masukan Clock penerima Frekuensinya harus sama
dengan baud-rate x26
|
Pin 10
|
RD
|
Terima data
|
Pin 11
|
TD
|
Kirim data
|
Pin 12
|
CS0
|
Chip select 0 - aktif tinggi
|
Pin 13
|
CS1
|
Chip select 1 - aktif rendah
|
Pin 14
|
CS2
|
Chip select 2 – aktif rendah
|
Pin 15
|
BOUDOUT
|
Keluaran Baud – Keluaran dari Pembangkit Baud Rate
Terprogram. Frekuensi = (baud rate x 16)
|
Pin 16
|
XIN
|
Masukan kristal eksternal –Digunakan untuk osilator
pembangkit Boud Rate
|
Pin 17
|
XOUT
|
Keluran Kristal Eksternal
|
Pin 18
|
WR
|
Jalur Tulis – Aktif Rendah
|
Pin 19
|
WR
|
Jalur Tulis – Aktif Tinggi
|
Pin 20
|
VSS
|
Dihubungkan ke ground
|
Pin 21
|
RD
|
Jalur Baca– Aktif Tinggi
|
Pin 22
|
RD
|
Jalur Baca – Aktif Rendah
|
Pin 23
|
DDIS
|
Drive disable. Pin ini akan rendah saat CPUmembaca
dari UART. Dapat dihubungkan bus data kapasitas tinggi
|
Pin 24
|
TXRDY
|
Transmit Ready – Siap kirim
|
Pin 25
|
ADS
|
Address Store. Digunakan jika sinyal tidak stabil
interupsima siklus baca atau tulis
|
Pin 26
|
A2
|
Bit alamat 2
|
Pin 27
|
A1
|
Bit alamat 1
|
Pin 28
|
A0
|
Bit alamat 0
|
Pin 29
|
RXRDY
|
Receive Ready (siap terima data)
|
Pin 30
|
INTR
|
Intrrupt Output (keluaran interupsi)
|
Pin 31
|
OUT2
|
User Output 2 (keluaran pengguna2)
|
Pin 32
|
RTS
|
Reguest to Send (permintaan pengiriman)
|
Pin 33
|
DTR
|
Dat Terminal Ready (Terminal data siap)
|
Pin 34
|
OUT1
|
User Output 1
|
Pin 35
|
MR
|
Master Riset
|
Pin 36
|
CTS
|
Clear To Send
|
Pin 37
|
DSR
|
Data Set Ready
|
Pin 38
|
DCD
|
Data Carrier Detect
|
Pin 39
|
RI
|
Ring Indikator (indicator dering)
|
Pin 40
|
VDD
|
+ 5 Volt
|
Tipe-tipe UART
· 8250
UART pertama pada seri ini. Tidak memiliki register scratch, versi 8250A
merupakan versi perbaikan dari 8250 yang mampu bekerja dengan lebih cepat;
· 8250A
UART ini lebih cepat dibandingkan dengan 8250 pada sisi bus. Lebih mirip secara
perangkat lunak dibanding 16450;
· 8250B
Sangat mirip dengan 8250;
· 16450
Digunakan pada komputer AT dengan kecepatan 38,4 Kbps, masih banyak digunakan
hingga sekarang;
· 16550
Generasi pertama UART yang memiliki penyangga, dengan panjang 16-byte, namun
tidak bekerja (produk gagal) sehingga digantikan dengan
· 16550A;
a. 16550A
UART yang banyak digunakan pada komunikasi kecepatan tinggi, misalnya 14,4 Kbps
atau 28,8 Kbps;
b. 16650
UART baru, memiliki penyangga FIFO 32-byte, karakter Xon/Xoff terprogram dan
mendukung manajemen sumber daya;
· 16750
Diproduksi oleh Texas Instrument, memiliki FIFO 64-byte!
Sumber :
sang-cyber.blogspot.com/2014/12/peripheral-peripheral-jaringan-pada_4.html
http://adamboga.blogspot.com/2014/04/pengertian-uart.html
http://ragiltriatmojo.blogspot.com/2014/09/perbedaan-usart-dan-uartspi-dan-sci-dac.html
sang-cyber.blogspot.com/2014/12/peripheral-peripheral-jaringan-pada_4.html
http://adamboga.blogspot.com/2014/04/pengertian-uart.html
http://ragiltriatmojo.blogspot.com/2014/09/perbedaan-usart-dan-uartspi-dan-sci-dac.html