695 Shares 5647 views

Interface I2C: une description en russe

Les appareils électroménagers modernes, l'électronique industrielle et divers équipements de télécommunication se trouvent bien souvent des solutions similaires, mais le produit peut être virtuellement connectés les uns aux autres. Par exemple, pratiquement tous les systèmes comprend les éléments suivants:

  • certaine unité de commande « intelligent », ce qui est avantageux dans la plupart des cas représente un micro-ordinateur à cristal unique;
  • unités d'usage général tels qu'un tampon à cristaux liquides, la RAM, les ports d'E / S, EEPROM ou des convertisseurs de données spécialisées;
  • des composants spécifiques, y compris la configuration du circuit numérique et un traitement pour les signaux vidéo et radio.

Comment optimiser leur utilisation?

Pour assurer l'utilisation la plus efficace de ces solutions générales pour les concepteurs d'avantages sociaux et les producteurs eux-mêmes, ainsi que d'augmenter le niveau de performance de divers appareils et la simplification des noeuds de circuits utilisés, la société Philips a entrepris de développer un très simple bus bidirectionnel à deux fils qui fournit le plus productif le contrôle de mezhmikroskhemnoe. Ce bus permet un transfert de données via l'interface I2C.

Pour la plage de dates spécifiée par le fabricant comprend plus de 150 CMOS et des dispositifs bipolaires qui sont compatibles avec I2C et destinés à la conduite des travaux dans l'une des catégories énumérées. Il convient de noter que l'interface I2C est d'abord intégré dans tous les appareils compatibles, grâce à laquelle ils peuvent sans aucune difficulté de communiquer entre eux en utilisant un bus spécial. Grâce à l'application de cette solution de conception a tourné pour résoudre un certain nombre de problèmes appariement des différents équipements qui est tout à fait caractéristique de la portée du développement des systèmes numériques.

Les principaux avantages

Même si vous regardez une brève description de l'UART, SPI, I2C, vous pouvez mettre en évidence les avantages suivants de ce dernier:

  • Pour le travail dont vous avez besoin seulement deux lignes – la synchronisation et les données. Tout dispositif qui est connecté à un bus, peut ensuite être traitée par le logiciel complètement d'adresse unique. A tout moment, il existe une relation simple, ce qui permet à la fonction de premier plan en tant que l'émetteur maître-maître ou du récepteur.
  • Ce bus permet d'avoir plusieurs hôtes, fournissant tous les outils nécessaires à la détection de collision et d'arbitrage, aide à prévenir la corruption de données dans le cas où deux ou plusieurs de la partie supérieure commence à transmettre simultanément des informations. En mode standard ne fournit que séquentielle transfert de données de huit bits à raison de pas plus de 100 kbit / s, et en mode rapide, le seuil peut être porté à quatre fois.
  • Les puces utilisent un filtre intégré spécial qui supprime efficacement les pointes et assure l'intégrité des données.
  • Le nombre maximal de puces qui peuvent être connectés à un bus est limitée que par sa capacité maximale possible de 400 pF.

Avantages pour les concepteurs

interface I2C, ainsi que toutes les puces compatibles peuvent accélérer considérablement le processus de développement, à partir du circuit fonctionnel à son prototype final. Il convient de noter qu'en raison de la possibilité de ces puces se connectent directement au bus sans utiliser tous les types de circuits supplémentaires est fourni place pour la mise à niveau et la modification de plus d'un système prototype en débranchant et en reliant les différents dispositifs du bus.

