Universal Serial Bus (USB)

Universal Serial Bus (USB) fornisce un'interfaccia Plug and Play seriale con supporto del collegamento a sistema acceso che garantisce una connessione standard e a basso costo per dispositivi periferici quali tastiere, mouse, joystick, stampanti, scanner, dispositivi di archiviazione, modem e videocamere per videoconferenze. È consigliabile la migrazione a USB per tutti i dispositivi periferici che usano porte legacy quali PS/2, porte seriali o parallele.

USB-IF è un gruppo di interesse che gestisce le specifiche USB ufficiali e testa sia tali specifiche che gli strumenti.

I sistemi operativi Windows includono il supporto nativo per i controller host, gli hub, i dispositivi e i sistemi USB conformi alle specifiche USB ufficiali. Windows fornisce anche interfacce di programmazione che puoi usare per sviluppare driver di dispositivi e applicazioni che comunicano con un dispositivo USB.

USB per creatori di dispositivi USB per sviluppatori di driver USB per sviluppatori di app Kit di certificazione hardware per USB

USB in Windows

Windows 8.1: novità relative a USB

Panoramica delle nuove funzionalità e dei miglioramenti relativi a USB in Windows 8.1.

Domande frequenti su USB

Domande frequenti degli sviluppatori di driver sugli stack USB e le funzionalità supportate da USB.

Descrittori dei sistemi operativi Microsoft per i dispositivi USB

Windows definisce dei descrittori del sistema operativo che consentono una migliore enumerazione se la connessione avviene a un sistema che esegue un sistema operativo Windows

Driver USB forniti da Microsoft

Controller host e driver hub. Stack di driver USB

Microsoft fornisce uno stack di driver di base che interagiscono con dispositivi connessi a controller EHCI e xHCI.

Driver per le classi di dispositivo USB-IF

Windows include driver per molte classi di dispositivo, dispositivi audio o di archiviazione di massa approvati da USB-IF.

Driver di funzione generico USB–WinUSB

Windows fornisce Winusb.sys, che può essere caricato come driver di funzione di un dispositivo personalizzato e come funzione di un dispositivo composito.

Driver padre generico USB per dispositivi compositi–Usbccgp

Driver padre per dispositivi USB con più funzioni. Usbccgp crea oggetti dispositivi fisici (Physical Device Objects, PDO) per ognuna di tali funzioni. I singoli PDO sono gestiti dai rispettivi driver di funzione USB, che potrebbero essere il driver Winusb.sys o un driver per la classe di dispositivo USB.

Testing dei dispositivi USB con Windows

Testing di hardware, driver e app USB in Windows

Informazioni sugli strumenti che puoi usare per testare il tuo hardware o software USB, acquisire le tracce di operazioni e altri eventi di sistema, nonché osservare come lo stack di driver USB risponde a una richiesta inviata da un driver client o un'applicazione.

È disponibile una panoramica dei test presenti nel Kit di certificazione hardware che consentono ai fornitori di hardware e ai produttori di dispositivi di preparare i loro dispositivi USB e i controller host per l'invio ai fini della certificazione hardware Windows.

Altre risorse per USB

Specifiche USB ufficiali

Fornisce dettagli tecnici completi per il protocollo USB.

Blog del team principale di Microsoft Windows USB

Leggi i post scritti dal team USB di Microsoft. Il blog è incentrato sullo stack di driver USB Windows che funziona con diversi controller host USB e hub USB disponibili nei PC Windows. È una risorsa molto utile per gli sviluppatori di driver client USB e per i progettisti di hardware USB per comprendere l'implementazione dello stack di driver, risolvere problemi comuni e spiegare come usare gli strumenti per la raccolta di tracce e file di log.

Elenchi di OSR Online - ntdev

Elenco di discussioni gestito da OSR Online per gli sviluppatori di driver in modalità kernel.

Windows Dev Center per lo sviluppo di hardware

Risorse varie basate sulle domande frequenti degli sviluppatori alle prime armi con lo sviluppo di dispositivi e driver USB e che usano sistemi operativi Windows.

Guida introduttiva alla programmazione USB...

Scrivere un driver client USB (KMDF, UMDF)

Ti introduce allo sviluppo di driver USB. Offre informazioni per la scelta del modello più adatto per fornire un driver USB al tuo dispositivo. Questa sezione include anche esercitazioni sulla scrittura dei tuoi primi driver USB in modalità utente e in modalità kernel usando i modelli USB inclusi in Microsoft Visual Studio Ultimate 2012.

