Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
LES BUS NUMERIQUES Bus série
Introduction au bus USB Cours_USB_02
2
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)
3
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 € € Canaux limités à 1,5 Mbps € 20 Version 2.0 (Avril 2000): 480 Mbits/s € € 800 USB On-The-Go (Décembre 2001) Échanges point à point Caractéristiques de base: Plug and play Jusqu ’à 127 périphériques
4
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
5
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
6
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
7
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
8
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
9
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+
10
INTRODUCTION AU BUS USB 2ième partie: L ’architecture Les aspects physiques
Full Speed Device Low Speed Device
11
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
12
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
13
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
14
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
15
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
16
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 Full Speed: 1500 Low Speed 187,5
17
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
18
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.
19
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
20
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
21
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
22
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
23
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
24
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
25
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
26
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
27
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
28
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
29
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
30
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
31
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
32
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
33
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
34
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
35
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
36
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
37
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)
38
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
39
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
40
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
41
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
42
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
43
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
44
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
45
INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Split transactions
Exemple: Split transaction en relation avec une transaction d ’interruptions IN
46
INTRODUCTION AU BUS USB 4ième partie: Les transactions Les Split transactions
Exemple: Split transaction en relation avec une transaction d ’interruptions OUT
47
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
48
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
49
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
50
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
51
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: à high speed bits Trames: Plage: à full speed bits Synchronisation Microtrames / Trames: Avec la réception des jetons SOF
52
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
53
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
54
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 »
55
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
56
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 »
57
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é
58
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
59
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
60
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
61
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 »
62
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
63
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
64
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.