Menu English Ukrainian Russe ACCUEIL

Bibliothèque technique gratuite pour les amateurs et les professionnels Bibliothèque technique gratuite


ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE
Bibliothèque gratuite / Schémas des appareils radio-électroniques et électriques

Bus USB et FireWire. Encyclopédie de l'électronique radio et de l'électrotechnique

Bibliothèque technique gratuite

Encyclopédie de l'électronique radio et de l'électrotechnique / ordinateurs

Commentaires sur l'article Commentaires sur l'article

USB (Universal Serial Bus - Universal Serial Bus) est une extension standard de l'industrie de l'architecture PC, axée sur l'intégration avec les appareils de téléphonie et d'électronique grand public. La version 1.0 a été publiée en janvier 1996.

L'architecture USB est définie par les critères suivants :

  • Extension facile à mettre en œuvre des périphériques PC
  • Solution à faible coût prenant en charge des taux de transfert jusqu'à 12 Mbps
  • Prise en charge complète de la transmission en temps réel de données audio et vidéo (compressées)
  • Flexibilité d'un protocole pour mélanger des données isochrones et des messages asynchrones
  • Intégration avec les appareils fabriqués. Disponibilité dans les PC de toutes configurations et tailles
  • Fournir une interface standard capable de conquérir rapidement le marché
  • Création de nouvelles classes d'appareils qui étendent le PC

Du point de vue de l'utilisateur final, les caractéristiques suivantes de l'USB sont attrayantes :

  • Facilité de câblage et de connexions
  • Masquer les détails de la connexion électrique à l'utilisateur final
  • Unités centrales auto-identifiantes, communication automatique des appareils avec les pilotes et la configuration
  • Possibilité de se connecter et de configurer dynamiquement PU

Depuis la mi-1996, les PC sont produits avec un contrôleur USB intégré mis en œuvre par le chipset. Des modems, des claviers, des scanners, des haut-parleurs et d'autres périphériques d'entrée/sortie compatibles USB devraient faire leur apparition, ainsi que des moniteurs avec des adaptateurs USB, ils joueront le rôle de hubs pour connecter d'autres périphériques.

1.1. Structure USB

L'USB permet l'échange simultané de données entre serveur et beaucoup périphériques (PU). La répartition de la bande passante du bus entre les PU est planifiée par l'hôte et mise en œuvre par celui-ci en envoyant des jetons. Le bus vous permet de connecter, configurer, utiliser et déconnecter des périphériques pendant que l'hôte et les périphériques eux-mêmes fonctionnent.

Ce qui suit est la traduction d'un auteur des termes de la "Universal Serial Bus Specification. Revision IOJanuary 15, 1996" publiée par Compaq, DEC, IBM, Intel, Microsoft, NEC et Northern Telecom. Des informations plus détaillées et à jour sont disponibles sur usb.org.

Dispositifs Les USB peuvent être des concentrateurs, des fonctions ou une combinaison des deux. Centre (Hub) fournit des points de connexion supplémentaires pour les appareils sur le bus. Les fonctions L'USB fournit des fonctionnalités supplémentaires au système, telles que la connexion RNIS, le joystick numérique, les haut-parleurs d'interface numérique, etc. Le périphérique USB doit avoir une interface USB qui prend entièrement en charge le protocole USB, effectue des opérations standard (configuration et réinitialisation) et fournit des informations décrivant appareil. De nombreux appareils connectés à USB ont à la fois un concentrateur et des fonctions. Le fonctionnement de l'ensemble du système USB est contrôlé par contrôleur hôte (Host Controller), qui est un sous-système matériel et logiciel de l'ordinateur hôte.

Connexion physique dispositifs est réalisée selon la topologie d'un multi-tiers les étoiles. Le centre de chaque étoile est centre, chaque segment de câble connecte deux points de concentrateur à un autre concentrateur ou fonction. Le système a un (et un seul) contrôleur hôte, situé au sommet de la pyramide des appareils et des hubs. Le contrôleur hôte s'intègre à concentrateur racine (Root Hub), fournissant un ou plusieurs points de connexion ports. Le contrôleur USB inclus dans les chipsets a généralement un hub à deux ports intégré. Logiquement, un appareil connecté à n'importe quel hub USB et configuré (voir ci-dessous) peut être considéré comme étant directement connecté au contrôleur hôte.

fonctions sont des appareils capables de transmettre ou de recevoir des données ou des informations de contrôle sur un bus. En règle générale, les fonctions sont des unités centrales séparées avec un câble connecté au port du concentrateur. Physiquement, dans un cas, il peut y avoir plusieurs fonctions avec un hub intégré qui fournit leur connexion à un port. Ces appareils hôtes combinés sont des concentrateurs avec des appareils fonctionnels connectés en permanence.

Chaque fonction fournit des informations de configuration décrivant les capacités et les besoins en ressources de l'unité centrale. La fonction doit être configurée par l'hôte avant de pouvoir être utilisée, il faut lui allouer une bande passante de canal et des options de configuration sélectionnées.

Voici des exemples de fonctions :

Pointeurs souris, tablette, stylet lumineux. Périphériques d'entrée clavier ou scanner.

Imprimante périphérique de sortie, haut-parleurs (numériques).

Adaptateur téléphonique RNIS

Centre un élément clé du système RnP dans l'architecture USB. Le concentrateur est un concentrateur de câble. Les points de connexion sont appelés ports moyeu. Chaque hub transforme un point de connexion en plusieurs. L'architecture permet la connexion de plusieurs hubs.

Chaque hub a un port amont conçu pour se connecter à un hôte ou un hub de niveau supérieur. Le reste des ports sont en aval (ports en aval), conçu pour connecter des fonctions ou des hubs de niveau inférieur. Le concentrateur peut reconnaître la connexion des appareils aux ports ou leur déconnexion et gérer l'alimentation de leurs segments. Chaque port peut être activé ou désactivé et configuré pour des débits en bauds complets ou limités. Le concentrateur permet d'isoler les segments à faible vitesse des segments à grande vitesse.

Les concentrateurs peuvent contrôler l'alimentation des ports en aval ; prévoit de fixer une limite au courant consommé par chaque port.

Bus USB et FireWire

Système USB est divisé en trois niveaux avec certaines règles d'interaction. Le dispositif USB contient une partie interface, une partie dispositif et une partie fonctionnelle. L'hôte est également divisé en trois parties : l'interface, le système et le logiciel de l'appareil. Chaque partie n'est responsable que d'une certaine gamme de tâches, l'interaction logique et réelle entre elles est illustrée à la Fig. 7.1.

La structure envisagée comprend les éléments suivants :

Périphérique USB physique un dispositif sur le bus qui exécute des fonctions d'intérêt pour l'utilisateur final.

Logiciel client Logiciel spécifique à l'appareil s'exécutant sur un ordinateur hôte. Peut être une partie intégrante du système d'exploitation ou un produit spécial.

Logiciel système USB Prise en charge du système USB indépendamment des périphériques spécifiques et du logiciel client.

Contrôleur d'hôte USB matériel et logiciel pour connecter des périphériques USB à l'ordinateur hôte.

Interface physique

La norme USB définit les spécifications électriques et mécaniques du bus.

Les signaux d'information et une tension d'alimentation de 5 V sont transmis via un câble à quatre fils. La méthode différentielle de transmission des signaux D+ et D sur deux fils est utilisée. Les niveaux de signal statique de l'émetteur doivent être inférieurs à 0,3 V (faible) ou supérieurs à 2,8 V (élevé). Les récepteurs supportent une tension d'entrée comprise entre 0,5 et +3,8 V. Les émetteurs doivent pouvoir passer à un état à haute impédance pour une transmission semi-duplex bidirectionnelle sur une seule paire de fils.

La transmission à deux fils en USB ne se limite pas aux signaux différentiels. En plus du récepteur différentiel, chaque appareil dispose de récepteurs de ligne D+ et D-, et les émetteurs de ces lignes sont contrôlés individuellement. Cela permet de distinguer plus de deux états de ligne utilisés pour organiser une interface matérielle. États DiffO и Diff1 sont déterminés par la différence de potentiel sur les lignes D+ et D supérieure à 200 mV, à condition que sur l'une d'elles le potentiel soit supérieur au seuil VSE. La condition dans laquelle les deux entrées D+ et D sont basses est appelée zéro linéaire (SEO Single-Ended Zero). L'interface définit les états suivants :

