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.

Icona USB per generatori di dispositiviUSB per gli sviluppatori di driver IconaUSB per sviluppatori di appIconadi certificazione USB HCK

USB in Windows

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.

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.

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

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

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™)

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