Etienne Tremblay - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Etienne Tremblay

Description:

tre membre officiels des d veloppeurs de USB co te 2500$ USD par ann e. ... Chaque appareil a son adresse. Il peut y avoir 5 niveaux de hub en plus de l'hub racine. ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 17
Provided by: Sab70
Category:

less

Transcript and Presenter's Notes

Title: Etienne Tremblay


1
Etienne Tremblay
  • Ordinateurs, Structure et Applications

GIF-16116
Cours 19, Le USB
Université Laval, Hiver 2007
2
USB
  • USB signifie Universal Serial Bus
  • Le USB a été conçu afin de remplacer le port
    série
  • Lutilisation du USB implique des redevances.
    Être membre officiels des développeurs de USB
    coûte 2500 USD par année. Avoir un Vendor_ID
    coûte 200 USD par année
  • Il existe deux normes USB principales USB1.1
    (1998) et USB2.0 (2000, révisé en 2002). Ce
    document décrit USB2.0 qui est compatible avec
    USB1.1.

3
Vitesses de communication
  • Le USB supporte 3 vitesses de communication
  • Basse vitesse à 1.5 Mb/s pour les appareils comme
    les claviers, souris, joystick
  • Pleine vitesse 12 Mb/s pour des appareils à gros
    débits comme les modems et téléphones.
  • Haute vitesse 480 Mb/s pour des appareils
    multimédia à très haut débit comme les caméoscope
    (une caméra numérique).

4
Caractéristique générales
  • Les transactions USB se font à laide de jetons
    (voir plus loin), cest-à-dire à laide de bytes
    transmis ayant des valeurs et significations
    précises.
  • Le port USB est totalement contrôlé par un
    contrôleur unique appelé hôte (host). Lhôte,
    souvent le PC, initie toutes les communications
    (même les interruptions). Il est le maître absolu
    du bus.
  • Les jetons et messages transitent dans des trames
    de 1ms ou de 125us (haute vitesse) (voir plus
    loin).
  • Le bus USB peut fournir lalimentation des
    appareils qui y sont connectés.
  • Quatre modes de transfert sont supportés
    Contrôle, Interruptions, Bloc et Isochrone. Ils
    sont tous détaillés plus loin.
  • Les appareils nouvellement branchés sur le port
    USB sont détectées automatiquement.

5
Topologie dun réseau USB
  • Un réseau USB a une topologie en étoile. Les
    ports descendent de lhôte vers les appareils.
    Ils montent vers lhôte.
  • Les HUBs sont des appareils qui permettent de
    relier plusieurs appareils à un seul port USB. Le
    rôle principal des HUBs est de transférer les
    données de lhôte aux périphériques.
  • Il y a 127 appareils maximum dans un réseau USB.
    Chaque appareil a son adresse.
  • Il peut y avoir 5 niveaux de hub en plus de lhub
    racine.
  • Chaque hub contrôle ses ports afin de savoir si
    un appareil sy connecte

6
Classes de devices USBs
  • Tous les appareils USB appartiennent à une
    classe. Les classes dappareils sont
  • Audio (Haut parleurs)
  • Communication (Modem)
  • Human Input Device (Souris, Clavier)
  • Display (Écran)
  • Physical feedback devices (Force feedback
    joystick)
  • Power (Uninterruptible power supply)
  • Printer
  • Mass storage (Disque dur)
  • Hub !
  • Une constante est associée à chaque classe. Cette
    constante se retrouve dans le descripteur de
    lappareil (voir plus loin) selon la classe de
    lappareil.

7
Composantes logiques dune device USB
  • Chaque appareil USB contient une ou plusieurs
    connections logiques appelées endpoints
    (terminaisons en français). Lhôte envoie ou
    reçoit des données dun endpoint.
  • Chaque appareil doit avoir au moins un endpoint,
    le endpoint 0. Cest avec cet endpoint que lhôte
    communique avec dobtenir des informations sur
    les configurations dun appareil.
  • Un groupe de enpoints est appelé une interface.
    Un groupe dinterfaces est appelé une
    configuration. Un appareil peut avoir plusieurs
    interfaces réparties dans plusieurs
    configurations. Toutefois, la plupart des
    appareils nont quune configuration avec une
    unique interface.
  • Le lien entre lhôte et un endpoint est appelé
    pipe (canal en français).

8
USB Hardware
  • Le câble USB est constitué de 4 fils Vbus, GND,
    D et D-. Vbus et GND sont lalimentation 5Vdc
    (entre 4.75V et 5.25V) et la référence
    électrique. D et D- servent au transport des
    données.
  • Il y a deux types de connecteurs USB tel que
    montré à droite.
  • Plus la fréquence est élevée, plus les câbles
    doivent être courts. En haute vitesse la longueur
    max. dun câble USB est 5m.
  • La puissance maximum pouvant être tirée dune
    connection USB est 5(5V100mA), soit 2.5W.
    Lunité de courant de base est 100mA.

