LES BUS NUMERIQUES Bus série

Slides:



Advertisements
Présentations similaires
Semaine 5 Couche Liaison de données Cours préparé par Marc Aubé
Advertisements

Mais vous comprenez qu’il s’agit d’une « tromperie ».
Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Licence pro MPCQ : Cours
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Institut Supérieur d'Informatique
Les numéros
Les identités remarquables
Protocole PPP* *Point-to-Point Protocol.
- Couche 4 - Couche transport. Sommaire 1) Caractéristiques de la couche transport 2) Les protocoles TCP & UDP 3) Méthode de connexion TCP.
USB Présentation du protocole Exemple de réalisation hardware
QUIZZ CANopen Industrial Automation - Customer View - Formation PhW - CANopen_quizz_fr 02/
Architecture de réseaux
Les éléments de mémorisation
Analyse fonctionnelle
LES TRANSMISSIONS DE DONNEES DANS LE SECTEUR INDUSTRIEL. ZOBRIST Julien TS1 ETA.
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Le Concept. Régulation électronique LonWorks communicante pour application poutre froide.
Exercice Trame Ethernet
SERABEC Simulation sauvetage aérien avec un Hercule C130. Départ de St-Honoré le 4 octobre Durée de vol 3 heures. Premier vol en Hercule pour les.
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
BUS de TERRAIN CANOPEN.
Prof : M.Trannoy - Professeur d'électrotechnique.
Le modèle O.S.I..
Gestion des Périphériques
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Serveurs Partagés Oracle
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Le drapeau canadien comme symbole de fierté nationale : une question de valeurs partagées Jack Jedwab Association détudes canadiennes 28 novembre 2012.
Session 7 1 IST/VIH/SIDA.
NOTE : Pour faire évoluer le diaporama, si le clic de souris ne fait rien utilisez les touches du clavier : Pg up Pg down.
TRANSMISSION DES DONNEES.
TRANSMISSION SÉRIE ASYNCHRONE Février 2008 JF VIENNE.
Fonction COMMUNIQUER les liaisons série
Titre : Implémentation des éléments finis sous Matlab
Distributed Queue Dual Bus
Chapitre 4.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
NOTE : Pour faire évoluer le diaporama, si le clic de souris ne fait rien utilisez les touches du clavier : Pg up Pg down.
Logiciel gratuit à télécharger à cette adresse :
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
TCP – Transmission Control Protocol
Nom:____________ Prénom: ___________
Gérer la sécurité des mots de passe et les ressources
Bus Universel en Série (USB – Universal Serial Bus)
KRIKORIAN Pierre HILMI Brahim
Les réseaux locaux virtuels : VLAN
LE BUS PCI 2ième partie: Les signaux Sommaire - Repère
Exemple de mise en oeuvre
PERI Master ACSI cours Gestion des Périphériques Année (Transparents de F. Dromard)
1. Introduction Le traitement informatisé de données requiert un dialogue, une communication entre l’homme et la machine, et parfois, entre plusieurs.
Système slow-control au LAPP
PERI Master ACSI cours Gestion des Périphériques Année (Transparents de F. Dromard)
1 LE BUS PCI 4 ième partie: L ’arbitrage Sommaire - Repère zQuatrième partie:L ’Arbitrage yPrincipes généraux yPrise du bus yChronogrammes ySynthèse yRetour.
Description d’une liaison série
GESTION DU BUS Hugo Descoubes - Octobre 2012 Universal Serial Bus.
Transcription de la présentation:

LES BUS NUMERIQUES Bus série Introduction au bus USB Cours_USB_02

INTRODUCTION AU BUS USB Sommaire Première partie: Objet et caractéristiques Deuxième partie: L ’architecture Troisième partie: Les paquets Quatrième partie: Les transactions Cinquième partie: Les trames Sixième partie: Les éléments connectés au bus Septième partie: USB On-The-Go (OTG)

INTRODUCTION AU BUS USB 1ière partie: Objet et caractéristiques Standard Initiative INTEL Développé par les industriels du monde PC: Compaq, HP, Intel, Lucent, Microsoft, Nec, Philips Vitesses de transmission: Versions 1.0 et 1.1 (1997): 12 Mbits/s € 100 - € 200 Canaux limités à 1,5 Mbps € 20 Version 2.0 (Avril 2000): 480 Mbits/s € 200 - € 800 USB On-The-Go (Décembre 2001) Échanges point à point Caractéristiques de base: Plug and play Jusqu ’à 127 périphériques

