Beranda » bagaimana » Apakah Ada Protokol Komunikasi USB Aktual?

    Apakah Ada Protokol Komunikasi USB Aktual?

    Sebagian besar dari kita tidak pernah memikirkan perangkat USB kita, kita cukup mencolokkannya dan melupakannya. Tetapi bagaimana jika Anda adalah tipe penasaran yang ingin tahu lebih banyak tentang cara kerja USB? Posting Tanya Jawab Pengguna Super hari ini memiliki jawaban atas pertanyaan pembaca yang penasaran.

    Sesi Tanya Jawab hari ini datang kepada kami berkat SuperUser-subdivisi Stack Exchange, pengelompokan situs web Q&A berbasis komunitas.

    Foto milik Evilelka Kowalski (Flickr).

    Pertanyaan

    SuperUser reader smeeb ingin tahu apakah benar-benar ada Protokol Komunikasi USB yang sebenarnya:

    Menurut Wikipedia, USB:

    • Menentukan kabel, konektor, dan protokol komunikasi yang digunakan dalam bus untuk koneksi, komunikasi, dan catu daya antara komputer dan perangkat elektronik.

    Tapi apakah ada yang sebenarnya Protokol Komunikasi USB? Pemahaman saya adalah:

    1. Anda menghubungkan perangkat USB ke mesin (Ubuntu atau Linux jenis apa pun misalnya).
    2. Linux menemukan driver perangkat untuk perangkat itu entah bagaimana (bonus jika Anda tahu!) dan memuatnya.
    3. Perangkat sekarang terhubung di bawah / dev / theDevice.
    4. Aplikasi ruang pengguna sekarang dapat membaca dan menulis / dev / theDevice dan driver menangani input dan output tingkat rendah ke perangkat / perangkat keras yang mendasarinya.

    Sejauh yang saya tahu, a Protokol Komunikasi USB tidak muncul di mana pun dalam aliran ini. Jika pemahaman saya benar, USB hanyalah kabel dan koneksi listrik antara PC dan perangkat.

    Apakah saya salah di sini? Apakah USB benar-benar menerapkan semacam protokol tingkat rendah yang menggarisbawahi aliran di atas? Jika demikian, apa itu dan bagaimana cara kerjanya pada tampilan 30.000 kaki?

    Apakah ada Protokol Komunikasi USB yang sebenarnya?

    Jawabannya

    Kontributor SuperUser, RedGrittyBrick, dan projectdp memiliki jawaban untuk kami. Pertama, RedGrittyBrick:

    Ya (lihat protokol USB).

    Seperti yang saya pahami, spesifikasi USB mendefinisikan seperangkat protokol dan profil perangkat yang rumit.

    Misalnya, perangkat USB dapat menyesuaikan dengan templat tingkat tinggi seperti penyimpanan massal, keyboard, perangkat antarmuka manusia, dll. Dan dikelola oleh driver perangkat generik. Beberapa perangkat USB dapat berkomunikasi pada level yang lebih rendah sehingga dukungan USB level rendah sistem operasi dapat mengenali bahwa driver level yang lebih tinggi khusus perangkat diperlukan.

    Diikuti oleh jawaban dari projectdp:

    Pertanyaan

    Apakah ada protokol komunikasi USB tingkat rendah yang sedang beraksi dan apa itu?

    Menjawab

    Ya ada. Spesifikasi USB termasuk protokol USB yang menentukan cara bus digunakan pada level bit. Ini akan menjadi protokol tingkat rendah yang mendasari protokol tingkat yang lebih tinggi (mis. Penyimpanan massal, HID, dll.).

    Untuk spesifik tentang cara kerja protokol USB, wiki OSDev ini sangat membantu. Berikut ini adalah deskripsi menarik lainnya menggunakan diagram urutan untuk menggambarkan berbagai transaksi data per protokol USB.

    Pertanyaan Bonus

    Bagaimana Linux menemukan dan memuat driver perangkat untuk perangkat itu?

    Jawaban Bonus

    Di Linux saat menggunakan kernel yang mendukung USB, perangkat USB yang berfungsi akan terdeteksi melalui perangkat keras dan kernel karena spesifikasi USB. Di sisi perangkat keras, deteksi dilakukan oleh Pengendali Host USB. Kemudian di kernel, Driver Pengontrol Host mengambil alih dan menerjemahkan bit level rendah pada informasi berformat protokol kawat ke USB. Informasi ini kemudian diisi di driver usbcore di kernel.

    Saya mengutip dari artikel opensourceforu yang sangat bagus ini, yang memiliki lebih banyak detail dan kejelasan tentang pertanyaan Anda dalam konteks Linux.

    Pastikan untuk memeriksa sisa diskusi aktif melalui tautan utas yang dibagikan di bawah ini!


    Punya sesuatu untuk ditambahkan ke penjelasan? Berbunyi dalam komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang mengerti teknologi lainnya? Lihat utas diskusi lengkap di sini.