I2C Info-I2C Bus, Interface et protocole

I2C est un protocole série pour l’interface à deux fils pour connecter des périphériques à faible vitesse tels que les microcontrôleurs, les EEPROMs, les convertisseurs A/N et n/A, les interfaces E / S et autres périphériques similaires dans les systèmes embarqués. Il a été inventé par Philips et maintenant il est utilisé par presque tous les principaux fabricants de circuits intégrés. Chaque périphérique esclave I2C a besoin d’une adresse – ils doivent toujours être obtenus auprès de NXP (anciennement Philips semiconductors).,

le bus I2C est populaire car il est simple à utiliser, il peut y avoir plus d’un maître, seule la vitesse supérieure du bus est définie et seuls deux fils avec des résistances pull-up sont nécessaires pour connecter un nombre I2C peut utiliser des microcontrôleurs encore plus lents avec des broches d’E/S à usage général car ils n’ont besoin que de générer des conditions de démarrage et D’arrêt correctes en plus des fonctions de lecture et d’écriture d’un octet.

Chaque dispositif esclave a une adresse unique., Le transfert de et vers le périphérique maître est en série et il est divisé en paquets 8 bits. Toutes ces exigences simples rendent très simple la mise en œuvre de l’interface I2C même avec des microcontrôleurs bon marché qui n’ont pas de contrôleur matériel I2C spécial. Vous n’avez besoin que de 2 broches d’E/S gratuites et de quelques routines i2C simples pour envoyer et recevoir des commandes.

les spécifications initiales I2C définissaient la fréquence d’horloge maximale de 100 kHz. Cela a ensuite été augmenté à 400 kHz en mode rapide. Il existe également un mode haute vitesse pouvant aller jusqu’à 3,4 MHz et un mode ultra-rapide de 5 MHz.,

I2C Interface

I2C utilise seulement deux fils: SCL (serial clock) et SDA (serial data). Les deux doivent être tirés avec une résistance à + Vdd. Il existe également des manettes de niveau I2C qui peuvent être utilisées pour se connecter à deux bus I2C avec des tensions différentes.

adresses I2C

la communication I2C de base utilise des transferts de 8 bits ou octets. Chaque périphérique esclave I2C a une adresse 7 bits qui doit être unique sur le bus. Certains périphériques ont une adresse I2C fixe tandis que d’autres ont quelques lignes d’adresse qui déterminent les bits inférieurs de l’adresse I2C., Cela rend très facile d’avoir tous les périphériques I2C sur le bus avec une adresse I2C unique. Il existe également des périphériques qui ont une adresse 10 bits comme le permet la spécification.

l’adresse 7 bits représente les bits 7 à 1 tandis que le bit 0 est utilisé pour signaler la lecture ou l’écriture sur le périphérique. Si le bit 0 (dans l’octet d’adresse) est défini sur 1, le périphérique maître Lira à partir du périphérique I2C esclave.

le périphérique maître n’a pas besoin d’adresse car il génère l’horloge (via SCL) et adresse les périphériques esclaves I2C individuels.,

Protocole I2C

Dans l’état normal, les deux lignes (SCL et SDA) sont élevés. La communication est initiée par le dispositif maître. Il génère la ou les conditions de démarrage suivies de l’adresse du périphérique esclave (B1). Si le bit 0 de l’octet d’adresse a été défini sur 0, le périphérique maître écrira sur le périphérique esclave (B2). Sinon, l’octet suivant sera lu à partir du périphérique esclave. Une fois que tous les octets sont lus ou écrits (Bn), le périphérique maître génère une condition D’arrêt (P)., Cela signale à d’autres périphériques sur le bus que la communication est terminée et qu’un autre périphérique peut utiliser le bus.

la plupart des périphériques I2C prennent en charge la condition de démarrage répétée. Cela signifie qu’avant que la communication se termine par une condition d’arrêt, le périphérique maître peut répéter la condition de début avec l’octet d’adresse et changer le mode d’écriture en lecture.

Conclusion

le bus I2C est utilisé par de nombreux circuits intégrés et est simple à mettre en œuvre. Tout microcontrôleur peut communiquer avec des périphériques I2C même s’il n’a pas d’interface I2C spéciale., Les spécifications I2C sont flexibles-le bus I2C peut communiquer avec des périphériques lents et peut également utiliser des modes haute vitesse pour transférer de grandes quantités de données. En raison de nombreux avantages, le bus I2C restera comme l’une des interfaces série les plus populaires pour connecter des circuits intégrés sur la carte.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *