Interface I2C : description en russe

Table des matières:

Interface I2C : description en russe
Interface I2C : description en russe
Anonim

Dans les appareils électroménagers modernes, l'électronique industrielle et divers équipements de télécommunications, des solutions similaires peuvent souvent être trouvées, bien que les produits puissent être pratiquement sans rapport. Par exemple, presque tous les systèmes incluent les éléments suivants:

  • une certaine unité de contrôle "intelligente", qui dans la grande majorité des cas est un micro-ordinateur monopuce;
  • composants à usage général tels que tampons LCD, RAM, ports d'E/S, EEPROM ou convertisseurs de données dédiés;
  • composants spécifiques, y compris les circuits de syntonisation numérique et de traitement du signal pour les systèmes vidéo et radio.

Comment optimiser leur application ?

brève description des interfaces uart spi i2c
brève description des interfaces uart spi i2c

Pour tirer le meilleur parti de ces solutions communes au profit des concepteurs et des fabricants, ainsi que pour améliorer les performances globales de divers matériels et simplifier les composants de circuits appliqués, Philips a entrepris de développer le bidirectionnel bifilaire le plus simple bus qui fournit l'inter-puce la plus productivecontrôler. Ce bus assure le transfert de données via l'interface I2C.

Aujourd'hui, la gamme de produits du fabricant comprend plus de 150 CMOS, ainsi que des dispositifs bipolaires compatibles avec I2C et conçus pour fonctionner dans l'une des catégories répertoriées. Il convient de noter que l'interface I2C est initialement intégrée à tous les appareils compatibles, grâce à laquelle ils peuvent facilement communiquer entre eux à l'aide d'un bus spécial. Grâce à l'utilisation d'une telle solution de conception, il a été possible de résoudre un assez grand nombre de problèmes d'interfaçage de divers équipements, ce qui est assez typique pour le développement de systèmes numériques.

Principaux avantages

interface i2c
interface i2c

Même si vous regardez une brève description des interfaces UART, SPI, I2C, vous pouvez souligner les avantages suivants de ces dernières:

  • Pour travailler, vous n'avez besoin que de deux lignes - synchronisation et données. Tout appareil qui se connecte à un tel bus peut alors être adressé par programme à une adresse complètement unique. A tout moment, il existe une relation simple qui permet aux maîtres d'agir comme maître-émetteur ou maître-récepteur.
  • Ce bus offre la possibilité d'avoir plusieurs maîtres à la fois, fournissant tous les moyens nécessaires pour déterminer les collisions, ainsi qu'un arbitrage pour empêcher la corruption des données dans le cas où deux maîtres ou plus commencent à transmettre des informations simultanément. En mode normalseule la transmission de données série 8 bits est fournie à une vitesse ne dépassant pas 100 kbps, et en mode rapide, ce seuil peut être augmenté quatre fois.
  • Les puces utilisent un filtre intégré spécial qui supprime efficacement les surtensions et garantit une intégrité maximale des données.
  • Le nombre maximum possible de puces pouvant être connectées à un bus n'est limité que par sa capacité maximale possible de 400 pF.

Avantages pour les constructeurs

interface i2c lcd1602
interface i2c lcd1602

L'interface I2C, ainsi que toutes les puces compatibles, permettent d'accélérer considérablement le processus de développement, du schéma fonctionnel au prototype final. Dans le même temps, il convient de noter qu'en raison de la possibilité de connecter ces microcircuits directement au bus sans utiliser toutes sortes de circuits supplémentaires, un espace est prévu pour une modernisation et une modification supplémentaires du système prototype en déconnectant et en connectant divers appareils du bus.

