La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

APPLICATION LAYER Hugo Descoubes - Octobre 2012 Universal Serial Bus.

Présentations similaires


Présentation au sujet: "APPLICATION LAYER Hugo Descoubes - Octobre 2012 Universal Serial Bus."— Transcription de la présentation:

1 APPLICATION LAYER Hugo Descoubes - Octobre 2012 Universal Serial Bus

2 Etats Device – Framework – Exemple sur PIC32MX 2 – copyleft APPLICATION LAYER Montons encore en abstraction pour nous rendre au niveau applicatif. Nous sommes maintenant au niveau logiciel et pouvons utiliser les pipes de communications virtuels entre host et device : Gestion au niveau applicatif de l’état du device Communication par pipe Framework générique pour le développement d’application …

3 Etats Device – Framework – Exemple sur PIC32MX APPLICATION LAYER La norme USB définit plusieurs états pour un device pouvant par la suite être utilisé au niveau applicatif : Attached Attached ou attaché Powered Powered ou alimenté Default Default ou défaut Address Address ou adressé Configured Configured ou configuré Suspended Suspended ou suspendu 3 – copyleft

4 Etats Device – Framework – Exemple sur PIC32MX APPLICATION LAYER Observons le diagramme des états pour un device : Durant une énumération sans erreur de communication, un device passe successivement par les états suivants (rouge) 4 – copyleft

5 Etats Device – Framework – Exemple sur PIC32MX APPLICATION LAYER La norme USB définit un cadre générique ou framework permettant de structurer les développements logiciels au niveau applicatif afin de permettre des échanges entre fonctions USB (côté host et device). Elle définit par exemple côté device : Etats du device Etats du device Traitements génériques Traitements génériques compris de tout device USB (commandes standard) descripteurs standard Structure des descripteurs standard (cf. ANNEXES) descripteurs de classe Structure des descripteurs de classe 5 – copyleft

6 Etats Device – Framework – Exemple sur PIC32MX APPLICATION LAYER PIC32MX sous la C toolchain C32 de Microchip Prenons l’exemple d’une application développée sur MCU 32bits PIC32MX sous la C toolchain C32 de Microchip. Microchip fournit gratuitement une stack ou bibliothèque USB pouvant être librement utilisable tant qu’elle reste portée sur leurs processeurs (www.microhip.com/usb) :www.microhip.com/usb Cliquer ici ! Cliquer ici ! 6 – copyleft

7 Etats Device – Framework – Exemple sur PIC32MX APPLICATION LAYER Observons quelques extraits de la documentation de cette stack : 7 – copyleft

8 Etats Device – Framework – Exemple sur PIC32MX APPLICATION LAYER Etudions l’architecture d’une application USB sur PIC32MX. Il s’agit ici d’une application device en classe HID ou Human Interface Device en mode polling. Une souris USB par exemple : 8 – copyleft

9 Etats Device – Framework – Exemple sur PIC32MX APPLICATION LAYER Etudions l’architecture d’une application USB sur PIC32MX. Il s’agit ici d’une application device en classe HID ou Human Interface Device en mode polling. Une souris USB par exemple : 9 – copyleft

10 Etats Device – Framework – Exemple sur PIC32MX APPLICATION LAYER Au niveau applicatif, nous n’avons qu’à gérer les payloads à pré-charger ou lire dans les endpoints. Il est alors aisé d’ouvrir plusieurs pipes de communication ciblant plusieurs fonctions USB via différents endpoints : 10 – copyleft

11 Etats Device – Framework – Exemple sur PIC32MX APPLICATION LAYER Attention, contrairement à un UART, ce n’est pas parce que vous avez écrit dans un endpoint que la donnée sera envoyée tout de suite. Il est maintenant du ressort du contrôleur USB de respecter les couches protocolaires de la norme puis de répondre en attendant une requête du host : 11 – copyleft

12 Merci de votre attention !


Télécharger ppt "APPLICATION LAYER Hugo Descoubes - Octobre 2012 Universal Serial Bus."

Présentations similaires


Annonces Google