I ² C

Le ² C du I est un autobus périodique d'ordinateur de du du multi-maître inventé par le Philips qui est employé pour attacher les périphériques à vitesse réduite à une carte mère , au système inclus par , ou au portable . Le nom représente le circuit Inter-Integrated et est Je-carré-c par prononcé et aussi, inexactement, I-two-C . En date le du 1er octobre , le 2006 , aucunes redevances sont exigés pour mettre en application le protocole du ² C d'I. Cependant, des honoraires sont encore exigés afin d'obtenir des adresses d'esclave du ² C d'I.

Le SMBus est un sous-ensemble de ² C d'I qui définit des conventions plus strictes électriques et de protocole. Un but de SMBus est de favoriser la robustesse et l'interopérabilité. En conséquence, les systèmes modernes du ² C d'I incorporent des politiques et des règles de SMBus, et la ligne entre ces deux normes est souvent brouillée dans la pratique.

Conception

I le seulement deux bi-directionnel d'utilisations du ² C ouvrir-vidangent des lignes de , des données périodiques (SDA) et l'horloge périodique (SCL), tirés vers le haut par avec des tensions typiques des résistances utilisées sont +5 V ou +3.3 V bien que des systèmes avec autre, plus haut ou s'abaissent, des tensions sont autorisés.

La conception de référence de du ² C d'I a un espace d'adressage de de 7 bits avec 16 adresses réservées, ainsi un maximum de 112 noeuds peut communiquer sur le même autobus. Les modes d'autobus du ² C d'I les plus communs sont 100 le mode standard de du Kbit/s et le mode à vitesse réduite 10 Kbits/s, mais des fréquences du signal d'horloge vers le bas au C.C sont également laissées. Les révisions récentes du ² C d'I peuvent accueillir plus de noeuds et fonctionner plus rapidement (de 400 Kbits/s de mode rapidement, de 1 Mbit/s de mode à grande vitesse mode rapidement plus ou Fm+, et 3.4 de Mbit/s ), et soutiennent également d'autres dispositifs prolongés, tels que l'adressage de 10 bits.

Le nombre maximum des noeuds est évidemment limité par l'espace d'adressage, et également par toute la capacité d'autobus de 400  ; pf .

Conception de référence

