Documente Academic
Documente Profesional
Documente Cultură
Patrick MONASSIER
INSAT - Tunis
Naissance de lUSB
1994, alliance de 7 partenaires industriels : Compaq, Dell, IBM, Intel,
Microsoft, NEC et Northern Telecom Ils commencent crer la norme USB
Objectif : connectique universelle, Plug&Play, utilisable aussi bien pour une
souris que pour un moniteur
Possibilt de brancher un grand nombre dappareils : jusqu 127
Janvier 1996 : norme USB 1.0, premiers produits sortis fin 1997
Septembre 1998 : spcifications de la norme USB 1.1 (celle utilise
actuellement) avec 2 vitesses de fonctionnement : 1,5Mbps (Low Speed) et
12Mbps (Full Speed)
Avril 2000 : spcification USB 2.0 compatible 1.1 - ajoute une vitesse de
480Mbps (High Speed) et optimise la bande passante
Avantages de lUSB
Les avantages de lUSB :
Faible cot de linterface
Indpendace vis--vis des machines htes
Hot Plug&Play (branchement/dbranchement sous-tension)
Jusqu 127 priphriques possibles
Fiable et scuris (dtection et correction derreurs)
Plusieurs vitesses possibles : 1.5 12 et 480 Mb/s
4 types de transferts (jeton, SOF, data, handshake)
Possibilit dajouter des Hubs USB (multiprises externes)
Connexion compacte avec dtrompages
Alimentation possible des appareils via le cble
Passage automatique en basse consommation (Power conservation - en 3ms : 500uA)
Lavantage du Hot Plug&Play :
l O.S. dtecte automatiquement le priphrique qui vient dtre connect
Il charge automatiquement le driver sil est disponible
Si non, il demande le CD driver de lappareil et facilite son installation
Pas de redmarrage ncessaire, lappareil est prt lemploi aprs reconnaissance
Au prochain branchement, la reconnaissance de lappareil est automatique
Pas dadresse de port configurer (affectation dynamique de 1 127, code sur 7 bits)
Cble USB
Mme structure quelque soit la vitesse : 2 paires de fils
Donnes D+ et D Alimentation GND et VCC (+5V) - VBUS
Paire de fils de donnes non blinde en Low Speed (plus souple),
blinde en Full Speed et High Speed (protection accrue).
Longueur maxi selon la norme : 3 mtres en cble non blind, 5 mtres en cble blind
Norme USB
Norme USB 1.1 : 320 pages, Norme USB 2.0 : 650 pages
Hubs
Priphriques :
appareils
Protocole USB
= =
==
Transfert et Transactions
Les paquets Jeton Indiquent le type de transaction qui va suivre et a pour but de
transporter ladresse USB et le sens du transfert
Les paquets SOF indiquent le commencement dune nouvelle trame
Les paquets Data contiennent les donnes uitiles
Les paquets Handshake sont utilis pour valider les donnes ou rapporter les erreurs
Lentit de transfert USB est appele Transaction, elle est gnralement compose de
paquets juxtaposs, la transition tant un paquet SOF qui indique le dbut dune autre
transaction. On dit alors quun transfert est compos dune succession de transactions
Transaction USB
Paquet Jeton
dbut
Paquet Data
Indique le dbut de la
transaction suivante
Paquet Ack
Paquet SOF
fin
Paquet Jeton
Paquet Ack
8 bits
Synchronisation
Paquet Data
ID
Informations spcifiques
CRC
SOF
2 bits
EOP
La structure des paquets tant identique, il faut prciser que le format est diffrent
selon la nature du paquet :
Token (Jeton / en-tte)
SOF (Start Of Frame)
Data (Optionnel)
Acknowledge (Ack : Handshake)
Les diffrents formats sont dtaills dans les pages qui suivent.
Certains champs spcifiques (Sync, PID, ADDR etc) sont dcrits aprs ces
pages.
10
Le paquet Jeton
3 sortes de paquets Jeton :
IN : Informe lappareil USB que lhte veut lire des informations
OUT : Informe lappareil USB que lhte veut envoyer des informations
SETUP : Utilis pour commencer les transferts de commande
8 bits
PID
7 bits
ADDRESS
4 bits
3 bits
ENDP
CRC
IN
OUT
SETPUP
11
Le paquet Data
2 sortes de paquets de donnes pour la norme USB 1.1 : DATA0 et DATA1
2 sortes de paquets de donnes pour la norme USB 2.0 : DATA2 et MDATA
Low Speed : DATA0 = 8 octets
Full Speed : DATA1 = 64 octets
High Speed : DATA2 = 1024 octets
High Speed : MDATA = multiple doctets
8 bits
PID
0 1023 bytes
16 bits
DATA
CRC
DATA0
DATA1
DATA2
MDATA
12
Le paquet Handshake
3 sortes de paquets Handshake :
ACK : validant le paquet reu correctement
NACK : Indique que lappareil ne peut temporariement ni envoyer ou recevoir des
donnes. Aussi utilis pendant les transactions dinterruptions pour avertir lhte quil
na pas de donnes envoyer.
13
Le paquet SOF
Compos de 11 bits :
Envoy par lhte toutes les 1ms +/- 500ns sur bus Full Speed
Envoy par lhte toutes les 125us +/- 62,5ns sur bus High Speed
8 bits
PID
11 bytes
Numro de trame
5 bits
CRC
SOF
14
15
PID : signifie Paquet Identification. Donne le type du paquet envoy, selon le tableau suivant :
Il y a 4 bits pour le PID, toutefois pour assurer quil a t reu correctement, les 4 bits sont
complments et rpts, faisant un PID de 8 bits au total.
16
Autres champs
SOF : Start Of Frame Dbut de trame
SETUP : Configuration
ACK : ACKnowledge Validation
NACK : No ACKnowledge Pas de validation
STALL : Bloqu
PREamble : Synchronisation initiale
Split : Partager
Ping : sassurer dune bonne connexion
ADDR : Ce champ dtermine quel appareil le paquet est destin. Cod sur 7
bits, il permet de supporter 127 appareils. Ladresse 0 nest pas valide, tant
quun appareil qui na pas encore dadresse attribue, doit rpondre aux
paquets envoys ladresse 0.
ENDP : Champ de terminaison constitu de 4 bits, autorisant 16 terminaisons
possibles.
CRC : Contrle Redondance Cyclique sur les donnes lintrieur du paquet.
Paquets jetons : CRC sur 5 bits. Paquets de donnes : CRC sur 16 bits.
EOP : End Of Paquet Fin de Paquet
17
Autres spcifications
Le branchement chaud ou Hot Plug In
Lors du branchement dun appareil, un change dinformation a lieu avec lhte. Cet change est
dnomm numration . Il permet de reconnatre et de qualifeir le nouveau venu.
2 types dappareils cohabitent sur USB :
- Ceux qui exigent une bande passante garantie : ISO (isochrone)
- Ceux qui se partagent la bande passante : BULK (flux)
Lors du branchement dun nouvel lment, une nouvelle adresse est assigne par lhte, de 1 127
Chaque appareil est assign un driver qui lui est spcifique.
Choix Low Speed High Speed
Se fait par hard, en positionnant une rsistance de PullUp de 1.5Kohm sur D+ (high) ou sur D- (low) au
niveau de lappareil connect.
+3.0/3,6vdc
1,5Kohm
Hte
D+
D15Kohm
1,5Kohm
D+ ou
D15Kohm
Full Speed
D+
DLow Speed
Appareil connect
18
Temps
Temps de propagation : Quelques chiffres, selon la norme
- Temps de propagation le long du cble : 30 ns / mtre
- travers un hub : 40 ns par hub
- Temps de rponse de la fonction adresse : 700 ns maxi
- Temps de propagation aller-retour entre hte et la fonction adresse : 1300 ns maxi
Temps de connexion et de dconnexion :
Les pattes dalimentation sont plus longue sur les connecteurs, pour assurer lalimentation
linsertion, avant la transmission des donnes.
Cest la diffrence de potentiel sur le port qui dclenche la phase dnumration. Le soft
de lhte scanne continuellement les ports et les hubs
>2,5us
Courbe de dconnexion
19
Courbes
20
21
Consommation
Aucun appareil ou hub ne peut consommer plus de 100mA avant dtre numr. Aprs la
consommation peut aller jusqu :
- 500mA pour un High Power device
- 100mA pour un Low Power device
Gnralement, les Low USB consomment 1 unit (100mA) et les High USB 5 units(500mA)
Cest une commande soft, issue des descripteur, qui fait passer un appareil de 1 unit 5 units
aprs numration.
Diffrents types dalimentation du BUS USB
- La tension fournie varie de 4.4V 5.25V. La majorit des appareils fonctionnent en 3,3V et
doivent possder un rgulateur.
High-power bus-powered functions :
- Toute lnergie dalimentation passe par le Bus USB (VBUS), soit 500mA maxi aprs configuration
Self-powered functions :
- Appareils avec alimentation mixte : 1 unit depuis le VBUS et le reste depuis une source externe.
Courant de veille :
- Un mode suspend consommation sactive aprs 3ms dinactivit du bus.
Le courant de veille standard est de 500uA
22
Les Hubs
Un hub est un boitier multi-connecteurs USB qui permet de multiplier les prises. La diffrence
entre un hub et un switch est que le hub renvoi les paquets sur tous les ports alors que le switch
identifie le destinataire du paquet et ne lenvoie qu lui.
Chaque hub doit pouvoir fournir 100mA par port. Un hub self powered est aliment par lextrieur
et doit pouvoir fournir 100mA + 500mA par port aprs numration (avec protection 5A maxi).
On ne peut cascader directement que 2 Bus powered Hubs.
Logique
Switch
Bus-powered hub
Alimentation port
100mA/port
Low-power uniquement
Logique
Limiteur
Alimentation
extrieure
Self-powered hub
Alimentation port
500mA/port
High-power ou Low-power
23
Les Transferts
Il existe 4 modes de transfert :
Contrle : Utilis principalement pour les oprations de configurations et
dinitialisations. Compatible Low et Full speed
Bulk : En Full speed seulement, pour les gros transferts de donnes. Le dbit est
variable et dpend de la disponibilit. Ce mode assure les reprises sur erreur.
24
Contrle
Isochrone
Interrupt
Bulk
25
Enumration et descripteurs
Enumration : Processus dynamique qui sert identifier un appareil USB et lui affecter une
adresse unique.
Les descripteurs : Ce sont des blocs dinformations pr-formats. Tous les appareils USB
doivent obligatoirement possder les descripteurs standard.
Rle des descripteurs : Permet la reconnaissance de chaque composant USB. Lorsque lon
connecte un appareil lhte (typiquement le PC), le dispositif Plug&Play utilise les informations des
descripteurs pour initialiser automatiquement la reconnaissance et le dialogue. Les descripteurs sont
rassembls dans un fichier texte .INF et fournissent des informations utiles telles que : type de
priphrique, puissance, dispositif de transfert des donnes ... etc.
Il y a 4 descripteurs standard qui sont indispensables. Il est possible dajouter des descripteurs
complmentaires pour affiner la reconnaissance et les conditions de fonctionnement de lappareil
USB.
26
Les descripteurs
Les 4 descripteurs standard indispensables
sont les suivants :
Dautres descripteurs sont possibles,
Device descriptor
mais non indispensables :
Configuration descriptor
Interface descriptor
Device qualifier descriptor
Endpoint descriptor
Other speed configuration descriptor
String descriptor
Interface power descriptor
27
Endpoint
Diagramme hirarchique des descripteurs
28
Device
Descriptor
18
01
Cest le premier
descripteur que
vient lire lhte :
il donne les
informations
gnrales sur
lappareil connect
VID
PID
29
Configuration
Descriptor
Ce descripteur
renseigne sur les
diffrents tats
dans lequel peut
se trouver le
composant USB
9
02
30
Interface
descriptor
9
04
Le descripteur
dinterface
communique une
information unique
tous ses
Endpoints
31
Endpoint
Descriptor
7
05
Un descripteur Endpoint
indique la direction et les
types de transferts, et
dautres informations
En fait, lordinateur hte
communique uniquement
avec ces Endpoints. Tous
les transferts de paquets
de donnes transitant sur
le bus proviennent dun
Endpoint ou sont envoys
un Endpoint.
32
HID
Descriptor
21
33
34
35
36
37
FIN de Prsentation
Patrick MONASSIER
Universit Lyon 1 France
38