État des donnéesJ и Données à l'état état du bit transmis (ou simplement J и À), défini via des états DiffO и Diff1.

État de repos arrêt d'autobus.

État récapitulatif signal de réveil pour sortir l'appareil du mode veille.

Début de paquet (SOP) début de paquet (saut de État inactif en K).

Fin de paquet (EOP) fin de colis.

Disconnect l'appareil est déconnecté du port.

NOUS CONTACTER l'appareil est connecté au port.

Réinitialiser réinitialisation de l'appareil.

Les états sont déterminés par des combinaisons de signaux différentiels et linéaires ; pour les conditions de pleine et basse vitesse DiffO и Diff1 ont le but opposé. En état de décodage Déconnectez-vous, connectez-vous и Réinitialiser le temps passé par les lignes (plus de 2,5 ms) dans certains états est pris en compte.

Le bus a deux modes de transmission. pleine vitesse La signalisation USB est de 12 Mbps, bas 1,5 Mbit/s. Pour la pleine vitesse, une paire torsadée blindée avec une impédance de 90 ohms et une longueur de segment allant jusqu'à 5 m est utilisée, pour un câble non blindé non blindé jusqu'à 3 m.Les câbles et appareils à faible vitesse sont moins chers que ceux à grande vitesse. Le même système peut utiliser les deux modes en même temps ;

la commutation des appareils est transparente. La basse vitesse est conçue pour fonctionner avec un petit nombre de lanceurs qui ne nécessitent pas de grande vitesse.

La vitesse utilisée par l'appareil connecté à un port particulier est déterminée par le concentrateur par les niveaux des signaux sur les lignes D+ et D-, polarisés par les résistances de terminaison R2 des émetteurs-récepteurs (voir les figures 7.2 et 7.3).

Les signaux de synchronisation sont codés avec les données à l'aide de la méthode NRZI (Non Retour à Zéro Inversion), son travail est illustré dans la Fig. 7.4. Chaque paquet est précédé d'un champ de synchronisation SYNCHRONISATION, permettant au récepteur de syntoniser la fréquence de l'émetteur.

Le câble dispose également de lignes VBus et GND pour acheminer l'alimentation 5V vers les appareils. La section des conducteurs est choisie en fonction de la longueur du segment pour garantir un niveau de signal et une tension d'alimentation garantis.

Bus USB et FireWire
Riz. 7.4. Codage des données NRZI

La norme définit deux types de connecteurs (Voir Tableau 7.1 et Figure 7.5).
contact Chaîne contact Chaîne
1 VBus 3 D+
2 D- 4 GND

Connecteurs de type "A" utilisé pour se connecter aux hubs (connecteur amont). Les prises sont installées sur des câbles qui ne sont pas déconnectés des appareils (par exemple, clavier, souris, etc.). Les nids sont installés sur les ports en aval (Port en aval) moyeux.

Connecteurs type "B" (Connecteur en aval) installé sur des appareils dont le câble de connexion peut être détaché (imprimantes et scanners). La pièce d'accouplement (fiche) est installée sur le câble de connexion, dont l'extrémité opposée possède une fiche de type "A".

Les connecteurs de types "A" et "B" diffèrent mécaniquement (Fig. 7.5), ce qui élimine les connexions en boucle invalides des ports du concentrateur. Les connecteurs à quatre broches sont codés pour éviter les erreurs de connexion. La conception des connecteurs permet une connexion tardive et une déconnexion précoce des circuits de signal par rapport aux circuits d'alimentation. Pour reconnaître le connecteur USB, une désignation symbolique standard est placée sur le boîtier de l'appareil.

Bus USB et FireWire
Riz. 7.5. Prises USB : une de type « A », б tapez "B", dans la désignation symbolique

Alimentation de l'appareil USB possible du câble (appareils alimentés par bus) ou de votre propre alimentation (Appareils auto-alimentés). L'hôte alimente les unités centrales qui lui sont directement connectées. Chaque concentrateur, à son tour, alimente les appareils connectés à ses ports en aval. Avec certaines restrictions de topologie, l'utilisation de concentrateurs alimentés par bus est autorisée. Sur la fig. 7.6 montre un exemple de schéma de connexion d'un périphérique USB. Ici, le clavier, le stylet et la souris peuvent être alimentés par bus.

Bus USB et FireWire

Modèle de transfert de données

Chaque périphérique USB est un ensemble de points finaux (Endpoint), s lequel le contrôleur hôte échange des informations. Les points de terminaison sont décrits par les paramètres suivants :

la fréquence requise d'accès aux autobus et les retards de service admissibles;

bande passante de canal requise ;

numéro de point ;

exigences de gestion des erreurs ;

tailles maximales des paquets transmis et reçus ;

type d'échange ;

sens d'échange (pour les échanges continus et isochrones).

Chaque appareil a nécessairement un endpoint numéroté 0, utilisé pour l'initialisation, le contrôle général et l'interrogation de son état. Ce point est toujours configuré lorsque l'appareil est sous tension et connecté au bus. Il prend en charge les transferts "de contrôle" (voir ci-dessous).

En plus du point zéro, les dispositifs de fonction peuvent avoir des points supplémentaires qui mettent en œuvre un échange de données utile. Les appareils à basse vitesse peuvent avoir jusqu'à deux points supplémentaires, les appareils à pleine vitesse jusqu'à 16 points d'entrée et 16 points de sortie (limitation du protocole). Les points ne peuvent pas être utilisés tant qu'ils n'ont pas été configurés (un canal leur correspondant a été établi).

Canal {Tuyau) USB fait référence au modèle de transfert de données entre le contrôleur hôte et le point de terminaison (Point final) dispositifs. Il existe deux types de canaux : les flux (Flux) et messages (message). Couler délivre des données d'un bout à l'autre du canal, il est toujours unidirectionnel. Le même numéro de point de terminaison peut être utilisé pour deux canaux de flux d'entrée et de sortie. Un thread peut implémenter les types d'échange suivants : continu, isochrone et interruptions. La livraison s'effectue toujours dans l'ordre premier entré, premier sorti (FIFO) ; du point de vue USB, les données de flux ne sont pas structurées. Messages sont au format défini par la spécification USB. L'hôte envoie une demande au point de terminaison, après quoi un paquet de message est transmis (reçu), suivi d'un paquet contenant des informations sur l'état du point de terminaison. Un message suivant ne peut normalement pas être envoyé tant que le précédent n'a pas été traité, mais les messages non gérés peuvent être ignorés lors du traitement des erreurs. La messagerie bidirectionnelle est adressée au même point de terminaison. Pour la livraison des messages, seul un échange de type "contrôle" est utilisé.

Les canaux ont des caractéristiques associées au point d'extrémité (bande passante, type de service, taille de la mémoire tampon, etc.). Les canaux sont établis lors de la configuration des périphériques USB. Il existe un canal de message pour chaque appareil activé (Tuyau de commande 0), par lequel les informations de configuration, de contrôle et d'état sont transmises.

Types de transfert de données

L'USB prend en charge les modes de communication unidirectionnel et bidirectionnel. Les données sont transférées entre le logiciel hôte et le terminal de l'appareil. L'appareil peut avoir plusieurs terminaux, la communication avec chacun d'eux (canal) est établie indépendamment.

L'architecture USB permet quatre types de base de transfert de données :

Transferts de contrôle, utilisé pour la configuration lors de la connexion et pendant le fonctionnement pour contrôler les appareils. Le protocole fournit une livraison de données garantie. La longueur du champ de données du message de contrôle ne dépasse pas 64 octets à pleine vitesse et 8 octets à basse vitesse.

Transferts de données en masse colis relativement volumineux sans exigences strictes de délai de livraison. Les transmissions occupent toute la bande passante libre du bus. Les paquets ont un champ de données de 8, 16, 32 ou 64 octets. Ces transferts ont la priorité la plus basse et peuvent être suspendus si le bus est fortement chargé. Autorisé uniquement à plein débit en bauds.

Interruptions transferts courts (jusqu'à 64 octets à pleine vitesse, jusqu'à 8 octets à bas) tels que des caractères d'entrée ou des coordonnées. Les interruptions sont spontanées et ne doivent pas être traitées plus lentement que l'appareil ne l'exige. La limite de temps de service est définie dans la plage de 1 à 255 ms pour la pleine vitesse et de 10 à 255 ms pour la basse.

