OnChip OT-USB
Lo stack USB Host è destinato alle applicazioni embedded che richiedono una connessione ad una memoria esterna, una tastiera USB o qualsiasi altro dispositivo USB. Supporta dispositivi multipli e hub con il rilevamento automatico del tipo di dispositivo, l'assegnamento del driver e la notifica all'applicazione.
Lo stack USB Host utilizza un'architettura pulita e modulare ed è rientrante in modo da assicurare la compatibilità con i sistemi operativi multitasking. Può essere portato con facilità su una varietà di processori e sistemi operativi.
Lo stack USB Host contiene tre strati software tra l'applicazione e l'hardware.
USB Host Class Driver layer
Questo layer fornisce i driver di classe per le classi USB device quali Mass Storage Class (MSC), Human Interface Device (HID) e Communication Device Class (CDC). I driver delle classi permettono alle applicazioni di accedere ai dispositivi USB come flash drive, hard drive, tastiere, modem ed altri.
USB Host Core layer
Questo layer contiene codice indipendente dall’hardware che implementa la maggior parte delle funzionalità dello stack. Questo layer contiene l'hub driver, il class manager e le funzioni di trasferimento dei dati.
L’hub driver gestisce root-hub e dispositivi di tipo hub esterni. Controlla le porte hub per le connessioni e disconnessioni dei dispositivi. Quando l'hub driver individua che un dispositivo è stato connesso, usa il class manager per caricare i driver di classe appropriati per quel dispositivo e informa tutti i moduli di un'applicazione registrata che un dispositivo è stato connesso/rimosso.
USB Host Controller Driver
Questo layer comunica con l’hardware dell’host controller per trasferire dati attraverso il bus USB. Attualmente supporta gli host controller basati su OHCI ed EHCI.
