Forum: Mikrocontroller und Digitale Elektronik i2c geht nicht nicht richtig


von avrbeginner (Gast)


Lesenswert?

hi
ich hab vier dacs an einen i2c Bus des atmega16 angeschlossen.
nachdem der bus aufgrund der langen Leitungen nicht funktionierte
bin ich auf die glorreiche idee gekommen kondensatoren an den pins
der dacs gegen masse zu legen
die signale waren darauf hin einwand frei und der bus funktionierte
sehr gut
mittlerweile ist allerdings ein pin des my (SDA)kaputtgegangen.
wie löst ihr sowas?
mfg

von The D. (devil_86)


Lesenswert?

Wenn der Datenpin kaputt ist, was gibt's da noch zu lösen?

von Jörg X. (Gast)


Lesenswert?

wenn der µC immer/nur Master ist, kann man auf Software-I2C umsteigen 
und einen andern Pin nehmen, aber natürlich nur wenn das einfacher ist 
als den kaputten µC zu ersetzen.
Wenn allerdings die Cs den Pin des Atmega überlasten und der deshalb 
kaputt gegangen ist, musst du die schaltung ändern.

hth. Jörg

von avrbeginner (Gast)


Lesenswert?

hallo ich habe das ganze nun software mässig gelösst
und das geht auch
ich möchte nur nicht die beiden neuen pins wieder schrotten

von Thomas O. (tarzanwiejane)


Lesenswert?

wenn ein langer Bus nicht funktioniert, dann geht man normalerweise mit 
der Geschwindigkeit runter. Bei I2C mal mit 100 oder 50 KHz probieren 
anstatt der 400.

cu Tarzanwiejane

von avrbeginner (Gast)


Lesenswert?

und welche möglichkeit gibt es die signale vor ort zu entstören
ich hatte sehr starke überschwinger beim wechsen von high auf low
und umgekehrt

von Thomas O. (tarzanwiejane)


Lesenswert?

Starke Ueberschwinger? Wie gesagt - die sinken auch mit sinkender 
Frequenz/Flankensteilheit. Darf man fragen wie lang dein Bus ist und wie 
gross deine Pullup-Wiederstaende sind? Haste die 
Mikrocontroller-internen auch ausgeschaltet?

cu Tarzanwiejane

von Falk B. (falk)


Lesenswert?

@ avrbeginner (Gast)

>und welche möglichkeit gibt es die signale vor ort zu entstören
>ich hatte sehr starke überschwinger beim wechsen von high auf low
>und umgekehrt

Da hast du entweder Mist gemessen oder was falsch angesteuert. I2C hat 
OPEN DRAIN IOs, die machen zumindest bei LOW-HIGH keine Überschwinger, 
weil sie ja nur vom relativ schwachen Pull-UP nach HIGH gezogen werden. 
HIGH LOW ist aktiv geschaltet, da könnte schon was klingeln. Aber bring 
doch erstmal ein paar Fakten auf den Tisch.

Wie langs sind deine I2C LEitungen?
Wieviel pico/nanoFarad hast du an SDA/SCL angeklemmt.

An I2C hängt man normalerweise keine zusätzlichen Cs!

MFG
Falk

von avrbeginner (Gast)


Lesenswert?

hi hab externe pullup verwendet 4,7 k

1m ist das flachband kabel lang dazu kommt da noch leitungsverlegung
auf den beiden platinen
die ausgänge der dacs haben mit ner led geflacker
nachdem ich den C angeschlossen habe war das flackern weg.

von Falk B. (falk)


Lesenswert?

@ avrbeginner (Gast)

>hi hab externe pullup verwendet 4,7 k

Passt.

>1m ist das flachband kabel lang dazu kommt da noch leitungsverlegung
>auf den beiden platinen

Das ist kein Problem für I2C. Passt auch.

>die ausgänge der dacs haben mit ner led geflacker
>nachdem ich den C angeschlossen habe war das flackern weg.

Dann muss der Fehler woanders liegen.

MfG
Falk

von Thomas O. (tarzanwiejane)


Lesenswert?

@avrbeginner
4,7K ist Ok, 1m Flachband habe ich hier auch, sollte also kein Problem 
sein.

kontrollier mal ob du die internen Pullups ausgeschaltet hast.
Deine DACs sind auch einheitlich 5V wie der AVR und die Pullup-Referenz?

cu Tarzanwiejane

von avrbeginner (Gast)


Lesenswert?

hi
an der hardware kann ich soweit nix ändern die internen pullups sind
deaktiviert
das einzige was ich gemacht habt war das ich 22p an die enden des busses
geklemmt han die dämpfen nun die überschwinger
mfg

von Falk B. (falk)


Lesenswert?

@ avrbeginner (Gast)

>das einzige was ich gemacht habt war das ich 22p an die enden des busses

Das ist zwar nicht wirklich der richtige Weg, aber 22pF tun den IOs 
nicht weh. Davon gehn die nicht kaputt.

>geklemmt han die dämpfen nun die überschwinger

Welche Überschwinger. Wie hast du die gemessen?

MFG
Falk

von avrbeginner (Gast)


Lesenswert?

hi
ich hatte zuvor an den SDL pin 100 nf dran wahrscheinlich ist er 
deswegen kaputtgegangen.(ich hatte keinen kleinersen)


mit so nen billig oszi von konrad das über den pc betrieben wird

von Falk B. (falk)


Lesenswert?

@ avrbeginner (Gast)

>ich hatte zuvor an den SDL pin 100 nf dran wahrscheinlich ist er
>deswegen kaputtgegangen.(ich hatte keinen kleinersen)

AUA! Ruhe in Frieden, kleiner IO-Pin.

>mit so nen billig oszi von konrad das über den pc betrieben wird

Uhhh, da kann man wahrscheinlich gerade mal 50Hz Netzspannung von RS232 
unterscheiden.
Du misst mit hoher Wahrscheinlichkeit Mist.

MFG
Falk

von avrbeginner (Gast)


Lesenswert?

jo
aber jetzt läuft es einwandfrei
die 22p stammen vom quarz anschluss ich bin halt jetzt auf den internen
rc oszillator umgestiegen

hi das oszi funktioniert schon
immer hin besser als nicht
mfg

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.