Il y a beaucoup d'avantages qui définissent l'interface I2C. La description, en particulier, vous permet de voir les avantages suivants aux concepteurs:

  • Blocs dans le diagramme fonctionnel correspondent parfaitement aux puces, et assure ainsi une transition suffisamment rapide à partir d' un principe de fonctionnement.
  • Il n'y a pas besoin de développer des interfaces de bus, car le pneu est d'abord intégré dans une puce spéciale.
  • communication intégrée et d'adressage des protocoles de dispositifs permet au système d'être entièrement défini par logiciel.
  • Les mêmes types de puces peuvent être utilisés si nécessaire dans des applications complètement différentes.
  • Le temps total de développement est considérablement réduite en raison du fait que les concepteurs peuvent très rapidement se familiariser avec les blocs fonctionnels les plus fréquemment utilisés, ainsi que toutes sortes de puces.
  • Si vous le souhaitez, vous pouvez ajouter ou supprimer des puces du système, et il n'a pas beaucoup d'impact sur les autres appareils connectés au même bus.
  • Le temps total de développement logiciel peut être considérablement réduite en raison du fait qu'il est autorisé à utiliser une bibliothèque de modules logiciels réutilisables.

En outre, il convient de noter une procédure de diagnostic extrêmement simple pour les échecs et le débogage plus, ce qui est différent interface I2C. Description dit que si nécessaire, vous pouvez sans difficulté suivre immédiatement même des déviations mineures dans le fonctionnement de ces équipements et, par conséquent, prendre les mesures appropriées. Il convient également de noter est que les concepteurs ont fourni des solutions spéciales qui, en particulier, sont très intéressants pour une variété d'équipements portables et les systèmes qui fournissent alimenté par batterie, en utilisant l'interface I2C. en russe La description souligne également que son application permet les avantages suivants:

  • une résistance suffisamment élevée pour toute perturbation se produit.
  • Très faible consommation d'énergie.
  • Large gamme de tension d'alimentation.
  • Une large gamme de température.

Avantages pour les technologues

Il est intéressant de noter que non seulement les concepteurs, mais aussi la technologie est souvent tout récemment commencé à utiliser une interface I2C dédiée. à la description russe indique une gamme assez large d'avantages, qui sont fournis à cette catégorie de professionnels:

  • Standard bus série à deux fils avec interface permet de minimiser la connexion entre les puces, qui est, ils présentent moins de contact et nécessite moins de pistes, la fabrication de cartes de circuits imprimés ne sont pas aussi cher et ont une taille beaucoup plus petite.
  • Entièrement interface I2C LCD1602 intégré ou une autre option élimine la nécessité d'utiliser le décodeur d'adresse, ainsi que d'autres logiques peu profonde externe.
  • Il offre la possibilité d'utiliser simultanément plusieurs donnant sur un bus, ce qui accélère considérablement le test et le réglage subséquent de l'équipement, étant donné que le bus peut être connecté à une ligne d'assemblage de l'ordinateur.
  • Disponibilité compatible avec les puces d'interface à VSO, SO et DIL-package spécialisé peut réduire considérablement les exigences de la taille de l'appareil.

Il est seulement une courte liste des avantages que les différents LCD1602 d'interface I2C et d'autres. En outre des puces compatibles peuvent augmenter de manière significative la flexibilité du système utilisé pour fournir une construction extrêmement simple de différentes options d'équipement, ainsi qu'une mise à niveau relativement facile pour un soutien supplémentaire au niveau actuel de développement. Ainsi, il est possible de développer toute une famille d'équipements différents, en utilisant comme base d'un certain modèle de base.

En outre modernisation de l'équipement et l'expansion de ses fonctions peut être effectuée via une connexion standard au bus correspondant à la puce en utilisant l'interface 2C Arduino ou tout autre de l'inventaire disponible. Si nécessaire pour obtenir une plus grande ROM, auquel cas il sera suffisant que pour sélectionner un autre microcontrôleur ayant une plus grande quantité de ROM. Étant donné que la puce mise à jour si nécessaire en mesure de remplacer complètement les anciens, vous pouvez facilement ajouter de nouvelles fonctionnalités à l'équipement ou d'augmenter sa performance globale par une coupure conventionnelle des puces déjà obsolètes et plus de les remplacer par des équipements plus récents.

ACCESS.bus