INTRODUCTION AU BUS USB 1ière partie: Objet et caractéristiques Le standard définit Les aspects mécaniques Les aspects électriques Le protocole Les différents types de transaction La gestion du bus La couche d ’interface de programmation

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Sommaire - Repère Première partie: L ’architecture Définitions Les aspects physiques La topologie Le protocole: Introduction Configuration système

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Définitions Interconnexion: Définit la manière dont les différents composants communiquent La topologie Les relations entre les différentes couches du protocole Les flux de données L ’organisation des transactions dans le domaine temporel Nœuds Le hôte (Host ou Root) Dispositif unique chargé d ’organiser le séquencement des échanges sur le bus Détecte la modification de la configuration du bus Gère les flux de données vers et en provenance des éléments USB Les Hubs: Points de regroupement et de connexion au bus (concentrateurs) 4 ou 7 ports d ’extension Les fonctions (Functions, Devices): Ne fait que répondre aux demandes du host 2 fonctions ne peuvent pas être connectées directement par un lien USB

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Les aspects physiques 3 vitesses: V2.0: 480 Mbits/s High speed V1.1 & V2.0: 12 Mbits/s Full speed V1.1 & V2.0: 1,5 Mbits/s Low speed Câble: 1 paire torsadée blindée [D+, D-] Adaptée 45  par rapport à la masse, 90  en différentiel Tension différentielle: 400 mV 1 paire d ’alimentation: 5V à la source Ports « High power »: fournissent 500 mA minimum Ports « Low power »: fournissent 100 mA minimum Les hubs doivent fournir 100 mA par port au minimum Les ports On-The-Go doivent fournir 8 mA minimum Longueur max: 5 m Les câbles utilisables pour les vitesses 12 et 480 Mbits/s peuvent être différents

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Les aspects physiques USB 1.1: 3 états possibles sur la paire différentielle État « J » D+ forcée à l ’état haut D- forcée à l ’état bas État par défaut du mode repos d ’un Device / Hub « Full Speed » Lorsque l ’émetteur est inhibé, les lignes de données sont forcées par des résistances État « K » D+ forcée à l ’état bas D- forcée à l ’état haut État par défaut du mode repos d ’un Device / Hub « Low Speed » Lorsque l ’émetteur est inhibé, les lignes de données sont forcées par des résistances État « SE0 » D+ et D- forcées à l ’état bas Indique qu ’il n’y a pas de Device connecté Aussi utilisé à la fin de chaque paquet sur une durée équivalente à la transmission de 2 bits (+ 1 bit état « J »): EOP Permet aussi d ’initialiser un RESET

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Les aspects physiques USB 1.1: Identification Par défaut, pas de Device connecté: État du bus SE0 La connexion d ’un Device est indiquée par la transition de l ’état SE0 à l ’état J ou K J: Full Speed Device K: Low Speed Device SE0 J: Device Full Speed D+ D- SE0 K: Device Low Speed D- D+

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Les aspects physiques Full Speed Device Low Speed Device

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Les aspects physiques USB 2.0: États possibles État « J »: D+ forcée à Haut et D- forcée à Bas État « K »: D+ forcée à Bas et D- forcée à Haut État « Repos » (idle): D+ et D- forcées à Bas Pas d ’état « SE0 » Remplacé par l ’état « repos » Pas de condition EOP (End of Packet) La fin du paquet est indiquée par la transition des états J/K à l ’état « Repos » USB 2.0: Identification Le Device se connecte en tant que Device Full Speed (J) Le Host initialise un reset du Device Protocole dédié (« Chirp ») Le Device fait osciller les lignes D+/D- de « J » à « K » Le hub ou le host - s ’il en est capable - répond de la même manière

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Les aspects physiques Codage: Non retour à 0 inversé (NRZI) 1 est représenté par « pas de changement » 0 est représenté par « un changement de niveau » Bit stuffing: Ajout d ’un « 0 » après 6 « 1 » consécutifs Pénalisation en temps maximum:  = Data * 8 * 7/6  = Data * 28/3 unité: périodes d ’horloge avec: Data: Nb d ’octets dans la transaction

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Les aspects physiques Enumération La connexion d ’un device est détectée par le Hub Le Hub renvoie l ’information vers le Host lorsqu ’il est interrogé par ce dernier (polling) Un Reset est initialisé pour le nouveau Device Un nouveau Device a toujours l ’adresse « réseau » 0 après un Reset Le Host requière les caractéristiques fonctionnelles via le endpoint « 0 » Le Host assigne une adresse réseau Le Host peut ensuite autoriser le fonctionnement du Device