L'interface I2C se distingue par de nombreux avantages. La description, en particulier, permet de voir les avantages suivants pour les constructeurs:

  • Les blocs du schéma fonctionnel correspondent parfaitement aux microcircuits, et en même temps, une transition assez rapide du fonctionnel au fondamental est fournie.
  • Il n'est pas nécessaire de développer des interfaces de bus car le bus est déjà nativement intégré dans des puces dédiées.
  • Protocoles de communication intégrés etl'adressage des appareils permet au système d'être entièrement défini par logiciel.
  • Les mêmes types de microcircuits, si nécessaire, peuvent être utilisés dans des applications complètement différentes.
  • Le temps total de développement est considérablement réduit car les concepteurs peuvent rapidement se familiariser avec les blocs fonctionnels les plus couramment utilisés, ainsi qu'avec divers microcircuits.
  • Si vous le souhaitez, vous pouvez ajouter ou supprimer des puces du système, et en même temps n'avoir pas beaucoup d'effet sur les autres équipements connectés au même bus.
  • Le temps total de développement logiciel peut être considérablement réduit en autorisant une bibliothèque de modules logiciels réutilisables.

Entre autres choses, il convient de noter la procédure extrêmement simple de diagnostic des pannes survenues et de débogage ultérieur, qui distingue l'interface I2C. La description suggère que, si nécessaire, même des écarts mineurs dans le fonctionnement d'un tel équipement peuvent être surveillés instantanément sans aucune difficulté et, en conséquence, des mesures appropriées peuvent être prises. Il convient également de noter que les concepteurs obtiennent des solutions spéciales, qui, en particulier, sont assez attrayantes pour divers équipements et systèmes portables qui fournissent une alimentation par batterie à l'aide de l'interface I2C. La description en russe indique également que son utilisation vous permet de fournir les avantages importants suivants:

  • Degré suffisamment élevé de résistance à toute interférence émergente.
  • Finalementfaible consommation d'énergie.
  • La plus large plage de tension d'alimentation.
  • Large plage de température.

Avantages pour les technologues

Il convient de noter que non seulement les concepteurs, mais aussi les technologues ont récemment commencé à utiliser assez souvent une interface I2C spécialisée. La description en russe indique un éventail assez large d'avantages que cette catégorie de spécialistes offre:

  • Un bus série standard à deux fils avec cette interface minimise les interconnexions entre les CI, ce qui signifie qu'il y a moins de broches et moins de pistes nécessaires, ce qui rend les PCB moins chers et beaucoup plus petits.
  • Une interface I2C entièrement intégrée LCD1602 ou une autre option élimine complètement le besoin de décodeurs d'adresse et d'autres petites logiques externes.
  • Il est possible d'utiliser plusieurs maîtres sur un tel bus en même temps, ce qui accélère considérablement les tests et la configuration ultérieure de l'équipement, puisque le bus peut être connecté à un ordinateur de chaîne de montage.
  • La disponibilité de circuits intégrés compatibles avec cette interface dans les packages VSO, SO et DIL personnalisés peut réduire considérablement les exigences de taille de l'appareil.

Ceci n'est qu'une courte liste d'avantages qui distinguent l'interface I2C du LCD1602 et des autres. De plus, des puces compatibles peuvent augmenter considérablement la flexibilité du système utilisé, offrantconception extrêmement simple de diverses options d'équipement, ainsi que des mises à niveau relativement faciles pour soutenir davantage le développement au niveau actuel. Ainsi, il est possible de développer toute une famille d'équipements différents, en utilisant un certain modèle de base comme base.

La modernisation ultérieure de l'équipement et l'extension de ses fonctions peuvent être effectuées au moyen d'une connexion standard au bus du microcircuit correspondant à l'aide de l'interface Arduino 2C ou de toute autre de la liste disponible. Si une ROM plus grande est requise, il suffira de sélectionner un autre microcontrôleur avec une ROM augmentée. Étant donné que les puces mises à jour peuvent remplacer complètement les anciennes si nécessaire, vous pouvez facilement ajouter de nouvelles fonctionnalités à l'équipement ou augmenter ses performances globales en déconnectant simplement les puces obsolètes, puis en les remplaçant par un équipement plus récent.

ACCESS.bus

