Universal Serial Bus (USB)

Universal Serial Bus (USB) menyediakan antarmuka serial Plug and Play yang dapat diperluas yang memastikan koneksi standar dengan biaya rendah untuk perangkat periferal. Perangkat USB termasuk keyboard, tikus, joystick, printer, pemindai, perangkat penyimpanan, modem, kamera konferensi video, dan banyak lagi.

USB-IF adalah Special Interest Groups (SIG) yang mempertahankan Spesifikasi USB Resmi, spesifikasi pengujian, dan alat.

Sistem operasi Windows mencakup dukungan asli untuk pengontrol host USB, hub, serta perangkat dan sistem yang mematuhi spesifikasi USB resmi. Windows juga menyediakan antarmuka pemrograman yang dapat Anda gunakan untuk mengembangkan driver perangkat dan aplikasi yang berkomunikasi dengan perangkat USB.

USB untuk penyusun perangkat ikonUSB untuk pengembang driver ikonUSB untuk pengembang aplikasi ikonsertifikasi USB HCK

USB di Windows

  • Dukungan Windows untuk konektor USB Type-C: Untuk OEM yang ingin membangun sistem Windows dengan konektor USB Type-C.

  • Universal Serial Bus 4 (USB4™): Menyediakan OEM, IHV, dan vendor silikon yang memunculkan sistem Windows yang mendukung USB4 dengan informasi tentang manajer koneksi USB4, memfasilitasi debugging, dan prosedur bawaan.

  • FAQ USB: Tanya jawab umum dari pengembang driver tentang tumpukan USB dan fitur yang didukung di USB.

  • Microsoft OS Descriptors untuk Perangkat USB: Windows mendefinisikan deskriptor MS OS yang memungkinkan enumerasi yang lebih baik ketika terhubung ke sistem yang menjalankan sistem operasi Windows.

Alat pengembangan

Sampel USB

Membuat driver atau aplikasi USB untuk Windows

Memperkenalkan Anda pada pengembangan driver USB. Menyediakan informasi tentang memilih model yang paling tepat untuk menyediakan driver USB untuk perangkat Anda.

Menulis driver klien USB (KMDF, UMDF)

Bagian ini mencakup tutorial tentang menulis mode pengguna pertama Anda dan driver USB mode kernel dengan menggunakan templat USB yang disertakan dengan Microsoft Visual Studio.

Menulis driver pengontrol host USB

Jika Anda mengembangkan pengontrol host xHCI yang tidak sesuai dengan spesifikasi atau mengembangkan perangkat keras non-xHCI kustom (seperti pengontrol host virtual), Anda dapat menulis driver pengontrol host yang berkomunikasi dengan UCX. Misalnya, pertimbangkan dok nirkabel yang mendukung perangkat USB. PC berkomunikasi dengan perangkat USB melalui dok nirkabel dengan menggunakan USB melalui TCP sebagai transportasi.

Menulis driver pengontrol fungsi untuk perangkat USB

Anda dapat mengembangkan driver pengontrol yang menangani semua transfer data USB dan perintah yang dikirim oleh host ke perangkat. Driver ini berkomunikasi dengan ekstensi pengontrol fungsi USB (UFX) yang disediakan Microsoft.

Mengembangkan driver Windows untuk pengontrol fungsi USB

Referensi ekstensi kelas fungsi USB (UFX)

Menulis driver konektor USB Type-C

Windows 10 memperkenalkan dukungan untuk konektor USB baru: USB Type-C. Anda dapat menulis driver untuk konektor yang berkomunikasi dengan modul ekstensi kelas yang disediakan Microsoft: UcmCx untuk menangani skenario yang terkait dengan konektor Type-C seperti, port mana yang mendukung Type-C, yang port mendukung pengiriman daya.

Mengembangkan driver Windows untuk konektor USB Type-C

Referensi ekstensi kelas manajer konektor USB (UcmCx)

Menulis driver pengontrol peran ganda USB

Pengontrol Peran Ganda USB sekarang didukung dalam Windows 10. Windows menyertakan driver klien dalam kotak untuk pengontrol ChipIdea dan Sinopsis. Untuk pengontrol lain, Microsoft menyediakan serangkaian antarmuka pemrograman yang memungkinkan ekstensi kelas peran ganda (UrsCx) dan driver kliennya untuk berkomunikasi satu sama lain untuk menangani kemampuan pengalihan peran pengontrol peran ganda.

Untuk informasi selengkapnya tentang fitur ini, lihat:

Arsitektur Tumpukan Driver Peran Ganda USB

Referensi pemrograman driver pengontrol peran ganda USB

Menulis driver USB untuk perangkat yang ditiru

Anda dapat mengembangkan driver pengontrol host Universal Serial Bus (USB) yang ditiru dan perangkat USB virtual yang terhubung. Kedua komponen digabungkan menjadi satu driver KMDF yang berkomunikasi dengan ekstensi kelas emulasi perangkat USB yang disediakan Microsoft (UdeCx).

Mengembangkan driver Windows untuk perangkat USB yang ditiru (UDE)

Referensi pemrograman driver pengontrol host USB yang ditiru

Ekstensi WDF untuk mengembangkan driver USB

Menulis aplikasi UWP

Menulis aplikasi desktop Windows

  • Menulis aplikasi WinUSB: Menjelaskan bagaimana aplikasi dapat memanggil Fungsi WinUSB untuk berkomunikasi dengan perangkat USB.

  • Fungsi WinUSB

  • Skenario pemrograman umum: Daftar tugas umum yang dilakukan driver atau aplikasi untuk berkomunikasi dengan perangkat USB. Dapatkan info cepat tentang antarmuka pemrograman yang Anda butuhkan untuk setiap tugas.

Menguji perangkat USB dengan Windows

Gambaran umum perangkat Microsoft USB Test Tool (MUTT)

Dapatkan informasi tentang alat yang dapat Anda gunakan untuk menguji perangkat keras atau perangkat lunak USB Anda, menangkap jejak operasi dan peristiwa sistem lainnya, dan mengamati bagaimana tumpukan driver USB merespons permintaan yang dikirim oleh driver klien atau aplikasi.

Baca gambaran umum pengujian di Kit Sertifikasi Perangkat Keras yang memungkinkan vendor perangkat keras dan produsen perangkat menyiapkan perangkat USB dan pengontrol host mereka untuk pengajuan Sertifikasi Perangkat Keras Windows.

Universal Serial Bus 4 (USB4™)

Sumber Daya Lain untuk USB

  • Spesifikasi USB Resmi: Memberikan detail teknis lengkap untuk protokol USB.

  • Blog Tim Microsoft Windows USB Core: Lihat postingan yang ditulis oleh Tim USB Microsoft. Blog ini berfokus pada tumpukan driver USB Windows yang berfungsi dengan berbagai pengontrol USB Host dan hub USB yang ditemukan di PC Windows. Sumber daya yang berguna untuk pengembang driver klien USB dan perancang perangkat keras USB untuk memahami implementasi tumpukan driver, menyelesaikan masalah umum, dan menjelaskan cara menggunakan alat untuk mengumpulkan jejak dan file log.

  • Daftar OSR Online - ntdev: Daftar diskusi yang dikelola oleh OSR Online untuk pengembang driver mode kernel.

  • Windows Hardware Dev Center: Sumber daya lain-lain berdasarkan pertanyaan yang sering diajukan dari pengembang yang baru mengembangkan perangkat dan driver USB yang bekerja dengan sistem operasi Windows.

Perangkat keras USB untuk belajar

  • Perangkat MUTT: Perangkat MUTT dan SuperMUTT dan paket perangkat lunak yang menyertainya diintegrasikan ke dalam rangkaian pengujian USB HCK. Mereka menyediakan pengujian otomatis yang dapat digunakan selama siklus pengembangan pengontrol USB, perangkat, dan sistem, terutama pengujian stres.

  • OSR USB FX2 Learning Kit: Jika Anda baru menggunakan pengembangan driver USB. Kit adalah yang paling cocok untuk mempelajari sampel USB yang disertakan dalam set dokumentasi ini. Anda bisa mendapatkan kit pembelajaran dari OSR Online Store.

Pelajari tentang driver USB yang disediakan Microsoft

  • Driver sisi perangkat USB di Windows: Menjelaskan arsitektur tumpukan fungsi USB.

  • Driver sisi host USB di Windows: Memberikan gambaran umum arsitektur tumpukan driver Universal Serial Bus (USB). Microsoft menyediakan tumpukan driver inti yang beroperasi dengan perangkat yang terhubung ke pengontrol EHCI dan xHCI.

  • Driver kelas perangkat USB-IF: Mencantumkan driver yang disediakan Microsoft untuk kelas perangkat USB yang didukung. Windows menyediakan driver kelas perangkat dalam kotak untuk banyak kelas perangkat yang disetujui USB-IF, audio, penyimpanan massal, dan sebagainya.

  • Driver fungsi generik USB–WinUSB: WinUSB adalah driver generik untuk perangkat USB yang disertakan dengan semua versi Windows sejak Windows Vista. Windows menyediakan Winusb.sys yang dapat dimuat sebagai driver fungsi untuk perangkat kustom dan fungsi perangkat komposit.

  • Driver induk generik USB untuk perangkat komposit–Usbccgp: Driver induk untuk perangkat USB dengan beberapa fungsi. Usbccgp membuat objek perangkat fisik (PDO) untuk masing-masing fungsi tersebut. PDO individu tersebut mengelola driver fungsi USB masing-masing, yang bisa menjadi driver Winusb.sys atau driver kelas perangkat USB.