INTRODUCTION AU BUS USB 2ième partie: L ’architecture La topologie En étoile et étagée, avec 1 hub au centre de chaque étoile Maximum 7 étages (« Tiers ») Chaque connexion est du type point à point Maximum 5 connexions entre le Root et le Hub le plus loin Un composant occupant 2 étages, il ne peut y avoir de hub dans la couche 7 mais seulement des fonctions

INTRODUCTION AU BUS USB 2ième partie: L ’architecture La topologie Mixage d ’éléments High speed et Full / Low speed Portions de bus Full / Low speed seulement HOST USB 2.0 HUB High Speed Fonction Full / Low speed 2 domaines de capacité 12 Mb/s Fonction High Speed HUB USB 1.1 Fonction Full / Low speed Portions de bus High speed seulement

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Le protocole: Introduction Bus de type Maître / Esclave: Le Host initialise et gère toutes les transmissions Pas d ’échange entre 2 nœuds autres que le host et un des nœuds Les échanges sont basés sur: des paquets: Ensembles d ’informations protocolaires et/ou de données des transactions, composées d ’un ou plusieurs paquets des trames ou microtrames: Consiste à organiser et à regrouper, dans le temps, l ’ensemble des transactions d ’une structure USB en fonction des priorités Les priorités sont essentiellement fonction des différents types de transactions USB 1.1 USB 2.2 Nb (micro)trames/s Trames: 1000 Microtrames: 8000 Octets/trames High Speed NA 7500 Full Speed: 1500 Low Speed 187,5

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Le protocole: Introduction Principe des transactions Jetons émis par le Host Données échangées Host/Fonctions et Fonctions/Host Transactions asynchrones Control des échanges de données par Handshake et Acknowledge Bit error rate < 10-10 CRC et possibilités de « Retry » Séquences Data0/Data1 Transactions isochrones Pas de mécanisme de « Retry » Handshake Data Transfer Token Data Transfer Token

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Le protocole: Introduction 1 transaction: Chaque transaction commence lorsque le Host émet un paquet appelé « Token Packet » ou jeton décrivant la transaction à suivre Échange d ’un paquet de données Entre le nœud et le Host dans le sens spécifié par le jeton Éventuellement, la source de la transaction répond qu ’il n ’a pas de données à émettre Émission, par le récepteur, d ’un paquet de handshake Les nœuds USB décodent eux mêmes leur adresse Endpoint: Sous-adresse d ’un élément USB Pipe: Canal entre le host (émission ou réception) et un endpoint d ’un nœud USB. Caractéristiques d ’un pipe (bande passante, services supportés…) transmises vers le hub dans le message « Default Control Pipe » dès la mise sous tension.

INTRODUCTION AU BUS USB 2ième partie: L ’architecture Configuration système Possibilité de raccorder ou de retirer un nœud « Fonction » n ’importe quand Les Hubs ont des bits dans un registre de statut dédiés à cet usage et envoyés vers le host En cas de détection d ’un nouveau nœud: 1iers échanges via le default pipe qui relie le host au default endpoint d ’adresse « 0 » Validation physique du port Détection du type de nœud (Hub ou Fonction) Attribution, par le Host d ’une adresse Si l ’élément connecté est un Hub associé à plusieurs fonctions: Même procédure pour chacune des fonctions En cas de suppression d ’un élément Même mécanisme de détection Inhibition du port

INTRODUCTION AU BUS USB 3ième partie: Les paquets Sommaire - Repère Troisième partie: Les paquets Principes communs, les différents types Les Champs communs Les Jetons ou Tokens Les paquets de données Les paquets de Handshake Les paquets spéciaux