En raison du fait que le pneu a une nature à deux fils de, et la possibilité de programmer d'adressage ACCESS.bus pour l'une des plateformes les plus idéales est précisément l'interface I2C. Spécification (la description en russe est présenté dans l'article), ce dispositif permet une interface alternative beaucoup moins cher à utiliser activement RS-232C plus tôt pour la connexion de différents périphériques aux ordinateurs utilisant un standard utilise un connecteur à quatre.

Introduction à la spécification

Pour les applications avancées de contrôle 8 bits, qui utilisent des micro-contrôleurs, offre la possibilité d'installer plusieurs critères de conception:

  • système complet dans la plupart des cas avantageux comprend un microcontrôleur et d' autres périphériques, y compris la mémoire et les différents ports d' entrée / sortie;
  • le coût total de la combinaison des différents appareils doit être extrêmement réduite au minimum dans un seul système;
  • un système qui est chargé des fonctions de contrôle, ne prévoit pas la nécessité d'assurer une transmission de données à grande vitesse;
  • l'efficacité globale dépend directement de l'équipement, ainsi que la nature du bus de connexion.

Pour développer le système, entièrement conforme aux critères ci-dessus, vous devez utiliser le bus dans lequel l'interface série I2C à utiliser. En dépit du fait qu'il ya une bande passante de bus série parallèle, il nécessite moins de connexions et moins de jetons de contact. Il ne faut pas oublier le fait que le pneu comprend non seulement les fils de connexion, mais aussi une variété de formats et les procédures nécessaires pour assurer la communication au sein du système.

Dispositif de communication qui utilisent une interface I2C émulation logicielle ou le pneu doit avoir un protocole spécifique qui permet aux différentes possibilités préempter collision, la perte ou l'information de blocage. Dans les dispositifs rapides doivent être en mesure de communiquer avec un lent, et en même temps le système ne devrait pas dépendre de l'appareil connecté, comme ne peuvent pas être utilisés autrement toutes les améliorations et modifications. Il est également nécessaire de développer une procédure par laquelle l'installation réelle, un dispositif particulier est fournit actuellement le bus de contrôle et à quel moment. En outre, si les différents dispositifs ayant différentes fréquences d'horloge, sont connectées au même bus, il est nécessaire de déterminer la source de la synchronisation. Tous ces critères interface I2C correspondants pour AVR et toute autre sur cette liste.

Le concept de base

bus I2C peut prendre en charge une technologie de puce utilisée. Interface LabVIEW I2C et similaire, il impliquent l'utilisation de deux lignes pour le transfert d'informations – et la synchronisation des données. Tout dispositif connecté ainsi détecté en raison d'une adresse unique, indépendamment du fait qu'il est un tampon à cristaux liquides, le microcontrôleur, d'un clavier ou une interface de mémoire, et peut ainsi fonctionner comme émetteur ou récepteur, en fonction du but pour lequel spécifiquement cet équipement est destiné.

Dans la plupart des cas tampon LCD avantageux est un récepteur standard, et la mémoire peut recevoir non seulement, mais aussi transmettre diverses données. En outre, le processus de déplacement de dispositifs d'information peuvent être classés en tant que maître et l'esclave.

Dans ce cas, le dispositif est appelé un maître qui initie la transmission des données et des signaux de synchronisation sont générés. Dans ce cas, les dispositifs adressables sont considérés par rapport à ses esclaves.

Interface de communication I2C prévoit plusieurs grands, qui est, plus d'un dispositif apte à la commande du bus est en mesure de s'y connecter. La possibilité d'utiliser plus d'un microcontrôleur à un pneu indique que plus d'un hôte peut être envoyer à un moment donné. Pour éliminer le chaos potentiel qui risque de se produire lorsqu'une telle situation se présente, nous avons développé une procédure d'arbitrage spécialisée, qui utilise l'interface I2C. Extenseurs et autres dispositifs permettent la connexion des appareils au bus sur la règle dite de réunion I.

