GNU/Linux >> Belajar Linux >  >> Linux

Apa itu UART (Penerima/Pemancar Asinkron Universal)

Pemirsa Target

Artikel ini mengasumsikan bahwa pembaca memiliki pemahaman dasar tentang perangkat elektronik, sirkuit, dan terminologi.

Pengantar

Dalam dunia komunikasi perangkat tertanam, ada segelintir kecil protokol yang digunakan untuk banyak aplikasi berbeda. Sering terjadi bahwa protokol yang lebih umum yang biasanya digunakan untuk operasi sehari-hari, seperti FTP dan TCP, tidak berfungsi dengan perangkat tertanam kecil atau tidak cocok (seringkali karena kebutuhan daya atau ruang). Dalam kasus seperti inilah yang lebih mendasar, standar komunikasi 'down to the metal' seperti UART sangat berguna.

Apa itu UART?

Gambar Exar16550onItronixPCB oleh pengguna Wikipedia Myself248 / Dilisensikan di bawah CC BY-SA 3.0

UART (Universal Asynchronous Receiver/Transmitter) adalah perangkat komunikasi kecil yang efisien, mirip dengan I2C. UART paling sering dipasang di perangkat keras, tertanam dalam IC (sirkuit terintegrasi), yang menerjemahkan data yang dikomunikasikan antara bentuk serial dan paralel. Dengan kata lain, perangkat UART mengambil aliran bit data (paling sering dirancang untuk komunikasi paralel), mengubahnya menjadi bit data serial untuk transmisi melalui satu kabel, atau bus, dan kemudian mentransmisikannya. Di ujung kabel yang lain, perangkat UART lain menerima bit serial dan mengubahnya kembali menjadi paket data paralel. Bagian "Universal" dari nama mengacu pada konfigurasi format data dan kecepatan pengiriman/penerimaan.
.
UART adalah salah satu perangkat komunikasi tertua yang digunakan oleh komputer, sejak asal-usulnya kembali ke tahun 1960-an ketika digunakan untuk menghubungkan komputer ke keyboard teletypewriter, atau "teletypes". Pada 1970-an itu adalah protokol yang digunakan untuk membaca dan menulis data ke kaset, dan kemudian digunakan untuk berkomunikasi dengan modem selama hari-hari awal dial-up layanan BBS (Bulletin Board System) dan Internet. Sejak itu telah digantikan dengan perangkat yang lebih kompleks yang menggunakan protokol seperti TCP dan IP, tetapi desainnya masih berguna dengan perangkat yang disematkan.
.

Bagaimana UART Berkomunikasi

