USB Wii manette classique (4 / 18 étapes)

Étape 3: Compréhension USB

USB utilise deux fils, généralement appelé D + et D-, pour transmettre des données en série utilisant un codage non-retour à zéro . Ces deux câbles sont une paire différentielle, ce qui signifie que D-du signal sera toujours D + d’inversé État. Cela permet de transférer des données très vite sur un long câble (câble de 5 mètres à 480 Mbit/s si vous utilisez USB 2.0 haut débit), lisez ceci pour plus http://en.wikipedia.org/wiki/Differential_pair

Bus USB ont un animateur et un périphérique, l’ordinateur est généralement l’hôte, notre Gamepad est un appareil, plus précisément, un HID (périphérique d’interface humaine). Il est important de noter que l’hôte toujours initier une communication, ou l’hôte vérifie l’appareil fréquemment pour voir si il y a quelque chose à dire. L’appareil n’a pas la possibilité d’initier une communication, il peut seulement attendre jusqu'à ce qu’il est parlé à.

Il y a des résistances de pull-up sur D + ou D - selon si le périphérique est USB 1.0, USB 1.1 ou USB 2.0. La présence de ces résistances de pull-up est aussi un ordinateur sait lorsque quelque chose s’est connecté. Sur la USnooBie et la plupart des circuits V-USB, la résistance de pull-up est toujours sur le signal D V-USB étant seulement capable de mettre en œuvre des périphériques USB à vitesse réduite.

Les résistances de deux 68 ohm sur la D + et D-signaux résiliez résistances, leur impédance sont calculées (en tenant compte de circuits internes de l’AVR) soit mis en correspondance avec l’impédance caractéristique du câble USB. Cela minimise les réflexions de signaux. Lire http://en.wikipedia.org/wiki/Transmission_line pour en savoir plus.

Lorsqu’un périphérique se connecte à un hôte, l’hôte essaie de « énumérer » l’appareil. Si elle échoue à faire tellement (dispositif ne répond ne pas, ou répond avec garbage), c’est quand Windows dit « périphérique non reconnu ».

L’hôte et le périphérique parle sur des canaux appelés « points de terminaison », points de terminaison sont identifiés par un numéro. Il y a certains critères d’évaluation qui a réservé pour une utilisation particulière, tandis que d’autres peuvent être configurées pour fonctionner sous différents modes (interruption, en vrac, etc.).

L’hôte utilisera toujours d’abord le « point de terminaison de contrôle » (point de terminaison 0) tout d’abord à la demande de la description de l’appareil, ce « descripteur » contient les identificateurs de l’instrument (vendor ID et ID de produit, etc.), ainsi que de sa classe, sous-classe, etc. (HID comme une souris ou un clavier? ou stockage de masse peut-être?). Puis le descripteur de configuration est demandé, qui contient également le nombre de points de terminaison disponibles sur l’appareil. Chaque point de terminaison possède son propre descripteur ainsi. Toutes ces données sont envoyées sous forme de paquets d’octets de données représentant une structure bien connue de données spécifié.

V-USB et autres cadres/piles USB ont API et autres méthodes pour permettre au programmeur de modifier le contenu dans les descripteurs. Vous devez d’abord comprendre chaque descripteur et ensuite vérifier la documentation sur V-USB pour voir comment les modifier (je vous montrerai plus tard).

L’hôte fait les demandes en envoyant des « paquets d’installation » au « point de terminaison de contrôle ». Le programme d’installation de paquets ont une structure définie, ce qui facilite pour l’appareil pour comprendre ce que veut l’hôte. V-USB (et cadres similaires) gère habituellement les paquets d’installation par défaut. Un programmeur peut écrire les pilotes qui envoie des paquets d’installation personnalisé, auquel cas le firmware doit gérer les paquets d’installation manuellement, V-USB (e.a.) fournit quelques méthodes pour aider avec ça.

Par la suite dans ce instructable, j’ai inclus un dump des descripteurs capturé par mon analyseur de trafic USB. Vous pouvez jeter un coup d’oeil et il coïncident avec les spécifications USB pour voir ce que représente chaque portion.

Une fois que tous les descripteurs ont été récupérées de l’appareil, l’hôte peut alors comprendre l’appareil et communiquer avec lui. Nous regarderons tous les descripteurs en détail plus tard.

J’ai un autre Instructable qui vous montre comment construire un clavier USB qui types le code stocké dans les étiquettes RFID :

Travail à domicile : Lire USB en un mot http://www.beyondlogic.org/usbnutshell/usb1.shtml qui est à peu près une bible USB

Remarque importante : La plupart de la terminologie de l’USB est du point de vue de l’hôte (l’ordinateur), donc les mots « in » et signifie « entrée » de l’appareil à l’hôte et les mots « out » ou « la puissance » moyenne entre l’hôte et le périphérique.

Articles Liés

Contrôleur de l’objectif de l’Arduino - synchronisé Zoom/mise au point avec la manette classique Wii

Contrôleur de l’objectif de l’Arduino - synchronisé Zoom/mise au point avec la manette classique Wii

mon Lumix GH2 Micro Four Thirds caméra tire non seulement des vidéos fantastiques haute définition, mais avec des adaptateurs bon marchés je peux l'utiliser avec les anciennes lentilles manuelles qui sont bon marchés et souvent très haute qualité. Je
Manette classique pour adaptateur USB

Manette classique pour adaptateur USB

Si vous a grandi dans le début des années 1980 et ont été dans les jeux vidéo, vous avez probablement eu un Atari 2600, ColecoVision ou console de jeu similaire. Les contrôleurs ou les manettes de jeu pour chacun de ces systèmes ont une sensation dis
Teensy USB Wii Classic Controller

Teensy USB Wii Classic Controller

Je suis un fan de la Manette classique Wii, mais je n'ai jamais pris en charge pour avoir à garder les contrôleurs sans fil facturés pour un épisode occasionnel de nostalgie. Ne serait-il pas merveilleux si je pouvais utiliser ma manette classique Wi
Wireless clé USB Wii Nunchuk-à-souris pour PC, Mac et la tablette de jeux vidéo

Wireless clé USB Wii Nunchuk-à-souris pour PC, Mac et la tablette de jeux vidéo

Prêt pour se sentir comme le légendaire « Bruce Lee » utilisant des Wii Nunchuks sans fil sur un amusant jeu vidéo combat de stickman kung fu PC appelé One Finger Death Punch (OFDP). Que diriez-vous de jouer Jetpack Joyride sur Facebook ou sur votre
Périphérique Midi USB de manette de jeu vieux

Périphérique Midi USB de manette de jeu vieux

vous pouvez dépenser beaucoup d'argent sur un périphérique USB Midi cher ou créer les vôtres. Vous pouvez acheter des cartes USB HID et construire votre propre totalement à partir de zéro. Pour rendre le processus encore plus facile, sauver une vieil
SNES + Teensy = USB/PS3 manette

SNES + Teensy = USB/PS3 manette

contrôleur de la Super Nintendo est l'un des meilleurs manettes jamais réalisé. Ce tutoriel va montrer comment vous pouvez insuffler une vie à votre manette SNES vieux donc vous pouvez l'utiliser avec votre PC et votre PS3.Vous aurez besoin des éléme
Manette de Wii USB utilisant Arduino Leonardo

Manette de Wii USB utilisant Arduino Leonardo

Le week-end dernier, j'ai essayé la nouvelle RetroPie sur ma belle nouvelle Raspberry Pi 3, mais le contrôleur de jeu que j'ai est l'oldie Wii manette classique ; alors, comment puis-je convertir il à un contrôleur de jeu USB ordinaire ?Après quelque
Funtendo - un contrôleur multistick rétro pour votre PC

Funtendo - un contrôleur multistick rétro pour votre PC

Funtendo est un complètement autonomes rétro gaming & contrôleur de système pour votre PC.Il est capable d'utiliser l'original Nintendo contrôleur, le contrôleur de la N64 et le contrôleur Wii Classic en même temps !Funtendo est alimenté par USB et c
Initiation à l’ordinateur de poche Mini

Initiation à l’ordinateur de poche Mini

Environ un mois et demi, j'ai créé un projet appelé l'ordinateur de poche Mini et écrit une Instructable sur la façon de le construire. Ce Instructable prend l'ensemble du projet un peu plus loin en vous aidant à démarrer avec votre ordinateur de poc
Construire votre propre mini ordinateur de poche

Construire votre propre mini ordinateur de poche

jamais veulent faire l'expérience des années 70 et 80 informatique sans jongler avec le matériel ancien qui grincent et 5,25 disquettes ?Dans ce Instructable, je vais vous apprendre comment construire et programmer votre propre mini ordinateur de poc
Console de jeu ultime classique manette pour adaptateur USB

Console de jeu ultime classique manette pour adaptateur USB

Cet article décrit comment utiliser un Arduino Leonardo ou Arduino Micro pour mettre à la disposition d'un ordinateur modern (p. ex. Windows PC, Mac ou Linux) jusqu'à trois manettes de console classique (Atari 2600, ColecoVision et éventuellement d'a
Manette de la NES de Nintendo Bluetooth à l’aide de la Wiimote !

Manette de la NES de Nintendo Bluetooth à l’aide de la Wiimote !

Disposé à jouer rétro-jeux sur mon PC ou le Mac j'ai voulu utiliser le pad classique de NES !Je sais Wiimote fonctionne bien avec les deux alors pourquoi réinventer la roue.Le problème est de savoir comment intégrer une manette classique de la NES un
GameCube Controller pour Wiimote

GameCube Controller pour Wiimote

Deuxième Instructable. Faites-moi savoir si quelque chose doit être fixée.Je n'ai fait le circuit ou le programme. Je fais juste un guide qui montre l'assemblage étape par étape comment faire une Gamecube contrôleur Wiimote.La page originale est ici
Contrôleur de MAME sans fil portable

Contrôleur de MAME sans fil portable

Description:Ce projet vous permettra de fabriquer un contrôleur sans fil Portable pour MAME. La boîte MAME (Multiple Arcade Machine Emulator) j'ai utilisé était un Pi de framboise Mame avancée en cours d'exécution, mais n'importe quelle boîte support