UART adalah metode komunikasi serial umum yang digunakan di banyak sistem tertanam. Ini mengirim data sedikit demi sedikit tanpa garis jam bersama, menggunakan pengaturan yang cocok untuk mempertahankan sinkronisasi. Tautan UART yang andal bergantung pada kabel yang benar, baud rate, format bingkai, level tegangan, dan waktu sinyal yang benar. Artikel ini memberikan informasi tentang pengoperasian, penyiapan, penggunaan, dan masalah umum UART.

Dasar-dasar Universal Asynchronous Receiver-Transmitter (UART)
UART adalah singkatan dari Universal Asynchronous Receiver-Transmitter. Ini adalah antarmuka komunikasi serial yang mentransfer data sedikit demi sedikit antara perangkat yang terhubung. Blok UART dibangun ke dalam banyak mikrokontroler, prosesor, chip komunikasi, dan modul tertanam. Ini mengubah data paralel menjadi aliran serial selama transmisi dan mengubah data serial yang masuk kembali menjadi byte selama penerimaan. UART tidak menggunakan garis jam bersama. Sebagai gantinya, kedua perangkat tetap disinkronkan dengan menggunakan pengaturan komunikasi yang cocok dan dengan mendeteksi awal dan akhir setiap bingkai data.
Alasan UART Tetap Umum
• Hanya menggunakan beberapa jalur sinyal
• Mudah diatur untuk komunikasi langsung
• Ini termasuk dalam banyak perangkat tertanam
• Ini mendukung output yang dapat dibaca melalui terminal serial
Bagaimana Bingkai dan Waktu UART Bekerja?
Bagian dari Bingkai UART

| Elemen Bingkai | Fungsi |
|---|---|
| Mulai bit | Menandai awal bingkai |
| Bit data | Membawa nilai yang dikirim |
| Bit paritas | Menambahkan pemeriksaan kesalahan dasar saat digunakan |
| Hentikan bit | Menandai akhir bingkai |
| Status menganggur | Menjaga garis tetap tinggi saat tidak ada data yang dikirim |
Pengaturan UART Utama
| Pengaturan | Apa yang Dikendalikannya |
|---|---|
| Tingkat baud | Kecepatan komunikasi |
| Bit data | Jumlah bit nilai dalam setiap bingkai |
| Kesetaraan | Apakah pemeriksaan paritas ditambahkan |
| Hentikan bit | Format akhir bingkai |
| Kontrol aliran | Kecepatan data antar perangkat yang terhubung |
Baud rate menetapkan seberapa cepat bit dikirim. Kecepatan baud yang lebih tinggi meningkatkan kecepatan transfer tetapi membutuhkan waktu yang lebih akurat dan jalur sinyal yang lebih bersih. Komunikasi UART juga bergantung pada pengaturan bingkai yang cocok di kedua sisi.
Tarif Baud Umum
| Laju Baud | Penggunaan Khas |
|---|---|
| 9600 | Terminal dasar, modul sederhana, dan sistem lama |
| 19200–38400 | Komunikasi berkecepatan sedang |
| 57600 | Tautan kontrol dan diagnostik yang lebih cepat |
| 115200 | Output dan debugging konsol |
Panjang Bingkai dan Efisiensi Data
Panjang bingkai memengaruhi seberapa banyak data berguna yang dibawa dalam setiap transmisi. Dua tautan UART dapat menggunakan baud rate yang sama tetapi tetap memberikan throughput data efektif yang berbeda jika format bingkainya berbeda. Misalnya, 8N1 dan 7E1 menggunakan jumlah total bit per frame yang berbeda, sehingga jumlah data payload per frame tidak sama.
Pengkabelan UART, Tingkat Tegangan, dan Kontrol Aliran