En raison du fait que le bus a une nature à deux fils, ainsi que la possibilité d'adressage de programme, l'une des plates-formes les plus idéales pour ACCESS.bus est l'interface I2C. La spécification (la description en russe est présentée dans l'article) de cet appareil en fait une alternative beaucoup moins chère à l'interface RS-232C précédemment utilisée activement pour connecter divers périphériques à des ordinateurs à l'aide d'un connecteur standard à quatre broches.

Introduction aux spécifications

description de l'interface i2c en russe
description de l'interface i2c en russe

Pour les applications modernesContrôle 8 bits, qui utilise des microcontrôleurs, il est possible de définir certains critères de conception:

  • le système complet comprend principalement un microcontrôleur et d'autres périphériques, y compris la mémoire et divers ports d'E/S;
  • le coût total de la combinaison de différents appareils au sein d'un même système doit être minimisé autant que possible;
  • le système qui contrôle les fonctions ne prévoit pas la nécessité de fournir un transfert d'informations à grande vitesse;
  • l'efficacité totale dépend directement de l'équipement choisi ainsi que de la nature du bus de liaison.

Pour concevoir un système qui répond pleinement aux critères énumérés, vous devez utiliser un bus qui utilisera l'interface série I2C. Bien que le bus série n'ait pas la bande passante du bus parallèle, il nécessite moins de connexions et moins de broches de puce. Dans le même temps, n'oubliez pas que le bus comprend non seulement des fils de connexion, mais également diverses procédures et formats nécessaires pour assurer la communication au sein du système.

Les appareils qui communiquent en utilisant l'émulation logicielle de l'interface I2C ou du bus correspondant doivent avoir un protocole spécifique qui permet d'éviter diverses possibilités de collisions, de perte ou de blocage d'informations. Les appareils rapides doivent pouvoir communiquer avec les appareils lents, et le système ne doit pas dépendre dede l'équipement qui y est connecté, faute de quoi toutes les améliorations et modifications ne pourront pas être utilisées. Il est également nécessaire de développer une procédure à l'aide de laquelle il est réaliste d'établir quel dispositif particulier assure actuellement la commande de bus et à quel moment. De plus, si différents appareils avec des fréquences d'horloge différentes sont connectés au même bus, vous devez décider de la source de sa synchronisation. Tous ces critères sont remplis par l'interface I2C pour l'AVR et tous les autres de cette liste.

Concept principal

description de la spécification de l'interface i2c en russe
description de la spécification de l'interface i2c en russe

Le bus I2C peut prendre en charge n'importe quelle technologie de puce utilisée. L'interface I2C LabVIEW et d'autres similaires prévoient l'utilisation de deux lignes pour le transfert d'informations - données et synchronisation. Tout appareil ainsi connecté est reconnu par son adresse unique, qu'il s'agisse d'un tampon LCD, d'un microcontrôleur, d'une mémoire ou d'une interface clavier, et peut faire office de récepteur ou d'émetteur, selon ce à quoi il est destiné pour cet équipement.

Dans la grande majorité des cas, le tampon LCD est un récepteur standard, et la mémoire peut non seulement recevoir, mais aussi transmettre diverses données. Entre autres choses, selon le processus de déplacement des informations, les appareils peuvent être classés comme esclave et maître.

Dans ce cas, le maître est l'appareil qui initie le transfert de données et génère égalementsignaux de synchronisation. Dans ce cas, tout appareil adressable sera considéré comme esclave par rapport à lui.

L'interface de communication I2C prévoit la présence de plusieurs maîtres à la fois, c'est-à-dire que plusieurs appareils capables de contrôler le bus peuvent s'y connecter. La possibilité d'utiliser plus d'un microcontrôleur sur le même bus signifie que plus d'un maître peut être transmis à tout moment. Pour éliminer le chaos potentiel qui risque d'apparaître lorsqu'une telle situation se présente, une procédure d'arbitrage spécialisée a été développée qui utilise l'interface I2C. Les extenseurs et autres appareils permettent de connecter des appareils au bus conformément à la règle dite de câblage.