Transferts isochrones transmissions continues en temps réel occupant une partie pré-négociée de la bande passante du bus et ayant un délai de livraison donné. Si une erreur est détectée, les données isochrones sont transmises sans nouvelle tentative, les paquets invalides sont ignorés. Un exemple est la transmission vocale numérique. La bande passante est déterminée par les exigences de qualité de transmission, et le délai de livraison peut être critique, par exemple, lors de la mise en œuvre d'une téléconférence.

La bande passante du bus est partagée entre tous les canaux installés. La bande passante allouée est affectée au canal, et si l'établissement d'un nouveau canal nécessite une bande passante qui ne rentre pas dans une allocation déjà existante, la demande d'allocation de canal est rejetée.

L'architecture US B prévoit une mise en mémoire tampon interne de tous les périphériques, et plus un périphérique nécessite de bande passante, plus sa mémoire tampon doit être grande. L'USB doit pouvoir transférer à une vitesse telle que le retard de données dans l'appareil causé par la mise en mémoire tampon ne dépasse pas quelques millisecondes.

Les transferts isochrones sont classés selon la façon dont les terminaux des sources ou des destinataires de données sont synchronisés avec le système : il existe des classes d'appareils asynchrones, synchrones et adaptatifs, chacun ayant son propre type de canal USB.

Protocole

Tous les échanges (transactions) via USB se composent de trois packages. Chaque transaction programmé et initié par le contrôleur, qui envoie paquet de jetons {Paquet de jetons). Il décrit le type et la direction du transfert, l'adresse du périphérique USB et le numéro du point de terminaison. Dans chaque transaction, seul l'échange entre l'équipement adressé (son endpoint) et l'hôte est possible. L'appareil adressé par le jeton reconnaît son adresse et se prépare à l'échange. La source de données (identifiée par le jeton) transmet un paquet de données (ou une notification indiquant qu'il n'y a pas de données à transmettre). Après avoir reçu le paquet avec succès, le récepteur de données envoie paquet d'accusé de réception (paquet de prise de contact).

La planification des transactions fournit une gestion des canaux de flux. Au niveau matériel, l'utilisation de l'abandon de transaction (NAcquitté) empêche les tampons de déborder d'en haut et d'en bas si le débit de transmission n'est pas valide. Les jetons de transaction abandonnés sont retransmis au moment du bus. Le contrôle de flux permet une planification flexible des services pour des flux de données hétérogènes simultanés.

Tolérance aux erreurs fournissent les fonctionnalités USB suivantes :

Haute qualité de signal obtenue avec des récepteurs/émetteurs différentiels et des câbles blindés.

Protection des champs de contrôle et des données avec des codes CRC.

Détection de la connexion et de la déconnexion des appareils et configuration des ressources au niveau du système.

Protocole d'auto-guérison avec délai d'attente en cas de perte de paquets.

Contrôle de flux pour l'isochronisme et la gestion du tampon matériel.

Indépendance des fonctions vis-à-vis des échanges infructueux avec d'autres fonctions.

Pour détecter les erreurs de transmission, chaque paquet a des champs de contrôle CRC pour détecter toutes les erreurs de bit simple et double. Le matériel détecte les erreurs de transmission et le contrôleur tente automatiquement la transmission trois fois. Si les tentatives échouent, un message d'erreur est transmis au logiciel client.

Formats d'emballage

Les octets sont transférés séquentiellement sur le bus, le bit le moins significatif en premier. Tous les colis sont organisés en colis. Chaque paquet commence par un champ Sync, qui est représenté par une séquence d'états KJKJKJKK (encodé NRZI) suivant l'état Inactif. Deux derniers morceaux (QC) sont le marqueur de début de paquet SOP utilisé pour identifier le premier bit de l'identificateur de paquet PID L'ID de paquet est un champ de 4 bits PID[3:0], identifiant le type de paquet (tableau 7.2), suivi des mêmes 4 bits que les bits de contrôle, mais inversés.
Type de PID Nom PID PID[3:0] Contenu et objectif
Token ARCHIVER 0001 Adresse de fonction et numéro de point final Marqueur de transaction de fonction
Token IN 1001 Adresse de fonction et numéro de point de terminaison jeton de transaction hôte
Token SOF 0101 Marqueur d'image de début
Token SETUP 1101 Marqueur de transaction de point de contrôle d'adresse de fonction et de point final
Données DataO Datal +0011 (1011)XNUMX XNUMX Les paquets de données PID pairs et impairs sont entrelacés pour identifier avec précision les accusés de réception
Poignée de main ack 0010 Confirmation de la réception sans erreur des paquets
Poignée de main NAK 1010 Le récepteur n'a pas réussi à recevoir ou l'émetteur n'a pas réussi à transmettre les données. Peut être utilisé pour le contrôle du flux de données (pas prêt). Dans les transactions d'interruption, c'est un signe qu'il n'y a pas d'interruptions non gérées.
Poignée de main STALL 1110 Le point de terminaison nécessite l'intervention de l'hôte
# PRE 1100 Préambule à faible débit

Dans des sacs marqueurs IN, CONFIGURATION и ARCHIVER les suivants sont champs d'adresse : Adresse de fonction 7 bits et adresse de point final 4 bits. Ils permettent d'adresser jusqu'à 127 fonctions USB (l'adresse zéro est utilisée pour la configuration) et 16 terminaux par fonction.

Le paquet SOF a un 11 bits champ de numéro de trame (Frame Number Field), séquentiellement (cycliquement) augmenté pour la trame suivante.

Champ de données peut être de 0 à 1023 octets entiers. La taille du champ dépend du type de transmission et est négociée lorsque le canal est établi.

Champ sks-cola présent dans tous les jetons et paquets de données, il protège tous les champs du paquet sauf PID Les CRC pour les marqueurs (5 bits) et les données (11 bits) sont calculés à l'aide de différentes formules.

Chaque transaction est initiée par le contrôleur hôte en envoyant un jeton et se termine par un paquet de prise de contact. La séquence des paquets dans les transactions est illustrée à la Fig. 7.7.

Le contrôleur hôte organise les échanges avec les équipements en fonction de son plan d'allocation des ressources. Le contrôleur génère cycliquement (avec une période de 1 ms) cadres (Cadres), qui incluent toutes les transactions planifiées. Chaque trame commence par un jeton SOF. (début de trame) qui est le signal d'horloge pour tous les appareils, y compris les concentrateurs. A la fin de chaque trame, un intervalle de temps est alloué EOF (fin de trame) pendant laquelle les hubs interdisent la transmission vers le contrôleur. Chaque cadre a son propre numéro. Le contrôleur hôte fonctionne sur un compteur 32 bits, mais ne transmet que les 11 bits inférieurs du jeton SOF. Le numéro de trame est incrémenté (cycliquement) pendant EOF. L'hôte planifie le chargement des trames afin qu'elles aient toujours de la place pour les transactions de contrôle et d'interruption. Le temps de trame libre peut être rempli de transmissions solides (Transferts groupés).

Bus USB et FireWire


Riz. 7.8. Flux de trame USB

Pour transmission isochrone La synchronisation entre les appareils et le contrôleur est importante. Il y a trois options :

synchronisation du générateur interne de l'appareil avec les marqueurs SOF ;

ajuster la fréquence d'images à la fréquence de l'appareil ;

faire correspondre le débit de transmission (réception) de l'appareil avec la fréquence d'images.

Le réglage de la fréquence d'images du contrôleur est bien sûr possible sous la fréquence de la synchronisation interne d'un seul appareil. Le réglage est effectué via un mécanisme de rétroaction, qui vous permet de modifier la période de la trame dans un intervalle de ± 1 bit.

1.2. Configuration du système

L'USB prend en charge la connexion et la déconnexion dynamiques des périphériques. La numérotation des périphériques de bus est un processus continu qui assure le suivi des modifications de la topologie physique.

Tous les appareils sont connectés via des ports hub. Les concentrateurs détectent la connexion et la déconnexion des appareils à leurs ports et signalent l'état des ports à la demande du contrôleur. L'hôte active le port et adresse le périphérique via le canal de contrôle à l'aide de Zéro adresse USB par défaut. Lors de la première connexion ou après une réinitialisation, tous les appareils sont adressés de cette manière.

