Forum: Mikrocontroller und Digitale Elektronik Kein I2C ohne Programmer


von Kristian G. (kristian_g)


Lesenswert?

Hallo,
ich hab ein verwirrendes Problem:
Ich habe ein AtMega168, an dem nichts angeschlossen ist außer dem orig. 
AVR mkII Programmer, einem UART Adapter und 2 I2C Slaves (ein weitern 
AtMega und ein ITG3200 Gyro).

Jetzt beobachte ich folgendes Phänomen:
Mein Master kann, wenn der Programmer angeschlossen ist, mit beiden 
I2C-Slaves kommunizieren und gibt deren Register einwandfrei wieder.

Hänge ich aber nun den Programmer ab kann ich nicht mehr mit dem Gyro 
reden, dennoch mit dem zweiten AtMega, obwohl beide am gleichen I2C Bus 
hängen und der ISP rein garnichts mit der restlichen Peripherie zu tun 
hat. Wie durch Geisterhand scheint der Gyro "aus" zu sein.

Pegel habe ich gemessen, kein (fehlender) Kurzschluss oder der gleichen 
durch den SPI...

Jemand eine Idee?

von ich (Gast)


Lesenswert?

Kristian G. schrieb:
> Pegel habe ich gemessen, kein (fehlender) Kurzschluss oder der gleichen
> durch den SPI...

Ich dachte I²C und kein SPI;)

Wie kontrollierst du denn das, was ausgelesen wird? Über ein Display 
oder per UART an den PC geschickt? Vielleicht ist da auch ein Fehler.

von Kristian G. (kristian_g)


Lesenswert?

I2C und SPI, beides gemessen ;-)

Durch den UART. Ich lasse mir durch ihn am PC die Register ausgeben. 
Jedoch kann ich ja ohne den Programmer die Register des Slave-AtMegas 
auslesen und bekomme auch zusätzlich "meine Eingabe zurückgeschick", nur 
der Gyro weigert sich, sprich ich bekomme keinen Antwort.
Ich habe auch schon den Slave-AtMega getrennt, aber das ändert nichts.

von Thomas E. (thomase)


Lesenswert?

Wie sieht denn der Reset aus, wenn der Programmer abgezogen ist?

mfg.

von Kristian G. (kristian_g)


Lesenswert?

Mit ohne ohne Programmer 3.2V, sprich VDD.

von ich (Gast)


Lesenswert?

Kristian G. schrieb:
> Mit ohne ohne Programmer 3.2V, sprich VDD.

Kannst du denn ohne Programmer genug Strom liefern bzw, kannst du mit 
angeschlossenem Programmer trotzdem deine Originale Spannungsversorgung 
benutzen? Beim PicKit zumindest kannst du auswählen ob das Kit die 
Spannung liefern soll oder nicht.
Wenn das geht, mach mal ohne und guck ob es funktioniert.

Ist an den Pins, an denen der Programmer angeschlossen wird, noch was 
anderes Dran oder sind die ohne Programmer offen?

von Kristian G. (kristian_g)


Lesenswert?

Meine Stromversorgung sollte reichen, kann es aber gerade nicht testen.

Die Anschlüsse sind ohne Programmer offen.

von Thomas E. (thomase)


Lesenswert?

ich schrieb:
> Beim PicKit zumindest kannst du auswählen ob das Kit die
> Spannung liefern soll oder nicht.

Das geht beim AVRISP nicht. Der liefert keine Spannung.

Kontrolliere mal alle Masseverbindungen.
Möglicherweise wird eine fehlende Verbindung über den AVRISP 
hergestellt, sodaß es dann funktioniert.

mfg.

von Kristian G. (kristian_g)


Lesenswert?

Der ISP eint einzig und allein mit dem AtMega und der 
Spannungsversorgung verbunden.
Trotzdem habe ich Masse und VDD überprüft, alles so wie es sollte.

Vielleicht sollte ich Fragen ob wer von der kath. Kirche so frei wäre 
den Dämon aus meiner Schaltung zu entfernen...

von Floh (Gast)


Lesenswert?

Mach mal Fotos vom Aufbau, vielleicht biste ja betriebsblind :-)

von maveric00 (Gast)


Lesenswert?

Hallo,

'mal ins Blaue geraten:
- ISP ändert irgendetwas an der Spannungskonfiguration (z.b. Pullups, 
die den i^2c-Bus stabilisieren).
- Es werden die internen Pullups verwendet. Diese dürften zu groß sein 
(interner Pullup: 20-100 k, I2C-Pullup 0,5-16k - je nach Bus-Kapazität).
- Der Gyro ist ein 5V I2C-Baustein

Schöne Grüße,
Martin

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.