Seperti disebutkan di atas, UART bekerja dengan menerjemahkan antara komunikasi paralel dan komunikasi serial. Mengapa melakukan ini sama sekali, karena komunikasi paralel jauh lebih cepat? Sementara komunikasi paralel lebih cepat, itu juga jauh lebih mahal baik dari segi daya dan media transmisi. Anda dapat mengirim kumpulan data yang sama dalam bit serial berurutan, satu per satu, ke satu kabel, bukan dalam bit paralel yang disinkronkan, secara bersamaan, ke sekelompok kabel. Jika aplikasi Anda kekurangan ruang, misalnya, mungkin lebih masuk akal untuk hanya menggunakan satu kabel. Karena alasan ini, perangkat UART sangat berguna dalam situasi berdaya rendah dan sederhana, seperti sistem tertanam.
.
Jadi, bagaimana tepatnya cara kerjanya? Hal yang menyenangkan tentang transmisi asinkron adalah bahwa data dapat ditransmisikan tanpa pengirim dan penerima harus berbagi sinyal clock-sinyal yang dapat mengambil ruang data yang berharga. Sebagai gantinya, waktu disepakati terlebih dahulu antara kedua unit, dan bit khusus ditambahkan ke setiap paket data - setiap "kata". UART menggunakan bit ini untuk menyinkronkan satu sama lain. Ketika pemancar bersiap untuk mengirim kata, ia menambahkan bit START khusus ke awal paket. Bit ini memberi tahu penerima bahwa paket data akan datang dan menyinkronkan jam internal penerima dengan pemancar. (Biasanya, untuk pasangan pemancar/penerima lainnya, semua yang diperlukan untuk menyinkronkan dua jam perangkat adalah bahwa mereka menyetujui kecepatan transmisi dalam bit per detik, atau “baud”.)
.
Setelah MULAI bit, pemancar mengirimkan kata. Kebanyakan sistem UART menggunakan panjang kata lima sampai sepuluh bit. Transmisi bit terjadi selama waktu clock yang konsisten, dan penerima yang disinkronkan dengan waktu melihat bus tepat setengah jalan melalui waktu 'kirim' yang ditentukan untuk menentukan apakah 1 atau 0 sedang dikirim (jika bus TINGGI, '1' sedang dikirim; jika tidak, itu adalah '0'). Akhirnya, pemancar mengirimkan bit paritas (jika sistem telah dikonfigurasi seperti itu) dan bit END. Kemudian memulai kata lain dengan bit MULAI yang lain, dan prosesnya berlanjut. Penerima, sementara itu, membuang bit START dan STOP, menggunakan bit paritas jika perlu, merekam kata, dan terus mendengarkan lebih banyak data. Jika rangkaian adalah pengaturan dupleks (komunikasi dua arah), maka proses yang sama dapat diulang dalam arah yang berlawanan. Dalam beberapa sistem UART, kabel bahkan tidak diperlukan; perangkat inframerah (IR) dan Bluetooth sering diatur untuk mengirim dan menerima melalui skema pensinyalan UART.

Sedikit hal-hal sepele yang bersejarah :Ketika tidak ada yang sedang ditransmisikan, saluran dipegang TINGGI oleh kedua perangkat, bukan RENDAH (tidak dialiri daya.) Konvensi ini adalah peninggalan dari hari-hari ketika saluran telegraf-telegraf dipegang tinggi sehingga setiap pengguna akhir dapat mengetahui bahwa saluran itu tidak terputus.

.

Penggunaan untuk UART Tetap Ada

Perangkat UART telah ada sejak lama, dan telah terbukti masih berguna, bahkan di samping perangkat yang mampu berkomunikasi dengan kecepatan lebih tinggi dan kecepatan transfer gigabit yang dimungkinkan saat ini dengan server hosting VPS yang cepat dan hosting server terkelola.
.
Kebanyakan mikrokontroler modern berisi perangkat UART; IC tunggal dapat berisi satu, dua, atau bahkan 8 UART dalam satu chip (dua desain terakhir ini masing-masing disebut DUART dan OCTART). Arduino — IDE mikrokontroler hobi yang populer — memiliki antarmuka UART yang terpasang di setiap papannya, bahkan yang terkecil sekalipun. Raspberry Pi, perangkat hobi populer lainnya, juga dapat berinteraksi dengan perangkat UART. Bagi siapa pun yang tertarik bekerja dengan perangkat kecil yang disematkan, ini adalah perangkat yang layak untuk dipelajari penggunaannya.

.


Linux
  1. Apa perbedaan antara event-driven dan asinkron? Antara epoll dan AIO?

  2. Direktori apa yang disarankan untuk menyimpan konten situs web?

  3. Ke direktori apa saya harus menerapkan aplikasi Rails?

  1. Apa itu Basis Data Relasional?

  2. Apa itu Model Pengembangan Web Stateless dan Stateful

  3. Database NoSQL Terdistribusi Elasticsearch – Apa Itu dan Haruskah Anda Menggunakannya?

  1. Apa itu Basis Data NoSQL? – Penjelasan NoSQL

  2. Apa itu Spark DataFrame?

  3. Bagaimana rm bekerja? Apa yang rm lakukan?