UART (Universal
Asynchronous Receiver Transmitter) dan USART (Universal Synchronous
Asynchronous Receiver Transmitter) adalah metode komunikasi komputer dengan
menggunakan transmisi serial. Data UART dikirim dalam bentuk bit sequensial dan
kemudian di device tujuan data akan digabungkan lagi membentuk byte.
Pengertian
UART adalah
komponen yang menerjemahkan antara data
bit pada paralel data dan bit-bit serial. UART biasanya berupa sirkuit
terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port
serial perangkat periperal. Yang mana UART 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.
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)
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
1. 8250 UART pertama pada seri ini. Tidak
memiliki register scratch, versi 8250A merupakan versi perbaikan dari 8250 yang
mampu bekerja dengan lebih cepat;
2. 8250A UART ini lebih cepat dibandingkan
dengan 8250 pada sisi bus. Lebih mirip secara perangkat lunak dibanding 16450;
3. 8250B Sangat mirip dengan 8250;
4. 16450 Digunakan pada komputer AT dengan
kecepatan 38,4 Kbps, masih banyak digunakan hingga sekarang;
5. 16550 Generasi pertama UART yang memiliki
penyangga, dengan panjang 16-byte, namun tidak bekerja (produk gagal) sehingga
digantikan dengan
6. 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;
c. 16750 Diproduksi oleh Texas Instrument,
memiliki FIFO 64-byte
USART
Pengertian
Pengertian
USART sebuah
komunikasi dengan fleksibelitas tinggi yang dapat digunakan untuk melakukan
transfer data baik antar mikrokontroler maupun dengan modul-modul eksternal
termasuk PC yang memiliki fitur UART. USART dapat menjalankan transmisi data
baik secara syncrhronous maupun asyncrhronous, sehingga dengan memiliki USART
pasti kompatibel dengan UART
gambar register USART
gambar
USART ATMEGA
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.
USART memungkinkan
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
DEVICE UART DAN/USART
Komunikasi
UART/USART biasanya terjadi pada DTE (Data Terminal Equipment) yang berupa PC
dengan DCE (Data Communication Equipment) yang diwakili modem, atau komunikasi
PC dengan device cerdas lain (mikrokontroler, smartphone). Komunikasi serial
UART/ USART mengguna kan protokol RS232-C dengan 2 jenis pilihan konektor yaitu
DB25 & DB9
Tidak ada komentar:
Posting Komentar