Présentation

Présentation du Bus I2C


I2C est un Bus de données qui a émergé de la « guerre des standards » lancée par les acteurs du monde électronique. Conçu par Philips pour les applications de domotique et d’électronique domestique, il permet de relier facilement un microprocesseur et différents circuits, notamment ceux d’une télévision moderne : récepteur de la télécommande, réglages des amplificateurs basses fréquences, tuner, horloge, gestion de la prise péritel, etc.



Les normes I2C (Inter-Integrated Circuit) et SPI (Serial Peripheral Interface) ont été créées pour fournir un moyen simple de transférer des informations numériques entre des capteurs et des microcontrôleurs.


Les bibliothèques Arduino pour I2C et SPI facilitent l’utilisation de ces deux protocoles. Le choix entre I2C et SPI est en général déterminé par les périphériques que l’on souhaite connecter. Certains appareils offrent les deux standards, mais habituellement un périphérique ou une puce ne supporte qu’une seule des deux normes.


I2C à l’avantage de n’avoir besoin que de deux connexions de signalisation (l’emploi de plusieurs périphériques sur les deux connexions est assez simple et on reçoit une confirmation que les signaux ont été correctement reçus).


L’inconvénient est que la vitesse des données est inférieure à celle de SPI et qu’elles ne peuvent voyager que dans un seul sens à la fois (Simplex), ce qui abaisse encore plus le débit si des communications bidirectionnelles sont nécessaires (Half Duplex). Il faut aussi connecter des résistances « pull-up » aux connexions pour s’assurer de la fiabilité de la transmission des signaux.


L’avantage de SPI est qu’il a un meilleur débit et qu’il a des connexions d’entrée et de sorties séparées, si bien qu’il peut envoyer et recevoir en même temps (Full Duplex). Il utilise une ligne supplémentaire par appareil pour sélectionner le périphérique actif et il faut donc plus de connexions si on a de nombreux appareils à connecter.

Créé avec HelpNDoc Personal Edition: Créer des fichiers d'aide pour la plateforme Qt Help