I2C-Hacking-Bus-Multiple

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Introduction

Dédoubler le bus I2C!!!! C'est quoi cette histoire loufoque?

Oui, c'est possible. Comme Arduino n'utilise pas de système d'exploitation, nous avons un énorme avantage... C'est notre Arduino étant le maître du bus (voir nos autre tuto I2C), c'est notre appel de fonction I2C qui lancera l'émission des données sur le bus I2C.

Il n'y a donc rien qui circule sur le bus I2C si Arduino n'en fait pas de demande I2C spécifique.

Le principe du Hack

Ha ha! Génial... s'il n'y a rien qui circule sur le bus... rien ne nous empêche d'enlever les deux fils de notre Bus I2C pour les brancher sur un autre bus en parallèle puis de relancer notre programme.

Le données circulent alors sur le 2ième bus... (le premier étant inactif)

La mise en oeuvre

Dans la réalité, nous n'allons pas nous amuser à retirer et rebrancher des fils... nous allons utiliser un composant qui fera cela à demande pour nous.

Nous pourrons ainsi contrôler ("aiguiller") les signaux I2C entre les différents sous Bus I2C que nous allons monter.

Le 74HC138

The 74HC138; 74HCT138 is a high-speed Si-gate CMOS device and is pin compatible with Low-power Schottky TTL (LSTTL). The 74HC138; 74HCT138 decoder accepts three binary weighted address inputs (A0, A1 and A3) and when enabled, provides 8 mutually exclusive active LOW outputs (Y0 to Y7). The 74HC138; 74HCT138 features three enable inputs: two active LOW (E1 and E2) and one active HIGH (E3). Every output is HIGH unless E1 and E2 are LOW and E3 is HIGH. This multiple enable function allows easy parallel expansion of the 74HC138; 74HCT138 to a 1-of-32 (5 lines to 32 lines) decoder with just four 74HC138; 74HCT138 ICs and one inverter.

[Fiche technique] (NXP.com, pdf, anglais)

Montage

Les amoureux de "retour vers le futur" (le films) se souviennent certainement du tableau de bord de la Dolorean.

Hé bien, figurez vous qu'AdaFruit en à fait un petit projet... histoire de se distraire (voir cette source, AdaFruit, anglais).

I2C-Hacking-Bus-Multiple-01.jpg
Crédit: AdaFruit Industries www.adafruit.com

Il est possible de reconstruire un tel tableau à l'aide d'afficheur 4x7 segment I2C.

Le HIC, c'est qu'il n'y a pas assez d'adresses configurable sur l'afficheur (3bit = 8 adresses) disponible pour brancher TOUS les afficheurs nécessaires (9) sur le bus I2C!

I2C-Hacking-Bus-Multiple-01a.jpg
Crédit: AdaFruit Industries www.adafruit.com

Cependant, grâce au 74HC138, nous allons pouvoir réaliser un "aiguilleur" pour notre bus I2C.

640px
Crédit: AdaFruit Industries www.adafruit.com



Réalisé par Meurisse D. pour MCHobby.be.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.