La conception de référence, comme mentionnée ci-dessus, est un autobus avec une horloge (câble coaxial) et des lignes des données (SDA) avec l'adressage de 7 bits. L'autobus a deux rôles pour des noeuds : maître et esclave :
&mdash de noeud principal ; noeud qui publie l'horloge et adresse des esclaves
&mdash slave de noeud ; noeud qui reçoit la ligne et l'adresse d'horloge. L'autobus est un autobus de Multi-maître de qui signifie que tout nombre de noeuds principaux peut être présent. En plus, des rôles de maître et d'esclave peuvent être changés entre les messages (après qu'un ARRÊT est envoyé).

Il y a mode de fonctionnement de quatre potentiels pour un dispositif donné d'autobus, bien que la plupart des dispositifs emploient seulement un rôle simple et ses deux modes :
le maître transmettent le &mdash ; le noeud principal envoie des données à un esclave
le maître reçoivent le &mdash ; le noeud principal reçoit des données d'un esclave
l'esclave transmettent le &mdash ; le noeud slave envoie des données à un maître
l'esclave reçoivent le &mdash ; le noeud slave reçoit des données du maître

Le maître est au commencement dans le maître transmettent le mode en envoyant un bit de départ suivi de l'adresse du bit 7 de l'esclave qu'elle souhaite communiquer avec, qui est finalement suivie d'une représentation à bit unique à si elle souhaite écrire (0) ou lire (1) de l'esclave.

Si l'esclave existe sur l'autobus puis il répondra avec un peu du ACK (reconnaître) pour cette adresse. Le maître continue alors dans transmettent ou reçoivent le mode (selon le peu lecture/écriture qu'il a envoyé), et l'esclave continue en son mode complémentaire (recevoir ou transmettre, respectivement).

L'adresse et les bytes de données sont envoyés à la plupart de peu significatif d'abord. Le bit de départ est indiqué par une transition de high->low de SDA avec le câble coaxial haut ; le bit d'arre4t est indiqué par une transition de low->high de SDA avec le câble coaxial haut.

Si les souhaits principaux à écrire à l'esclave alors il envoie à plusieurs reprises un byte avec l'esclave envoyant un peu d'ACK. (Dans cette situation, le maître est dans le maître transmettent le mode et l'esclave est dans l'esclave reçoivent le mode.)

Si les souhaits principaux à lire de l'esclave alors il reçoit à plusieurs reprises un byte de l'esclave, le maître envoyant un peu d'ACK après chaque byte mais dernier. (Dans cette situation, le maître est dans le maître reçoivent le mode et l'esclave est dans l'esclave transmettent le mode.)

Le maître finit alors la transmission avec un bit d'arre4t , ou il peut envoyer un autre bit de départ s'il souhaite garder la main de l'autobus pour un autre transfert (un " ; message" combiné ;).

Protocoles de message

I le ² C définit trois types de base de message, qui commence par un DÉBUT et des extrémités avec un ARRÊT :
Choisir le message où un maître écrit des données à un esclave ;
Choisir le message où un maître lit des données d'un esclave ;
" ; Combined" ; les messages, où un maître publie au moins deux lit et/ou écrit à un ou plusieurs esclaves.

Dans un message combiné, chacun a lu ou écrit commence par un DÉBUT et l'adresse slave. Après que le premier DÉBUT, ceux-ci s'appellent également le " ; START" répété ; peu.

N'importe quel esclave donné répondra seulement aux messages particuliers, comme défini par sa documentation de produit.

Structures arbitraires pures de message de soutien de systèmes du ² C d'I. SMBus est limité à neuf de ces structures, telles que le " ; lire le mot N" ; et " ; écrire le mot N" ; , impliquant un esclave simple.

À seulement quelques exceptions, ni le ² C d'I ni le SMBus ne définissent la sémantique de message, telle que la signification des bytes de données dans les messages. La sémantique de message sont autrement product-specific. Ces exceptions incluent des messages adressés au " du ² C d'I ; call" général ; adresser (0x00) ou au " de SMBus ; Alerter la réponse Address" ; ; et messages impliqués dans le " de SMBus ; " d'Address Resolution Protocol ; (Arp) pour l'attribution et la gestion d'adresse dynamiques.

Dans la pratique la plupart des esclaves adoptent des modèles de commande de demande/réponse, où un ou plusieurs bytes suivant une touche d'écriture sont traités pendant qu'une commande ou une adresse. Ces bytes déterminent comment des bytes écrits suivants sont traités et/ou comment l'esclave répond sur suivant lit. La plupart des opérations de SMBus impliquent des commandes simples de byte.

Un exemple spécifique est 24c32 le type EEPROM, qui emploie deux tels bytes de demande qui sont adresse appelée haute et adressent le bas. Ceux-ci sont employés pour adresser des bytes dans le kbit (kB de 32 de 4 ) soutenu par cela EEPROM ; le même adressage à deux bits est également employé par plus grand EEPROMs, tel que 24c512 ceux qui stockent le kbit 512 (kB 64). Pour écrire à l'EEPROM le maître l'adresse avec le peu d'inscription affirmé, envoie l'adresse à deux bits et puis envoie des bytes de données pour écrire commencer à cette adresse, suivie d'un ARRÊT -- un message simple. En écrivant des bytes multiples, tous les bytes doivent être dans la même page de 32 bytes. Pour lire commencer à une adresse particulière le maître doit d'abord écrire qu'adresse, puis envoie un DÉBUT et réadresse l'EEPROM avec l'ensemble lu de peu. L'EEPROM répondra alors avec les bytes de données commençant à l'adresse spécifique -- un message combiné, d'abord d'inscription puis lu. L'EEPROM incrémente l'adresse après chaque byte de données transféré ; le multi-byte indique peut rechercher le contenu entier de l'EEPROM using un message combiné.

Couche physique

À la couche physique , les lignes de câble coaxial et de SDA sont de Ouvrir-vidangent la conception de , ainsi, les résistances cabreuses sont nécessaires. Tirant la ligne à la terre est considéré un zéro logique tandis que laisser la ligne flotteur est logique. Ceci est employé comme méthode d'accès de la Manche . Les systèmes à grande vitesse (et quelques autres) ajoutent également un la source que courante tirent vers le haut, au moins sur le câble coaxial ; ceci soutient des temps de montée plus rapides et une capacité plus élevée d'autobus. Des transitions pour des bits d'informations sont toujours exécutées tandis que l'horloge est basse, des transitions tandis qu'il est haut indiquent des bits d'arre4t de début et.

Quand un noeud transmet logique (c., laissant la ligne flotter à Vdd) et un autre transmet un zéro logique alors que le premier noeud peut sentir ceci parce que la ligne n'est pas dans un un &mdash logique d'état ; il n'est pas tiré vers le haut à Vdd. Sur SDA, ceci peut être employé pour l'arbitrage pour le ² C d'I puisque c'est un autobus de Multi-maître de ; quand les données qui sont relues ne sont pas ce qui a été écrit, un maître lâche en faveur d'un autre maître. Les esclaves peuvent également employer ceci sur le câble coaxial pour étirer l'horloge du maître. Un maître peut également tenir bas pour plus longtemps qu'été nécessaire de câble coaxial, s'il doit ralentir le débit pour n'importe quelle raison.

Étirage d'horloge

Un des dispositifs plus intéressants du protocole du ² C d'I est étirage d'horloge. Un dispositif slave adressé peut juger la ligne d'horloge basse après réception (ou envoi) d'un peu, indiquant qu'il n'est pas encore prêt de traiter plus de données. Le maître qui communique avec l'esclave essayera de soulever l'horloge pour transférer le prochain peu, mais doit vérifier que la ligne d'horloge a été augmentée réellement. Si l'esclave est horloge s'étendant, la ligne d'horloge sera toujours basse (parce que les raccordements sont Ouvrir-vidangent ).

L'étirage d'horloge permet les récepteurs qui ne peuvent pas suivre un émetteur pour commander l'écoulement des données entrantes. Quelques maîtres, de ce type fait sur commande intérieur trouvé ASICs peuvent ne pas soutenir l'étirage d'horloge ; souvent ces dispositifs seront marqués comme " ; interface" à deux fils ; et ² non strict C.

Pour améliorer sa robustesse, limites d'endroits de SMBus sur à quelle distance des horloges peuvent être étirées. Les hôtes et les esclaves adhérant à ces limites ne peuvent pas bloquer l'accès à l'autobus pour plus qu'une brève durée, qui n'est pas une garantie faite par les systèmes purs du ² C d'I.

Arbitrage

Chaque maître surveille l'autobus pour un bit de départ, et ne commence pas une transmission tandis que l'autobus est occupé. Cependant, deux maîtres peuvent commencer la transmission au temps à peu près identique ; dans ce cas-ci, l'arbitrage se produit. Contrairement aux protocoles (tels qu'Ethernet ) cette utilisation le back-off qu'aléatoire retarde avant de publier une tentative, le ² C d'I a une politique déterministe d'arbitrage. Pendant la transmission, chaque maître vérifie le niveau des lignes et les compare aux niveaux que c'est arrangement ils à. Par exemple, si un maître place une ligne à 1 (congé il ouvert) et des ensembles principaux différents il à 0 (traction à rectifier), le résultat est que la ligne est basse. Le premier maître observe alors que le niveau de la ligne est différent que prévu, et conclut qu'un autre maître transmet. Le premier maître pour noter une telle différence est celui qui perd l'arbitrage : il cesse et attend l'autobus pour être libre encore. En attendant, l'autre maître n'a noté aucune différence entre les niveaux prévus et réels sur les lignes, et continue donc la transmission. Il peut faire ainsi sans problèmes parce que jusqu'ici le niveau des lignes ont été exactement comme il a prévu, ainsi il signifie que l'autre maître n'a pas touché à sa transmission.

Si les deux maîtres envoient un message à deux esclaves différents, celui envoyant le " slave inférieur d'adresse toujours ; wins" ; arbitrage dans l'étape d'adresse. Puisque les deux maîtres peuvent envoyer des messages au même esclave, l'arbitrage doit continuer dans les étapes de données.

L'arbitrage se produit très rarement, mais est nécessaire pour l'appui approprié de multi-maître. Comme avec le horloge-étirage, non tous les dispositifs soutiennent l'arbitrage. Ceux qui se marquent généralement en tant que " de soutien ; multi-master" ; communication.

Le SMBus emploie l'arbitrage dans deux contextes additionnels, qui sont employés pour passer l'information asynchrone des esclaves au centre serveur (simple). Le premier contexte est que les centres serveurs doivent soutenir le " ; l'hôte informent le protocol" ;. C'est un mode restreint de multi-maître dans lequel les esclaves écrivent des messages au " réservé ; SMBus Host" ; adresse (0x08), passant leur adresse et deux bytes de données. Quand deux esclaves essayent d'informer le centre serveur en même temps, l'un d'entre eux perdra l'arbitrage et devra réessayer. L'autre contexte est que les dispositifs slaves purs qui publient la nécessité d'interruption de SMBALERT# d'arbitrer quand ils répondent aux demandes fournies au " réservé ; Réponse alerte Address" de SMBus ; (0x0c). Quand ils répondent avec succès avec leur propre adresse, ils cessent de soulever cette interruption. Dans les deux cas, l'arbitrage s'applique quand l'adresse slave est transmise.

Diagramme de synchronisation

Le transfert de données est lancé avec le bit de départ ( S ) quand SDA est tiré bas tandis que le câble coaxial reste haut. Puis, SDA place le peu transféré tandis que le câble coaxial est bas (bleu) et les données sont prélevées (reçu) quand le câble coaxial se lève (vert). Quand le transfert est complet, un bit d'arre4t ( P ) est envoyé en libérant la ligne de données pour lui permettre d'être tiré vers le haut tandis que le câble coaxial est constamment haut.

Applications

I le ² C est approprié pour des périphériques où la simplicité et le bas coût de fabrication sont plus importants que la vitesse. Les applications communes de l'autobus du ² C d'I sont :
Données de configuration de lecture d'EEPROMS sur des bâtons de mémoire du DDR2 SDRAM et d'autres panneaux de PC empilés
Gestion-système de soutien pour des cartes de PCI, par un raccordement de SMBus 2.
Morceaux de accès du NVRAM qui gardent des arrangements d'utilisateur.
à vitesse réduite de accès DACs .
à vitesse réduite de accès CDA .
Contraste, tonalité, et arrangements changeants d'équilibre de couleur dans les moniteurs (voie de transmission de données d'affichage ).
Volume sain changeant dans les haut-parleurs intelligents.
de contrôle OLED /affichages affichage à cristaux liquides , comme dedans un portable.
Moniteurs de matériel de lecture et sondes diagnostiques, comme un thermostat d'unité centrale de traitement et une vitesse de l'hélice.
Horloges temps réel de lecture.
S'allumer et arrêter l'alimentation d'énergie en composants de système.

