L'I2C de Damien Mercier
Bonjour, Cette page est une simple copie du travail qu'avait effectué Damien Mercier avant de mettre son projet au repos.
Le Bus I2C Fichier:I2c.gif
C'est un bus série à deux fils (SDA pour serial data et SCL pour serial clock) créé par Philips qui est conçu pour interfacer des périphériques lents à un microcontrôleur (I2C signifie Inter-Integrated Circuit). Les spécifications d'origine sont un débit de 100kbit/s et des adresses de composant sur 7 bits (le 8éme bit servant à indiquer une lecture ou une écriture). De très nombreux composants bon marché existent pour ce bus, convertisseur A/D, générateur DTMF, capteurs de température, récepteur de télécommande, entrées/sorties numériques ... pour ne citer que quelques exemples.
Les solutions sous Linux
Bien que créé au départ pour simplifier la conception d'équipements électroménager (hifi/video surtout), l'I2C est utilisé depuis longtemps dans le monde informatique. Il sert généralement en interne dans les cartes, c'est le cas par exemple des cartes à base de BT848 et BT878 qui utilisent un bus I2C pour piloter le tuner TV et les autres composants. Le système d'identification des paramètres des moniteurs VGA est aussi un bus I2C. Les cartes mères récentes ont également des capteurs de tension, de température et de rotation des ventilateurs qui sont basés sur un dérivé de l'I2C : le SMBUS. Il faut aussi citer l'ACCESS-BUS qui a servi comme bus clavier-souris sur certaines stations de travail.
Yail-I2C est un ensemble de bibliothèques et un driver permettant l'accès à un bus I2C sur une machine Linux. Yail-I2C est beaucoup plus simple et dispose de moins de fonctionnalités que les drivers I2C du noyau Linux. Si ce sont ces derniers qui vous intéressent, ils se trouvent là avec le projet lm_sensors : http://www2.lm-sensors.nu/~lm78/. D'autres informations sur les drivers à la source du projet se trouvent ici.
Sous FreeBSD et sous Windows existent aussi des outils pour l'I2C, voir les liens à la fin de ce document.