Koneksi UART dasar menggunakan tiga sinyal utama: TX, RX, dan GND. Pin TX dari satu perangkat terhubung ke pin RX dari perangkat lainnya, dan kedua perangkat harus berbagi ground yang sama agar level sinyal dapat dibaca dengan benar.
Banyak mikrokontroler dan modul menggunakan level TTL atau CMOS UART, seringkali pada 3.3 V atau 5 V. Sistem serial yang lebih lama mungkin menggunakan RS-232, yang memiliki voltage rentang dan metode pensinyalan yang berbeda, sehingga tidak kompatibel secara langsung dengan TTL UART. Transceiver pergeseran level digunakan saat menghubungkan standar ini.
Beberapa tautan UART juga menggunakan kontrol aliran untuk mencegah data yang hilang ketika satu sisi tidak dapat menerima byte masuk dengan cukup cepat.
Aturan Pengkabelan UART Dasar
• TX dari satu perangkat terhubung ke RX di perangkat lain
• RX dari satu perangkat terhubung ke TX di perangkat lain
• Ground harus terhubung di kedua sisi
Standar Listrik UART
| Tipe | Penggunaan Khas | Poin utama |
|---|---|---|
| TTL/CMOS UART | Mikrokontroler, modul, papan pengembangan | Menggunakan sinyal tingkat logika seperti 3,3 V atau 5 V |
| RS-232 | Port serial lama, tautan industri, koneksi serial PC | Menggunakan rentang tegangan dan perilaku pensinyalan yang berbeda |
Metode Kontrol Aliran Umum
• Kontrol aliran perangkat keras menggunakan jalur RTS dan CTS
• Kontrol alur perangkat lunak menggunakan karakter XON dan XOFF
Kontrol aliran perangkat keras menggunakan jalur kontrol terpisah untuk mengelola aliran data. Kontrol aliran perangkat lunak mengurangi jumlah kabel, tetapi menggunakan karakter kontrol dalam aliran data.
Bagaimana UART Beroperasi Di Dalam Perangkat?
Di dalam perangkat, periferal UART mencakup beberapa bagian yang menangani pengiriman dan penerimaan data. Bagian-bagian ini sering kali mencakup bagian transmisi, bagian penerimaan, register shift, bendera status, dan buffer FIFO. Saat data dikirim, perangkat lunak menempatkan byte ke dalam UART, dan perangkat keras menambahkan bit awal, bit paritas opsional, dan bit stop sebelum mengirim bingkai penuh melalui jalur TX.
Saat data diterima, UART mengawasi garis RX untuk bit awal yang valid. Kemudian mengambil sampel sinyal pada waktu yang tepat, membangun kembali byte, memeriksa format bingkai, dan menyimpan data sehingga perangkat lunak dapat membacanya nanti.
Periferal UART juga melaporkan status dan kondisi kesalahan, sedangkan buffer FIFO menyimpan beberapa byte untuk mengurangi data yang terlewatkan saat perangkat lunak tidak segera merespons.
Status UART Umum dan Bendera Kesalahan
• Mengirimkan buffer kosong
• Terima buffer penuh
• Kesalahan paritas
• Kesalahan pembingkaian
• Kesalahan overrun
Penggunaan UART Umum dalam Sistem Tertanam
• Debugging terminal serial
• Komunikasi antara mikrokontroler dan modul
• Tautan pembaruan bootloader dan firmware
• Antarmuka perintah-dan-respons sederhana
• Pencatatan data dan diagnostik
• Akses konsol papan tertanam
Pengaturan, Pengujian, dan Pemecahan Masalah UART
Menyiapkan tautan UART dimulai dengan memilih pengaturan komunikasi dan level sinyal yang kompatibel. Pengujian membantu mengonfirmasi bahwa tautan terhubung dengan benar, dikonfigurasi dengan benar, dan mengirim bingkai data yang valid.
Perencanaan Tautan dan Konfigurasi Perangkat
Pilih baud rate, format bingkai, standar tegangan, dan metode kontrol aliran sebelum membuat koneksi. Kemudian aktifkan perangkat keras UART dalam perangkat lunak dan konfigurasikan buffer atau pengaturan FIFO yang diperlukan. Akurasi jam, kualitas kabel, dan kecepatan data yang diharapkan juga memengaruhi kinerja tautan.
Validasi Komunikasi
Periksa tautan dengan mengirimkan pola data yang diketahui atau teks yang dapat dibaca. Terminal serial, adaptor USB-ke-UART, penganalisis logika, atau osiloskop dapat membantu mengonfirmasi bahwa bingkai valid dan saluran tetap dalam keadaan siaga yang benar di antara transmisi.
Panduan Masalah UART
| Gejala | Kemungkinan Penyebab |
|---|---|
| Karakter acak atau tidak dapat dibaca | Baud rate atau pengaturan bingkai yang salah |
| Tidak ada data yang diterima | TX/RX terbalik, tanah hilang, UART dinonaktifkan, level tegangan yang salah |
| Kesalahan terputus-putus | Kebisingan, kabel panjang, ketidakcocokan waktu |
| Kesalahan pembingkaian atau paritas | Setelan buruk atau kualitas sinyal yang buruk |
| Byte yang hilang selama burst | Overrun, buffering lemah, tidak ada kontrol aliran |
Pemeriksaan Pemecahan Masalah
• Konfirmasikan TX dan RX disilangkan dengan benar
• Pastikan kedua belah pihak berbagi tanah yang sama
• Verifikasi baud rate dan format bingkai di kedua ujungnya
• Periksa apakah level sinyal adalah TTL/CMOS atau RS-232
• Kurangi baud rate jika dicurigai ada kesalahan waktu atau kebisingan
• Tinjau bendera kesalahan UART di perangkat lunak
• Uji dengan alat atau adaptor terminal yang diketahui baik
UART, SPI, dan I2C Dibandingkan