Une force particulière du ² C d'I est qu'un microcontrôleur peut commander un réseau des morceaux de dispositif avec juste deux bornes d'usage universel et logiciel d'entrée-sortie.

Des périphériques peuvent également être ajoutés à ou enlevés de l'autobus du ² C d'I tandis que le système fonctionne, qui lui fait l'idéal pour les applications qui exigent la permutation chaude des composants.

Autobus comme le ² C d'I devenait populaire quand les ingénieurs informaticiens se sont rendus compte qu'une grande partie du coût de fabrication d'une conception de circuit intégré résulte de sa taille de paquet et compte de goupille. Un plus petit paquet habituellement pèse également moins et consomme moins de puissance, qui est particulièrement importante dans des portables et calcul portatif de .

Appui du système d'exploitation

Dans le Linux , le ² C d'I est manipulé avec un module spécifique de grain de pour le dispositif spécifique. Des détails sur la façon dont écrire le client du ² C d'I peuvent être trouvés dans la documentation grain-connexe et dans le dossier d'en-tête de de /usr/include/linux/i2c.

Le NetBSD et le OpenBSD fournissent également à un cadre du ² C d'I, l'appui pour un certain nombre de contrôleurs principaux et de sondes communs.

Dans le Sinclair QDOS et le ² des logiciels d'exploitation de du QL de Minerva I C est soutenu par l'intermédiaire d'un ensemble de prolongements fournis par les services TF.