L'hôte détermine si le périphérique nouvellement connecté est un concentrateur ou une fonctionnalité et l'attribue adresse unique USB. L'hôte crée un canal de contrôle (tuyau de commande) avec cet appareil en utilisant l'adresse attribuée et le numéro de destination zéro.

Si le nouveau périphérique est un concentrateur, l'hôte détermine les périphériques qui y sont connectés, leur attribue des adresses et définit

verse des canaux. Si le nouveau périphérique est une fonctionnalité, la notification de connexion est transmise par le gestionnaire USB au logiciel concerné.

Lorsqu'un appareil est déconnecté, le concentrateur désactive automatiquement le port correspondant et signale la déconnexion au contrôleur, qui supprime les informations sur cet appareil de toutes les structures de données. Si le concentrateur est désactivé, le processus de suppression est effectué pour tous les appareils qui y sont connectés. Si une fonctionnalité est désactivée, une notification est envoyée au logiciel concerné.

numérotation des appareils, connecté au bus (énumération des bus), exécutés dynamiquement lorsqu'ils sont connectés (ou mis sous tension) sans aucune intervention de l'utilisateur ou du logiciel client. La procédure de numérotation est la suivante :

1. Le concentrateur auquel l'appareil s'est connecté informe l'hôte du changement d'état de son port en répondant à une interrogation d'état. A partir de ce moment, l'appareil passe à l'état Attached (connecté) et le port auquel il s'est connecté à l'état Désactivé.

2. L'hôte vérifie l'état du port.

3. Après avoir appris le port auquel le nouveau périphérique est connecté, l'hôte émet une commande pour réinitialiser et activer le port.

4. Le hub génère un signal Reset pour ce port (10 ms) et le met dans l'état Activée. L'appareil connecté peut tirer jusqu'à 100 mA du bus. L'appareil passe à l'état Propulsé (mise sous tension), tous ses registres sont réinitialisés et il répond à l'adresse zéro.

5. Jusqu'à ce que l'appareil reçoive une adresse unique, celle-ci est disponible sur le canal de surveillance, par lequel le contrôleur hôte détermine la taille maximale autorisée du champ de données du paquet.

6. L'hôte indique à l'appareil son adresse unique et il est mis dans l'état Adressée (adressée à).

7. L'hôte lit la configuration de l'appareil, y compris la consommation de courant déclarée du bus. La lecture peut prendre plusieurs images.

8. Sur la base des informations reçues, l'hôte configure tous les terminaux disponibles de cet appareil, qui est transféré à l'état Configuré (configuré). Désormais, le concentrateur permet à l'appareil de consommer le courant complet déclaré dans la configuration à partir du bus. L'appareil est prêt.

Lorsqu'un périphérique est déconnecté du bus, le concentrateur avertit l'hôte et le port est désactivé et l'hôte met à jour ses informations de topologie actuelles.

1.3. Fonctionnalités et concentrateurs des périphériques USB

Les capacités de bus USB vous permettent de l'utiliser pour connecter une variété d'appareils. Sans toucher aux propriétés "utiles" des PU, intéressons-nous à leur partie interface associée au bus USB. Tous les appareils doivent prendre en charge un ensemble d'opérations courantes répertoriées ci-dessous.

Connexion et déconnexion dynamiques. Ces événements sont surveillés par le concentrateur, qui les signale au contrôleur hôte et réinitialise l'appareil connecté. L'appareil après le signal de réinitialisation doit répondre à l'adresse zéro, tant qu'il n'est pas configuré et qu'il n'est pas suspendu. Une fois attribué une adresse dont le contrôleur hôte est responsable, l'appareil ne doit répondre qu'à son adresse unique.

Configuration dispositifs exécutés par l'hébergeur est nécessaire à leur utilisation. Pour la configuration, les informations lues à partir de l'appareil lui-même sont généralement utilisées. Un appareil peut avoir plusieurs interfaces, chacune avec son propre point de terminaison représentant une fonction de l'appareil pour l'hôte. Une interface dans une configuration peut avoir d'autres ensembles de caractéristiques ; le changement d'ensembles est pris en charge par le protocole. Pour prendre en charge les pilotes adaptatifs, les descripteurs de périphérique et d'interface ont des champs de classe, de sous-classe et de protocole.

Transfert de données possible par l'un des quatre types de transferts (voir ci-dessus). Pour les points de terminaison qui autorisent différents types de transferts, un seul d'entre eux est disponible après la configuration.

Gestion de l'énergie est une fonctionnalité hautement développée de l'USB. Pour les appareils alimentés par bus, la puissance est limitée. Tout appareil connecté ne doit pas tirer plus de 100 mA du bus. Le courant de fonctionnement (pas plus de 500 mA) est déclaré dans la configuration, et si le concentrateur ne peut pas fournir le courant déclaré à l'appareil, il n'est pas configuré et ne peut donc pas être utilisé.

Le périphérique USB doit prendre en charge suspension (mode suspendu), dans lequel sa consommation de courant ne dépasse pas 500 μA. L'appareil doit s'arrêter automatiquement lorsque l'activité du bus cesse.

Occasion Réveil à distance permet à un appareil suspendu de signaler un hôte qui peut également être dans un état suspendu. La capacité de réveil à distance est décrite dans la configuration de l'appareil. Cette fonction peut être désactivée lors de la configuration.

Centre en USB, il effectue la commutation du signal et l'alimentation électrique, et surveille également l'état des appareils qui lui sont connectés, notifiant l'hôte des changements. Le hub se compose de deux parties du contrôleur (Contrôleur de concentrateur) et répéteur (Répéteur de concentrateur). Répétiteur est une clé gérée qui connecte un port de sortie à un port d'entrée. Il dispose de moyens pour prendre en charge la réinitialisation et la suspension de la signalisation. Contrôleur contient des registres pour interagir avec l'hôte. L'accès aux registres s'effectue par des commandes spécifiques d'accès au hub. Les commandes vous permettent de configurer le concentrateur, de gérer les ports en aval et de surveiller leur état.

Ports en aval les hubs peuvent être dans les états suivants :

Propulsé (^ (hors tension) aucune alimentation n'est fournie au port (possible uniquement pour les concentrateurs qui commutent

nutrition). Les tampons de sortie sont placés dans un état d'impédance élevée et les signaux d'entrée sont ignorés.

Coupé (déconnecté) le port ne signale pas dans les deux sens, mais est capable de détecter un périphérique connecté (par aucun état SEO en 2,5 µs). Puis le port passe à l'état Désactivée, et par les niveaux des signaux d'entrée {DiffO ou Diff1 capable de inactif) il détermine la vitesse de l'appareil connecté.

sHors Ligne (désactivé) le port transmet uniquement un signal de réinitialisation (sur commande du contrôleur), les signaux du port (sauf pour la détection de déconnexion) ne sont pas acceptés. Sur détection d'un déclenchement (état 2,5 µs référencement) le port entre en état Déconnectez-vous, et si un arrêt est détecté par un concentrateur "dormant", un signal sera envoyé au contrôleur CV.

w Activé (Activé) Le port transmet des signaux dans les deux sens. Sur commande du contrôleur ou sur détection d'une erreur de trame, le port passe à l'état Désactivée, et lors de la détection d'un voyage à l'état Déconnectez.

Suspendu (suspendu) Le port envoie un signal pour passer à l'état arrêté (mode "veille"). Si le concentrateur est dans un état actif, les signaux via le port ne sont transmis dans aucune direction. Cependant, le hub "endormi" perçoit les signaux de changement d'état des ports non interdits, donnant des signaux de "réveil" du dispositif activé même à travers la chaîne de hubs "endormis".

L'état de chaque port est identifié par le contrôleur concentrateur à l'aide de registres distincts. Il existe un registre commun dont les bits traduisent le fait d'un changement d'état de chaque port (fixé lors EOF). Cela permet au contrôleur hôte de connaître rapidement l'état du concentrateur et, si des modifications sont détectées par des transactions spéciales, de mettre à jour l'état.

1.4. Contrôleur hôte

L'ordinateur hôte communique avec les périphériques via le contrôleur. L'hôte a les responsabilités suivantes :

détection de connexion et de déconnexion de périphériques USB ;

manipulation du flux de contrôle entre les appareils et l'hôte ;

gestion des flux de données ;

collecte de statistiques;

