Programmazione Hardware Software - Tutorial

bitPortal.it: Programmazione Hardware e Software



 Programmazione
Visual Basic.NET
Visual C++
LabView
C/C++ con Linux
Tcl/Tk
Bash
HTML
Javascript
Sicurezza

 Collegamenti    esterni
Centinaia di Giochi Gratis ai quali Giocare Online
 Giochi Gratis

Settore Finanza: Guida al Trading Online
 Guida Trading Online

Settore Finanza: Guida Prestiti e Finanziamenti
 Guida Prestiti e Finanziamenti

Tutorial e articoli su Php, Xml, AJjax,VoIP ..
 WebSpazio.it

Articoli riguardanti il tema del lavoro da casa
 lavorare da casa

Tutorial sul web hosting + Articoli riguardanti il tema dell' hosting di siti web
  Hosting Sito Web

Inviaresmsgratis.it si propone come bussola per tutti gli utenti che sono alla ricerca di siti internet per inviare sms gratis.
  SMS Gratis

Directory in cui segnalare il vostro sito gratis
    Directory

Guida alla zoologia e alle specie animali
    Zoologia




  USB


Tutorial USB







Physical Layer - Serial Interface Engine (SIE)
La SIE è il modulo fisico presente nell’host e nei devices responsabile della serializzazione e deserializzazione (conversione dello stream di dati seriale in uno parallelo) delle trasmissioni USB.
Codifica i dati in uscita secondo la logica NRZI e decodifica i dati in ingresso.
Genera il codice di controllo CRC (Cyclic Redundancy Check) per gli stream in uscita e verifica il CRC degli stream in ingresso.
Rivela il PID (packet’s id – è un campo nel pacchetto USB che individua il tipo di dato) così come i segnali SOP, EOP, RESET e RESUME sul bus.

Physical Layer - Host Controller (HC)
L’HC è l’elemento hardware più importante del sistema USB, colui che inizia tutte le transazioni, controlla gli accessi ed è il motore principale di controllo del flusso. Le sue funzioni fondamentali sono:
  • Frame generation: l’HC è responsabile della partizione del tempo in unità di tempo di 1ms chiamate frame mediante l’emissione di uno SOF (Start Of Frame)
  • Data Processing: gestione delle richieste di dati da e per l’host
  • Protocol Engine: gestione del protocollo USB a livello interfaccia
  • Error handling: gestione degli errori (Timeout, CRC, Overflow, … )
  • Remote wakeup: possibilità di iniziare l’USB in suspend mode e rilevare un segnale di wakeup sul bus
Protocol Engine Layer
È lo strato intermedio nel modello di comunicazione. Si occupa della traduzione dei dati tra applicazioni (software dell’host e funzioni della periferica) e il protocollo USB. Assume denominazione diversa a seconda che sia riferito all’host USB (USB System Software) o alla periferica USB (USB Logical Driver)

Protocol Engine Layer - USB System SW
Il sistema software USB è responsabile dell’allocazione della larghezza di banda, della gestione dell’energia fornita al bus oltre all’abilitazione delle periferiche per l’accesso al bus. Si compone di:
  • Host Controller Driver (HCD): è un’interfaccia all’host controller.
  • USB driver (USBD): il client software richiede dati dall’USBD nella forma di IRPs (I/O Request Packets) che consiste nella richiesta di invio/ricezione di dati attraverso un certo pipe. Fornisce al client una descrizione generale della periferica che il software sta gestendo. È necessario per creare un enumeration process (un processo che si attiva nel momento in cui la periferica è collegata al bus e alla fine del quale la stessa risulta totalmente configurata e diventa parte del sistema USB).


Protocol Engine Layer - USB Logical Device
È composto da un insieme di endpoints indipendenti: Ad ogni endpoint è dato un indirizzo unico (endpoint number) in fase di progetto e anche l’USB logical device è unicamente indirizzato alla fine dell’enumeration process. La combinazione di questi indirizzi e della direzione dei dati (da o per l’endpoint), caratterizza completamente l’endpoint.
Tutte le periferiche USB devono supportare la comunicazione con il default pipe, il quale gioca un ruolo importante nel processo di enumerazione ed è l’unico canale di comunicazione al device nel momento del collegamento. Il default pipe è associato all’endpoint zero, che è l’unico in grado di performare comunicazione bidirezionale.