INTRODUCTION AU BUS USB 3ième partie: Les paquets Principes communs, les différents types Toute transaction sur le bus implique de 1 à 3 paquets 4 types de paquets: Jeton (token) Données Handshake Spécial Les données sont émises sur le bus poids faibles (bits et octets) en 1ier

INTRODUCTION AU BUS USB 3ième partie: Les paquets Les Champs communs SYNCH: Tout paquet commence par un champ de synchronisation pour permettre au récepteur de se synchroniser Durée: - High Speed: 32 périodes d ’horloge - Low / Full Speed: 8 périodes d ’horloge EOP: - Low / Full Speed: Bus en état SEO pendant 3 périodes d ’horloge - High speed: Bus en mode « Idle » pendant 8 périodes d ’horloge Nota: - Ces 2 champs sont systématiquement présents même si, pour plus de clarté, ils n ’apparaissent pas dans les graphiques suivants - Lors des calculs des performances, il ne faut pas l ’oublier! PID: SYNCH est suivi par un Identificateur 4 bits + 4 bits de contrôle Les 4 bits de contrôle correspondent au complément à 1 des 4 1iers bits Indique: Type de paquet Format du paquet Type de détection d ’erreur

INTRODUCTION AU BUS USB 3ième partie: Les paquets Les Jetons ou Tokens 1ier paquet de toute transaction Le Host envoie des jetons à intervalle régulier Précise: Le type de la transaction à suivre Le sens de l ’échange L ’adresse et le endpoint de l ’élément USB concerné Les jetons sont émis en mode broadcast

INTRODUCTION AU BUS USB 3ième partie: Les paquets Les Jetons ou Tokens Composition d ’un jeton PID: Identificateur IN: Lecture d ’un nœud OUT: Écriture d ’un nœud SOF: Start of frame SETUP: Un paquet de données de commande / contrôle va être émis Il ne peut être ignoré Adresse: Maximum 127 nœuds adressables ENDP: Endpoint CRC: Détection d ’erreur 8 bits 7 bits 4 bits 5 bits IN / OUT / SETUP PID Adresse ENDP CRC

INTRODUCTION AU BUS USB 3ième partie: Les paquets Les paquets de Données Ils suivent les jetons de type IN, OUT, SETUP L ’émetteur d ’un paquet de données OUT ou SETUP est le host L ’émetteur d ’un paquet de données IN est un périphérique 4 Identificateurs PID ont été définis: DATA0: Paquet de données pair DATA1: Paquet de données impair DATA2: Paquet de données High speed, transaction isochrone à grande bande passante, trame de 125µs (microtrame) MDATA: Paquet de données High speed, transaction isochrone éclatée à grande bande passante Nombre maximum d ’octets: 1023 (High speed: 1024) 8 bits 0 à 1023 octets 16 bits PID Données CRC

INTRODUCTION AU BUS USB 3ième partie: Les paquets Les paquets de Handshake Consistent uniquement en un champ PID sur 8 bits Pas de CRC 5 Identificateurs ont été définis: ACK: Fin normal d ’un échange NAK Le Endpoint adressé n ’est pas en mesure d ’accepter les données ou de les transmettre 1 host ne peut jamais émettre de NAK: Il doit toujours être en état d ’émettre ou de recevoir des données STALL: Erreur, nécessite l ’envoi d ’un SETUP pour réinitialiser le nœud NYET: High speed transactions Utilisé avec les transactions PING et SPLIT ERR: Permet à un hub type High Speed de signaler une erreur sur un bus Low / Full speed

INTRODUCTION AU BUS USB 3ième partie: Les paquets Les paquets Spéciaux 4 Identificateurs PID ont été définis: PRE Jeton Initialise une transaction à faible débit SPLIT Jeton 4 octets Initialise une transaction éclatée (split transaction) PING Jeton Transaction High Speed. Permet de savoir si un endpoint peut accepter une transaction données OUT de taille max en entier Si oui Le endpoint renvoie un ACK Le host initialise une transaction donnée Si non, le endpoint renvoie un NAK Si le endpoint renvoie NYET, il a accepté toutes les données mais ne peut en recevoir d ’autres. Le host renvoie un jeton PING ERR Handshake Erreur signalée dans un paquet de handshake lors d ’une Split Transaction

