|
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 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.... 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.
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. |
Page USB_DEV Retour INDEX |
Vous êtes le visiteur. |