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

Protocole USB



  1. #1
    GwadaBoug

    Protocole USB


    ------

    Bonjour tout le monde,

    je souhaiterais dialoguer avec mon pc via un port USB à partir d'un petit microcontrolleur genre AVR d'atmel ou PIC de microchip.
    dans un premier temp j'aimerais écrire moi même le protocole. j'ai téléchargé la doc de la norme USB 1.1, malgrès que l'anglais ne soit pas vraiment un probléme, je n'est pas compris comment écrire mon protocole.

    la seul chose que je sais faire pour l'instant, c'est placer la résistance pour dire quel vitesse on utilise.

    si quelqu'un pouvait m'aider un petit peu il me serait d'un grand secour!!!!Merci d'avance!

    -----

  2. Publicité
  3. #2
    matmat95

    Re : Protocole USB

    Salut!

    tu t'attaque vraiment à du lourd là!!
    Si je comprend bien tu veut partir de 0 et t'embêter avec toute les histoires de fréquences d'horloge et tout le tralala. J'ai pas une grosse expérience de l'usb mais je serais toi je passerai par un chipset USB en complément de mon microcontroleur. Prends un chipset configurable et tu verra que tu aura déjà du boulot à gérer les trames que va t'envoyer le système d'exploitation pour configurer ton chipset (device descriptor, descriptor configuration etc...). De toute façon une fois que tu aura fabriqué ton propre chipset, c'est ce qui t'attend. Utilise windows xp ou vista, si tu veut pas t'embêter avec les problèmes de driver. Si tu réussi déjà à faire ça, tu vas ensuite devoirs te taper les commandes SCSI (enfin tout dépend de l'utilisation du périphérique que tu veut créer). Et la croit moi tu va commencer à en avoir marre.Surtout que tu va presque pas trouver de doc sur le net. Télécharge un sniffeur usb et analyse les trames usb d'un composant similaire pour commencer ça peut t'aider à comprendre comment les choses se passent.

    a plus! et bon courage

  4. #3
    RISC

    Re : Protocole USB

    GwadaBoug,

    L'USB 1.1 est pratiquement obsolète sur les micros et peu d'infos sont disponibles sur internet. Je te conseille de plutôt t'investir sur l'USB 2.0.

    Ci-joint plusieurs sites sur l'USB et sur le PIC18F4550 pour te permettre de progresser :

    * http://pic18fusb.online.fr/wiki/wikk...akka=UsbSpeeds
    * http://www.create.ucsb.edu/~dano/CUI/#Sec1

    * http://g.fondeville.free.fr/usb_cours.html
    * http://www.beyondlogic.org/usbnutshell/usb1.htm

    Il existe une carte simple pour démarrer : PICDEM FS-USB :
    http://www.microchip.com/stellent/id...&part=DM163025

    a+

  5. #4
    Minos2

    Re : Protocole USB

    Salut les gars
    Moi je suis en train de bosser sur justement le proticole USB.
    J'essaye avec beaucoup de mal de développer un host à partir d'un microcontroleur ATMEL ( AT90USB1287 ) pour lire une clé USB

    J'ai été sur pas mal de forum, mais beaucoup traite plutôt des pb hardware enfin de 1er niveau c'est à dire plutôt du niveau d'administrateur sur PC plutôt que de développeur software/hardware.
    En effet on a pas beaucoups de réponse si on rentre dans le coeur même des commandes SCSI ou UFI. D'ailleurs à ce propos est-ce que quelqu'un peut me dire quelle est la différence entre les commandes UFI et SCSI.

    Moi ce que je cherche c'est des sites ou des liens vers lequels me diriger pour reussir mon développement.

    Aujourd'hui j'ai réussi les étapes suivantes

    - Detection de la clé
    - Lecture de ses descripteur
    - Enumeration
    - Commande SCSI :
    - Protocole Bulk Only :
    - TEST UNIT READY : OK
    - READ CAPACITY : la fonction me renvoi STALL
    => Clear FEATURE sur ENDPOINT IN
    => La clé ne répond plus

    Voilà j'en suis là et impossible de m'en sortir.
    Sur internet y a pas grand chose, personnne sait pourquoi.
    Quand tu regarde dans les spécifs USB, t'as des explication sur les différente commande par contre t'as rien qui traite les cas d'erreur.
    Dans la spécif USB on te dit que si la fonction READ CAPACITY quand elle lit le device te renvoi STALL , tu fais un Clear FEATURE sur le ENDPOINT qui à renvoyer le STALL, la en l'occurence DATA IN, et c'est tout. Ils te disent qu'après le clear feature , ça marche, c'est vraiment n'importe quoi.

    Y a un site qui est super bien c'est l'USB en bref parce qu'il ya un mec qu'a traduit le site de BEYOND LOGIC
    J'te file le lien :
    Code HTML:
    http://www.abcelectronique.com/acquier/usb1_fr.htm
    t'as 7 chapitres super bien expliqué

    Mais ça suffit pas, il faudrait trouver des exemples de programmes host qui traite du problème.
    Mais alors là sur microcontroleur , t'as rien ou quasi rien.
    T'as quelques programme qui traine en C++, bonjour la prise de tete, car non seulement c'est complex le c++ mais en plus les mecs qui programmes du c++ faut qu'il programme comme des surdoué, qu'ils noient le poissons comme ça tu comprend vraiment plus rien

    Si quelqu'un a déja fait ce type de developpement en C sur µcontroleurs et que vous avez des examples de programme en C , voir des organigrammes qui traitent de la lecture et ecriture sur les secteurs d'une clé usb , ce serait chouette.
    J'ai bien essayé des analyseur de protocole ou des traceurs de trames usb sur PC mais c'est pas vraiment tres clair car j'ai essayé de reproduire les trame mais ça ne le fait pas.
    J'ai peux etre des pb de vitesse d'horloge, enfin je ne sais pas c'est la galère.
    J'ai meme essayé du coté des linuxiens mais c'est pareil, c'est tout un ensemble de suite de commande Linux qu'on comprend pas forcememt alors si quelqu'1 peut m'aider ce serait super.
    Y a bien qd meme des développeurs de Host Mass storage sur le net !
    Merci d'avance

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

    Re : Protocole USB

    Je n'irai pas par 56 chemins. Si tu travailles avec un PIC télécharge le framework (1.0 le 2.2 chez moi marche pas) du site de Microchip, tu prend le code tout fait de Microchip qui s'occupe de l'énumération, du mode de transfert (bulk, interruption etc), de l'endpoint et de tout ce tralala. Le seul fichier que tu modifie c'est ton user.h et user.c.

    Au début moi aussi je voulais ecrire un protocole USB pour PIC, mais j'ai vite jeté l'éponge, la quantité phénoménale des donnes a traiter. (Juste cote PIC, parce que cote PC, le driver...) Et puis c'est pas pour rien que Microchip met a dispo des utilitaires USB (Cote PC et PIC), Atmel doit faire la même chose de son cote.

    Si tu veux continuer, t'es courageux ou tu as plein de temps a perdre.

  8. #6
    Minos2

    Re : Protocole USB

    Merci

    Mais est-ce qui font aussi des exemples Host sur µcontroleur ?
    Le device j'ai déja donné !
    ça va encore
    Mais le host à developper quel merde !

  9. Publicité
  10. #7
    VIIV

    Re : Protocole USB

    Citation Envoyé par Minos2 Voir le message
    Merci

    Mais est-ce qui font aussi des exemples Host sur µcontroleur ?
    Le device j'ai déja donné !
    ça va encore
    Mais le host à developper quel merde !
    Ouais, tout est sur leur site ici.

  11. #8
    Minos2

    Re : Protocole USB

    J'te remerci VIIV
    Minos2

Discussions similaires

  1. Secteur vers USB (chargeur USB)
    Par hOAxB dans le forum Électronique
    Réponses: 3
    Dernier message: 02/08/2007, 19h22
  2. Protocole
    Par Barbanath dans le forum Biologie
    Réponses: 0
    Dernier message: 09/05/2006, 20h05
  3. protocole
    Par t.m dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 10/04/2006, 11h28
  4. 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
  5. protocole de clé usb
    Par jcruz dans le forum Technologies
    Réponses: 1
    Dernier message: 17/04/2004, 08h12
Découvrez nos comparatifs produits sur l'informatique et les technologies.