Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi - I2C - falsche Adresse


von Hopper (Gast)


Lesenswert?

Hallo,
ich besitze einen Raspberry Pi model b rev2.0. An diesen möchte ich 
einen Atmega8 mittels I2C / TWI koppel.
Ich habe diese Anleitung aus dem Forum benutzt:
Beitrag "Raspberry Pi und AVR verbinden mittels I2C/TWI"

Den I2C-Bus des Raspberry habe ich laut dieser Anleitung aktiviert:
http://kampis-elektroecke.de/?page_id=2035


Folgendes Problem tritt auf:
Wenn ich mit dem Befehl "sudo i2cdetect -y 1" ("-y 1" wg mod. b, rev2.0) 
den I2C-Bus abfrage erhalte ich folgende Tabelle:


     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Der Atmega8 sollte aber die Adresse 0x50 haben. Das "UU" bei 0x3b habe 
ich immer, egal ob der Atmega am Bus hängt oder nicht!

von Hopper (Gast)


Lesenswert?

Hat keiner ne idee? :(

von Oliver R. (orb)


Lesenswert?

Was hängt denn noch am Bus?
Hast Du noch zusätzliche PullUp-Widerstände, Pegelwandler?

: Bearbeitet durch User
von Hopper (Gast)


Lesenswert?

am I2C-Bus hängt nichts mehr!
Pull-Up Widerstände hat der Rpi von Haus aus auf der Platine, also habe 
ich da auch nichts mehr zusätzliches drangelötet. Ansosnten hängt per 
1Wire ein DS1820 und per SPI ein Portexpander MCP23S17 an dem ein GLCD 
angeschlossen ist.

von R. W. (quakeman)


Lesenswert?

Wenn an einer Adresse die Zeichenfolge "UU" steht, dann sitzt dort ein 
I2C Gerät, welches schon mit einem Kernel Modul verbunden ist. Wird sehr 
wahrscheinlich ein onboard Gerät auf dem RPI Board sein. Ein neues Gerät 
wird immer nur mit der Adresse als Zahl in der Liste dargestellt.

In deinem Fall wird der Atmega dann am I2C Bus nicht gefunden.

Ciao,
     Rainer

von Oliver R. (orb)


Lesenswert?

Fox Mulder schrieb:
> Wird sehr
> wahrscheinlich ein onboard Gerät auf dem RPI Board sein.

Der PI B V2.0 hat keinen onboard I2C-Teilnehmer. Eigendlich werden beide 
Busse leer angezeigt.

von R. W. (quakeman)


Lesenswert?

Hier die Ausgabe von meinem RPI:
root@raspberrypi:~# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

An 0x68 sitzt der externe RTC mit geladenem Kernel Modul und an 0x57 ein 
externes EEProm ohne geladenes Modul (Deshalb einmal UU und einmal 57).

Ein Blick in /sys/class/i2c-adapter/i2c-1/1-003b/name zeigt, dass an 
dieser Adresse ein WM8804 sitzt, wofür auch ein spezielles Kernel Modul 
geladen wurde. Dieser gehört zum Wolfson Audio-Codec.

Ciao,
     Rainer

von Pete K. (pete77)


Lesenswert?

Läuft der AVR denn auch auf 3V3?
GND zwischen Raspberry und AVR verbunden?

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.