Dans le AmigaOS le i2c.library de bibliothèque partagée de Wilhelm Noeker permet l'accès du ² C d'I.

Le ECos soutient le ² C d'I pour plusieurs architectures de matériel.

Solutions de connectivité de matériel - USB et appui périodique

Il y a un certain nombre de solutions du matériel maître pour donner les PC de bureau, le Linux courant , le Mac ou le Windows , d'I ² C et/ou possibilités d'esclave. La plupart d'entre eux est basée sur l'autobus de publication périodique universelle (USB) aux adapteurs du ² C d'I. Pas tous exigent les conducteurs de propriété industrielle ou les api .

Révisions

Le système du ² C de l'original I a été créé au début des années 80 comme système d'autobus interne simple pour des circuits de commande de bâtiment avec de divers morceaux de Philips.

Dans 1992 la première version normalisée a été libérée, qui a ajouté un mode rapide de nouveau à 400 Kbits/s et un mode d'adressage de 10 bits à la capacité d'augmentation à 1008 noeuds.0 de 1998 a ajouté le mode à grande vitesse de à 3.4 Mbits/s avec la tension réduite et les conditions courantes qui ont sauvé la puissance.1 de 2000 est un nettoyage mineur de la version 2. La version 03, de 2007 ajoute le mode rapide de plus (ou Fm+) et un mécanisme d'identification de dispositif, et est la dernière norme.