INTRODUCTION AU BUS USB 4ième partie: Les transactions Sommaire - Repère Quatrième partie: Les transactions Principes communs, différents types Les transactions Bulk Les Transferts Contrôle Les transactions Interruption Les transactions Isochrones Les Split transactions Les aspects dynamiques

INTRODUCTION AU BUS USB 4ième partie: Les transactions Principes communs, différents types 4 types de transaction Bulk Contrôle Interrupt Isochronous Un endpoint ne supporte qu ’un type de transaction uniquement

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les transactions Bulk Transmission asynchrone Le host émet un jeton IN ou OUT Jeton « OUT »: Host  Device Le Host émet un jeton « OUT », suivi d ’un paquet avec un PID « DATA0 » Si le Endpoint a correctement reçu les données, il répond avec « ACK » Le Host envoie la donnée suivante (si besoin) avec un PID « DATA1 » Si le Endpoint n ’a pas correctement reçu les données: CRC est mauvais, erreur DATA0/DATA1, pas de réponse Endpoint Génération d ’un timeout Le Host retransmet les données en utilisant le même « DATAx » Jeton « IN »: Device  Host Même principe

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les transactions Bulk Nœud Host Synthèse des transactions Bulk: (*) Transaction OUT à haut débit uniquement Idle Jeton IN OUT PING (*) Data DATA0 / DATA 1 NAK STALL DATA0 / DATA 1 ACK NAK STALL Erreur Idle Idle Erreur Erreur Handshake ACK NYET (*) ACK NAK STALL Idle

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Transferts Contrôle Messages de commande ou de contrôle courts entre le host et un nœud Composées de: Phase Setup, utilisée pour transmettre les informations à la logique de contrôle du Endpoint Phase de données, non obligatoire Phase de Statut Phase Setup Similaire à une transaction Bulk de type « OUT » Paquet de donnée de type « DATA0 » Transmission OK: Handshake « ACK » Transmission non OK: Refus du jeton / des données Timeout

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Transferts Contrôle En cas de phase de données Transfert Contrôle Écriture: 1 ou + transactions similaires Bulk type « OUT » Transfert Contrôle Lecture: 1 ou + transactions similaires Bulk type « IN » Les données d ’une transaction Contrôle sont transmises dans un seul sens Le nombre de données est spécifié dans la phase Setup Le premier paquet de données est de type « DATA1 » Si le nœud ne peut pas accepter la commande, il répond avec « NAK » ou « STALL » Phase de Statut Dernière transaction de la séquence Permet de renvoyer au Host le résultat des phases précédentes. 3 possibilités: Commande exécutée correctement Commande mal exécutée ou non prise en compte Fonction adressée encore en cours d ’exécution de la commande

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Transferts Contrôle Phase de Statut (suite) Similaire au protocole d ’une transaction Bulk Phase signalée par un changement de direction des échanges de données Paquet de donnée de type « DATA1 » Transfert Contrôle Écriture: Token « IN » Statut renvoyé dans la phase Donnée Transfert Contrôle Lecture: Token « OUT » La Phase de données est constituée d ’un paquet « DATA1 » de longueur nulle Le Statut est renvoyé dans le Handshake

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Transferts Contrôle Phase de Statut: Synthèse Transaction Contrôle Lecture Transaction Contrôle Écriture Idle Jeton OUT IN PING (*) Data DATA 1 Longueur = 0 DATA1 Longueur = 0 NAK STALL Erreur Idle Erreur Handshake ACK NAK STALL NYET (*) Nœud Host Idle (*) Transaction OUT à haut débit uniquement

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Transferts Contrôle Synthèse des transactions Contrôle Phase SETUP Phase statut Phase de données Transfert contrôle en Écriture SETUP(0) OUT(1) OUT(0) OUT(0/1) IN(1) DATA0 DATA1 DATA0 DATA0/1 DATA1 Transfert contrôle en Lecture SETUP(0) IN(1) IN(0) IN(0/1) OUT(1) DATA0 DATA1 DATA0 DATA0/1 DATA1 Phase SETUP Phase statut Host Nœud Transfert contrôle sans data SETUP(0) IN(1) DATA0 DATA1

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les transactions Interruption Transactions initialisées par le Host uniquement Un nœud ne peut que émettre une requête de polling La fréquence est spécifiée pendant la phase d ’initialisation du pipe La taille des paquets est spécifiée pendant la phase d ’initialisation du pipe Une transaction Interruption peut être en lecture ou en écriture Transaction Interruption en Lecture: Le host émet un jeton « IN » Le nœud répond par un paquet de données si disponible « NAK » ou « STALL » dans le cas contraire Transaction Interruption en Écriture Le host émet un jeton « OUT » et les paquets de données Le nœud termine la transaction par « ACK » s ’il était prêt à recevoir les données et si elles sont bien reçues Nombre maximum de données: 64 octets (High speed: 1024)

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les transactions Interruption Transactions Interruption: Synthèse Idle Host Nœud Jeton IN OUT Data DATA0 / DATA 1 NAK STALL DATA0 / DATA 1 Idle Erreur Erreur ACK ACK NAK STALL Handshake Idle

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les transactions Isochrones Lectures ou écritures en fonction Nombre maximum de données: 1023 octets (High speed: 1024) Protocole similaire aux transactions Bulk mais Pas d ’accusés de réception (ACK) Pas de moyen de retransmissions des données erronées Paquets de données: Full speed endpoint: Réception: Peut accepter les types « DATA0 » et « DATA1 » Émission: N ’émet que des types « DATA0 » High speed endpoint: Existence d ’un CRC

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les transactions Isochrones Séquences Transactions Isochrones High Speed IN Device  HOST Séquences Transactions Isochrones High Speed OUT HOST  Device

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les transactions Isochrones Transactions Isochrones: Synthèse Idle Host Nœud Jeton IN OUT Data DATAx DATAx Erreur Erreur Idle

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Split transactions Permet de connecter des éléments Full et Low Speed à des Hubs de type High Speed Ces transactions ne concernent que les Hubs et le Host Elles sont transparentes pour les autres éléments connectés au Hub Le host commence une transaction vers une fonction Low / Full Speed via une transaction Host / Hub High Speed et ensuite continue d ’autres transactions High Speed sans avoir à attendre la fin de la transaction vers la fonction Low / Full Speed

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Split transactions Start-split transaction, jeton « SSPLIT » SSPLIT: 8 bits 7 bits 1 7 bits 1 1 2 bits 5 bits PID Adresse Hub SC Port S E ET CRC = 0 Type de endpoint 00: Contrôle 01: Isochronous 10: Bulk 11: Interrupt Indiquent le type de transaction, l ’état de celle ci (OUT) et la vitesse

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Split transactions Complete-split transaction, jeton « CSPLIT » CSPLIT: 8 bits 7 bits 1 7 bits 1 1 2 bits 5 bits PID Adresse Hub SC Port S U ET CRC = 1 Type de endpoint 00: Contrôle 01: Isochronous 10: Bulk 11: Interrupt Réserve =0 Vitesse

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Split transactions Exemple: Split transaction en relation avec une transaction d ’interruptions IN

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Split transactions Exemple: Split transaction en relation avec une transaction d ’interruptions OUT

