I2C-Hacking-Reset

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

{{bloc-etroit|text=Sur un bus I2C, chaque périphérique doit avoir sa propre adresse, adresse qui doit être unique sur le bus.

A cette fin, la plupart des breakouts dispose de cavalier (pastilles) d'adressage matériel.

ADF-LED-BACKPACK-ARD-01.jpg
L'exemple issus des contrôleurs LED d'AdaFruit et présentant les "jumpers" A0, A1 et A2 permettant de modifier l'adresse de l'esclave.

En pontant certains de ces contacts, il est donc possible de modifier l'adresse du composant sur le bus... génial si nous voulons en placer plusieurs :-). Il suffit qu'il aient chacun une adresse différente.

Mais parfois, certains composants ne disposent pas de configuration d'adresse matériel... Arghh!!!

C'est la cas du BMP085 ci-dessous (que nous utiliserons en exemple)

I2C Hack BMP085.jpg

Comme vous pouvez le voir, ce dernier n'a pas de cavalier d'adressage matériel (ni derrière).

Du coup, il est uniquement possible de placer UN SEUL composant BMP085 sur le bus I2C. Si vous en placions 2, ils répondraient tous les deux en même temps et la réponse ne pourrait pas être décodée par le maître (gloups!)

La ligne Reset

Dans le cas du BMP085, vous ne pouvez donc avoir qu'un seule périphérique à l'adresse 0x77 (etc.).

Mais si vous prêtez attention à l'image... vous noterez une entrée nommée XCLR.

Comme ce composant ne dispose pas de broches permettant de modifier son adresse, il ne peut normalement y avoir qu'un seul BMP sur le bus I2C :-/

Le BMP085

SAUF QUE le BMP085 dispose aussi d'une broche RESET qui permet de le désactive! En fin de compte, il est possible d'avoir plusieurs BMP à l'adresse 0x77 sur le même bus I2C. Il faut seulement veiller à activer le RESET (broche XCLR=Reset à LOW) pour tous les périphériques BMP à l'exception de celui avec lequel nous voulons dialoguer (broches XCLR = HIGH pour désactiver le Reset). Le périphérique I2C qui ne sera pas en Reset répondra sur le bus I2C.


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.