La génération du signal d'horloge est la responsabilité du maître, et chaque maître génère son propre signal pendant le transfert de données, et il ne peut changer plus tard que s'il est "tiré" par un esclave lent ou un autre maître lorsqu'une collision se produit.

Paramètres généraux

SCL et SDA sont des lignes bidirectionnelles qui se connectent à une alimentation positive avec une résistance pull-up. Lorsque le pneu est absolument libre, chaque ligne est en position haute. Les étages de sortie des appareils connectés au bus doivent être à drain ouvert ou à collecteur ouvert afin que la fonction ET câblée puisse être fournie. Les informations via l'interface I2C peuvent être transmises à une vitesse maximale de 400 kbpsmode rapide, tandis que la vitesse standard ne dépasse pas 100 kbps. Le nombre total d'appareils pouvant être connectés simultanément au bus dépend d'un seul paramètre. Il s'agit de la capacité de ligne, qui n'est pas supérieure à 400 pf.

Confirmation

description de l'interface i2c
description de l'interface i2c

La confirmation est une procédure obligatoire dans le processus de transfert de données. Le maître génère l'impulsion de synchronisation appropriée tandis que l'émetteur libère la ligne SDA pendant cette impulsion de synchronisation en guise d'accusé de réception. Après cela, le récepteur doit s'assurer que la ligne SDA est maintenue stable pendant l'état haut de l'horloge dans un état bas stable. Dans ce cas, assurez-vous de prendre en compte les temps d'installation et de maintien.

Dans la grande majorité des cas, il est obligatoire pour le récepteur adressé de générer un accusé de réception après chaque octet reçu, à la seule exception lorsque le début de la transmission comprend une adresse CBUS.

Si le récepteur-esclave n'a aucun moyen d'envoyer la confirmation de sa propre adresse, la ligne de données doit être laissée haute, puis le maître pourra émettre un signal "Stop", qui interrompra l'envoi de toutes les informations. Si l'adresse a été confirmée, mais que l'esclave ne peut plus recevoir de données pendant une longue période, le maître doit également interrompre l'envoi. Pour ce faire, l'esclave n'acquitte pas le prochain octet reçu et quitte simplement la ligneélevé, provoquant la génération d'un signal d'arrêt par le maître.

Si la procédure de transfert prévoit la présence d'un maître-récepteur, alors dans ce cas il doit informer l'esclave de la fin de la transmission, et cela se fait en n'acquittant pas le dernier octet reçu. Dans ce cas, l'émetteur-esclave libère immédiatement la ligne de données afin que le maître puisse émettre un signal "Stop" ou répéter à nouveau le signal "Start".

Pour vérifier si l'équipement fonctionne, vous pouvez essayer d'entrer des exemples standard de croquis pour l'interface I2C dans Arduino, comme sur la photo ci-dessus.

Arbitrage

interface arduino 2c
interface arduino 2c

Les maîtres peuvent commencer à envoyer des informations uniquement lorsque le bus est complètement libre, mais deux ou plusieurs maîtres peuvent générer un signal de démarrage au temps de maintien minimum. Cela aboutit finalement à un signal "Start" spécifique sur le bus.

L'arbitrage fonctionne sur le bus SDA lorsque le bus SCL est haut. Si l'un des maîtres commence à transmettre un niveau bas sur la ligne de données, mais qu'en même temps l'autre est haut, alors ce dernier en est complètement déconnecté, car l'état SDL ne correspond pas à l'état haut de sa ligne interne.

L'arbitrage peut se poursuivre sur plusieurs bits. Du fait que l'adresse est transmise en premier, puis les données, l'arbitrage peut durer jusqu'à la fin de l'adresse, et si les maîtres adressentle même appareil, alors des données différentes participeront également à l'arbitrage. En raison de ce schéma d'arbitrage, aucune donnée ne sera perdue en cas de collision.

Si le maître perd l'arbitrage, il peut émettre des impulsions d'horloge dans SCL jusqu'à la fin de l'octet, au cours de laquelle l'accès a été perdu.

Conseillé: