Donner un sens au standard USB
Introduction Commencer de nouveau avec l'USB peut être intimidant. Avec la spécification de l'USB 2.0 de 650 pages on pourrait facilement être découragé par la dimension absolue du standard. C'est seulement le commencement d'une longue liste de standards associés pour l'USB. Il y a des standards de Classes USB tel que la Spécification Classe HID qui détaille l'opération commune des appareils (claviers, souris, etc. ) tombant sous la Classe HID (Interface Homme Machine) -Seulement 97 autres pages. Si vous concevez un Hôte (Host) USB, alors vous avez trois standards d'Interfaces Contrôleurs de hôte à choisir. Aucun de ceux-ci n'est détaillé dans la spec. de l'USB 2.0. La bonne nouvelle est que vous n'avez pas besoin de vous ennuyer à lire
le standard USB en entier. Quelques chapitres ont été pondus par le
marketing, d'autres parlent de couches bas niveau pris en charge par le
circuit intégré contrôleur d'USB et une partie concerne les développeurs
de Host et de HUB. Parcourons les différents chapitres de la spec. 2.0 et
introduisons les points clés.
Donc maintenant nous pouvons commencer à lire les chapitres relatifs à nos besoins. Si vous développez des pilotes (Logiciels) pour les périphériques USB alors vous pouvez avoir besoin de lire seulement les chapitres,
Les concepteurs de périphériques électroniques peuvent seulement avoir besoin de lire les chapitres:
L'USB en bref pour les concepteurs de périphériques Maintenant voyons les choses en face, (1) la plupart d'entre nous sommes ici pour développer des périphériques USB et (2) il est courant de lire la documentation d'un standard sans avoir une idée de la manière dont il faut se servir de l'appareil. Aussi dans les 7 prochains chapitres, nous nous concentrons sur les parties pertinentes nécessaires au développement d'un appareil USB. Ceci vous permet de comprendre l'USB et ces problèmes et vous guidera dans une recherche approfondie des problèmes spécifiques relatif à votre application. Le standard USB 1.1 était suffisamment complexe avant que la Haute
vitesse soit introduite dans l'USB 2.0. Afin d'aider à la compréhension
des principes fondamentaux de l'USB, nous omettons volontairement beaucoup
de domaines spécifiques aux appareils Hautes vitesses. L'USB version 1.1 comprenait 2 vitesses, un mode vitesse rapide de
12Mbits/s et un mode vitesse lente de 1,5Mbits/s. Le mode de 1,5Mbits/s
est plus lent et moins sujet aux perturbations Electro Magnétique (EMI)
réduisant ainsi le coût de perles de ferrites et des composants de
qualité. Par exemple les Quartz peuvent être remplacés par des résonateurs
meilleur marché. L'USB 2.0 qui est encore à la veille de voir le jour sur
les ordinateurs grand public a fait monter les enchères jusqu'à
480Mbits/s. Le 480Mbits/s est connu sous le nom de mode Haute vitesse et a
été crée pour entrer en compétition avec le Bus Série Firewire.
Le Bus Série Universel est contrôlé par l'Hôte. Il ne peut y avoir qu'un Hôte par Bus. La spécification en elle-même ne comporte aucune forme d'arrangement multi-maître. cependant la spécification "au pied levé" (On-The-Go specification) qui a été rajouté à l'USB 2.0 a introduit un protocole de négociation de l'Hôte qui permet à 2 appareils de négocier pour le rôle d'Hôte. Ceci est uniquement réservé à des connexions simples point par point tel qu'un téléphone mobile ou un organisateur personnel et non à un Hub multiple ou à des configurations d'appareils de bureau multiples. L'Hôte USB a la charge de mener à bien toute les transactions et de programmer la bande passante. Les données peuvent être envoyées par différentes méthodes de transactions en utilisant un protocole basé sur un système de jetons (Token). A mon avis la topologie du Bus de l'USB limite quelque peu. L'une des intentions original de l'USB était de réduire la quantité de câble à l'arrière de votre PC. Les gens d'Apple diront que l'idée est venu du Bus pour appareil de bureau de chez Apple, où le clavier, la souris et d'autres périphériques pouvaient être connectés ensemble (daisy chained ou connexions en guirlandes) en utilisant le même câble. Cependant USB utilise une topologie en étoile à étages, qui ressemble à celle d'Ethernet base10. Ceci impose l'utilisation d'un Hub quelque part, ce qui sous entend une plus grande dépense, d'avantages de boîtes sur votre bureau et d'avantages de câbles. Cependant la situation n'est pas aussi mauvaise qu'on le croit. Beaucoup d'appareils comprennent des Hubs USB. Par exemple votre clavier peut contenir un Hub qui est connecté à votre ordinateur. Votre souris et d'autres appareils tel qu'un caméscope numérique peuvent être branchés facilement au dos de votre clavier. Les moniteurs ne sont que d'autres périphériques sur une longue liste d'appareils qui comportent communément des Hubs intégrés. Cette topologie en étoile à étages, comparé à des appareils à simple connexion en guirlandes (daisy chaining) comporte tout de même des avantages. D'abord l'alimentation de chaque appareil peut être contrôlée et même coupée si des conditions de surintensité se produisent sans perturber d'autres appareils USB. Les appareils à Haute vitesse ainsi que ceux à vitesse Pleine et Basse peuvent être maintenus alors que le Hub filtre les transactions de vitesse Haute et Pleine de façon à ce que les appareils à vitesse lente ne les reçoivent pas. On peut connecter jusqu'à 127 appareils à un Bus USB à un temps donné. Vous avez besoin d'avantages d'appareils? Ajouter simplement un autre port ou un autre Hôte. Alors que la plupart des Hôtes USB précédent n'avaient que 2 ports, la plupart des constructeurs ont considéré ceci comme limitatif et commencent à introduire 4 et 5 ports Hôtes sur carte avec un port interne pour les disques dur etc. Les Hôtes précédent n'avaient qu'un contrôleur USB et ainsi les 2 ports partageaient la même bande passante USB disponible. Comme les exigences des bandes passantes ont augmenté, nous commençons à voir des cartes multi-ports avec 2 contrôleurs ou plus qui permettent des canaux individuels. Les contrôleurs d'Hôte USB ont leur propre caractéristiques. L'USB 1.1 comprenait 2 spécifications de contrôleur d'interface Hôte, UHCI (Contrôleur d'Interface d'Hôte Universel) ) développé par Intel qui met d'avantage le poids sur le logiciel Microsoft par exemple et qui permet d'avoir des appareils meilleur marché et le OHCI (Contrôleur d'Interface d'Hôte Ouvert) développé par Compaq, Microsoft et National Semiconductor qui met d'avantage la charge de travail sur l'appareil (Intel) et se contente de logiciel plus simple. Ce sont les relations typiques entre les ingénieurs qui fabriquent le matériel et ceux qui font les logiciels... Avec l'apparition de l'USB 2.0 on a eu besoin d'une nouvelle
caractéristique de contrôleur d'interface d'Hôte pour décrire les détails
du niveau d'enregistrement spécifique à l'USB 2.0. L'USB, comme son nom l'indique est un Bus Série. Il utilise 4 fils isolés dont 2 sont l'alimentation (+5V et GND). Les 2 restants forment une paire torsadée qui véhiculent les signaux de données différentiels. Il utilise un schéma d'encodage NRZI ( Pas de retour à Zéro inversé) pour envoyer des données avec un champ sync de manière à synchroniser les horloges de l'Hôte et du récepteur. L'USB supporte le système " plug'n plug " branchement à chaud avec des drivers qui sont directement chargeable et déchargeable. L'utilisateur branche simplement l'appareil sur le Bus. L'Hôte détectera cet ajout, interrogera l'appareil nouvellement inséré et chargera le driver approprié pendant le temps qu'il faut au sablier pour clignoter sur votre écran assurant qu'un driver est installé pour votre appareil. L'utilisateur final n'a pas besoin de se soucier des terminaisons, de termes tel que IRQs et adresses de ports, ou de la réinitialisation de l'ordinateur. Une fois que l'utilisateur a terminé, on peut simplement retirer le câble, l'Hôte détectera cette absence et déchargera automatiquement le driver. Le chargement du driver approprié sera réalisé en utilisant une
combinaison PID / VID D'autres organisations fournissent un VID supplémentaire pour des activités non commerciales tel que l'enseignement, la recherche ou le bricolage. Le forum des fournisseurs USB ne peut pas encore vous procurer ce service. Dans ce cas vous voudrez peut-être utiliser un appareil distribué chez le constructeur de votre système de développement. Par exemple la plupart des constructeurs de puces auront une combinaison VID/ PID que vous pouvez utiliser pour vos puces et qui n'est pas connu comme appareil commercialisé. D'autres constructeurs de puces peuvent même vous vendre un PID à utiliser avec leur VID pour votre appareil commercial. Une autre caractéristique intéressante de l'USB réside dans ces modes de transferts. L'USB soutient des transferts de contrôles, d'interruptions, en Bloc et Isochrone. Lorsque nous examinerons les autres modes de transferts ultérieurement, nous nous rendrons compte que l'Isochrone permet à un appareil de réserver une approximation défini de la bande passante avec un temps d'attente garanti. Ce système se révèle idéal dans les applications Audio et Vidéo ou l'encombrement peut susciter une perte de données ou une chute de trames. Chaque mode de transfert fourni au concepteur des compromis dans les domaines de la détection d'erreur et de la reprise, du temps d'attente garanti et de la bande passante. |
Ce document vous a plu, alors il est possible de le
télécharger au format PDF CHAPITRE
1 ![]()
|
![]() Accueil |
![]() Sommaire |
![]() |