La génération du signal de synchronisation est un droit du maître, et chacun génère son propre signal pendant le transfert de données, et en outre il peut changer seulement dans le cas où il « tire » l'esclave lent ou un autre maître lorsqu'une collision se produit.

paramètres généraux

Comme SCL, SDA et sont des lignes bidirectionnelles, qui sont reliés à une source d'alimentation positive par l'intermédiaire d'une résistance d'excursion haute. Lorsque le pneu est complètement libre, chaque ligne se trouve dans une position haute. Les étages de sortie des dispositifs qui sont connectés au bus doivent avoir une fonction à drain ouvert ou à collecteur ouvert qui pourrait être fournie par l'intermédiaire du montage IM informations d'interface I2C peuvent être transmises à un débit de pas plus de 400 kbit / s en mode rapide, tandis que dans la vitesse standard inférieur à 100 kbit / s. Le nombre total de dispositifs qui peuvent être connectés simultanément au bus, ne dépend que d'un paramètre. Cette capacité de la ligne ne dépasse pas 400 pF.

confirmation

La confirmation est une procédure obligatoire dans le transfert de données. Lead génère une impulsion de synchronisation correspondant, tandis que l'émetteur libère la ligne SDA pendant que l'horloge en tant que confirmation. Par la suite, le récepteur doit veiller à ligne SDA de rétention stable pour l'état haut de l'horloge de façon stable à l'état bas. Dans ce cas, il est nécessaire de prendre en compte la configuration et maintenez.

Dans la plupart des cas le récepteur doit nécessairement avantageux adressé générer un accusé de réception après chaque octet reçu, et la seule exception ici sont uniquement les situations où le début de l'envoi inclut l'adresse SSEC.

Si le récepteur esclave est impossible d'envoyer une confirmation de sa propre adresse, il est nécessaire de laisser la ligne de données dans un état haut, puis l'animateur signalera la possibilité d'émettre des « stop », qui interrompt l'envoi de toutes les informations. Si l'adresse a été vérifiée, mais il ne peut pas être conduit pendant une longue période plus accepter toutes les données qui conduisent devrait également être interrompu par l'envoi. Pour ce faire, l'esclave ne confirme pas l'octet suivant reçu et laisse juste la ligne de données HIGH, de sorte que le maître génère un signal « Stop ».

Si la procédure de transfert, prévoir un maître-récepteur, dans ce cas, il doit en aviser la fin de la transmission esclave réalisée, et il est pas confirmé par le dernier octet reçu. Dans ce cas, l'émetteur esclave libérer immédiatement la ligne de données pour mener peut produire un signal « Stop » ou répéter à nouveau le signal « Démarrer ».

Pour vérifier la disponibilité de l'équipement, vous pouvez essayer d'entrer dans les exemples types de croquis de l'interface I2C Arduino, comme sur la photo ci-dessus.

arbitrage

Le plomb peut commencer le transfert d'information seulement après la libération complète du pneu, mais deux ou plus de premier plan peut passer la génération du signal de départ au moment de rétention minimale. Ceci conduit finalement à un signal défini « départ » sur le bus.

Les travaux effectués sur le bus d'arbitrage SDA ces instants jusqu'à ce que SCL-bus est à l'état haut. Si l'un des principaux commence à transmettre la ligne de données à faible, mais l'autre – élevé, celui-ci est complètement déconnecté de celui-ci, parce que l'état de SDL n'est pas état plus approprié de son prolongement.

La poursuite de l'arbitrage peut être effectuée sur plusieurs bits. En raison du fait que les premières adresses sont transmises et des données, l'arbitrage peut avoir une durée jusqu'à la fin de l'adresse, et si elle sera traitée en menant le même dispositif, dans ce cas, participera et diverses données dans l'arbitrage. En raison de ces données de système d'arbitrage ne soit pas perdu en cas de collision.

Si le maître perd l'arbitrage, auquel cas il peut émettre des impulsions de synchronisation SCL à l'octet final, et pour lequel l'accès a été perdu.