Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Guida ai cavi e connettori: connettori USB (3/4)
Scritto da Luca Domenichini il 25-11-2010 ore 11:02
I connettori USB posseggono un verso di inserimento: nonostante le specifiche tendano a chiarire che il verso corretto è quello che mette in vista il logo USB (un tridente stampato in depressione sulla plastica esterna) durante l'accoppiamento, non tutti i produttori si sono adeguati, con il risultato che si ha il 50% di probabilità di indovinarlo al primo colpo (questione non risolta neanche con l'ultima versione uscita).

Il protocollo di trasmissione USB divide i dati in pacchetti da 8 bit, inviati a partire dal bit meno significativo. Il primo byte inviato corrisponde all'identificatore del pacchetto (PID) di 4 bit seguito dal suo complemento binario per il controllo degli errori.

Si distinguono quattro diversi tipi di pacchetti: i pacchetti di handshake, che contengono solo il PID e servono a rispondere all'invio di dati; i pacchetti token, inviati sempre dall'host e costituiti dal PID e da 2 byte di payload (con CRC a 5 bit), con funzioni di setup iniziale, sincronizzazione, richiesta di pronto; i pacchetti dati, costituiti dal PID e da un massimo di 1023 byte di informazioni (con CRC a 16 bit); i pacchetti PRE, presenti solo nei dispositivi a banda ridotta, che servono a richiedere all'hub velocità di invio adeguate alle capacità di ricezione.

La comunicazione avviene utilizzando canali logici (o pipe), che vengono attivati tra l'host controller e l'endpoint (elemento del dispositivo Function che gestisce le comunicazioni con l'esterno). Ogni dispositivo USB supporta fino a 32 pipe attive, con un limite di 16 per verso. Le pipe possono essere unidirezionali (utilizzate per la trasmissione di grandi quantità di dati, con o senza banda o latenza garantite) o bidirezionali (per l'invio di brevi comandi e altrettanto brevi risposte).

Le specifiche USB definiscono 19 classi relative alle funzionalità fornite dai dispositivi collegati: audio, trasporto dati, interfacce uomo-macchina, immagini, stampa, memorizzazione, video, smart-card ecc. Un dispositivo può includere più di una classe: viene in questo caso detto compound, cioè composto.
Precedente: File LMX in C#: estrazione dati
Successiva: Practical Arduino: Cool Projects for Open Source Hardware
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.252 secondi.