PEWAKTUAN KARAKTER UART
Bagaimana UART menerima data tanpa clock bersama?
Penerima menggunakan peristiwa start yang valid untuk menetapkan pewaktuan, lalu mengambil sampel bit karakter dengan clock lokalnya sendiri dan memeriksa posisi stop. Kedua ujung memerlukan pengaturan yang kompatibel. Karakter baru dapat menyelaraskan ulang pewaktuan, tetapi pemeriksaan format bingkai tidak membuktikan integritas data atau keberhasilan aplikasi. Diagram logika yang disederhanakan ini bukan representasi tegangan konektor atau hasil pengukuran produk.
Start
Peristiwa start yang valid menetapkan acuan pewaktuan lokal.
Pengambilan sampel
Pengambilan sampel dalam interval bit yang stabil membantu menghindari transisi.
Stop
Level rendah pada posisi stop yang diharapkan dapat memicu penanda kesalahan format bingkai.
Catat laju baud, bit data, paritas, dan bit stop di kedua ujung.
Bandingkan pewaktuan logika dan kesalahan penerimaan dalam pengujian yang diizinkan.
Periksa byte aplikasi yang sebenarnya dan interpretasi pesan.
Daftar periksa pemilihan dan verifikasi — perluas
| Pemeriksaan | Yang perlu dikonfirmasi | Cara memverifikasi |
|---|---|---|
| Antarmuka | Kompatibilitas kelistrikan | Baca dokumentasi model |
| Karakter | Kesesuaian pewaktuan dan format | Bandingkan kedua konfigurasi |
| Aplikasi | Byte dan pesan benar | Simpan catatan pengujian dengan pola yang diketahui |
Titik akhir serial tidak berbagi kabel clock terpisah. Jadi, bagaimana penerima mengidentifikasi sebuah byte dalam sinyal yang berubah-ubah? Bit start, bit stop, dan pewaktuan masing-masing titik akhir memberikan jawabannya. Memahami proses tersebut menjelaskan mengapa perbedaan konfigurasi kecil dapat menghasilkan karakter yang rusak atau kesalahan format bingkai, serta mengapa koneksi Ethernet tidak membuktikan penerimaan serial yang benar.

Pisahkan antarmuka kelistrikan dari format karakter
Peralatan industri dapat terhubung ke server perangkat serial atau transceiver optik data melalui RS232 atau RS485. Transceiver antarmuka mengubah sinyal saluran menjadi sinyal logika yang dapat diproses chip. UART menangani bit individual sesuai format karakter yang dipilih. UART adalah singkatan dari universal asynchronous receiver/transmitter; pengoperasian asinkron biasanya tidak menggunakan kabel clock sinkronisasi bersama.
Level tinggi dan rendah dalam ilustrasi ini mewakili keadaan logika UART, bukan tegangan konektor RS232 yang sebenarnya atau tegangan salah satu konduktor RS485 terhadap ground. Jenis antarmuka, ground acuan, pengawatan diferensial, dan batas perangkat memerlukan pemeriksaan terpisah. Diagram logika bukan panduan pengawatan, dan pin TTL tidak boleh dihubungkan langsung ke antarmuka yang tidak kompatibel.
Jalur penerimaan dapat disederhanakan menjadi transceiver saluran, logika penerimaan UART, buffer byte, dan aplikasi. Diteruskannya sinyal antartahap tidak membuktikan bahwa aplikasi menerima rekaman data bisnis yang benar. Penerimaan karakter harus berfungsi sebelum data masuk ke jaringan.
Bagian mana dari bingkai yang bukan data aplikasi?
Dalam format 8N1 yang umum, 8 menentukan delapan bit data, N berarti tanpa paritas, dan 1 menentukan satu bit stop. Sebuah karakter juga memuat bit start, sehingga delapan bit data aplikasi bukan keseluruhan transmisi pada saluran. Bit start dan stop mengatur karakter; keduanya tidak boleh ditambahkan ke data aplikasi sebagai nilai tambahan.
Dalam representasi logika noninversi yang umum, keadaan idle berlevel tinggi, bit start berlevel rendah, dan bit stop kembali berlevel tinggi. Data umumnya dikirim dengan bit paling tidak signifikan terlebih dahulu, meskipun opsi periferal bervariasi dan dokumentasi kedua titik akhir harus menyatakan hal yang sesuai. D0 hingga D7 menandai posisi, bukan byte tetap atau transisi wajib antara bit yang bersebelahan.
Bit data berurutan yang sama dapat mempertahankan saluran pada keadaan yang sama. Penerima tidak dapat menghitung transisi untuk menghitung delapan bit. Penerima mengandalkan pewaktuan setelah peristiwa start untuk menentukan interval bit berturut-turut. Inilah sebabnya kesesuaian pengaturan laju baud penting.
Bagaimana penerimaan dimulai dari keadaan idle?
UART memantau masukannya. Setelah mendeteksi kemungkinan transisi start, UART memeriksa keadaan rendah berdasarkan ketentuan start dalam implementasinya dan menjadwalkan pengambilan sampel data. Gangguan sesaat yang singkat tidak otomatis merupakan bit start lengkap. Penyaringan dan validasi start berbeda antarperiferal; peralatan tidak boleh diasumsikan menggunakan logika internal yang identik.
Bayangkan bit start sebagai isyarat siap mulai sebelum setiap karakter. Kedua titik akhir menyepakati kecepatan perkiraan, lalu penerima mengikuti pewaktu lokalnya untuk mengambil sampel secara berurutan. Analogi ini tidak berarti bahwa isyarat lisan benar-benar dikirim atau bahwa UART biasa secara otomatis mengenali laju baud apa pun. Konfigurasi yang kompatibel tetap diperlukan.
Banyak UART menggunakan oversampling: clock pengambilan sampel internalnya berjalan beberapa kali selama satu interval bit, sehingga membantu menetapkan start atau posisi pengambilan sampel yang valid. Sebagian menggunakan keputusan berdasarkan beberapa sampel. Hal ini dapat membantu menentukan lokasi tepi sinyal dan menangani gangguan, tetapi tidak dapat menoleransi kesalahan tanpa batas. Faktor pengambilan sampel satu chip bukan spesifikasi universal produk FCTELE.

