Contenu
Cette formation aborde les concepts du développement sous Linux par l’étude :
-des différentes normes USB et des modes de transmission supportés,
-des mécanismes de transaction et de communication entre système hôte et périphériques,
des architectures matérielles des périphériques 8/16 et 32 bits USB.
-des techniques de développement de pilotes de périphériques USB sous Microsoft Windows.
Objectifs
Ce stage permet aux développeurs en électronique et informatique de maîtriser les concepts et les outils de développement leur permettant d’intégrer la technologie USB dans leurs produits.
Programme
1ière Journée :
Norme USB
- USB 1.0 et 1.1
- USB 2.0
- USB On-The-Go
Communications basiques sur bus USB
- Enumération Communications
- Gestion des Data sur le bus
- Vitesse du Bus
- Périphérique de type Endpoints
- Tubes: liens « Endpoints » avec le Hôte
- Types de transferts
- Flux et Tubes de message
- Initier un transfert
- Les Blocks et les différentes phases de transaction
Gestion des différents modes de transferts
- « Control transfert »
- « Bulk transfert »
- « Interrupt transfert »
- « Isochronous transfert »
Mécanisme d’énumération
- La phase d’énumération
- Cas particulier des Hub
Les descripteurs USB:
- Types de Descripteurs
- Descripteur de périphériques
- Descripteur de Configuration
- Interface Descripteur d’interface
- Descripteur de « Endpoint »
- Chaîne de Descripteur
- Descripteur Microsoft OS
- Descripteurs 1.1 et 2.0
Travaux pratiques
- Analyse de transferts USB entre différents types de périphériques en temps réel
2ième Journée :
Control Transferts
- Etats
- gestion d’erreurs
- Firmware
- Les différentes requêtes de contrôle
Les composants USB
- les contrôleurs externes (FDTI FT2xx, Philips ISPxx81, etc…)
- les contrôleurs embarqués sur CPU 6/16 et 32bits (Microchip 18F4xxx, Cypress EZ_HOST, etc…)
- Firmware
- Les différentes requêtes de contrôle
Les classes de périphériques USB
- les contrôleurs externes (FDTI FT2xx, Philips ISPxx81, etc…)
- les contrôleurs embarqués sur CPU 6/16 et 32bits (Microchip 18F4xxx, Cypress EZ_HOST, etc…)
- Audio Device
- Chip/Smart Card Interface
- Communication Devices: Modems et réseaux
- Human Interface HID
- Mass Storage
- Test and Measurement
- Video
- etc…
On-The-Go : Double rôle Host et Device !
- Capabilities and Limits
- Requirements for an OTG Device
- The OTG Descriptor
- Feature Codes for HNP
- OTG Controller Chips (Philips ISP1x62, Cypress CY7C67200 EZ-OTG, …)
Travaux pratiques
- Création et gestion de descripteurs USB sur microcontrôleur 8 bits
- Mise en ouvre d’un périphérique de type HID
3ième Journée :
Développement de pilotes USB
- Options spécifiques pour les périphériques USB
- User et Kernel Modes
Windows Drivers Model WDM Drivers
- Drivers en couches
- Communication Flow
- Autres exemples
- Création d’un driver propriétaire
- Device Setup GUIDs
- Device Interface GUIDs
Installation et gestion d’un driver USB sous Microsoft Windows
- Device Manager
- Base de registre : clés Hardware, Class, Driver et Service
- Déclaration dans un fichier .INF
Reconnaissance et manipulation d’un périphérique sous Microsoft Windows
- API d’E/S
- Code « managé » et « non managé », Visual C++, visual Basic .NET …
- Obtention d’un GUID
- Ouverture et fermeture de communication
- Mise en œuvre d’une requête
- prise en charge de notification de branchement ou de débranchement d’un périphérique.
Travaux pratiques
- Création d’un driver propriétaire générique USB.
- Manipulation d’un périphérique USB depuis une application sous environnement Microsoft Visual studio
Participants
La formation USB est adaptée aux ingénieurs enélectronique embarquée et développeurs en informatique confrontés aux problèmes de la mise en œuvre de la technologie USB. Une maîtrise du langage C est préférable.
Modalités
- Durée : 3 jours
- Formateurs : Universitaires et Professionnels
Supports de formation
- Classeur de cours
- CD-ROM sources des exercices
Sessions spéciales
Organisation de session en inter-entreprises sur demande à partir de 4 personnes.
Possibilité de session en intra-entreprise (sur mesure).
Calendrier et tarifs, nous consulter