UART, SPI, dan I2C adalah metode komunikasi serial yang umum, tetapi mereka bekerja dengan cara yang berbeda. UART menggunakan tautan langsung antara dua perangkat dan tidak memerlukan garis jam. SPI menggunakan jam dan jalur data terpisah untuk komunikasi yang lebih cepat. I2C juga menggunakan jam, tetapi memungkinkan beberapa perangkat untuk berbagi bus yang sama melalui pengalamatan bawaan.
Perbandingan Antarmuka
| Fitur | UART | SPI | I2C |
|---|---|---|---|
| Garis jam | Tidak | Iya | Iya |
| Topologi khas | Titik ke titik | Pengontrol periferal | Bus bersama |
| Kompleksitas | Rendah | Sedang | Sedang |
| Pengalamatan bawaan | Tidak | Tidak | Iya |
| Kekuatan bersama | Kesederhanaan | Kecepatan | Lebih sedikit kabel untuk banyak perangkat |
UART cocok untuk tautan langsung dan akses terminal yang sederhana. SPI cocok untuk komunikasi berkecepatan tinggi. Kasus setelan I2C di mana beberapa perangkat berbagi satu bus dengan lebih sedikit jalur sinyal.
Kesimpulan
UART tetap digunakan karena menawarkan komunikasi langsung yang sederhana dengan kompleksitas perangkat keras yang rendah. Kinerjanya tergantung pada pengaturan yang cocok, kabel TX dan RX yang benar, ground bersama, volume volume yang kompatibeltage, dan penanganan waktu, buffering, dan bendera kesalahan yang tepat. Memahami struktur bingkai, baud rate, kontrol aliran, dan penyebab kesalahan umum membantu menjelaskan mengapa tautan UART gagal dan bagaimana komunikasi stabil dipertahankan dalam sistem tertanam.
Pertanyaan yang Sering Diajukan [FAQ]
Bisakah UART mengirim dan menerima secara bersamaan?
Iya. UART mendukung komunikasi full-duplex, sehingga dapat mengirim data di TX saat menerima di RX secara bersamaan.
Apa arti 8N1 dalam UART?
8N1 berarti 8 bit data, tidak ada paritas, dan 1 bit stop.
Bisakah UART terhubung ke beberapa perangkat?
Tidak secara langsung. UART terutama untuk komunikasi satu-ke-satu dan tidak termasuk pengalamatan bawaan.
Apakah baud rate sama dengan bit rate di UART?
Dalam UART standar, ya. Mereka diperlakukan sama karena setiap simbol membawa satu bit.
Mengapa menggunakan adaptor USB-ke-UART?
Ini memungkinkan komputer untuk berkomunikasi dengan antarmuka UART melalui USB.
Apakah UART menyertakan enkripsi atau koreksi kesalahan lanjutan?
Tidak. UART tidak menyertakan enkripsi atau koreksi kesalahan lanjutan dengan sendirinya.