Limitations

L'attribution des adresses slaves est une faiblesse des bits du ² C. sept d'I est un trop petit nombre pour empêcher des collisions d'adresse entre les nombreux milliers de dispositifs disponibles, et les fabricants consacrent rarement assez de goupilles pour configurer la pleine adresse slave utilisée sur un conseil donné. Tandis que quelques dispositifs peuvent placer le peu à plusieurs adresses par goupille, par exemple en utilisant un canal interne disponible de CDA pour sentir une de huit gammes a placé par un diviseur de tension externe , habituellement commandes de chaque goupille un bit d'adresse. Les fabricants peuvent fournir des goupilles pour configurer quelques bits de poids faible de l'adresse et pour placer arbitrairement le peu évolué à une certaine valeur basée sur le modèle. Ceci limite le nombre de dispositifs de ce modèle qui peuvent être présents sur le même autobus à un certain nombre peu élevé, typiquement entre deux et huit. Cela aborde partiellement la question des collisisons d'adresse entre différents fournisseurs. L'addition des adresses de dix-peu au ² C d'I ne s'est pas vraiment propagée encore. Ni l'un ni l'autre n'a le " complexe de SMBus ; ARP" ; arrangement pour assigner dynamiquement des adresses (autre que pour des cartes de PCI avec la présence de SMBus, pour laquelle on l'exige).

La configuration d'autobus automatique est une issue relative. Une adresse donnée peut être employée par un certain nombre de différents dispositifs protocole-incompatibles dans divers systèmes, et à peine n'importe quels types de dispositif peuvent être détectés au temps d'exécution. Par exemple 0x51 peut être employé par 24lc02 ou 24c32 un EEPROM , avec l'adressage incompatible ; ou par PCF8563 un RTC , qui ne peut pas sûrement être dit indépendamment de non plus (sans état changeant de dispositif, qui ne pourrait pas être permis). Les seuls mécanismes fiables de configuration disponibles aux centres serveurs impliquent les mécanismes hors bande tels que des tables fournies par les progiciels de système qui énumèrent les dispositifs disponibles. Encore, cette issue peut partiellement être abordée par arp dans des systèmes de SMBus, particulièrement quand des marques de fournisseur et de produit sont employées ; mais cela ne s'est pas vraiment propagé. 03 des spécifications du ² C d'I ajoute un mécanisme d'identification de dispositif, qui à cette écriture n'a pas eu le temps pour se propager l'un ou l'autre.

I le ² C soutient une gamme limitée des vitesses. Les centres serveurs soutenant les vitesses de Multimegabit sont rares. Le soutien de la vitesse d'un-million de bits de Fm+ est plus répandu, puisque son électronique sont des variantes simples de ce qui est employé aux vitesses inférieures. Beaucoup de dispositifs ne soutiennent pas la vitesse de 400 Kbits/s (en partie parce que SMBus ne le soutient pas encore). I les noeuds du ² C mis en application dans le logiciel (au lieu du matériel consacré) peuvent même ne pas soutenir la vitesse de 100 Kbits/s ; ainsi la gamme entière définie dans les spécifications est rarement utilisable. Tous les dispositifs doivent au moins partiellement soutenir la vitesse la plus élevée utilisée ou ils peuvent faussement détecter leur adresse de dispositif. On permet à des des dispositifs d'étirer des rhythmes pour adapter à leurs besoins particuliers, qui peuvent mourir de faim la largeur de bande requise par des dispositifs plus rapides et augmenter des latences en parlant à d'autres adresses de dispositif. Transporter la capacité place également une limite sur la vitesse de transfert, particulièrement quand des sources courantes ne sont pas employées pour augmenter des temps de montée de signal.

En raison de ces limites (gestion d'adresse, configuration d'autobus, vitesse), peu des segments d'autobus du ² C d'I ont même les dispositifs une douzaine. Il est commun pour que les systèmes aient plusieurs tels segments. Un pourrait être consacré à l'utilisation avec les dispositifs à grande vitesse, pour la basse gestion de puissance de latence. Des autres pourraient être employés pour commander quelques dispositifs où la latence et la sortie ne sont pas les questions importantes ; encore un autre segment pourrait être employé pour lire seulement des morceaux d'EEPROM décrivant les cartes ajoutées (telles que la norme de SPD utilisée avec des bâtons de DRACHME).

Technologies dérivées

I le ² C sert de base au ACCESS.bus , à l'interface de la voie de transmission de données d'affichage de du VESA (DDC), à l'autobus (SMBus) de gestion-système de , et à l'autobus intelligent de gestion de plate-forme (IPMB, un des protocoles de IPMI ). Ces réalisations ont des différences dans la tension et les gammes de fréquence du signal d'horloge, et peuvent avoir les lignes d'interruption de .

TWI (interface à deux fils) est essentiellement le même autobus mis en application sur de divers processeurs de système-sur-morceau de Atmel et autres fournisseurs. Les fournisseurs emploient le nom TWI dû aux issues d'autorisation de marque déposée. (Le ² I C de brevets dessus sont maintenant passés.)

Voir également


autobus du 1-Wire de


² S DU I
Bus d'interface périphérique périodique (SPI)
La présence périodique de détectent
Autobus de gestion-système de

.

Random links:Province balkanique | Écoles d'Etat fédérales de manière | Prix de Phoenix pour l'art spirituel | Dolphinfish de Pompano | Bryostatin | I_²_C