Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Classes USB ?



  1. #1
    bartimeus

    Classes USB ?


    ------

    Bonjour, bonjour ...

    Je voudrais me documenter sur les différentes classes USB existantes comme par exemple l'HID, le masse storage ... etc. Avez-vous des sites avec les différentes caractéristiques de chaque classe ? et si possible en français ^^
    Merci à vous d'avance.

    -----

  2. #2
    f6bes

    Re : Classes USB ?

    Bjr à toi,
    Qu'est ce que pour toi les "classes USB" ?
    Me semble que USB est un protocole de communication (Bus Serie Universel)
    Masse storage; je traduis STOCKAGE de MASSE, mais l'USB n'a rien à voir dans le stockage en lui meme.
    Donc si tu peux etre plus "clair".
    A+

  3. #3
    RISC

    Re : Classes USB ?

    Salut,

    Je ne connais pas de tutos en francais pour les classes USB.
    Tu peux cependant trouver les documents originaux sur la spécification de chaque classe sur le site du consortium USB : http://www.usb.org/developers/devclass_docs

    Tu peux également lire les formations USB très interessantes 11043 à 11049 ici :
    http://www.cwu.edu/~iet/programs/eet.../Microchip.htm

    Bonne lecture ;=)

    a+

  4. #4
    bartimeus

    Re : Classes USB ?

    Merci pour toute cette lecture ^^
    J'ai trouvé ce site en français qui parle des types de transfert :

    http://www.rennes.supelec.fr/ren/fi/...html#Protocole

    Actuellement pour contrôler un multiplexeur j'utilise le transfert d’interruption (HID). Mais c'est assez lent.

    Il me faudrait une communication plus rapide mais avec peu d'erreur ou qui renvoi la trame s'il y a une erreur. Savez vous laquelle est la mieux entre "Les transferts de commande" et "Les transferts en Bloc". Et laquelle est la plus simple à mettre en oeuvre?
    J'ai utilisé un programme de Microchip pour établir ma conexion USB HID. Savez vous si Microchip fourni aussi le model pour une connexion utilisant "Les transferts en Bloc" ou "Les transferts de commande" ?

    Merci pour vos aides.

  5. A voir en vidéo sur Futura
  6. #5
    RISC

    Re : Classes USB ?

    Salut,

    Les derniers framework USB de Microchip (v1.3 ou 2.1) supportent tous les types de transfert (CONTROLE, BULK, INTERRUPT) sauf les ISOCHRONOUS standards car il faut accepter jusqu'à 1023 octets dans les ENDPOINTS et la RAM devrait être beaucoup plus grande ( 32 endpoints x 1024 ) ce qui n'est pas possible avec l'architecture des PIC18 qui peuvent acceuillir au maximum 4Ko - la taille des registres SFR.
    Il existe cependant je crois un support pour une version ISOCHRONOUS sur 64 octets.

    Concernant tes problèmes de vitesses, n'oublie pas que dans l'USB c'est TOUJOURS le HOST qui scrute les périphs....

    Si tu veux augmenter la vitesse, il faut choisir les types transferts qui garantissent de la bande passante ou opter pour une classe CUSTOM mais il faut être prêt éventuellement à écrire un driver WINDOWS.

    Dans le framework Microchip, il y a un exemple de classe custom dont les sources et le driver sont utilisables. C'est celui qui est utilisé pour l'exemple de la carte PICDEM FS-USB avec le logiciel coté PC appelé PDFSUSB.EXE qui lit les interrupteurs, la température (I2C) .
    Dans le framework 1.3 tu peux trouver cet exemple dans ce répertoire après installation : C:\MCHPFSUSB\Pc\ et aussi C:\MCHPFSUSB\fw\Demo\

    Je te recommande un excellent livre sur l'USB orienté embarqué et Microcontroleur :
    USB complete (3rd edition)
    Jan Axelson
    Tu peut l'acheter sur Amazone.

    Sur le forum dédié USB de Microchip tu trouveras des dizaines de liens et aussi personnes ayant une énorme expérience sur l'USB : http://forum.microchip.com/tt.aspx?forumid=102

    a+

  7. #6
    bartimeus

    Re : Classes USB ?

    Il y a un truc que je ne comprends pas ... On établit une vitesse de transmission avec la résistance de pull-up (low-speed ou full-speed) en la mettant sur D+ ou D- ... etc. Mais chaque type de transfert à sa vitesse ... A quoi ça sert de définir une vitesse full-speed si après en utilisant le type HID je suis bloqué a 64 Ko/s ?

  8. #7
    RISC

    Re : Classes USB ?

    Salut,

    Il ne faut pas confondre bitrate and datarate :
    * bitrate = vitesse totale de transmission (data + overhead du au protocole)
    * datarate = payload (données de l'application elle-même)

    En plus, le protocole USB définit que jusqu'à 127 périphériques simultanés peuvent être connectés !!! C'est pourquoi, suivant ton application, il faudra choisir un mode transfert qui garantit soit de l'intégrité des données, soit une bande passante minimum...

    Si tu veux garantir de la bande passante, il faut impérativement un mode de tranfert adéquat.
    Dans tous les cas, du côté device on ne peut JAMAIS imposer une bande passsante. La seule chose que tu avoir c'est je crois 10%, SI ton device est énuméré (car cela aussi tu ne peux pas le garantir).

    Si tu peux imposer un système ou le nombre ET le type de device USB maximum est spécifié, tu pourra alors prédire un worst case meilleur que la spec USB ;=)

    a+

  9. #8
    bartimeus

    Re : Classes USB ?

    Oula ... j'avais jamais vu ça :s
    Si j'ai bien compris, si je configure en full-speed, "bitrate" respectera cette vitesse alors que "datarate" respectera la vitesse de son type de transfert ... C est bien cest ?

  10. #9
    RISC

    Re : Classes USB ?

    Salut,

    Dans mon exemple "datate" et "bitrate" sont applicables à tous les types de transferts et le débit des données utiles est évidemment toujours inferieur au débit du protocole. Mais comme tu l'as compris, seuls les types transferts qui garantissent de la bande passante peuvent te garantir un débit utile pour ton application. Chaque classe prédéfinie par le consortium USB (HID, CDC, MSD,...) impose un ou plusieurs types de tranferts. Seul le type CUSTOM laisse à l'utilisateur le choix de définir les transferts à utiliser et le protocole à utiliser (overhead)...mais cela a un prix...écrire un driver sous WINDOWS !!!

    A toi de choisir ...
    a+

Discussions similaires

  1. Classes de périphériques USB
    Par bartimeus dans le forum Électronique
    Réponses: 0
    Dernier message: 14/05/2008, 08h42
  2. Réponses: 2
    Dernier message: 25/04/2008, 20h10
  3. Classes préparatoires
    Par hind123 dans le forum Orientation après le BAC
    Réponses: 3
    Dernier message: 25/11/2006, 17h02
  4. Classes Préparatoires
    Par HAPPYY dans le forum Orientation après le BAC
    Réponses: 12
    Dernier message: 27/11/2005, 18h07
  5. USB tripoté->démarrage impossible si USB pas branché
    Par loonies dans le forum Matériel - Hardware
    Réponses: 10
    Dernier message: 17/07/2004, 09h38
Découvrez nos comparatifs produits sur l'informatique et les technologies.