Tiré de usb_20.pdf (http//www.usb.org/developers/
) et http//www.networktechinc.com/technote.html
9
Encodage des bits USB et valeurs de D et D-
  • D et D- sont 2 lignes qui pourraient transporter
    des données en référence à la masse ou Vcc.
    Toutefois, les données sont véhiculées par la
    différence entre D et D-. D et D- sont dans
    létat J lorsque D- gt D dau moins 200mV. D et
    D- sont dans létat K lorsque D gt D- dau moins
    200mV. Lorsque D et D- sont forcée près de la
    masse par lhôte, cela signifie une demande de
    reset.
  • Les bits de donnés sont encodés selon le format
    NRZI un 1 est représenté par labsence de
    changement détat alors quun 0 est
    représenté par un changement détat.
  • Les appareils doivent être connectés en état de
    haute impédance par rapport aux les lignes D et
    D-. Par contre, la ligne D doit être connectée à
    une tension entre 3 et 3.6Vdc par une résistance
    de 1.5KOhms pour un appareil pleine vitesse. Pour
    un appareil basse vitesse, il faut polarise la
    ligne D- ainsi. Un appareil haute vitesse doit se
    présenter comme un appareil pleine vitesse, mais
    retirer la polarisation après initialisation de
    lappareil. Ces polarisations du voltage de D et
    D- permet de détecter la présence de nouveaux
    appareils.
  • Tout appareil doit pouvoir supporter un court
    circuit entre Vbus/Masse et ou D/D-.

10
Types de transfert
  • Le USB supporte 4 types de transfert
  • Transfert de contrôle
  • Transfert isochrone
  • Transfert par interruption
  • Transfert par bloc
  • Le transfert de contrôle sert à la configuration
    et à la commande dun appareil. Il se compose
    dun jeton SETUP (voir plus loin) et de
    lendpoint 0.
  • Le transfert isochrone est un mode de transfert
    pour lequel les données sont transmises à
    lintérieur dune trame et elles sont
    synchronisées avec les débuts de trames. Ce type
    de transfert est utilisé pour la pleine et la
    haute vitesse.
  • Le transfert par interruption est utilisé par les
    appareils ayant peu de données à transmettre,
    mais ayant des données qui doivent être
    transmises rapidement (exemple clavier ou
    souris). Les interruptions sont détectées par
    polling de la par de lhôte. La fréquence de
    polling requise est donnée par les descripteurs
    de lappareil.
  • Le transfert par bloc permet de transferer des
    volumes importants de données lorsquil ny a pas
    de contraintes temporelles (exemple imprimante).

11
Protocole de bas niveau
Voir http//membres.lycos.fr/grandzebu/electroniqu
e/usb/usb_resume.htm
Branchement dun périphérique
Voir http//membres.lycos.fr/grandzebu/electroniqu
e/usb/usb_resume.htm
Requêtes du jeton SETUP
Voir http//membres.lycos.fr/grandzebu/electroniqu
e/usb/usb_resume.htm
Les descripteurs
Voir http//membres.lycos.fr/grandzebu/electroniqu
e/usb/usb_resume.htm
12
Figures reliées au items précédents (1/2)
Trame USB
Exemples de paquets USB
13
Figures reliées au items précédents (2/2)
Transactions USB
Descripteurs USB
14
Identification dun appareil USB
  • Windows identifie un appareil USB grâce à ses
    Hardware IDs. Les Hardware IDs sont formés des
    champs idVendor, idProduct et bcdDevice du
    descripteur dappareil.
  • Si Windows ne trouve pas de pilote de
    périphérique pour les Hardware IDs, il cherche un
    pilote de périphérique avec les Compatibles IDs.
    Les Compatibles IDs sont formés des champs
    bInterfaceClass, bInterfaceSubClass et
    bInterfaceProtocl du descripteur dinterface.
  • Si Windows ne trouve pas de pilote compatible
    encore une fois, il demande à lusager de fournir
    le pilote.

15
Conception dun périphérique sur le port USB
  • Au niveau matériel, concevoir un appareil
    communiquant par USB est relativement simple
    lalimentation peut être fournie par le port et
    il ny a que deux lignes de communication à
    brancher. En faisant attention aux niveaux de
    tensions requis sur D et D- en fonction de
    létat de lappareil et des bits transmis/reçus,
    concevoir le matériel nest pas très difficile.
    Cependant, utiliser un microprocesseur est
    presque obligatoire les bits sont transmis en
    série (il faut léquivalent dun registre à
    décalage), il faut décoder ladresse des messages
    transmis, il faut permettre la détection
    automatique de lappareil, il faut implémenter
    les descripteurs USB, il faut Notez que certains
    microprocesseurs comme le PIC16C745 gèrent les
    pins D/D- et lensemble des fonctionnalités
    requises pour communiquer sur le port USB.
    Veuillez communiquer avec le professeur pour plus
    dinfo!
  • Pour communiquer avec un périphérique sur le port
    USB à partir dun PC, il faut, idéalement, créer
    un pilote de périphérique générique pour
    lappareil. Ensuite, il faudra créer modifier le
    pilote pour y introduire du code spécifique à
    lappareil. Veuillez communiquer avec le
    professeur pour plus dinfo!

16
Références et exercices
  • Références
  • Irv Englander p.258, 260-261
  • Writing Windows WDM Device Drivers, Chris Cant,
    CMP Books, 1999, ISBN 0-87930-565-7, Chapitre 20
  • http//membres.lycos.fr/grandzebu/electronique/usb
    /usb_resume.htm
  • http//www.usb.org/developers/
  • Exercices
  • De quelle manière est détectée le branchement
    dun nouvel appareil USB?
  • Donnez les états de D et D- pour la séquence
    binaire suivante 00110101.
  • Un jeton OUT est-il toujours suivi dun jeton
    DATA?
  • Comment sont détectées les interruptions dun
    appareil USB?
  • Quest quun descripteur? Donnez 3 exemples
    dutilisation des descripteurs.
  • Décrivez les quatres types de transfert USB.
  • Discutez du problème de synchronisation pour les
    transfert isochrones.
  • À quoi servent les requêtes standards du JETON
    SETUP?
Write a Comment
User Comments (0)
About PowerShow.com