Sebagian besar waktu RS-232 dan UART datang bersama dalam teori komunikasi serial. Apakah keduanya sama? Dari bacaan saya, saya menyimpulkan UART adalah bentuk perangkat keras dari protokol RS-232. Apakah saya benar?
Sebagian besar waktu RS-232 dan UART datang bersama dalam teori komunikasi serial. Apakah keduanya sama? Dari bacaan saya, saya menyimpulkan UART adalah bentuk perangkat keras dari protokol RS-232. Apakah saya benar?
Jawaban:
Tidak, UART dan RS-232 tidak sama.
UART bertanggung jawab untuk mengirim dan menerima urutan bit. Pada output dari UART bit-bit ini biasanya diwakili oleh tegangan level logika. Bit-bit ini dapat menjadi RS-232, RS-422, RS-485, atau mungkin beberapa spesifikasi kepemilikan.
RS-232 menentukan level tegangan . Perhatikan bahwa beberapa level tegangan ini negatif, dan mereka juga dapat mencapai ± 15V. Ayunan tegangan yang lebih besar membuat RS-232 lebih tahan terhadap gangguan (meskipun hanya sampai batas tertentu).
UART mikrokontroler tidak dapat menghasilkan level voltase seperti itu dengan sendirinya. Ini dilakukan dengan bantuan komponen tambahan: driver garis RS-232. Contoh klasik dari driver garis RS-232 adalah MAX232 . Jika Anda membaca lembar data, Anda akan melihat bahwa IC ini memiliki pompa pengisian daya, yang menghasilkan ± 10V dari + 5V.
( sumber )
UART (atau USART) - Universal (Synchronous) Asynchronous Receiver / Transmitter
Ini pada dasarnya adalah antarmuka komunikasi serial. Bagian "universal" berarti dapat dikonfigurasi untuk mendukung berbagai protokol serial spesifik. Istilah ini generik, dan tidak mewakili standar tertentu. Setidaknya itu berarti bahwa ia memiliki garis TX
dan RX
, yang mengirim aliran data serial dan menerima aliran data serial.
RS-232 - Suatu standar yang mendefinisikan sinyal di antara dua perangkat, menentukan nama sinyal, tujuannya, level tegangan, konektor dan pinout.
Ini adalah standar antarmuka khusus yang memungkinkan interoperabilitas peralatan. Meskipun dua perangkat keras mungkin memiliki UART, Anda tidak tahu bahwa mereka akan terhubung tanpa kerusakan, atau berkomunikasi dengan baik kecuali Anda tahu mereka memiliki pinout dan standar voltase yang sama, atau termasuk konverter atau kabel kabel khusus untuk interkoneksi dua perangkat khusus ini. Untuk menghindari perlunya konverter atau kabel khusus, pabrikan dapat memilih untuk mengikuti standar RS-232. Anda tahu, kemudian, bahwa kabel RS-232 standar akan menghubungkan keduanya.
Namun, baik UART, maupun standar RS-232 tidak menentukan apa yang dikirim pada jalur TX
dan RX
. Secara umum, ketika orang menggunakan RS-232, mereka menggunakan pengodean NRZ 8 bit sederhana dengan satu bit mulai dan bit satu stop. Sebagian besar peralatan saat ini diproduksi menggunakan penyandian ini, tetapi tidak ada persyaratan untuk melakukannya. Anda dapat menemukan peralatan yang lebih tua yang mencakup bit paritas, atau menggunakan 7 atau 9 bit. UART dapat dikonfigurasi untuk mendukung berbagai protokol ini pada jalurnya TX
dan RX
.
UART biasanya tidak berinteraksi langsung dengan RS-232. Anda perlu mengonversi output UART ke standar +/- 12V yang diperlukan RS-232. Antarmuka RS-232 yang lengkap biasanya melibatkan UART dan konverter level RS-232. Selanjutnya, standar RS-232 mencakup definisi beberapa pin pensinyalan lain di samping TX
dan RX
, yang mungkin perlu Anda gunakan tergantung pada peralatan yang harus Anda hubungkan. Ini juga perlu dikonversi tingkat, dan UART Anda mungkin, atau mungkin tidak, mendukung sinyal-sinyal ini. Jika tidak, Anda harus mengontrolnya dengan perangkat lunak / firmware Anda secara langsung.
Jadi, sementara UART dapat membantu Anda mengimplementasikan antarmuka RS-232, itu bukan antarmuka RS-232 itu sendiri.
UART berfungsi untuk mengubah data paralel dari jalur bus PC ke data serial untuk transmisi melalui driver saluran ke perangkat RS-232, RS-422 , dan RS-485 . Pin jam dari chip UART diumpankan oleh sumber jam yang dapat diprogram. Kecepatan jam ditentukan oleh konfigurasi baud rate yang akan digunakan perangkat. Kecepatan clock adalah 16 X baud rate. Menempatkan probe osiloskop pada pin clock dari chip UART dan menentukan frekuensi, kemudian membaginya dengan 16 adalah salah satu cara untuk menentukan baud rate yang tidak diketahui.