Below You'll Find Answers to the Questions We Get Asked the Most About Wireless IoT Technologies.
Interfaces périphériques universelles : qu'est-ce que I2C, ADC, CAN Bus ? Jun 13, 2023

Nous avons discuté des deux types d'interfaces périphériques universelles dans les systèmes embarqués UART et I2S au chapitre Ⅰ . Découvrons maintenant I2C, ADC et bus CAN au chapitre.

Qu'est-ce que l'I2C ?

I2C (Inter-Integrated Circuit) est un bus semi-duplex série à deux fils développé par Philips, principalement utilisé pour la communication entre puces à courte portée et à faible vitesse. Il s'agit d'une norme de bus largement utilisée dans le domaine du contrôle des communications microélectroniques. Il s'agit d'une forme spéciale de communication synchrone, avec des avantages tels que moins de lignes d'interface, des méthodes de contrôle simples et un boîtier de petit appareil.

I2C peut transmettre des informations entre des nœuds multi-maîtres et multi-salve en utilisant seulement deux fils : SDA (données série) et SCL (horloge série). Le débit de transmission de données bidirectionnelle série 8 bits peut atteindre 100 Kbit/s en standard, 400 Kbit/s en mode rapide et 3,4 Mbit/s en mode haut débit. La connexion de l'appareil est illustrée à la figure 1.

Connexions maître à esclave du bus I2C

Figure 1 Connexions maître-esclave du bus I2C

Comment fonctionne I2C ?

Les données de la ligne SDA doivent être stables pendant la période haute de la ligne SCL. L'état HAUT ou BAS de la ligne SDA ne peut changer que lorsque le signal d'horloge sur la ligne SCL est bas.

Le signal de données synchrone


Figure 2 Le signal de données synchrone

Condition de démarrage : Lorsque SCL est HIGH et que SDA passe de HIGH à LOW, la transmission de données démarre.

Condition d'arrêt : Lorsque SCL est HIGH et que SDA passe de LOW à HIGH, la transmission de données s'arrête.

La condition de démarrage et la condition d'arrêt sont émises par les dispositifs maîtres. Une fois la condition de démarrage générée, le bus est dans un état occupé. Et après la génération de la condition d'arrêt, le bus est libéré et dans un état inactif.

Dans un état inactif, SCL et SDA sont à des niveaux élevés. Le processus est illustré à la figure 3 ci-dessous.

Condition de démarrage et condition d'arrêt

Figure 3 Condition de démarrage et condition d'arrêt

Signal d'accusé de réception : une fois la transmission de 1 octet terminée, c'est-à-dire dans le 9e cycle d'horloge SCL, le maître doit libérer le bus SDA et transmettre le contrôle du bus à l'esclave. En raison du rôle de la résistance pull-up, le bus est à un niveau élevé à ce moment. Si l'esclave reçoit correctement les données envoyées par le maître, il tirera le SDA vers le bas, indiquant un signal d'accusé de réception.

Signal de non acquittement : Lorsque le 9ème cycle d'horloge SCL est atteint, le SDA reste haut, indiquant un signal de non acquittement.

Chaque octet doit être garanti à 8 bits. Lors de la transmission de données, le bit le plus élevé (MSB) est transmis en premier, et chaque octet transmis doit être suivi d'un bit d'accusé de réception (c'est-à-dire qu'une trame a un total de 9 bits). S'il y a un signal de non-acquittement de l'esclave dans un certain délai, il est automatiquement considéré que l'esclave a correctement reçu les données et le maître envoie une condition d'arrêt pour mettre fin à la communication. Le format de transmission des données est illustré à la figure 4.

Figure 4 Format de transmission de données

I2C est généralement utilisé pour la communication entre les périphériques MCU ou plusieurs MCU. L'interface I2C présente les caractéristiques d'un matériel simple et d'une programmation logicielle facile.


Qu'est-ce qu'un convertisseur analogique-numérique ( ADC ) ?

Dans les systèmes d'instruments, il est souvent nécessaire de convertir les signaux analogiques détectés en constante évolution tels que la température, la pression, le débit, la vitesse et l'intensité lumineuse en signaux numériques discrets avant qu'ils ne puissent être entrés dans un ordinateur pour traitement. Ces signaux analogiques sont convertis en signaux électriques (généralement des signaux de tension) par des capteurs, et après avoir été amplifiés par des amplificateurs, ils doivent effectuer certains traitements pour devenir des signaux numériques. L'appareil qui convertit les signaux analogiques en signaux numériques est communément appelé convertisseur analogique-numérique (ADC), abrégé en A/D.


Le processus de conversion A/N est un processus d'échantillonnage, de maintien, de quantification et d'encodage. L'idée de base de l'ADC est de comparer la tension analogique d'entrée avec la tension de référence (directement ou indirectement) et de la convertir en une sortie numérique. Il existe trois types d'ADC : le type à comparaison parallèle, le type à approximations successives et le type à double intégration.


