Bus I2C
Le bus I2C est un bus 2 fils (TWI : two wire interface)
Point de vue matériel (hardware) :
- formé de 2 fils : SCL (serial clock) + SDA (serial data)
- les sorties SCL et SDA sont des drains ouverts donc il faut mettre des résitances de tirage au + (PULL UP)
- la valeur des RPU dépend de IOL mais aussi des capacités d'entrée de tous les circuits du bus
- le nombre de composants sur le bus dépend surtout de la capacité totale d'entrée.
Point de vue logiciel :
- les composants cablés sur le bus sont identifiés par une adresse sur 7 bits (soit 127 composants max)
- un bit supplémentaire permet d'indiquer si on écrit (WRITE) ou lit (READ) les informations : R=1 ou W=0
- Plusieurs vitesses d'horloge existent : 100kHz, 400kHz et 1MHz
- Plusieurs maitres (master- des microcontroleurs) peuvent envoyer des commandes aux esclaves (slave) afin d'accéder aux informations qu'ils détiennent
L'adresse d'un composant I2C comporte souvent :
-
une partie fixée par le fabricant en interne ET une partie réglable par l'utlisateur (broches AD:adresse)
Quasiment toutes les fonctions électroniques existent au format I2C :
-
CAN, CNA, EEPROM, RTC, RAM, capteurs...