Mal wieder I2C

An einem I2C-Master hängen drei Slaves mit den I2C-Adressen

1: 0x1d, 2: 0x1e, 3: 0x38

An dem "professionellen" I2C-Master kann ich mit den ersten zwei Slaves kommunizieren, mit dem dritten nicht. Der gesamte Bus ist ca. 30cm lang. Das Signal sieht so aus:

formatting link
kleinere Pull-Ups ändern nichts.

Interessanterweise spricht ein primitiver I2C-Master (LPT, Diode, Widerstand) mit Slave 2 und drei, aber nicht mit Slave 1. Hier ist der Bus ca. 2m lang.

In beiden Fällen ist die Taktfrequenz um 100kHz. Hat jemand eine Erklärung dafür?

Falk

Reply to
Falk Willberg
Loading thread data ...

Hallo,

die Signale haben ca. 2V Amplitude... welcher Art sind denn die Eingänge? Sind die Flanken steil genug?

Gruß, Bernhard

Reply to
Bernhard Deny

Kann es sein das du aufgrund irgendeines Programmierfehlers keinen OpenDrainAusgang an deinem Master hast?

Olaf

Reply to
Olaf Kaluza

Hi,

Könnte es sein, dass da ein Ausgang gegen einen anderen Ausgang arbeitet?

Michael

Reply to
Michael Koch

Bernhard Deny schrieb:

Ja. Das sollte aber VDD, 3,3V sein.

Das sind die I2C-Slaves.

Für 2/3 wohl schon ;-)

Falk

Reply to
Falk Willberg

Den Master (NEC 78F0034) kann ich nicht soweit konfigurieren. Im Datenblatt sind die Pins aber mir I2C SDA/SCL bezeichnet.

Falk

Reply to
Falk Willberg

Michael Koch schrieb:

Natürlich, ist ja I2C ;-) Im Ernst, alle Ausgänge sind open Collector, bzw. sollten das sein.

Falk

Reply to
Falk Willberg

Falk Willberg schrieb:

Dann miss doch mal den Strom auf dem Bus, an verschiedenen Stellen.

Gruß Dieter

Reply to
Dieter Wiedmann

welche Slaves hast du? Sind alle 3.0V tauglich? Ich frage ja nur, mein Student hat auch mal so was gebastelt, aber ein Teil hatte 5V I2C. Er hat mindestens 2 Wochen herumgewurstelt, manchmal hat es nämlich noch funktioniert. Nachdem wir dann ein Zwischengesicht aus 2 MOS-Transistoren zwischengebaut haben, läuft alles sehr gut.

Waldemar

Reply to
Waldemar Krzok

Dieter Wiedmann schrieb:

Den drei Slaves traue ich, an dem primitiven Interface geht die Spannung brav auf 3,3V hoch.

Ich werde mal den Hersteller des Masters fragen.

Falk

Reply to
Falk Willberg

Dann nimmt doch einfach mal das grosse Messer und klemm solange alles vom Bus bis die Spannung wieder stimmt.

Olaf

Reply to
Olaf Kaluza

Da stimmt was nicht. Miss mal die Versorgungsspannung aller Beteiligten ICs. Was verstehst du unter kleinem Pullup? ich denk an 1K. Kannst du die einzelnen ICs ziehen?

--
MFG Gernot
Reply to
Gernot Fink

Jein... 2 und 3 sind 3V-tauglich, 1 hat 1,8V DVDD. Das Datenblatt gibt allerdings keine Hinweise auf die erlaubten Pegel auf dem Bus. (Die I²C-Spezifikation verweist auf das "component data sheet")...

Falk

Reply to
Falk Willberg

Ich würde mal auf ESD-Schottky Schutzdiode gegen plus an den Eingängen vom

1,8V Device tippen und schwuppdiwupp, werden aus den 3,3V die von dir gemessenen 2V. Das macht bestimmt Probleme bei der Erkennung, wenn der 3,3V Master da höhere Pegel erwartet. Bei deinem Scope-Bild sieht auch der Low-Pegel merkwürdig aus, aber da habe ich jetzt keine Idee, woran das liegen könnte, vielleicht schlechte Masse?
--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

würde ich auch vermuten. Erstmal 1 abklemmen und schauen ob der Master mit

2&3 redet. Wenn ja dann 1 über Pegelwandler 3.3 1.8 anschliessen.

Waldemar

Reply to
Waldemar Krzok

Eher Substratdioden. Die liegen bei den ueblichen 600mV aber es kann etwas uebles passieren: Der Pull-up zieht die Versorgung des 1.8V Devices ueber die Substratdiode langsam hoch und laedt dessen Abblock-C auf. Es sei denn die O/C Ports sind richtig gemacht und zumindest

3.3V-tolerant. Bei I2C Chips habe ich einige Male "sub-optimale" Varianten gehabt, die den Bus festhielten und nur durch Aus- und wieder Einschalten der Versorgung aus dem Koma rauskamen. Seitdem traue ich den Dingern nicht mehr so dolle und mache alles wenn moeglich in SPI.

Irgendwie sieht diese Rampe beim ersten Takt ziemlich verdaechtig aus.

--
Gruesse, Joerg

http://www.analogconsultants.com/
 Click to see the full signature
Reply to
Joerg

Verstehe ich nicht, wie sollte das gehen? Der 1,8V Spannungsregler, der ja auch am Abblock-C hängt, müsste das doch ausregeln, oder?

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

...

Weder noch: Hier das Bild ganz ohne Slaves. Ein 2,2k Pullup ändert nichts:

formatting link

Ich fände es auch reichlich frech, wenn der Slave mit der gerinsten Betriebsspannung entscheiden dürfte, was auf dem Bus passiert. Andererseits ist Vh mit >0,7V spezifiziert, da brennt so schnell nix an.

Falk

Reply to
Falk Willberg

...

Weder noch: Hier das Bild ganz ohne Slaves. Ein 2,2k Pullup ändert nichts:

formatting link

Ich fände es auch reichlich frech, wenn der Slave mit der gerinsten Betriebsspannung entscheiden dürfte, was auf dem Bus passiert. Andererseits ist Vh mit >0,7V spezifiziert, da brennt so schnell nix an.

Falk

Reply to
Falk Willberg

Das Weller-Messer brauchte ich nicht. Hier ganz ohne Slaves:

formatting link

Falk

Reply to
Falk Willberg

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.