Mengapa mengambil sampel di dekat bagian tengah bit?
Di dekat batas bit, sinyal mungkin sedang bertransisi. Propagasi, kecepatan tepi sinyal, dan ambang masukan memengaruhi kapan penerima menilainya sebagai tinggi atau rendah. Pengambilan sampel dalam interval yang stabil memudahkan interpretasi dibandingkan pengambilan sampel di dekat tepi sinyal. Titik-titik di tengah menjelaskan konsep tersebut; titik-titik itu tidak menyatakan bahwa chip sebenarnya hanya mengambil sampel sekali atau selalu tepat di pusat geometris.
Pemancar dan penerima menggunakan clock lokal yang terpisah. Jika keduanya berbeda dalam durasi bit, posisi pengambilan sampel yang diprediksi dapat semakin bergeser bahkan setelah start menyelaraskannya. Perbedaan pewaktuan dapat menjadi lebih nyata menjelang akhir karakter, sehingga berpotensi menempatkan sampel dalam interval yang salah di dekat bit data terakhir atau bit stop.
Pesan singkat yang sesekali benar tidak membuktikan konfigurasi yang andal. Beberapa pola bit dapat menyamarkan masalah, sedangkan pola lain mengungkapkannya. Pengujian penerimaan harus mencakup konten aplikasi yang sebenarnya dan transmisi berkelanjutan, bukan menganggap beberapa karakter yang terbaca di terminal sebagai bukti yang memadai.
Apa yang dapat diketahui dari pemeriksaan bit stop?
Setelah bit data dan bit paritas opsional yang dikonfigurasi, penerima memeriksa posisi stop sesuai implementasinya. Jika penerima mendeteksi level rendah di posisi yang seharusnya merupakan keadaan stop, penerima dapat menetapkan status kesalahan format bingkai. Kesalahan format bingkai melaporkan kegagalan pemeriksaan format penerimaan; kesalahan ini tidak mengidentifikasi kabel mana yang bermasalah.
Ketidakcocokan laju baud atau format karakter, interferensi, dan keadaan rendah yang bertahan secara tidak normal dapat menghasilkan gejala terkait. Sebaliknya, tidak adanya kesalahan format bingkai tidak membuktikan data benar: sampel yang keliru dapat secara kebetulan mendeteksi level tinggi pada posisi stop. Data tetap memerlukan pemeriksaan integritas atau pemeriksaan aplikasi. Bit stop juga bukan penanda akhir untuk pesan bisnis yang lengkap.
Cara penanda kesalahan menyertai karakter, apakah driver membuang karakter tersebut, dan apakah perangkat lunak dapat mengakses penghitung bergantung pada perangkat keras dan perangkat lunak. Aplikasi yang tidak menampilkan apa pun tidak langsung membuktikan tidak adanya masukan saluran; salah satu tahap mungkin telah menyaring karakter yang salah. Simpan status bersama isi byte.