assurer l'économie d'énergie par des unités de contrôle connectées.

Le logiciel système du contrôleur gère l'interaction entre les périphériques et leur logiciel exécuté sur l'ordinateur hôte pour négocier :

numérotation et configuration des appareils ;

transferts de données isochrones ;

transferts de données asynchrones ;

gestion de l'énergie;

informations de gestion des périphériques et des bus.

Dans la mesure du possible, le logiciel USB utilise le logiciel système existant de l'hôte, tel que Advanced Power Management, pour la gestion de l'alimentation.

2. IEEE 1394-FireWire

La norme High Performance Serial Bus, officiellement nommée IEEE 1394, a été adoptée en 1995. L'objectif était de créer un bus qui ne soit pas inférieur aux bus parallèles standard actuels, tout en réduisant considérablement le coût et en améliorant la commodité de la connexion (en raison du passage à une interface série). Norme basée sur le bus Firewire, utilisé par Apple Computer comme une alternative bon marché au SCSI dans les ordinateurs Macintosh et PowerMac. Le nom FireWire est maintenant appliqué aux implémentations d'IEEE 1394 et coexiste avec le raccourci 1394.

Avantages de FireWire avant les autres bus série :

s? Multifonctionnalité : le bus permet la communication numérique jusqu'à 63 appareils sans l'utilisation d'équipements supplémentaires (hubs). Appareils caméscopes numériques, scanners, imprimantes, caméras pour visioconférence, disques durs peuvent échanger des données non seulement avec un PC, mais aussi entre eux. FireWire, initié par VESA, se positionne également pour les « réseaux domestiques ».

Le débit binaire élevé et les transferts isochrones permettent même au niveau initial (100 Mbps) de transmettre simultanément deux canaux de vidéo (30 images par seconde) de qualité broadcast et un signal audio stéréo de qualité CD.

s§ Faible coût des composants et du câble.

