Forum: Mikrocontroller und Digitale Elektronik TWI i2c adresse


von Michael (Gast)


Lesenswert?

Hallo,

ich möchte eine TWI verbindung mit einem Sensor herstellen.

Ich kapiere nicht wie die adresse zustande kommt.
Um eine Verbindung herzustellen schickt man die Adresse, wie bekomme ich 
diese?

Gruß Michael

von Oliver (Gast)


Lesenswert?

>wie bekomme ich diese?

Die ist vermutlich im Sensor fest verdrahtet und sollte im Datenblatt 
des Sensors stehen.

Oliver

von M. H. (doktorgnadenlos)


Lesenswert?

Und nicht verwirrt sein, wenn die Adresse nur aus sieben Bit besteht. 
Das niederwertigste Bit gibt an, ob das Telegramm eine Lesezugriff (1) 
oder eine Schreibzugriff (0) sein soll.

von volltroll.de (Gast)


Lesenswert?

Jo, Datenblat ist immer gut. Die Adresse ist zu (bei den von mir 
verwendeten Teilen) Teilweise Festverdrahtet, rest geht über die Pins. 
Aber frag jetzt nicht welche Pins.

PS: Eigentlich hättest Du das schon längst wissen müssen, denn wenn due 
das Teil ansprechen willst, dann muss man zwangsläufig ins DB guggn, 
ausser, du fragst das auch noch.

von Michael (Gast)


Lesenswert?

sieben Bits ist klar, also bis zu 127 devices.(bei manchen bis 10 Bits)

Im DB vom Sensor steht nirgends was über diese Adresse.

Aber es gibt doch mehr wie 127 verschiedene TWI Bauteile.

von Sascha (Gast)


Lesenswert?

Du wirst doch wohl nie alle auf dem Markt befindlichen I2C Bauteile 
gleichzeitig an einem Bus anschließen wollen!? - würde auch elektisch 
nicht gehen.

Vielleicht willst du uns ja mal verraten um was für einen Sensor es sich 
handelt?

Sascha

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

nein natürlich nicht.

Es handelt sich um einen Bosch BMP085.

ich habe es mit (0xEE>>1) versucht.

von Michael U. (amiga)


Lesenswert?

Hallo,

was schiebst Du da?
Steht doch auf Seite 15 eindeutig:
0xEF (read) 0xEE (write)

Ansosnsten viel Erfolg und viel Spaß beim Rechnen... ;)

Gruß aus Berlin
Michael

von Justus S. (jussa)


Lesenswert?

Michael wrote:

> Im DB vom Sensor steht nirgends was über diese Adresse.

Seite 15, 4.2 Device and register address

> ich habe es mit (0xEE>>1) versucht.

und warum das?

von Henry (Gast)


Lesenswert?

0xEE ist schon richtig aber das shift nicht.

Zum Lesezugriff einfach 0xEE und zum Schreiben 0xEF.

von Michael (Gast)


Lesenswert?

beim Ansprechen des Sensors werden SCL und SDA auf Low gezogen und 
bleiben auch Low.
An was kann das liegen?
Wenn ich einen anderen i2c Baustein dranhänge gehts.

Angeschlosesen GND, VCC, SCl und SDA.
SCL und SDA mit Pullup.

von Oliver (Gast)


Lesenswert?

Wenn die wirklich nur einmal auf low gehen, sendet der Master Start (SDA 
auf low), setzt danach SCL auf low, und hängt dann. Entweder, weil der 
Slave SCL low hält (was er auf Dauer aber gar nicht darf), oder weil im 
Programm des Masters irgendwas klemmt.

Welche Software verwendest du denn?

Oliver

von Max (Gast)


Lesenswert?

Zu diesem Thema hätte ich auch eine Frage.

Ich möchte zwei Atmega 8 über I2C Bus betreiben, wo wird die Adresse 
eingestellt?
An welchen Pins werden die letzten 3 Stellen eigestellt?
Die Suche im Forum und DB hat auf den ersten Blick nichts ergeben.

von Oliver (Gast)


Lesenswert?

Mach ein neues Thema auf.

>Die Suche im Forum und DB hat auf den ersten Blick nichts ergeben.

Na dann, Brille aufsetzen.

Oliver

von Max (Gast)


Lesenswert?

Wozu neues Thema aufmachen? Um solche Antworten zu kassieren?
Sorry aber ein Verweis auf die richtige Seite wäre hilfreicher.

von Justus S. (jussa)


Lesenswert?

Max schrieb:

> Sorry aber ein Verweis auf die richtige Seite wäre hilfreicher.

einfach mal im Acrobat nach "TWI address" zu suchen wäre auch eine 
Möglichkeit oder nicht?

von Max (Gast)


Lesenswert?

OK ich habe es gefunden, dann stimmt das aber nicht mit dem Grundwissen 
überein.

http://www.elektronik-magazin.de/page/der-i2c-bus-was-ist-das-21

Da steht, dass die ersten 4 bits nicht verändert werden können und die 
letzten
3 über herausgeführte Pins einzustellen sind. Und das war auch meine 
Frage aber anscheinend kann man die ganze Addresse verändern.
Dann könnte ich ja auch irrtümlicherweise auch eine Addresse von einem 
anderem
IC eingeben oder sehe ich es falsch???

von Michael U. (amiga)


Lesenswert?

Hallo,

warum seht ihr alles immer so absolut...

Es gibt mittlerweile viele I2C-Bausteine. Jeder Hersteller kocht da 
seine Suppe und dim Zweifel hilft das Datenblatt des konkreten 
Bausteins.
Ein EEPROM mit 8 Pin und VCC, GND, SDA, SCL, WE wird vielleicht die 
restlichen 3 Pin für die I2C-Adresse nehmen. Es gibt aber da schon 
einige, da steht im Datenblatt: wird nicht genutzt, gibt nur eine feste 
Adresse, kann man nicht ändern.

Der AVR ist kein I2C-Baustein, er kann einen I2C Master oder Slave in 
Software machen mit etwas interner Hardwareunterstützung.
Natürlich kann ich dem jede zulässige Adresse per Software geben.
Natürlich bin ich als Programmierer dafür zuständig, daß ich keine 
doppelten Adressen am Bus einstelle.

Ob Dein AVR die Adresse eines PCF 8574 benutzt, ist doch völlig egal, 
solange nicht ein solcher mit genau dieser Adresse auch an Deinem 
I2C-Bus hängt.

Gruß aus Berlin
Michael

von Oliver (Gast)


Lesenswert?

>Da steht, dass die ersten 4 bits nicht verändert werden können und die
>letzten
>3 über herausgeführte Pins einzustellen sind. Und das war auch meine
>Frage ...

die zeigt, daß du nicht richtig gelesen hast. Das ist nur beim PCF 8574 
so. Bei anderen Bausteinen ist es anders.

TWI hat keine zentrale, weltweit gültige Adressvergabe. Bei nur 127 
möglichen Adressen im Standardsystem kommen halt welche doppelt vor.
Und ja, du kannst beim AVR jede der 127 möglichen Adressen einstellen. 
Es bleibt dir überlassen, dafür zu sorgen, daß in deinem System keine 
Adresse zweimal vorkommt.

Oliver

von Max (Gast)


Lesenswert?

Sorry für die Dumme Frage aber ich bin noch ein I2C Neuling.
Danke für die Aufklärung, jetzt verstehe ich es.

Und denkt dran, Wissen ist das einzige Gut das sich vermehrt wenn man es 
teilt

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.