Comunicare con dispositivi USB, dalla A alla Z (app di Windows Store)

Fornisce istruzioni dettagliate per l'implementazione delle funzionalità USB in un'app di Windows Store. Per scrivere un'app di questo tipo per un dispositivo USB, devi avere Microsoft Visual Studio 2013 e Microsoft Windows Software Development Kit (SDK) per Windows 8.1.

Scrivere un'applicazione WinUSB (app desktop Windows)

Descrive il modo in cui un'applicazione può chiamare funzioni WinUSB per comunicare con un dispositivo USB.

Scenari di programmazione comuni

Elenco di attività comuni che un driver o un'app esegue al fine di comunicare con un dispositivo USB. Puoi trovare info rapide sulle interfacce di programmazione necessarie per ogni attività.

USB programming reference

Interfacce DDI USB (sviluppo di driver)

Specifiche per le richieste I/O, le routine di supporto, le strutture e le interfacce usate dei driver client USB.

Windows.Devices.Usb (app di Windows Store)

Specifiche per lo spazio dei nomi che definisce le classi di Windows Runtime che un'app di Windows Store può usare per comunicare con un dispositivo USB.

WinUSB Functions (app desktop Windows)

Specifiche per le funzioni e le strutture di WinUsb_Xxx usate da un'app Win32 oppure C/C++.

Esempi di USB

Esempi di app di Windows Store per USB

Esempi di driver Windows per USB

Strumenti di sviluppo

Scarica Microsoft Visual Studio Professional
Scarica Visual Studio Ultimate
Scarica Windows Driver Kit (WDK)
Scarica Windows SDK
Visual Studio Express 2013 per la scrittura di app di Windows Store per dispositivi

Video relativi a USB

App di Windows Store per dispositivi USB
Informazioni su USB 3.0 in Windows 8
Creazione di dispositivi USB 3.0 di qualità
Innovazioni nel debug USB in Windows 8 (parti I, II e III)

Hardware USB per l'apprendimento

Dispositivi MUTT

I dispositivi MUTT e SuperMUTT, insieme al pacchetto software associato, sono integrati nella suite del Kit di certificazione hardware per i test USB. Offrono un testing automatizzato che può essere usato durante il ciclo di sviluppo dei controller, dei dispositivi e dei sistemi USB, in particolare il test di stress.

Kit di apprendimento OSR USB FX2

Se sei un neofita dello sviluppo di driver USB, questo kit è l'ideale per studiare gli esempi di USB inclusi in questo set di documentazione. Puoi scaricare il kit dallo Store di OSR Online.

 

Scenari USB comuni

1—Recuperare l'handle del dispositivo per la comunicazione e usare l'handle o l'oggetto recuperato per inviare trasferimenti di dati.

Driver clientApp di Windows StoreApp desktop Windows

KMDF: WdfUsbTargetDeviceCreateWithParameters

UMDF: IWDFUsbTargetDevice

UsbDevice

Come connettersi a un dispositivo USB (app di Windows Store).

WinUsb_Initialize

Vedi Scrivere un'app desktop Windows basata sul modello WinUSB.

 

Recupero del descrittore USB per ottenere informazioni sulle configurazioni, le interfacce, le impostazioni del dispositivo e i relativi endpoint.

Driver clientApp di Windows StoreApp desktop Windows

KMDF:

WdfUsbTargetDeviceGetDeviceDescriptor

WdfUsbTargetDeviceRetrieveConfigDescriptor

UMDF:

IWDFUsbTargetDevice::RetrieveDescriptor

Vedi Descrittori USB.

UsbDevice.DeviceDescriptor

UsbConfiguration.Descriptors

UsbInterface.Descriptors

UsbInterfaceSetting.Descriptors

Come recuperare i descrittori USB (app di Windows Store).

WinUsb_GetDescriptor

WinUsb_QueryInterfaceSettings

WinUsb_QueryPipe

Vedi Cercare i descrittori USB nel dispositivo.

 

2—Configurare il dispositivo per selezionare una configurazione USB attiva e impostazioni per l'interfaccia.

Driver clientApp di Windows StoreApp desktop Windows

KMDF:

WdfUsbTargetDeviceSelectConfig

WdfUsbTargetDeviceCreateUrb

USBD_SelectConfigUrbAllocateAndBuild

WdfUsbInterfaceSelectSetting

Vedi Come selezionare una configurazione per un dispositivo USB.

Vedi Come selezionare un'impostazione alternativa in un'interfaccia USB.

UMDF:

La selezione della configurazione non è supportata.

IWDFUsbInterface::SelectSetting

UsbInterfaceSetting.SelectSettingAsync

Come selezionare l'impostazione di un'interfaccia USB (app di Windows Store).

WinUsb_SetCurrentAlternateSetting

 

3—Inviare trasferimenti di controllo per la configurazione del dispositivo e l'esecuzione di comandi del fornitore specifici di un determinato dispositivo.

Driver clientApp di Windows StoreApp desktop Windows

KMDF:

WdfUsbTargetDeviceSendControlTransferSynchronously

WdfUsbTargetDeviceFormatRequestForControlTransfer

USBD_SelectConfigUrbAllocateAndBuild

UMDF:

IWDFUsbTargetDevice::FormatRequestForControlTransfer

Vedi Come inviare un trasferimento di controllo USB.

SendControlInTransferAsync

SendControlOutTransferAsync

Come inviare un trasferimento di controllo USB (app di Windows Store).

WinUsb_ControlTransfer

Vedi Inviare un trasferimento di controllo all'endpoint predefinito.

 

4—Inviare trasferimenti in blocco,operazione solitamente usata dai dispositivi di archiviazione di massa che trasferiscono grandi quantità di dati.

Driver clientApp di Windows StoreApp desktop Windows

KMDF:

WdfUsbTargetPipeReadSynchronously

WdfUsbTargetPipeWriteSynchronously

WdfUsbTargetPipeFormatRequestForRead

WdfUsbTargetPipeFormatRequestForWrite

Come inviare richieste di trasferimento USB in blocco

Come usare il lettore continuo per leggere dati da una pipe USB.

UMDF:

IUsbTargetPipeContinuousReaderCallbackReadComplete

IWDFUsbTargetPipe

IWDFUsbTargetPipe2

UsbBulkInPipe.InputStream

UsbBulkOutPipe.OutputStream

Come inviare una richiesta di trasferimento USB in blocco (app di Windows Store).

WinUsb_WritePipe

WinUsb_ReadPipe

Vedi Emettere richieste I/O.

 

5—Inviare trasferimenti interrupt. I dati sono pronti per recuperare dati dell'interrupt hardware.

Driver clientApp di Windows StoreApp desktop Windows

Come per i trasferimenti in blocco.

UsbInterruptInPipe.DataReceived

UsbInterruptOutPipe.OutputStream

Come inviare una richiesta di trasferimento interrupt (app di Windows Store).

Come per i trasferimenti in blocco.

 

6—Inviare trasferimenti isocronici,usato prevalentemente per i dispositivi per flussi multimediali.

Driver clientApp di Windows StoreApp desktop Windows

KMDF:

WdfUsbTargetDeviceCreateIsochUrb

Vedi Come trasferire dati a endpoint USB isocronici.

UMDF: Non supportato.

Non supportato.

WinUsb_RegisterIsochBuffer

WinUsb_UnregisterIsochBuffer

WinUsb_WriteIsochPipeAsap

WinUsb_ReadIsochPipeAsap

WinUsb_WriteIsochPipe

WinUsb_ReadIsochPipe

WinUsb_GetCurrentFrameNumber

WinUsb_GetAdjustedFrameNumber

Vedi Invio di trasferimenti USB isocronici da un'app desktop WinUSB.

 

7—Sospensione selettiva USB per consentire al dispositivo di entrare in modalità basso consumo e rientrare allo stato di funzionamento.

Driver clientApp di Windows StoreApp desktop Windows

KMDF:

WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS

WdfDeviceAssignS0IdleSettings

UMDF:

IWDFUsbTargetDevice::SetPowerPolicy

IWDFDevice2::AssignS0IdleSettings

IWDFDevice3::AssignS0IdleSettingsEx

Vedi Come inviare attivare la sospensione selettiva per un dispositivo.

Non supportato.

WinUsb_SetPowerPolicy

Vedi Risparmio energetico di WinUSB.

 

 

 

Mostra:
© 2015 Microsoft