si Facile à installer et à utiliser. FireWire étend le système pnp. Les appareils sont automatiquement reconnus et configurés lorsqu'ils sont allumés/éteints. L'alimentation par bus (courant jusqu'à 1,5 A) permet à la télécommande de communiquer avec le système même lorsque l'alimentation est coupée. Non seulement les PC peuvent contrôler le bus et d'autres appareils, mais aussi d'autres appareils "intelligents", tels que les magnétoscopes.

2.1. Structure et interaction des appareils de bus

La norme 1394 définit deux catégories de jeux de barres : les jeux de barres de câbles et les jeux de barres croisés. (plan arrière). sous pneus croisés fait généralement référence aux interfaces parallèles connectant les sous-systèmes internes d'un appareil connecté à un câble 1394.

Contrairement à l'USB, qui est contrôlé par un seul contrôleur hôte, la norme 1394 permet de connecter des périphériques peer-to-peer sur un réseau. Un réseau peut être constitué de plusieurs bus reliés par des ponts. Au sein d'un même bus, les appareils sont connectés par des câbles de liaison sans utiliser d'appareils supplémentaires. Bridges sont des appareils intelligents spéciaux. La carte d'interface du bus FireWire pour le PC est un pont PCI 1394.

Adresse jusqu'à 63 appareils sur chaque bus, adressés par un champ d'ID de nœud de 6 bits. Le champ d'identifiant de bus de 10 bits autorise jusqu'à 1023 ponts dans le système, connectant des bus de différents types.

bus de câble est un réseau constitué de nœuds et de ponts câblés. La topologie flexible vous permet de construire des réseaux qui combinent des architectures arborescentes et en chaîne (Fig. 7.9). Chaque nœud dispose généralement de trois connecteurs peer-to-peer. De nombreuses options de connexion de périphérique sont autorisées avec les restrictions suivantes :

ssi entre n'importe quelle paire de nœuds ne peut pas dépasser 16 segments de câble ;

la longueur d'un segment de câble standard ne doit pas dépasser 4,5 m ;

La 2ème longueur totale du câble ne doit pas dépasser 72 m (l'utilisation d'un meilleur câble permet d'affaiblir cette limitation).

Certains appareils peuvent n'avoir qu'un seul connecteur, ce qui limite leurs options de localisation. La norme autorise jusqu'à 27 connecteurs sur un seul appareil.

Bus USB et FireWire
Riz. 7.9. Connexion de périphériques sur le bus FireWire

Bus USB et FireWire
Riz. 7.10. Connecteur FireWire

La norme prévoit la connexion des nœuds à l'aide d'un câble à 6 fils enfermé dans un blindage commun. Deux paires torsadées sont utilisées pour la transmission du signal (séparées pour le récepteur et l'émetteur), deux fils sont utilisés pour alimenter les appareils (8-40 V, jusqu'à 1,5 A). Pour l'isolation galvanique de l'interface, des transformateurs sont utilisés (tension d'isolation jusqu'à 500 V) ou des condensateurs (dans les appareils bon marché avec une tension d'isolation jusqu'à 60 V par rapport au fil commun). La figure 7.10 donne une idée des connecteurs. 700. Certains appareils (caméscopes Sony DCRVX1000 et DCR-VX1000, ainsi que DHR-4 DVCR) n'ont qu'un seul connecteur à XNUMX broches plus petit avec des circuits de signal uniquement. Ces appareils sont connectés au bus via un câble adaptateur spécial uniquement en tant qu'appareils terminaux (bien que des adaptateurs séparateurs spéciaux puissent être utilisés).

La norme 1394 définit trois fréquences possibles pour la signalisation sur les câbles : 98,304, 196,608 et 393,216 Mbps, qui sont arrondies à 100, 200 et 400 Mbps. Les fréquences dans la norme sont désignées comme S100, S200 и S400 respectivement. Les appareils grand public prennent généralement en charge S100, la plupart des adaptateurs permettent S200. Des appareils conçus pour des vitesses différentes peuvent être connectés au même bus. L'échange aura lieu à la vitesse minimale pour tous les nœuds actifs. Cependant, si le contrôleur hôte implémente une topologie et une carte de vitesse (Topologie_mar и Vitesse_Map), il est possible d'utiliser plusieurs fréquences dans un même bus, en fonction des capacités d'un couple particulier impliqué dans l'échange.

Le système permet une connexion et une déconnexion dynamiques (à chaud) des appareils. Identifiants connectables

les appareils sont attribués automatiquement, sans intervention de l'utilisateur. Les changements de topologie (composition des appareils connectés) sont automatiquement suivis par le bus et transmis au logiciel de contrôle.

Protocole IEEE 1394

Le protocole 1394 est mis en œuvre à trois niveaux (Figure 7.11).

Couche transactionnelle convertit les paquets en données fournies aux applications et vice versa. Il implémente un protocole requête-réponse conforme à la norme ISO/IEC 13213:1994 (ANSI/IEEE 1212, édition 1994), architectures CSR (Control and Status Register) pour les bus micro-ordinateurs (lecture, écriture, verrouillage). Cela facilite la liaison du bus 1394 aux bus parallèles standard.

Couche de liaison forme des paquets à partir des données de la couche physique et effectue des transformations inverses. Il assure l'échange de nœuds avec des datagrammes avec acquittement. La couche est responsable de la transmission des paquets et de la gestion des transferts isochrones.

Couche physique génère et reçoit des signaux de bus. Il fournit l'initialisation et l'arbitrage, en supposant qu'un seul émetteur est actif à un moment donné. La couche transmet les flux de données et les niveaux de signal du bus série à la couche supérieure. Entre ces niveaux, une isolation galvanique est possible, dans laquelle les microcircuits de la couche physique sont alimentés à partir du bus. L'isolation galvanique est nécessaire pour éviter les boucles de fil commun parasites qui peuvent apparaître à travers les fils de terre de protection des alimentations.

Le matériel FireWire se compose généralement de deux puces d'émetteur-récepteur de couche physique dédiées. Émetteur-récepteur PHY et pont de liaison par bus LIEN Puce. La communication entre eux est possible, par exemple, via l'interface IBM-Apple LINK-PHY. Les microcircuits de la couche de communication remplissent toutes les fonctions de leur couche et certaines des fonctions de la couche

transactions, le reste de la couche de transaction se fait dans le logiciel.

Bus USB et FireWire

Connecteurs

Fig. 7.11. Structure à trois couches de FireWire

Gestion des autobus

Le protocole 1394 dispose d'un mécanisme flexible pour gérer la communication entre différents appareils. Cela ne nécessite pas la présence d'un PC ou d'un autre contrôleur de bus sur le bus. La gestion comprend trois services :

maître de cycle, envoi de diffusions de début de cycle (nécessaire pour les échanges isochrones).

gestionnaire de ressources isochrones, si un nœud prend en charge l'échange isochrone (pour la vidéo et l'audio numériques).

Contrôleur de bus en option (Bus Master) il peut s'agir d'un PC ou d'un DVCR de montage.

Lors de la réinitialisation, la structure du bus est déterminée, des adresses physiques sont attribuées à chaque nœud et le maître de boucle, le gestionnaire de ressources isochrones et le contrôleur de bus sont arbitrés. Une seconde après la réinitialisation, toutes les ressources deviennent disponibles pour une utilisation ultérieure.

Le principal avantage du bus est qu'il n'y a pas besoin de contrôleur. Tout appareil émetteur peut recevoir une bande de trafic isochrone et commencer à émettre sur un signal autonome ou télécommandé, le récepteur « entendra » cette information. En présence d'un contrôleur (PC), le logiciel correspondant peut contrôler le fonctionnement des appareils, réalisant, par exemple, un studio de montage vidéo numérique non linéaire.

Transport de données isochrone

Le transport par bus isochrone 1394 offre un débit garanti et une latence limitée pour une transmission à haut débit sur plusieurs canaux. Le gestionnaire de ressources isochrones contient un registre BANDE PASSANTE^DISPONIBLE, qui détermine la disponibilité de la bande passante restante pour les nœuds à transmission isochrone. Lors de la réinitialisation, un nœud nouvellement apparu avec une transmission isochrone demande une allocation de voie. La vidéo numérique, par exemple, nécessite 30 Mbps de bande passante (25 Mbps pour les données vidéo et 3-4 Mbps pour l'audio, la synchronisation et les en-têtes de paquets). La bande passante est mesurée en unités d'allocation spéciales, dont il y en a 125 dans un cycle de 6144 millisecondes. Une unité prend environ 20 ns, ce qui correspond au temps nécessaire pour transmettre une quadruplet (Quadlet) à 1600 Mbps. Quadruple (mot de 32 bits) est l'unité de transfert de données sur le bus. 25 ms du cycle sont réservés au trafic asynchrone, donc la valeur initiale du registre après la réinitialisation est de 4915 unités. DANS S100 appareils vidéo numériques demandent environ 1800 unités, en S200 environ 900. Si la bande correspondante n'est pas disponible, l'appareil demandeur répétera périodiquement la demande.

Le gestionnaire de ressources isochrones attribue à chaque noeud isochrone un numéro de canal (0-63) parmi ceux disponibles (registre

CANAUX_DISPONIBLES). C'est l'identifiant du package isochrone. Lorsqu'un échange isochrone devient inutile pour un nœud, celui-ci doit libérer sa bande passante et son numéro de canal. Les informations de contrôle sont échangées sur un canal asynchrone.

2.2. Synonymes et extensions de la norme IEEE 1394

Le bus IEEE 1394 possède de nombreux alias :

IEEE 1394-1995 Standard for a High Performance Serial Bus est le nom complet du document décrivant la norme actuellement en vigueur.

FireWire est une marque commerciale d'une implémentation de IEEE-1394 par Apple Computer, Inc.

P1394 est le nom de la version préliminaire de l'IEEE-1394 (avant l'adoption en décembre 1995).

DigitalLink est une marque commerciale de Sony Corporation utilisée en référence à la mise en œuvre de la norme IEEE-1394 dans les appareils photo numériques.

MultiMedia Connection est le nom utilisé dans le logo 1394 High Performance Serial Bus Trade Association (1394TA).

Depuis qu'Apple a développé le concept de FireWire depuis 1986, le nom FireWire est le synonyme le plus courant d'IEEE 1394.

En plus de la norme principale IEEE 1394-1995, il existe plusieurs modifications de celle-ci :

Le 1394a est considéré comme un document propre, comblant certaines des lacunes de la norme d'origine et comportant des modifications mineures (comme une opération de réinitialisation plus rapide sur le bus). Les produits 1394a sont rétrocompatibles avec les appareils sortis avant l'adoption de la norme principale. La version a été introduite pour augmenter la vitesse à 800 Mbps et des versions supérieures à haut débit sont également incluses dans 1394b.

1394.1 définit le connecteur à 4 fils et établit la norme pour les ponts de bus.

1394.2 est conçu comme une norme pour connecter un cluster de stations avec un taux d'échange de 1 Gb / s et plus, incompatible avec 1394. Cette norme découle de la norme IEEE 1596 SCI (Scalable Coherent Interface) pour les supercalculateurs et est parfois appelée Express série ou SCILite. L'interface de signalisation 1394.2 est similaire à FCAL et permet topologie en anneau, interdit par la norme 1394.

2.3. Comparaison FireWire et USB

Les interfaces série FireWire et USB, tout en ayant des caractéristiques communes, sont essentiellement des technologies différentes. Les deux bus permettent une connexion facile d'un grand nombre de PU (127 pour USB et 63 pour FireWire), permettant de commuter et d'allumer/éteindre des appareils pendant que le système fonctionne. La topologie des deux bus est assez proche. Les concentrateurs USB font partie du CC ; leur présence est invisible pour l'utilisateur. Les deux bus ont des lignes d'alimentation de périphérique, mais la capacité de gestion de l'alimentation pour FireWire est beaucoup plus élevée. Les deux bus prennent en charge PnR (Power On/Off Auto Configuration) et éliminent le problème des pénuries d'adresses, des canaux DMA et des interruptions. Il y a une différence dans la gestion de la bande passante et du bus.

USB concentré sur PU connecté à un PC. Ses transmissions isochrones ne permettent de transmettre que des signaux audionumériques. Toutes les transmissions sont contrôlées de manière centralisée et le PC est le nœud de contrôle nécessaire à la racine de la structure arborescente du bus. La connexion de plusieurs PC avec ce bus n'est pas prévue.

FireWire se concentre sur les échanges intensifs entre tous les appareils qui y sont connectés. Le trafic isochrone vous permet de transmettre de la vidéo "en direct". Le bus ne nécessite pas de contrôle centralisé depuis le PC. Il est possible d'utiliser le bus pour combiner plusieurs PC et PU dans un réseau local.

Les nouveaux appareils vidéo et audio numériques intègrent des adaptateurs 1394. Connexion FireWire des appareils analogiques et numériques traditionnels (lecteurs, caméras,

moniteurs) est possible grâce à des adaptateurs-convertisseurs d'interfaces et de signaux. Les câbles et connecteurs FireWire normalisés remplacent les nombreuses connexions disparates entre les appareils électroniques grand public et les PC. Différents types de signaux numériques sont multiplexés dans un bus. Contrairement aux réseaux Ethernet, les flux de données à haut débit en temps réel sur FireWire ne nécessitent pas de protocoles supplémentaires. De plus, il existe des facilités d'arbitrage qui garantissent l'accès au bus dans un temps donné. L'utilisation de ponts dans les réseaux FireWire vous permet d'isoler le trafic de groupes de nœuds les uns des autres.

7.3. ACCESS.Bus et interface PC

bus série ACCÈS.Bus (Accessory Bus), développé par DEC, est un bus pour l'interaction d'un ordinateur avec ses accessoires, par exemple, un moniteur (canal VESA DDC), des alimentations intelligentes (Smart Battery), etc. Le bus permet deux signaux et deux les câbles d'alimentation (12 V, 500 mA) connectent jusqu'à 14 périphériques d'E/S, la longueur du bus peut atteindre 8 m.La base matérielle est l'interface PC, qui se caractérise par sa facilité de mise en œuvre, mais même par rapport à l'USB, faible performance. Au-dessus du protocole matériel PC pour l'ACCESS.Bus, il existe un protocole logiciel de base avec lequel les protocoles des appareils connectés spécifiques interagissent. Les protocoles permettent de connecter/déconnecter des appareils sans redémarrer le système d'exploitation. Le but des signaux du connecteur ACCESS.Bus, proposé par VESA, est indiqué dans le tableau. 7.3.
contact rendez-vous
1 GND
2 clé
3 SDA
4 +5 V (alimentation de l'appareil)
5 SCL

Interface À, développé par Philips, est apparu récemment dans le PC et est utilisé comme bus auxiliaire interne de la carte système pour communiquer avec la mémoire d'identification non volatile des composants installés (mémoire DIMM). Le bus est extrêmement facile à mettre en œuvre deux lignes de signal qui fonctionnent avec un logiciel. Aux fins prévues, ce bus n'est actuellement utilisé que par le BIOS lors de la détermination du matériel, mais l'utilisation d'une mémoire de configuration inscriptible ouvre de nouvelles possibilités pour lier un logiciel à un système spécifique (plus précisément, un module installé) et ... pour les virus . La méthode d'accès logiciel au bus n'a pas encore été normalisée, mais si vous le souhaitez, elle peut être "calculée" en étudiant la documentation du chipset.

Bus USB et FireWire
Riz. 7.12. Protocole de communication PC

Interface série CSS fournit un transfert de données bidirectionnel entre une paire d'appareils à l'aide de deux signaux : les données SDA (Serial Data) et l'horloge SCL (Serial Clock). Deux appareils sont impliqués dans l'échange diriger (Maître) и trimer. Chacun d'eux peut jouer le rôle émetteur, placer des bits d'information sur la ligne SDA, ou destinataire. Le protocole d'échange est illustré à la fig. 7.12. La synchronisation est définie par le contrôleur maître. La ligne de données bidirectionnelle avec une sortie "open collector" est commandée tour à tour par les deux appareils. La fréquence d'échange (pas forcément constante) est limitée par le haut à 100 kHz pour le mode standard et 400 kHz pour le mode rapide, ce qui permet d'organiser une mise en oeuvre pilotée par logiciel du contrôleur d'interface.

Début de toute condition de fonctionnement Accueil déclenché par une transition haut vers bas du signal SDA lorsque SCL est haut. L'opération est terminée en transférant le signal SDA d'un niveau bas à un niveau haut avec une condition SCL élevée Arrêter. Lors de la transmission de données, l'état de la ligne SDA ne peut changer que lorsque le SCL est bas, les bits de données sont strobés avec un front SCL positif.Chaque trame se compose de 8 bits de données générés par l'émetteur (le bit le plus significatif du MSB est transmis en premier), après quoi l'émetteur libère la ligne de données pendant un cycle pour recevoir un accusé de réception. Le récepteur pendant le neuvième cycle forme un zéro Acquitter le bit de confirmation. Une fois que le bit d'accusé de réception a été transmis, le récepteur peut retarder la transmission suivante en maintenant la ligne SCL à l'état bas. Le récepteur peut également ralentir le bus au niveau de réception de chaque bit en maintenant SCL bas après son atténuation générée par l'émetteur.

Chaque esclave a sa propre adresse, qui par défaut est de 7 bits. Adresse A[6:0] transmis par le maître dans les bits [7:1] du premier octet, le bit 0 contient le signe de l'opération R1U(R1/U=1 lecture, LW=Q -enregistrer). Une adresse de 7 bits contient deux parties : les 4 bits supérieurs A[6:3] transporter des informations sur le type de périphérique (par exemple, pour EEPROM 1010) et les 3 bits inférieurs A[0:2] définir le numéro de l'appareil de ce type. De nombreux microcircuits avec une interface PC ont trois entrées d'adresse, en les commutant sur les niveaux logiques 1 et 0, l'adresse requise est définie. Certaines valeurs d'adresse complète sont réservées (tableau 7.4).

All-call permet à un dispositif de réveil de s'annoncer de manière diffusée. Octet Accueil est conçu pour attirer l'attention du processeur sur l'interface, si elle est organisée dans l'appareil de manière logicielle (et non matérielle). Jusqu'à ce que cet octet soit reçu, le microcontrôleur de l'appareil n'interroge pas l'état et ne surveille pas les signaux d'interface. Lors de l'utilisation de l'adressage 10 bits, les bits [2: 1] contiennent la partie haute de l'adresse et les 8 bits bas seront transférés dans l'octet suivant si le signe RW=0.

L'adresse de l'équipement esclave et le type d'appel sont définis par le contrôleur lors de l'initiation de l'échange. L'échange de mémoire est illustré à la Fig. 7.13. Ici adresse de périphérique SA[0:2], adresse de données DA[0:7], données D[0:7], indicateur d'écriture W (0), indicateur de lecture R (1).
Morceaux [7:1] BKTO(RW) rendez-vous
+0000 (000)XNUMX XNUMX 0 adresse d'appel générale adresse d'appel générale
+0000 (000)XNUMX XNUMX 1 Début. début de l'échange actif
+0000 (001)XNUMX XNUMX X Adresse de l'appareil CBUS (pour compatibilité)
+0000 (010)XNUMX XNUMX X Adresse pour d'autres appareils de bus
+0000 (011)XNUMX XNUMX X Réservé
0000 1XX X Réservé
1111 1XX X Réservé
1111 oh X Signe d'adressage 10 bits

Bus USB et FireWire
Riz. 7.13. Echange avec la mémoire via l'interface PC : a écriture, b lecture de l'adresse courante, в lecture à partir d'une adresse arbitraire

Ayant rempli la condition Début, le contrôleur envoie un octet contenant l'adresse de l'appareil et l'indication de l'opération rw, et en attente de confirmation. À opérations d'écriture le prochain message du contrôleur sera l'adresse sur 8 bits de la cellule en cours d'écriture, suivie d'un octet de données (pour les microcircuits d'une capacité mémoire supérieure à 256 octets, l'adresse de la cellule est transmise sur deux octets). Après avoir reçu la confirmation, le contrôleur termine la boucle avec la condition Arrêtez, et le dispositif adressé peut commencer son cycle d'écriture interne pendant lequel il ne répond pas aux signaux d'interface. Le contrôleur vérifie si l'appareil est prêt en envoyant une commande d'écriture (octet d'adresse de l'appareil)

et analyser le bit de confirmation, puis former la condition Arrêter. Si l'appareil répond par un bit d'acquittement, il a terminé sa boucle interne et est prêt pour l'opération suivante.

Opération de lecture est initié de la même manière qu'un enregistrement, mais avec l'attribut LW=\. Il est possible de lire à une adresse donnée, à l'adresse courante, ou séquentiellement. L'adresse courante est stockée dans le compteur interne du dispositif esclave, elle contient l'adresse de la cellule impliquée dans la dernière opération augmentée de un.

A la réception d'une commande de lecture, l'appareil donne un bit d'acquittement et envoie un octet de données correspondant à l'adresse courante. Le contrôleur peut répondre par un accusé de réception, puis l'appareil enverra l'octet suivant (lecture série). Si le contrôleur répond à l'octet de données reçu avec la condition Arrêtez, l'opération de lecture se termine (cas de la lecture à l'adresse courante). Le contrôleur définit l'adresse de départ pour la lecture avec une opération d'écriture fictive, dans laquelle l'octet d'adresse de l'appareil et l'octet d'adresse de cellule sont transmis, et après réception de l'octet d'adresse, la condition est à nouveau formée Accueil et l'adresse du dispositif est transmise, mais avec une indication de l'opération de lecture. C'est ainsi que la lecture d'une cellule (ou séquence de cellules) arbitraire est mise en œuvre.

L'interface permet au contrôleur d'utiliser une paire de signaux pour accéder à n'importe lequel des 8 appareils du même type connectés à ce bus et ayant une adresse unique (Fig. 7.14). Si vous avez besoin d'augmenter le nombre d'appareils, vous pouvez connecter des groupes. Dans ce cas, il est possible d'utiliser à la fois un signal SCL commun et des signaux SDA séparés (bidirectionnels), ainsi qu'un signal SDA commun et des signaux SCL unidirectionnels séparés. Pour accéder à l'un des nombreux microcircuits (ou dispositifs) qui n'ont pas de broches pour définir leur propre adresse, la séparation de ligne SCL (ou SDA) est également utilisée.

Le protocole PC permet à plusieurs contrôleurs de partager le même bus en détectant les collisions et en arbitrant. Ces fonctions sont mises en œuvre assez simplement : si deux émetteurs tentent de régler des niveaux de signal logique différents sur les lignes SDA, alors celui qui règle le niveau bas « gagnera ». L'émetteur surveille les niveaux des signaux qu'il contrôle et, si une anomalie est détectée (transmet un niveau haut, mais "voit" un niveau bas), refuse toute transmission ultérieure. L'appareil ne peut initier l'échange que dans l'état passif des signaux. Une collision ne peut se produire que lorsque vous essayez de démarrer un échange en même temps, dès qu'un conflit est détecté, l'émetteur "perdant" s'éteindra et celui "gagnant" continuera à fonctionner.

Bus USB et FireWire
Riz. 7.14. Connecter des appareils au contrôleur

Annexe A. Ingénierie système des ordinateurs compatibles IBM PC

Ici, l'interaction des programmes avec les adaptateurs d'interface est considérée. De brèves informations sur l'architecture du PC sont données. L'organisation de la mémoire et des espaces d'E/S, le système d'interruption et l'accès direct à la mémoire sont décrits. Des informations plus détaillées peuvent être trouvées dans le livre "Hardware IBM PC. Encyclopedia" ("Peter", 1998).

A.1. espace mémoire

La structure logique de la mémoire du PC est déterminée par le système d'adressage des processeurs de la famille x86. Les processeurs 8086/88 utilisés dans les premiers PC IBM avaient un espace d'adressage de 1 Mo (20 bits du bus d'adresse). A partir du processeur 80286, le bus d'adresse a été étendu à 24 bits, puis (386DX, 486, Pentium) à 32, et enfin à 36 bits (Pentium Pro, Pentium II). Dans le mode processeur réel utilisé sous DOS, seul 1 Mo de mémoire est formellement disponible. Cependant, en raison d'un bogue d'émulation du processeur 8086 en mode réel, les processeurs 80286 et supérieurs ont l'adresse disponible maximale lOFFEFh, soit (64K-16) octets de plus. La zone lOOOOOh-lOFFEFh s'appelle Zone de mémoire élevée (HMA). Une partie du système d'exploitation en mode réel et de petits programmes résidents y sont placés. Pour une compatibilité totale avec le processeur 8086/88, il existe une porte de bus d'adresse A20 PorteA20, qui soit transmet le signal du processeur, soit réinitialise de force la ligne A20 du bus système d'adresse.

Publication : cxem.net

Voir d'autres articles section ordinateurs.

Lire et écrire utile commentaires sur cet article.

<< Retour

Dernières nouvelles de la science et de la technologie, nouvelle électronique :

Machine pour éclaircir les fleurs dans les jardins 02.05.2024

Dans l'agriculture moderne, les progrès technologiques se développent visant à accroître l'efficacité des processus d'entretien des plantes. La machine innovante d'éclaircissage des fleurs Florix a été présentée en Italie, conçue pour optimiser la phase de récolte. Cet outil est équipé de bras mobiles, lui permettant de s'adapter facilement aux besoins du jardin. L'opérateur peut régler la vitesse des fils fins en les contrôlant depuis la cabine du tracteur à l'aide d'un joystick. Cette approche augmente considérablement l'efficacité du processus d'éclaircissage des fleurs, offrant la possibilité d'un ajustement individuel aux conditions spécifiques du jardin, ainsi qu'à la variété et au type de fruits qui y sont cultivés. Après avoir testé la machine Florix pendant deux ans sur différents types de fruits, les résultats ont été très encourageants. Des agriculteurs comme Filiberto Montanari, qui utilise une machine Florix depuis plusieurs années, ont signalé une réduction significative du temps et du travail nécessaires pour éclaircir les fleurs. ...>>

Microscope infrarouge avancé 02.05.2024

Les microscopes jouent un rôle important dans la recherche scientifique, car ils permettent aux scientifiques d’explorer des structures et des processus invisibles à l’œil nu. Cependant, diverses méthodes de microscopie ont leurs limites, parmi lesquelles la limitation de la résolution lors de l’utilisation de la gamme infrarouge. Mais les dernières réalisations des chercheurs japonais de l'Université de Tokyo ouvrent de nouvelles perspectives pour l'étude du micromonde. Des scientifiques de l'Université de Tokyo ont dévoilé un nouveau microscope qui va révolutionner les capacités de la microscopie infrarouge. Cet instrument avancé vous permet de voir les structures internes des bactéries vivantes avec une clarté étonnante à l’échelle nanométrique. En général, les microscopes à infrarouge moyen sont limités par leur faible résolution, mais le dernier développement des chercheurs japonais surmonte ces limitations. Selon les scientifiques, le microscope développé permet de créer des images avec une résolution allant jusqu'à 120 nanomètres, soit 30 fois supérieure à la résolution des microscopes traditionnels. ...>>

Piège à air pour insectes 01.05.2024

L'agriculture est l'un des secteurs clés de l'économie et la lutte antiparasitaire fait partie intégrante de ce processus. Une équipe de scientifiques du Conseil indien de recherche agricole et de l'Institut central de recherche sur la pomme de terre (ICAR-CPRI), à Shimla, a mis au point une solution innovante à ce problème : un piège à air pour insectes alimenté par le vent. Cet appareil comble les lacunes des méthodes traditionnelles de lutte antiparasitaire en fournissant des données en temps réel sur la population d'insectes. Le piège est entièrement alimenté par l’énergie éolienne, ce qui en fait une solution respectueuse de l’environnement qui ne nécessite aucune énergie. Sa conception unique permet la surveillance des insectes nuisibles et utiles, fournissant ainsi un aperçu complet de la population dans n'importe quelle zone agricole. "En évaluant les ravageurs cibles au bon moment, nous pouvons prendre les mesures nécessaires pour lutter à la fois contre les ravageurs et les maladies", explique Kapil. ...>>

Nouvelles aléatoires de l'Archive

Les grands yeux se réveillent plus tôt 04.07.2002

Tout le monde sait que de nombreux oiseaux accueillent l'aube avec leur chant. Ce qui est moins connu, c'est que le chœur d'oiseau n'entre pas en même temps.

L'écart entre le premier et le dernier chanteur peut atteindre une centaine de minutes. Dans notre région, les rouges-gorges sont généralement les premiers à se réveiller (non sans raison, leur deuxième prénom est rouge-gorge), les derniers à se joindre sont les pinsons et les mésanges bleues.

Récemment, des ornithologues britanniques de l'Université de Bristol ont fait des observations dans sept forêts d'Europe. Le début du chant de 57 espèces d'oiseaux et la luminosité de la lumière du jour à chaque instant ont été enregistrés. Ensuite, les données obtenues ont été comparées aux informations sur la taille des yeux de chaque "enfant de chœur". Il s'est avéré que les espèces d'oiseaux chez lesquelles les yeux sont plus grands par rapport à la taille du corps commencent à chanter plus tôt.

Les scientifiques expliquent ce fait par le fait que la vision des oiseaux aux grands yeux est plus nette. À l'aube et pendant le reste de la journée, les oiseaux chantent pour attirer un compagnon et revendiquer leur territoire. Mais dans la pénombre, le chant peut être dangereux : il alertera les prédateurs nocturnes, et un chanteur enthousiaste ne remarquera pas l'ennemi. Par conséquent, les oiseaux aux yeux plus grands, ce qui signifie une meilleure vision, risquent de commencer à chanter plus tôt.

Autres nouvelles intéressantes :

▪ Génétique et histoire

▪ Caméras et capteurs de la série Philips Hue Secure

▪ Mechnikov avait tort

▪ Nanofils trois atomes de diamètre

▪ Des nanoparticules d'or ont été synthétisées à l'aide de mimioza

Fil d'actualité de la science et de la technologie, nouvelle électronique

 

Matériaux intéressants de la bibliothèque technique gratuite :

▪ section du site Communication radio civile. Sélection d'articles

▪ article La fournaise pompe de l'eau. Conseils pour le maître de maison

▪ article Comment les éléphants vivent-ils dans leur troupeau ? Réponse détaillée

▪ article Travailler sur des machines de laminage de film. Instruction standard sur la protection du travail

▪ Article Détecteur de radar. Encyclopédie de l'électronique radio et de l'électrotechnique

▪ article Stabilisateur de tension de relais électronique, 145-275 / 187-242 volts. Encyclopédie de l'électronique radio et de l'électrotechnique

Laissez votre commentaire sur cet article :

Nom:


E-mail (facultatif) :


commenter:





Toutes les langues de cette page

Page principale | bibliothèque | Articles | Plan du site | Avis sur le site

www.diagramme.com.ua

www.diagramme.com.ua
2000-2024