Forum: Compiler & IDEs I2C nach Stop conition Hänger!


von Manfred Schreier (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

erst mal zu meiner Hardware:

Atmega32
3*MPC3221 ADC mit I2C Interface (Einer ist über einen ADUM1250 isoliert)

Mein Programm holt sich die Daten von einem ADC. Das läuft auch recht 
gut. Doch nach ein paar Sekunden (Unterschiedlich) bleibt SDA auf LOW 
hängen.

Ich denke es liegt an dem Isolationsbaustein, da ich diesen über  einen 
Fet zu schalten kann. Wenn er nicht zugeschaltet ist läuft alles 
wunderbar.

Kann mir irgendjemand einen Tip geben woran es liegen könnte?

Ich habe die zwei Kondensatoren ,die im Datasheet in Figure 9. zusehen 
sind nicht eingebaut. Frag mich nicht warum ich weiß es auch nicht.
Könnte mein Problem dadurch entstehen?

Ich weiß es ist schwer so durch die Glaskugel, aber dennoch danke.




Beitrag "I2C hängt bei Stop Condition"

von Manfred Schreier (Gast)


Lesenswert?

Ach ja der Link unten hab ich schon durchgelesen. (aber der hilft mir 
nicht weiter)

von gra (Gast)


Lesenswert?

Am IC liegts nicht. Da bist du schon selber schuld.
Habe letztes Jahr ein paar verbaut.
Funktionieren hervorragend und machen genau das was sie sollen.

Dann löt mal die Kondensatoren hin und zeig mal deinen Schaltplan (wie 
du den ADUM über "einen" FET zuschaltest).

gruß

von Manfred Schreier (Gast)


Lesenswert?

gra schrieb:
> Da bist du schon selber schuld.

Ich weiß :(

gra schrieb:
> Funktionieren hervorragend und machen genau das was sie sollen.

Endlich mal einer der den IC schon mal verwendet hat

gra schrieb:
> Dann löt mal die Kondensatoren hin

Mach ich gerade, meld mich dann.

gra schrieb:
> zeig mal deinen Schaltplan (wie
> du den ADUM über "einen" FET zuschaltest

Der Fet schaltet nur die 5V auf einer Seite zu und ab.

von gra (Gast)


Lesenswert?

Öhm ja.. dann verstehtich aber nicht, das wenn du den IC abschlatest die 
Übertragung funktioniert. Wenn der aus ist sollte ja keine Kommunikation 
zwischen Master und Slave möglich sein.

von Manfred Schreier (Gast)


Lesenswert?

gra schrieb:
> Öhm ja.. dann verstehtich aber nicht, das wenn du den IC abschlatest die
> Übertragung funktioniert. Wenn der aus ist sollte ja keine Kommunikation
> zwischen Master und Slave möglich sein.

Ich frage ja garnicht diesen Slave(Hinter dem ADUM) ab sondern einen 
anderen.

Aber der Adum legtden ganzen bus lam :)

von gra (Gast)


Lesenswert?

Sorry, das hat mir meine Glaskugel nicht gesagt^^
Trozdem Schaltplan, Boardlayout, Pull Ups?

von Manfred Schreier (Gast)


Angehängte Dateien:

Lesenswert?

gra schrieb:
> Trozdem Schaltplan, Boardlayout, Pull Ups?

Pullups 10K auf beiden Seiten vorhanden (SDA u. SCL).

Hab nun die Kondensatoren (47nF) auf beiden seiten (GND -VCC)

und es funktioniert noch nicht

von Manfred Schreier (Gast)


Lesenswert?

da es sehr schwierig wird hab ich den 200Ohm Widerstand noch nicht 
eingebaut.

Und er sollte ja nur Optional sein.

von Manfred Schreier (Gast)


Lesenswert?

Der FET schält dann GND' auf GND und bringt somit den ADUM in zum laufen 
und in den BUS.

von Manfred Schreier (Gast)


Lesenswert?

gra schrieb:
> Schaltplan, Boardlayout, Pull Ups

Bin mal gespannt was du sagst gra.

Bei dir hat es ja ohne probleme funktioniert. Vielleicht siehst du den 
Fehler sofort. (Hoffe ich :)

von Manfred Schreier (Gast)


Lesenswert?

Manfred Schreier schrieb:
> Hab nun die Kondensatoren (47nF) auf beiden seiten (GND -VCC)

hab nun auf 100nF umgerüstet, ohne erfolg

von Stefan (Gast)


Lesenswert?

Hallo,

haben deine MCP3221 auch wirklich unterschiedliche Adressen ????

von Klaus F. (kfalser)


Lesenswert?

Kann dein Schaltbild überhaupt stimmen?

Der ADUM 1251 sendet den Clock unidirektional von 1 nach 2.
An Port 1 hängt aber der MPC Slave, nicht der Master.

von Manfred Schreier (Gast)


Lesenswert?

Stefan schrieb:
> haben deine MCP3221 auch wirklich unterschiedliche Adressen ????

Ich hoffe es doch, hab sie extra so bestellt!!

Klaus Falser schrieb:
> Der ADUM 1251 sendet den Clock unidirektional von 1 nach 2.

Das stimmt! Aber der Adum 1250 sendet auch den Clock bidirektional!

von Klaus F. (kfalser)


Lesenswert?

Was denn nun?
Verwendest Du den 1250 oder 1251?

von Manfred Schreier (Gast)


Lesenswert?

Klaus Falser schrieb:
> Was denn nun?
> Verwendest Du den 1250 oder 1251?

sry hab gerade bemerkt, dass ich oben einen Tipo hatte.

Ich hab den 1251.

von Klaus F. (kfalser)


Lesenswert?

Und der ist unidirektional und mit der falschen Richtung angeschlossen, 
oder?

von Manfred Schreier (Gast)


Lesenswert?

Manfred Schreier schrieb:
> 1251.

So eine Sch...

Also Ich habe den bidirektionalen!!! (1250)

Der kann den SCL und den SDA in beide Richtungen weiter geben.

von Manfred Schreier (Gast)


Lesenswert?

gra schrieb:
> Habe letztes Jahr ein paar verbaut.

Hei hattest du mal Zeit dir meine Pläne anzuschauen???

von vn N. (nvn)


Lesenswert?

Hi,ist dein Problem schon gelöst?
In deiner Schaltung am 06.02.2012 16:48 habe ich keine Pull-Up 
Widerstände
zwischen MCP3221 und ADUM1250 gesehen. Aber du hast geschrieben
"Pullups 10K auf beiden Seiten vorhanden (SDA u. SCL)."
Stecken die irgendwo?

von Peter (Gast)


Lesenswert?

ja die hab ich leider vergessen und dann in THT nachgerüstet. (oder nach 
gepfuscht :(

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.