Segger emUSB Host

Panoramica

Il software emUSB-Host consente alle periferiche USB di funzionare con i dispositivi embedded. Fornisce funzionalità complete di host USB, inclusi il supporto per hub esterni e driver di classe (opzionali). Il software è conforme alle specifiche standard stabilite dall’USB Implementors Forum e supporta tutte le modalità di trasferimento (control, bulk, interrupt e isochronous) a tutte le velocità.

La gestione dei canali USB (pipe) e i meccanismi estesi di recupero errori sono implementati internamente per garantire un funzionamento affidabile. Inoltre, sofisticate procedure di test assicurano qualità e sicurezza. Il design modulare consente alle applicazioni di accedere direttamente all’interfaccia di programmazione host o di utilizzare le API messe a disposizione dai driver di classe.

emUSB-Host può gestire simultaneamente più dispositivi e hub, supportando pienamente l’inserimento a caldo (hot plugging). L’interfaccia supporta l’enumerazione e l’identificazione dinamica dei dispositivi, permettendo agli sviluppatori di integrare senza problemi la funzionalità USB nei sistemi embedded.

Caratteristiche principali

  • Affidabilità: Implementa internamente la gestione dei canali e il recupero degli errori per un’operatività costante.
  • Configurazione Plug-and-Play: I nuovi dispositivi vengono rilevati ed enumerati automaticamente, notificando le rispettive applicazioni. La rimozione è altrettanto semplice: emUSB-Host annulla tutti i trasferimenti prima della pulizia finale.
  • Versatilità: Supporta una vasta gamma di classi USB, comprese quelle proprietarie di terze parti. La connessione di dispositivi multi-interfaccia avviene senza problemi grazie a gestori di classe dedicati per ogni interfaccia.

Casi d’uso

  • Hub di controllo dispositivi: Può fungere da hub centrale lavorando in sinergia con altri prodotti SEGGER come Flasher Hub.
  • Periferiche Point-of-Sale (POS): Connessione a scanner, cassetti fiscali, lettori di carte e altro in ambienti retail.
  • Periferiche PC e Multimediali: Connessione con webcam, mouse, tastiere, stampanti, modem e docking station.

Componenti

Lo stack host USB di SEGGER funziona su qualsiasi sistema embedded dotato di un controller host. emUSB-Host è composto da tre livelli: un driver per l’accesso hardware, il core e almeno un livello di protocollo USB. SEGGER raccomanda il pacchetto emUSB-Host PRO, che include il supporto per i casi d’uso più comuni:

  • Comunicazione: CDC, LAN.
  • Multimedia: Audio, MIDI.
  • Periferiche: HID (mouse/tastiere), Stampanti, Smart Card (CCID).
  • Archiviazione: MSD (chiavette USB), MTP.
  • Convertitori UART: Supporto per chip CH34X, CP210X, FT232.
  • Vendor: Supporto per classi personalizzate/proprietarie.

Driver e Controller supportati

emUSB-Host non ha dipendenze hardware dirette; queste sono incapsulate in un livello di astrazione chiamato driver. Grazie a un concetto di driver flessibile, emUSB-Host supporta quasi tutti i controller host sul mercato. Se un controller non è in elenco, può essere aggiunto su richiesta tramite il supporto SEGGER.

emPower-USB-Host+: È una scheda a basso costo pronta all’uso per applicazioni che richiedono due porte USB-Host, ideale per testare emUSB-Host, emLoad ed embOS.


Licenze

emUSB-Host è disponibile con vari modelli di licenza per software embedded, forniti come pacchetti di codice oggetto o sorgente.

  • Licenza Perpetua: Nessuna royalty, nessun abbonamento. Il costo è statico e fa parte dell’investimento iniziale nell’attrezzatura.
  • Supporto: Include sei mesi di aggiornamenti e assistenza tecnica.

Friendly License: emUSB-Host è disponibile gratuitamente per scopi non commerciali, valutazione e scopi educativi, senza limitazioni tecniche.