Lors de l'utilisation de l'ADC, les préoccupations les plus importantes sont la précision et le temps de conversion. La précision de conversion est principalement influencée par des facteurs externes tels que la stabilité de la tension d'alimentation et de la tension de référence, la stabilité de l'amplificateur opérationnel et la température ambiante. Les facteurs affectés par la puce elle-même incluent la résolution, l'erreur de quantification, l'erreur relative, l'erreur linéaire, etc.

Qu'est-ce que le bus CAN (Controller Area Network) ?

Le nom complet du bus CAN est Controller Area Network. Il s'agit d'un bus série, synchrone et semi-duplex. Développée par la société BOSCH en Allemagne, cette interface périphérique est l'un des bus de terrain les plus utilisés au niveau international.


Les caractéristiques du bus CAN sont les suivantes :

  • Deux lignes de signal, signal différentiel.
  • Le débit maximum peut atteindre 1 Mbps.
  • Le contrôleur CAN dispose d'un puissant mécanisme intégré de détection et de traitement des erreurs, avec une forte tolérance aux pannes.
  • Une trame d'un message CAN peut transmettre jusqu'à 8 octets de données utiles.
  • Équipé d'un mécanisme d'arbitrage de bus, il peut former un système multi-maître.

Le protocole de communication CAN est le suivant :


CAN spécifie un total de 5 types de trames, également appelés paquets. Les trames de données sont les plus importantes et les plus complexes de la communication CAN. La trame de données commence par un bit explicite (logique 0) et se termine par sept bits implicites consécutifs (logique 1).


Accès multiple à détection de porteuse (CSMA) : chaque nœud doit écouter le bus avant de tenter d'envoyer un message. Ce n'est que lorsque le bus est inactif qu'il peut être envoyé.


Détection de collision + arbitrage sur la priorité des messages (CD + AMP) : résout les collisions grâce à la priorité des messages préprogrammée par arbitrage de bits, la priorité des messages étant située dans le domaine d'identification de chaque message. Les messages avec des identifiants de priorité plus élevée peuvent toujours obtenir un accès au bus, ce qui signifie que le dernier message de l'identifiant qui reste logiquement haut continuera à être transmis car il a une priorité plus élevée.

Trame de données du bus CAN

Figure 5 Trame de données du bus CAN

CAN standard : Seul un identifiant de 11 bits est utilisé pour déterminer la priorité d'un message. Plus la valeur de ce champ est petite, plus la priorité est élevée. Comme le montre la figure 6.


Figure 6 Identificateur CAN 11 bits standard

 

CAN étendu : Un identifiant de 29 bits. Comme le montre la figure 7.

Identificateur CAN 29 bits étendu


Figure 7 Identificateur CAN 29 bits étendu


Le bus CAN utilise principalement le CAN basse vitesse (c'est-à-dire la norme ISO11898-3) dans le domaine du contrôle industriel et utilise le CAN haute vitesse 125 Kbps dans le domaine automobile. Le protocole CAN est largement utilisé dans tous les types d'applications de l'industrie automobile, y compris les voitures particulières, les poids lourds et les véhicules polyvalents, ainsi que les véhicules agricoles.


La plupart des modules RF-star sont intégrés avec des périphériques UART, ADC, I2C et I2S dans le matériel. En raison des besoins du marché, l'UART est l'un de nos modes de communication logiciels les plus importants. Presque tous les modules BLE et modules Wi-Fi de RF-star basés sur TI, Silicon Labs, Nordic, Realtek et nos circuits intégrés auto-développés sont dotés d'un protocole de port série UART pour une transmission transparente afin de faciliter le développement de l'intégration de la fin produits, raccourcir le cycle de développement, économiser le temps et les coûts de qualification des certificats avec des modules certifiés, et plus de flexibilité avec plus de conceptions RF de modules. Par exemple, ces modules sans fil sont les bienvenus :


RF-BM-2642B1 , RF-BM-BG22A1 , RF-BM-ND04 , RSBRS02ABR , RF-WM-20CMB1

À propos de la technologie RF-star

Shenzhen RF-star Technology Co., Ltd. (RF-star) est une société de haute technologie spécialisée dans les appareils à radiofréquence et est l'IDH tiers officiel de Texas Instruments depuis plus d'une décennie. RF-star fournit des modules sans fil IoT et un ensemble complet de solutions, y compris BLE, Wi-Fi, ZigBee, Thread, Matter, Wi-SUN, Sub-1G, etc. Pour plus d'informations, veuillez visiter le site officiel https: // www.rfstariot.com/ ou contactez-nous à info@szrfstar.com.


Laisser un message

Laisser un message
Si vous êtes intéressé par nos produits et souhaitez en savoir plus, veuillez laisser un message ici, nous vous répondrons dès que possible.

Accueil

Produit

skype

whatsapp