INTRODUCTION AU BUS USB 4ième partie: Les transactions Les aspects dynamiques Les temps d ’attente s ’appellent des End Of Paquet: EOP Durée maximum: Elle prend en compte: Le durée des temps de propagation Les temps de transfert dans le Hub 16 périodes d ’horloge bus Au delà de ce délai: Timeout Le host renvoie un jeton Transaction OUT ou SETUP Jeton Données HS Attente du nœud adressé Attente du Host Transaction IN Jeton Données HS Attente du nœud adressé Attente du Host

INTRODUCTION AU BUS USB 5ième partie: Les trames Sommaire - Repère Cinquième partie: Les trames Principe général Format du Jeton SOF End Of Frame Organisation des trames

INTRODUCTION AU BUS USB 5ième partie: Les trames Principe général Les trames et microtrames permettent d ’agencer les transactions dans le temps Elles sont gérées par le Host Il génère les jetons SOF Cadence 1 ms si uniquement fonctions Full Speed Cadence 125 µs si fonction High Speed

INTRODUCTION AU BUS USB 5ième partie: Les trames Format du Jeton SOF Format d ’un jeton SOF N° de trame Trames Adresse sur 11 bits Transmission de 11 LSB Microtrames: Adresse sur 14 bits Transmission des bits 13 à 3 Le jeton SOF sera identique durant 8 microtrames consécutives 8 bits 7 bits 4 bits 5 bits SOF PID N° de trame CRC

INTRODUCTION AU BUS USB 5ième partie: Les trames End Of Frame EOF: End of Frame Le Host n ’initialise aucune transaction durant le EOF Les Hubs disposent d ’un circuits permettant de supprimer tout trafic sur le bus avant l ’envoi du SOF Après l ’émission du SOF, le Host peut émettre des jetons correspondant à des échanges de la trame précédente si nécessaire Génération des EOF Les Hubs disposent d ’un timer Microtrames: Plage: 59 904 à 60 096 high speed bits Trames: Plage: 11 958 à 12 042 full speed bits Synchronisation Microtrames / Trames: Avec la réception des jetons SOF

INTRODUCTION AU BUS USB 5ième partie: Les trames Organisation des trames Allocation des transactions, par ordre de priorité: Transactions isochrones: La durée allouée pour ces transactions est fixe Transactions « Interruption » Transferts « Contrôle » Transactions « Bulk » SOF Interrupt Contrôle Bulk Messages isochrones Trame: 1 ms _ Microtrame: 125 µs

INTRODUCTION AU BUS USB 6ième partie: Les éléments connectés au bus Sommaire - Repère Sixième partie: Les éléments connectés au bus Les endpoints (sous-adresses) Pipes et interfaces Le contrôle du bus: La machine d ’état Propriétés générales des nœuds et opérations

INTRODUCTION AU BUS USB 6ième partie: Les éléments connectés au bus Les endpoints (sous-adresses) Définition Sources et récepteurs de toutes les communications via USB Caractérisés par: Le type de transferts supportés Le besoin en bande passante (en cas de transactions isochrones) La fréquence des transactions interruptions (en cas de besoin) La taille maximum des paquets Note: Un Endpoint ne peut avoir qu ’un seul type de transaction Un nœud peut comporter jusqu ’à 16 Endpoints en entrée, et 16 en sortie Les nœuds à faible débit ont un nombre d ’Endpoints limité à 3 Les nœuds doivent avoir au moins un Endpoints. Il a le Numéro « 0 » Endpoint « 0 » est utilisé lors de la phase d ’initialisation pour fournir les informations de configuration Il est toujours défini comme un Endpoint pour les transferts de type « contrôle »

INTRODUCTION AU BUS USB 6ième partie: Les éléments connectés au bus Pipes et interfaces Canaux entre un Endpoint et le Host Ils sont crées pendant la phase de configuration Ils présentent les mêmes caractéristiques que le Endpoint auquel ils sont rattachés: Bande passante, Type de transaction, Taille des buffers... 2 types: Stream: Données sans structure particulière Message: Données qui correspondent à une structure définie Ex: commandes de configuration Tous les nœuds disposant d ’au moins 1 Endpoint (N°0), ils ont aussi au moins 1 pipe, appelé le « Default Pipe ». Il sert lors des phases d ’initialisation. Interface: Ensemble de Endpoints qui permettent de gérer les communications d ’une fonction complète

INTRODUCTION AU BUS USB 6ième partie: Les éléments connectés au bus Le contrôle du bus: La machine d ’état Définition des états Attached: Le nœud est relié au bus, L ’interface n ’est pas sous tension Powered: Le nœud est relié au bus et alimenté via un Hub Le nœud n ’a pas été initialisé Note: Les nœuds peuvent être alimentés extérieurement Default: Nœud relié au bus, alimenté et initialisé Pas encore d ’adresse, répond à l ’adresse par défaut « 0 » Address assigned: Nœud relié au bus, alimenté et initialisé, adresse unique sur 7 bits Configuration non faite, le nœud répond sur son « Default Pipe »

INTRODUCTION AU BUS USB 6ième partie: Les éléments connectés au bus Le contrôle du bus: La machine d ’état Configured: Le nœud est entièrement configuré par le host Il est entièrement opérationnel Suspended: État prévu pour limiter la consommation Les nœuds entrent dans cet état automatiquement La configuration reste vraie Cet état se termine dès la détection d ’une activité

INTRODUCTION AU BUS USB 6ième partie: Les éléments connectés au bus Propriétés générales des nœuds et opérations Hot swapping: Insertion et désinsertion sous tension Address assignement: Tous les nœuds doivent accepter de changer leur adresse sur demande du host Configuration: Tous les nœuds doivent répondre à une requête du host faite via le Default Pipe Les nœuds doivent pouvoir être configurés de manière à ce que le host puisse les mettre en œuvre Pendant cette phase, le host demande des paramètres descriptifs aux nœuds Ces paramètres sont des structures contenant des informations décrivant les fonctions du nœud Rappel: Le Default Pipe utilise les transferts contrôle

INTRODUCTION AU BUS USB 7ième partie: USB On-The-Go (OTG) Sommaire - Repère Septième partie: USB On-The-Go (OTG) Spécifications OTG Principe général de l ’OTG Devices capables de 2 rôles SRP: Protocole Session Request HNP: Protocole Host Negotiation

INTRODUCTION AU BUS USB 7ième partie: USB On-The-Go (OTG) Spécifications OTG Supporte toutes les vitesses Low Speed (1,5 Mbps) Full Speed (12 Mbps) En option High Speed (480 Mbps) Note: Les devices High Speed OTG ne sont pas actuellement supportés Fonction dual Host / Device Mini host, pilote 1 Device Se conduit comme une Fonction standard de Contrôleur Protocole dédié Host Negotiation Protocol (HNP) Session Request Protocol (SRP) Nouveau mini-connecteur

INTRODUCTION AU BUS USB 7ième partie: USB On-The-Go (OTG) Principe général de l ’OTG Topologie: Connection directe 2 devices maximum 1 device OTG peut se comporter comme un Host vis à vis de tout device Full Speed Transactions 12Mbps, 1.5Mbps Transactions types Toutes celles définies dans la norme 2.0 Protocole « Host Negotiation » Protocole « Session Request »

INTRODUCTION AU BUS USB 7ième partie: USB On-The-Go (OTG) Devices capables de 2 rôles 100% compatible Device Dispose aussi de capacités (limitées) Host Alimentation: 4 mA Support de la fonction Host optionnel Initialement pour un Device unique vers un autre Device Peut disposer des fonctionnalités Host complètes Protocole USB: L ’un des Devices doit agir comme un Host

INTRODUCTION AU BUS USB 7ième partie: USB On-The-Go (OTG) SRP: Protocole Session Request Autorise le Host OTG à couper le bus USB pour limiter la consommation Le Device Esclave peut demander une nouvelle session en utilisant 1 des 2 méthodes Le Host OTG peut aussi initialiser une session en ré-appliquant l’alimentation Data Line Pulsing L’Esclave attend que le bus USB devienne inactif (L’alimentation tombe sous une valeur pré-déterminée) L’esclave force la ligne D+ à l’état haut Le Host détecte ce forçage et ré-applique l’alimentation VBUS Pulsing Similaire au cas précédent mais utilise la ligne d’alimentation du bus USB L’esclave attend que l’alimentation tombe sous un seuil pré-déterminé L’esclave force un courant dans le câble VBUS USB Ce courant a une valeur pré-déterminée et génère une tension telle qu’un Host non compatible de ce protocole ne soit pas détérioré Un Host détecte la tension et ré-alimente le bus

INTRODUCTION AU BUS USB 7ième partie: USB On-The-Go (OTG) HNP: Protocole Host Negotiation Basé sur les caractéristiques physique du câble 2 Devices capable des fonctionnalités Maître / Esclave Câble Mini-A / mini-B L’esclave par défaut (mini-B) cherche à initialiser un échange L’Esclave se déconnecte L’Esclave effectue un Reset et émet un SOF Le Device initialement Esclave devient Maître Le nouveau Maître entame une phase d’énumération et initialise l’activité sur le bus Lorsque terminé, le nouveau Maître suspend l’activité sur le bus Le Maître initial reprend son rôle de Maître