www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TWI i2c adresse


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>wie bekomme ich diese?

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

Oliver

Autor: M. H. (doktorgnadenlos)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: volltroll.de (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nein natürlich nicht.

Es handelt sich um einen Bosch BMP085.

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

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Henry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
0xEE ist schon richtig aber das shift nicht.

Zum Lesezugriff einfach 0xEE und zum Schreiben 0xEF.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach ein neues Thema auf.

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

Na dann, Brille aufsetzen.

Oliver

Autor: Max (Gast)
Datum:

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

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Max (Gast)
Datum:

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

http://www.elektronik-magazin.de/page/der-i2c-bus-...

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???

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.