Bus seriale universale (USB)
Universal Serial Bus (USB) offre un'interfaccia seriale espandibile Plug and Play che garantisce una connessione standard e a basso costo per i dispositivi periferici. I dispositivi USB includono tastiere, mouse, joystick, stampanti, scanner, dispositivi di archiviazione, modem, telecamere di videoconferenza e altro ancora.
USB-IF è un gruppo di interesse speciale (SIG) che gestisce la specifica USB ufficiale, specifiche di test e strumenti.
I sistemi operativi Windows includono il supporto nativo per controller host USB, hub e dispositivi e sistemi conformi alla specifica USB ufficiale. Windows fornisce anche interfacce di programmazione che è possibile usare per sviluppare driver di dispositivo e applicazioni che comunicano con un dispositivo USB.
USB in Windows
Supporto di Windows per i connettori USB Type-C: per gli OEM che vogliono creare un sistema Windows con connettori USB Type-C.
Universal Serial Bus 4 (USB4™): fornisce OEM, IHV e fornitori di processori che supportano USB4 con informazioni sulla gestione connessione USB4, facilitare il debug e le procedure di attivazione.
Domande frequenti su USB: domande frequenti da parte degli sviluppatori di driver sullo stack USB e sulle funzionalità supportate in USB.
Descrittori del sistema operativo Microsoft per dispositivi USB: Windows definisce i descrittori del sistema operativo MS che consentono un'enumerazione migliore quando si è connessi al sistema operativo Windows in esecuzione.
Strumenti di sviluppo
Esempi USB
Creare un driver USB o un'app per Windows
Presenta lo sviluppo di driver USB. Fornisce informazioni sulla scelta del modello più appropriato per fornire un driver USB per il dispositivo.
Scrivere un driver client USB (KMDF, UMDF)
Questa sezione include esercitazioni sulla scrittura dei primi driver USB in modalità utente e in modalità kernel usando i modelli USB inclusi in Microsoft Visual Studio.
- Introduzione allo sviluppo di driver client USB
- Informazioni di riferimento sulla programmazione dei driver di dispositivo USB
Scrivere un driver controller host USB
Se si sviluppa un controller host xHCI non conforme alla specifica o si sviluppa un hardware non xHCI personalizzato (ad esempio un controller host virtuale), è possibile scrivere un driver controller host che comunica con UCX. Si consideri ad esempio un dock wireless che supporta i dispositivi USB. Il PC comunica con i dispositivi USB tramite il dock wireless usando USB su TCP come trasporto.
Informazioni di riferimento sul controller host USB (UCX)
Scrivere un driver del controller di funzione per un dispositivo USB
È possibile sviluppare un driver controller che gestisce tutti i trasferimenti di dati USB e i comandi inviati dall'host al dispositivo. Questo driver comunica con l'estensione del controller di funzione USB (UFX) fornita da Microsoft.
Sviluppo di driver Windows per controller di funzione USB
Informazioni di riferimento sulle estensioni della classe di funzione USB (UFX)
Scrivere un driver connettore USB Type-C
Windows 10 introduce il supporto per il nuovo connettore USB: USB Type-C. È possibile scrivere un driver per il connettore che comunica con il modulo di estensione della classe fornito da Microsoft: UcmCx per gestire gli scenari correlati ai connettori Type-C, ad esempio, quali porte supportano il tipo-C, che le porte supportano la distribuzione dell'alimentazione.
Sviluppo di driver Windows per connettori USB Type-C
Informazioni di riferimento sulle estensioni della classe di gestione connettori USB (UcmCx)
Scrivere un driver controller a doppio ruolo USB
I controller a doppio ruolo USB sono ora supportati in Windows 10. Windows include driver client predefiniti per i controller ChipIdea e Synopsis. Per altri controller, Microsoft fornisce un set di interfacce di programmazione che consentono l'estensione della classe a doppio ruolo (UrsCx) e il relativo driver client di comunicare tra loro per gestire la funzionalità di cambio di ruolo di un controller a doppio ruolo.
Per altre informazioni su questa funzionalità, vedere:
Architettura dello stack di driver dual role USB
Informazioni di riferimento sulla programmazione del driver del controller a doppio ruolo USB
Scrivere un driver USB per i dispositivi emulati
È possibile sviluppare un driver controller host usb (Universal Serial Bus) emulato e un dispositivo USB virtuale connesso. Entrambi i componenti vengono combinati in un singolo driver KMDF che comunica con l'estensione della classe di emulazione del dispositivo USB fornita da Microsoft (UdeCx).
Sviluppo di driver Windows per dispositivi USB emulati (UDE)
Informazioni di riferimento sulla programmazione del driver del controller host USB emulato
Estensione WDF per lo sviluppo di driver USB
- Informazioni di riferimento sulle estensioni della classe di gestione connettori USB (UcmCx)
- Informazioni di riferimento sul controller host USB (UCX)
- Informazioni di riferimento sulle estensioni della classe di funzione USB (UFX)
Scrivere un'app UWP
Parlare con i dispositivi USB, iniziare a terminare: fornisce istruzioni dettagliate sull'implementazione delle funzionalità USB in un'app UWP. Per scrivere un'app di questo tipo per un dispositivo USB, sono necessari Visual Studio e Microsoft Windows Software Development Kit (SDK).
Windows.Devices.Usb: informazioni di riferimento sulla programmazione dello spazio dei nomi UWP.
Scrivere un'app desktop di Windows
Scrivere un'applicazione WinUSB: descrive come un'applicazione può chiamare funzioni WinUSB per comunicare con un dispositivo USB.
Funzioni WinUSB
Scenari di programmazione comuni: elenco di attività comuni eseguite da un driver o da un'app per comunicare con un dispositivo USB. Ottieni informazioni rapide sulle interfacce di programmazione necessarie per ogni attività.
Test di dispositivi USB con Windows
Panoramica dei dispositivi Microsoft USB Test Tool (MUTT)
Ottenere informazioni sugli strumenti che è possibile usare per testare l'hardware o il software USB, acquisire tracce di operazioni e altri eventi di sistema e osservare come lo stack di driver USB risponde a una richiesta inviata da un driver client o da un'applicazione.
Leggere una panoramica dei test nel Kit di certificazione hardware che consente ai fornitori di hardware e ai produttori di dispositivi di preparare i dispositivi USB e i controller host per l'invio della certificazione hardware Windows.
Bus seriale universale 4 (USB4™)
Universal Serial Bus 4 (USB4™): fornisce OEM, IHV e fornitori di processori che supportano USB4 con informazioni sulla gestione connessione USB4, facilitare il debug e le procedure di attivazione.
Introduzione alla gestione connessione USB4 in Windows: la gestione connessione in un dominio USB4 è responsabile dell'enumerazione, della configurazione e della gestione del dominio USB4.
Dettagli di progettazione e requisiti generali del bus seriale universale 4 (USB4™): requisiti di progettazione e esperienza utente di alto livello.
Test necessari per il bus seriale universale 4 (USB4™): i requisiti HLK non sono progettati per fornire una copertura di test funzionale end-to-end completa per il set di funzionalità USB4. È consigliabile eseguire una convalida completa degli scenari di utilizzo importanti.
Altre risorse per USB
Specifica USB ufficiale: fornisce dettagli tecnici completi per il protocollo USB.
Blog del team USB Core di Microsoft Windows: consultare i post scritti dal team USB Microsoft. Il blog è incentrato sullo stack di driver USB di Windows che funziona con vari controller host USB e hub USB trovati in Windows PC. Risorsa utile per sviluppatori di driver client USB e progettisti hardware USB per comprendere l'implementazione dello stack di driver, risolvere i problemi comuni e spiegare come usare gli strumenti per raccogliere tracce e file di log.
Elenchi di OSR Online - ntdev: elenco di discussioni gestito da OSR Online per sviluppatori di driver in modalità kernel.
Windows Hardware Dev Center: varie risorse basate su domande frequenti da parte degli sviluppatori che sono nuovi allo sviluppo di dispositivi e driver USB che funzionano con i sistemi operativi Windows.
Hardware USB per l'apprendimento
Dispositivi MUTT: i dispositivi MUTT e SuperMUTT e il pacchetto software associato sono integrati nella suite HCK di test USB. Forniscono test automatizzati che possono essere usati durante il ciclo di sviluppo di controller USB, dispositivi e sistemi, soprattutto test di stress.
OSR USB FX2 Learning Kit: se non si ha familiarità con lo sviluppo di driver USB. Il kit è il più adatto per studiare esempi USB inclusi in questo set di documentazione. È possibile ottenere il kit di apprendimento da OSR Online Store.
Informazioni sui driver USB forniti da Microsoft
Driver lato dispositivo USB in Windows: descrive l'architettura dello stack di funzioni USB.
Driver lato USB in Windows: offre una panoramica dell'architettura dello stack di driver usb (Universal Serial Bus). Microsoft offre uno stack principale di driver che interoperano con i dispositivi connessi ai controller EHCI e xHCI.
Driver di classe di dispositivo USB-IF: elenca i driver forniti da Microsoft per le classi di dispositivi USB supportate. Windows offre driver di classe di dispositivo in box per molte classi di dispositivi approvate USB-IF, audio, archiviazione di massa e così via.
Driver di funzione generico USB-WinUSB: WinUSB è un driver generico per i dispositivi USB inclusi in tutte le versioni di Windows da Windows Vista. Windows fornisce Winusb.sys che può essere caricato come driver di funzione per un dispositivo personalizzato e una funzione di un dispositivo composito.
Driver padre generico USB per dispositivi compositi-Usbccgp: driver padre per dispositivi USB con più funzioni. Usbccgp crea oggetti dispositivo fisico (PDO) per ognuna di queste funzioni. I singoli PDO gestiscono i rispettivi driver di funzione USB, che potrebbero essere il driver Winusb.sys o un driver di classe di dispositivo USB.