Bagaimana bingkai berikutnya dapat menyelaraskan kembali pewaktuan?
Setelah sebuah karakter, penerima kembali mencari peristiwa start berikutnya sesuai aturannya. Start baru yang valid memberikan kesempatan untuk menyelaraskan ulang penerimaan. Transmisi berkelanjutan tidak harus memuat jeda hening yang panjang antarkarakter, tetapi harus memenuhi persyaratan format karakter dan durasi stop yang dikonfigurasi.
Sinkronisasi per karakter tidak otomatis memperbaiki seluruh pertukaran data. Jika sebuah karakter diterima secara keliru, protokol aplikasi tetap harus menangani byte yang hilang, berulang, atau rusak. Batas karakter UART, batas paket jaringan server serial, dan batas pesan aplikasi adalah hal yang berbeda. Menambahkan bit stop tidak dapat menggantikan penguraian pesan yang benar.
Untuk investigasi, catat laju baud, bit data, paritas, bit stop, dan jenis antarmuka di kedua titik akhir, lalu amati bentuk gelombang dan penghitung kesalahan dalam kondisi yang diizinkan. Ubah satu variabel setiap kali dan bandingkan data yang diketahui sebelum dan sesudah perubahan. Perubahan parameter pada tautan produksi kritis memerlukan pengaturan pemeliharaan, bukan coba-coba tanpa kendali.
Hubungkan bukti antartahap
Jika bentuk gelombang masukan sudah tidak normal, selidiki antarmuka kelistrikan, pengawatan, dan interferensi. Jika bentuk gelombang dapat dikenali tetapi byte rusak, periksa format karakter, pewaktuan, dan pengambilan sampel. Jika byte benar tetapi aplikasi gagal, periksa buffering, enkapsulasi jaringan, dan interpretasi aplikasi. Bukti pada setiap tahap memberikan arah yang lebih berguna daripada berulang kali mengganti switch Ethernet.
Server perangkat serial dan produk transmisi data FCTELE menghubungkan peralatan industri. Antarmuka dan kemampuan konfigurasi yang sebenarnya bergantung pada dokumentasi model terkait. Panduan ini menjelaskan penerimaan UART secara umum, bukan rangkaian internal atau toleransi terukur produk tertentu, dan tidak memberikan kecepatan maksimum yang belum diverifikasi. Bukti serah terima harus mencakup konfigurasi, kondisi pengujian, bentuk gelombang asli, dan verifikasi aplikasi.
Referensi
TI: Ikhtisar protokol UART dan kesalahan; Microchip: contoh penerima asinkron; Informasi produk gateway serial FCTELE. Ilustrasi umum, bukan rangkaian produk atau hasil pengukuran toleransi.
Diterjemahkan dari artikel teknis berbahasa Mandarin: Baca artikel asli berbahasa Mandarin.
Pertanyaan umum
Apakah keadaan logika UART sama dengan tegangan RS232?
Tidak. Transceiver saluran mengubah sinyal listrik; verifikasi tegangan antarmuka yang sebenarnya dan pengawatan secara terpisah.
Apakah tidak adanya kesalahan format bingkai membuktikan data benar?
Tidak. Sampel stop dapat secara kebetulan berlevel tinggi meskipun data salah. Pemeriksaan integritas dan aplikasi tetap diperlukan.
Apakah bit stop mengakhiri pesan aplikasi?
Tidak. Bit stop merupakan bagian dari format karakter; protokol aplikasi menentukan batas pesan.
Cakupan dan bacaan lanjutan
Pewaktuan UART umum, bukan rangkaian perangkat tertentu atau toleransi terukur.
Escape byte serial dan pembingkaian pesan · Penerusan Ethernet dan pemeliharaan


