Sono Audio Divers Meca Qui suis je
Montages Labo USB Astuces Liens

Techniques de développement sur le bus USB

Cette page illustre et propose des solutions pour développer sur le bus USB

La majeure difficulté lors du développement sur le bus USB est l'observation des échanges réalisés celui ci. En effet les transferts sont réalisés à des vitesses importantes, ce qui implique un dispositif rapide permettant de mémoriser sur des durées relativement élevées (1 à 2 secondes).

I) L'observation à l'oscilloscope

On peut donc penser dans un premier temps à utiliser un oscilloscope numérique mais celui ci révèle vite ses limites. J'en veux pour preuve l'observation d'un transfert FULL SPEED (vitesse du transfert 12Mbits/s) qui nécessite une fréquence d'échantillonnage de 40 MHz. Si l'on désire enregistrer les transferts sur une durée d'une seconde il faut une mémoire de 40 000 000 échantillons. En général les oscilloscopes offrent une mémoire de 8 000 à 20 000 échantillons.

D'autre part, l'observation d'un paquet USB à l'oscilloscope n'est pas très simple, il faut décoder les paquets bit par bit (décodage NRZI, PID, ENDPOINT, etc..). Pour illustrer le propos précédent voici une capture d'écran d'un paquet (petit paquet) USB à décoder bit à bit... courage...petite indication c'est un paquet qu'on retrouve toutes les ms....



capture oscillo

Cette technique n'est certes pas très efficace mais elle permet dans certains cas de mettre en lumière un problème. En ce qui concerne le développement des hosts, on peut plus facilement mettre en oeuvre cette technique en utilisant une pin de sortie du microcontrôleur pour synchroniser l'oscilloscope (broche trigger). Juste avant d'envoyer un paquet on envoi une impulsion sur la pin qui a pour effet de démarrer la capture de l'oscilloscope, on peut ainsi vérifier que le paquet que l'on a envoyé correspond au paquet souhaité.

Vous voyez vite que cette technique n'est pas très efficace en particulier pour observer un transfert entre un PC et un périphérique (nous avons rien pour synchroniser l'oscilloscope).

I) L'observation avec un analyseur spécialisé

Il existe une autre technique qui consiste à utiliser un analyseur de bus USB. Il y a quelques entreprises qui proposent ce genre d'appareils à des prix très variables. Pour ma part lorsque j'ai développé mon premier host (en stage) j'ai été amené à utiliser ce genre d'appareil. J'ai fait un petit tour du marché des analyseurs afin de comparer le rapport performances/prix, j'ai vite opté pour les produits Ellisys qui offrent une utilisation simple et très performante. Vous pouvez retrouver toutes les informations sur leur site internet www.ellisys.com.

Nom du produit/ Marque/Photo
Low Speed
Full Speed
High Speed
Pricipaux atouts
Prix
TRACKER 110 / Ellisys

OUI
OUI
NON
Logiciel très ergonomique et performant.
Logiciel gratuit et téléchargeable en version complète sur le site du constructeur.
Décodage des requêtes USB standards (SET_ADDRESS, GET_DESCRIPTOR, etc...).
Filtrage et traitement des enregistrements.
800€
EXPLORER 200 / Ellisys
EXPLORER 200
OUI
OUI
OUI
Mêmes qualités que le précédent avec la vitesse high speed supportée.
Trigger externe configurable en entrée ou en sortie.
OTG.
Requêtes décodées.
2300€
EXPLORER 200 PRO / Ellisys
EXPLORER 200 PRO
OUI OUI OUI Mêmes avantages que le précédent avec en plus le décodage des classes (audio, mass_storage, HID,....).
Très performant sur tous les plans.

5600€

Je travaille actuellement avec un tracker110. Cet appareil offre une utilisation très simple et très performante grâce à son interface très conviviale. Je préfère dire aux amateurs que cet appareil reste encore réservé aux PME, en effet son prix est de 800€. Ce prix peut paraître assez élevé pour les amateurs développant chez eux mais il faut savoir que les autres analyseurs du marché dépassent très souvent 10000€ !!! (pour les mêmes performances).


Si vous souhaitez comprendre en détail le bus USB, je crois qu'il n'y a pas de secret ou de solution miracle, il faut s'y lancer...
Pour cela je vous propose en téléchargement des enregistrements de différents périphériques.
Ces enregistrements s'ouvrent avec le logiciel gratuit visualUSB que vous trouverez en téléchargement sur le site d'Ellisys www.ellisys.com.
Le logiciel fonctionne même si ne possédez pas d'analyseur, il permet ainsi de visualisez des enregistrements.


Les enregistrements Low Speed
Trafic entre un PC et une souris USB Télécharger
Trafic entre un PC et un clavier Télécharger
Les enregistrements Full Speed :
Trafic entre un PC et un dongle IRDA Télécharger
Trafic entre un PC et une carte son USB Télécharger
Trafic entre un PC et un GPS USB Télécharger
Trafic entre un PC et une clé USB (avec écriture d'un fichier de 230Ko) Télécharger






Page USB_DEV


Retour INDEX


Vous êtes le  
  visiteur.
mail
livre d'or
Laisser un message sur le livre d'or