Ich habe mindestens 2 Platinen:
Auf einer sitzt ein ATMEGA328P-AU als Master eines I²C Busses, an den
bis zu 10 Slaves hängen sollen. (P1)
http://www.farnell.com/datasheets/1693866.pdf
Auf einer (vielen) Anderen ein ATTINY2313 als Slave. (P2)
http://www.farnell.com/datasheets/1517539.pdf
Dazwischen hängen eben 150mm Flachkabel(Pin-Belegung bereits geprüft)
und ein Adum1250 sitzt auf der P2 zur galvanischen Trennung:
http://www.farnell.com/datasheets/1814362.pdf
Die Schaltung war zu Beginn wie im Schaltplan (Bild als Anhang)
aufgebaut. P1 über Flachbandkabel verbunden mit einer P2 Doch schnell
wurden Fehler bemerkbar, nachdem beim Initialtest keine Geräte gefunden
wurden.
Im ersten Schritt wurde der Kondensator entfernt, und zusätzlich ein
4k99 Pullup Widerstand am SDA2 Eingang(schwarz eingezeichnet) eingebaut.
-> Es geht weiterhin nichts
Da der Adum1251 die Clock nur von Master nach Slave überträgt, ich alle
Möglichkeiten ausschließen wollte (Hätte ja den Falschen erwischen
können), und der Master MC aber am SCL2 hängt wurde im zweiten Schritt
(rot markiert) SCL zu testzwecken überbrückt.
-> Es geht immer noch nichts
Bei zusätzlichler Überbrückung von SCA (grün markiert):
-> Es geht logischerweise, die MC funktionieren also, und auch die
Programmierung stimmt.
Hat hier jemand Erfahrungen mit dieser Art von galvanischer Trennung,
und kann mir bei meinem Problem weiterhelfen?
Ich weiß nicht, was ich sonst falsch gemacht haben könnte.
Der Chip ist richtig eingebaut, Pullups sind nun 3/4 vorhanden, es gibt
kein Problem mit der Verkabelung.
MfG
Thiago
Edit:
Die Jumper sind zur Unterbrechung des Signals, wenn der ATTINY2313
programmiert wird, da das auf die Pins geht, die I²C können (um das
Signal noch vor dem ADUM1250 zu unterbrechen.
Vielleicht GND2 mit GND1 verbinden? Sorry, aber aus dem Bild werde ich
nicht schlau.
Baue alles nach Datenblatt auf und achte darauf, dass die Massen
verbunden sind, auch bei den angeschlossenen Geräten.
Pullups bei den uCs deaktivieren und die separaten pullups benutzen.
Hallo,
ich habe versucht GND1 und GND2 zu verbinden aber es kam auch so leider
kein Signal durch. Gleiches Ergebnis wenn man zusätzlich VCC verbindet -
Wobei weder GND noch VCC verbunden werden sollen es handelt sich ja beim
dem Chip um eine Galvanische Trennung von zwei Stromkreisen (also weder
VCC noch GND verbunden).
Warum der ganze Aufwand ? -> Das ganze soll in weiter Zukunft von
Schülern verwendet werden, die sind sicherlich nicht dumm nur da
passiert es leicht mal das 12V auf eine 5V Leitung angeschlossen werden,
das wiederrum hätte zur Folge, dass alle Mikrochips auf dem I2C Bus
kaputt wären (wie oben beschrieben sind das dann einige) und um der
Gefahr zu entgehen besitzt jede der Slave Platinen einen ADUM1250 für
den I2C Bus und eine eigene 5V Stromversorgung die vom Master
(Hauptplatine) kommt (am Master darf natürlich niemand etwas verändern,
wird auch baulich verhindert werden).
PullUps habe ich deaktiviert und extern eingebaut 5k auf der Slave Seite
und 4.7k auf der Master Seite - die I2C Leitungen sind richtig verlegt
und auch sonst sehen ich keinen Fehler. Vielleicht kennt findet ja noch
jemand von euch etwas ? Gibt es ein einfaches Verfahren zum Testen
dieser Chips ?
Mfg,
Thiago
Hallo,
ich habe mal den Teil mit einem Adum1250 aus einer meiner Schaltungen
rauskopiert. Was mir auffällt ist, dass bei dir nur 3 Pullups sind.
Ansonsten seh ich in dem Schaltplan auch nicht wirklich durch. Der ist
leider sehr unübersichtlicht.
Zum Testen könntest du probieren die Pins nacheinander auf Ground zu
ziehen und zu gucken, ob der korrespendieren Pin dann auch low ist. I2C
macht im Betrieb nichts anderes, deswegen sind auch die Pullups nötig.
Das Schaltplansymbol ist schon völlig Banane angelegt. Der ADUM ist ein
ISOLATOR. D.h. es macht Sinn das im Symbol auch darzustellen. Mit 2
Seiten. Und nicht alle Signale nach Namen zusammenzufassen. Dann wird
der Plan auch übersichtlich. So wie Sven das z.B. auch hat.
Wichtig beim ADUM1250 sind in der Tat die Pullups. Vor allem an den
Bidirektionalen Ports. Da müssen beidseitig Pullups ran, sonst passiert
da gar nichts.
Und bei SDA1 seh ich keinen PullUp im Plan.
Wobei der Plan auch total unübersichtlich gestaltet ist. Ein einziger
Saustall. Bei mir wär das ne 4-5. Mit so nem Symbol vor allem. Wem
willst du denn hier was beibringen? Dichl lässt man auf Schüler los? Au
Backe.
cyblord ---- schrieb:> Das Schaltplansymbol ist schon völlig Banane angelegt. Der ADUM ist ein> ISOLATOR. D.h. es macht Sinn das im Symbol auch darzustellen.
Das tut mir leid, ich bin selbst ein Schüler, und nicht allzu vertraut
mit EAGLE, ich weiß zwar wie man das Symbol ändert (das, welches ich
benutzt habe, war Standardmäßig so in eagle drin) jedoch bin ich mit
keiner der üblichen Design-Normen von Schaltplänen vertraut.
Ich werde in Zukunft versuchen diese übersichtlicher zu gestalten.
Sven B. schrieb:> Zum Testen könntest du probieren die Pins nacheinander auf Ground zu> ziehen und zu gucken, ob der korrespendieren Pin dann auch low ist.
Schon gemacht, keine Ergebnisse erhalten. Egal, wo ich Ground anlege, es
ändert sich nichts am entgegengesetzten Pin (+5V und Ground wurden
logischerweise nicht getestet, sondern nur die 4 Pins für SCL und SDA)
Es sind auch schon 4 Pullups verbaut, und die 100nF Kondensatoren
zwischen +5V und Ground waren schon von Beginn an vorhanden.
Im Grunde genommen sieht die Schaltung nun so aus, wie die, die du
hochgeladen hast Sven, mit dem Unterschied, dass beide Seiten mit 5V
arbeiten: http://www.mikrocontroller.net/attachment/239101/ADUM1250.PNG
Das Einzige, dass mir nun einfällt, ist dass nicht beide Seiten mit 5V
betrieben werden können, das Datenblatt, welches im im Anfangspost
verlinkt habe behauptet jedoch etwas anderes.
Natürlich kann das Ding auch hin sein -.-
LG Thiago
Ok, also vielen Dank für die schnelle Hilfe.
Nun funktioniert es, der Master findet den Slave an der Adresse 0x28.
Es kann also endlich programmiert werden.
*Es war tatsächlich der Chip kaputt, hab einfach den Reservechip
eingebaut*
Naja, all die Aufregung quasi umsonst ^^
Trotzdem vielen Dank für die Tipps, und Verbesserungsvorschläge.
Werde in Zukunft versuchen mich an Normen beim Schaltplan zu halten, war
ja echt nicht allzu leserlich.
LG Thiago