Hi, ich habe gerade das Problem, dass ich einen I2C Slave als IC auf einer Platine nicht finden kann. Es befinden sich zwei I2C Slaves auf auf dem Schaltplan. Der Sensor (ICM20948) wird mittels Nordics "nRF TWI/I2C Scanner" (SDK example) gefunden. Der IC um den es geht (LTC2941) aber nicht. Da die Software funktioniert und den anderen IC findet (Sensor), vermute ich einen Hardwarefehler auf meiner Platine. Verstehe ich folgendes richtig? Ich betreibe den IC mit einer Lipo (ca. 3-4,2V). Das ist laut Datenblatt (https://www.analog.com/media/en/technical-documentation/data-sheets/LTC2941.pdf) in dem Bereich auch zulässig. Der I2C Bus wird mit einer anderen Spannung VDD (1,8V) betrieben. Auch das ist laut Datenblatt zulässig (0,3*Betriebsspannung ist Minimum und 0,7*Betriebsspannung ist Maximum, Datenblatt S. 3). Schaltplan ist anbei. Vielleicht seht ihr ja noch ein NoGo :-) Danke und Gruß Simon
Hast du im Code die richtige Adresse angegeben. ?? Das ist Standard-Fehler No. 1
das IC hat eine andere Spannung als der I2C-Bus? sogar doppelt so hoch? Dann brauchst Du vermutlich die FET-Schaltung für Clock und Daten.
Ich verstehe aber deine Stromprobleme nicht. Lt. Datenblatt Seite 2 oben kann/braucht das Teil zwischen 0.3 - 6 Volt. Was für mich bedeutet, das Teil würde ich ganz normal an die 5 V meines Arduino hängen.
Simon K. schrieb: > Der I2C Bus wird mit einer anderen > Spannung VDD (1,8V) betrieben. Auch das ist laut Datenblatt zulässig > (0,3*Betriebsspannung ist Minimum und 0,7*Betriebsspannung ist Maximum, > Datenblatt S. 3). Threshold ist nicht die I2C-Betriebsspannung, sondern die Schwelle zwischen High- und Low-Pegel. Im Worst Case also 4.2V*0.7=2.94V, und dann sind die 1.8V I2C-High-Pegel für das IC ein sehr eindeutiger Low-Pegel.
Schlaumaier schrieb: > Hast du im Code die richtige Adresse angegeben. ?? Das ist > Standard-Fehler No. 1 Das SDK example durchforstet alle mögliche I2C Adressen und zeigt alle erreichbaren Teilnehmer an. A. S. schrieb: > das IC hat eine andere Spannung als der I2C-Bus? Ja. >sogar doppelt so hoch? > Dann brauchst Du vermutlich die FET-Schaltung für Clock und Daten. Warum sollte ich die brauchen? Diese Regel ist mir nicht bekannt. I2C sollte auch mit anderen Spannungen als der Betriebsspannung irgendwelcher IC´s funktionieren. Kannst du ein Beispiel zeigen, wo das so gemacht ist? Schlaumaier schrieb: > Ich verstehe aber deine Stromprobleme nicht. > > Lt. Datenblatt Seite 2 oben kann/braucht das Teil zwischen 0.3 - 6 Volt. > Was für mich bedeutet, das Teil würde ich ganz normal an die 5 V meines > Arduino hängen. Korrekt. Die Spannungsversorgung, die in diesem Bereich liegt, beschränkt aber mit ihrem konkreten Wert folglich den Bereich für die I2C Pegel. Und das ist wohl das Problem. Hmmm schrieb: > Threshold ist nicht die I2C-Betriebsspannung, sondern die Schwelle > zwischen High- und Low-Pegel. Im Worst Case also 4.2V*0.7=2.94V, und > dann sind die 1.8V I2C-High-Pegel für das IC ein sehr eindeutiger > Low-Pegel. Hört sich plausibel an. Mist. Ich werde morgen mal versuchen, die Versorgunggspannung auf 2,5V zu legen. Dann hätte ich 2,5V*0,7, dann ist es unter 1,8V...in der Hoffnung, dass dies funktioniert :-/
Ich schliesse dann meistens das Oszi an, und schaue, was auf den Leitungen wirklich los ist.
Simon K. schrieb: > Der I2C Bus wird mit einer anderen > Spannung VDD (1,8V) betrieben. Ich schreib die Spannungen immer in Klartext in den Schaltplan. Das vermeidet Rätselraten und Fehler. Warum benutzt Du verschiedene Spannungen? Natürlich braucht man dann auch Pegelwandler: https://www.nxp.com/docs/en/application-note/AN10441.pdf Für 1,8V geht aber nicht jeder FET.
Hallo zusammen, danke für eure Antworten. Da am I2C Bus auch andere IC´s hängen, möchte ich an den Parametern von I2C nichts ändern. Bedeutet gleichzeitig, dass der I2C Slave der nicht funktioniert (Battery Gas Gauge) rausgeschmissen und ersetzt wird. Was haltet ihr von folgendem IC? https://www.mouser.de/datasheet/2/256/MAX17055-1097125.pdf Für mich interessant, da: - lötbar im TDFN package - relativ niedriger Ruhestrom - die I2C Signale müssen unter 0,5V sein um als Low zu gelten und über 1,5V um als high zu gelten (https://www.mouser.de/datasheet/2/256/MAX17055-1097125.pdf, S.4, VIH und VIL). Da ich I2C mit 1,8V betreibe, passt das. Und das ohne Pegelwandler. Den IC kann ich unabhängig davon mit der Batteriespannung (3V-4,2V betreiben). Stimmt ihr damit überein? Freundliche Grüße Simon
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.