|  |  | 

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.

Articoli simili

  •  |  | 

    Segger emModbus

    Panoramica emModbus è l’implementazione del protocollo Modbus firmata SEGGER. Fornisce ai dispositivi embedded capacità di comunicazione Modbus tramite UART (ASCII e RTU) ed Ethernet (Modbus/TCP e Modbus/UDP), consentendo loro di connettersi a una vasta gamma di apparecchiature industriali, di impiegare funzioni master e slave e di operare in modo efficiente su piccoli microcontrollori con capacità…

  •  | 

    Segger emCompress

    La riduzione delle dimensioni dei dati per l’archiviazione e il trasferimento è estremamente preziosa nei sistemi embedded. Una dimensione di archiviazione ridotta minimizza la complessità e i costi dei sistemi mantenendo bassi i requisiti di memoria. Una dimensione di trasferimento ridotta permette di superare i limiti della larghezza di banda disponibile per l’invio e la…

  •  | 

    Segger Ozone

    Ozone è un ambiente di debugg grafico stand-alone completo per applicazioni embedded. Con Ozone è possibile eseguire il debug di qualsiasi applicazione basata su Arm o RISC-V a livello di sorgente (C, C++ e Rust) e assembly. Ozone può caricare applicazioni create con quasi tutti i tipi di toolchain o ambienti di sviluppo integrati (IDE),…

  •  | 

    Segger Flasher

    La programmazione a singola unità consiste nel caricamento del software su un unico microcontrollore o processore dedicato all’interno di un sistema più ampio. La famiglia di programmatori Flasher di SEGGER per unità singole include i modelli Flasher Pro, Pro XL, Compact e Portable PLUS. Questi strumenti universali per la programmazione in-system (ISP) offrono una programmazione…

  •  |  | 

    Segger emRun++

    emRun++ è una libreria standard C++ completa, utilizzabile con qualsiasi toolchain. È stata specificamente ottimizzata per sistemi e applicazioni embedded. In quanto linguaggio di programmazione moderno, il C++ sta diventando sempre più importante nel settore embedded, offrendo agli sviluppatori opzioni sempre più vaste. Con questo obiettivo, emRun++ viene costantemente aggiornata per soddisfare i più moderni…

  •  | 

    Flasher Hub-12

    Fratello maggiore del Flasher Hub-4, il Flasher Hub-12 controlla fino a 24 unità Flasher Compact, che operano come canali individuali per la programmazione multipla (“gang”) parallela ad alta velocità. Ogni canale può essere configurato per programmare un dispositivo diverso o un’immagine firmware differente. Il sistema combinato Flasher Hub-12 e Flasher Compact viene configurato una sola…