Forum: Mikrocontroller und Digitale Elektronik I2C Taktsignal


von Phil (Gast)


Lesenswert?

Habe mal eine allgemeine Frage:

Muss das Taktsignal auf SCL beim I2C-Bus zwangsweise rechteckförmig 
sein?

Habe nämlich Probleme beim Auslesen eines Sensors und der Highpegel 
meines Taktes sieht eher aus wie die Ladekurve eines Kondensators.
DVDD für den Sensor ist bei mir auf 2,0V.Auf den beiden I2C-Leitungen 
ist jeweils noch ein 10K Widerstand zu DVDD.

Gruß,Phil

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Muss das Taktsignal auf SCL beim I2C-Bus zwangsweise rechteckförmig sein?
Besser wäre das...

> DVDD für den Sensor ist bei mir auf 2,0V.
Welche DVDD von welchem Sensor?

> ein 10K Widerstand zu DVDD
I²C mit so hochohmigen Pullups an 2V?
Was hängt am anderen Ende des I²C Busses? Ein uC? Welcher?

von Jörg S. (joerg-s)


Lesenswert?

>Muss das Taktsignal auf SCL beim I2C-Bus zwangsweise rechteckförmig
>sein?
Im Idealfall natürlich schon, aber die ICs kennen ja eh nur 1 oder 0.

>...der Highpegel meines Taktes sieht eher aus wie die Ladekurve eines 
>Kondensators.
Das ist bei I²C normal. Man sollte es halt nicht übertreiben (zu 
hochohmige Pull-Ups)

von Phil (Gast)


Lesenswert?

>Welche DVDD von welchem Sensor?

DVDD -> digitale Versorgungsspannung von einem Magnetsensor. Darf 
zwischen 1,7V und 2,3V liegen.

Im Datenblatt steht bei der Pinbelegung,dass zwei 10K Widerstände nach 
DVDD sollen.

>Was hängt am anderen Ende des I²C Busses? Ein uC? Welcher?

Ja dort befindet sich ein ATMEL-µC (ATmega16).Da dieser aber 5V 
macht,befindet sich zwischen ihm und dem Sensor ein I2C-Levelshifter zur 
Pegelanpassung.

von Peter (Gast)


Lesenswert?

Dann würde ich noch 4.7k Pullups auf 5V an der ATMEL-µC Seite reinhängen 
(für SCL+SDA)

von Phil (Gast)


Lesenswert?

>Dann würde ich noch 4.7k Pullups auf 5V an der ATMEL-µC Seite reinhängen.

Oh,ich vergaß zu erwähnen,dass zwischen µC und Level-Shifter zwei 10K 
Widerstände sind.Komischerweise habe ich aber gerade an beiden nach 
Abklemmen der Versorgungsspannungen nur rund 9,38K gemessen?!?

von Peter (Gast)


Lesenswert?

>Oh,ich vergaß zu erwähnen,dass zwischen µC und Level-Shifter zwei 10K
>Widerstände sind

Ich verstehe nicht was das soll, aber ohne Pullups auf 5V gehts wohl 
kaum!

von Phil (Gast)


Angehängte Dateien:

Lesenswert?

>Ich verstehe nicht was das soll, aber ohne Pullups auf 5V gehts wohl
 kaum!

Na der Levelshifter dient zur sauberen Pegelanpassung des 
I2C-Busses.Wenn mein Controller mit 5V läuft,der Sensor aber mit weniger 
betrieben werden muss,müssen ja die Pegel irgendwie angepasst werden.

In den ersten Spannungseingang des Shifters kommen die 5V des µC und in 
den zweiten werden die 2V (die ja der DVDD-Pin des Sensors benötigt) 
über einen Spannungswandler gespeist.

Levelshifter siehe Datenblatt

von H. (Gast)


Lesenswert?

@Phil
Sind die beiden 10k Rs jetzt jeweils in Serie zu den Signalleitungen 
oder 10k Pullups?
Hast du jetzt pullups auf der µC-Seite dran oder nicht?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> nur rund 9,38K gemessen?!?
Ja, dann wirst du die Widerstände ausbauen müssen, um genau 10k messen 
zu können.  :-o

>  dass zwischen µC und Level-Shifter zwei 10K Widerstände sind.
Definiere zwischen ...

Wie lange sind die Leitungen zwischen den beteiligten Komponenten?

von Peter (Gast)


Lesenswert?

Wenn Du es gemäss Datenblatt (Seite 5) gemacht hast ist alles gut, mir 
war nicht klar ob bei dir dei uC seitigen Widerstände Pullups auf 5V 
sind.

Falls es trotzdem nicht läuft, dann versuche es aber mal mit 
niderohmigeren Pullups auf beiden Seiten (z.B. 3.3k) dann werden auch 
die Flanken des SCL steiler!

von Phil (Gast)


Lesenswert?

>Hast du jetzt pullups auf der µC-Seite dran oder nicht?

>Definiere zwischen ...

Ja klar.Die gehen von den 5V des µC auf die beiden I2C-Leitungen des 
Levelshifters.

>Wie lange sind die Leitungen zwischen den beteiligten Komponenten?

Da sich der Sensor nicht mit auf der Platine befindet,wo der µC drauf 
ist,sind die SCL-,SDA- sowie die Vcc- und GND Leitung von der µC Platine 
zur Sensorplatine etwa 35cm lang.

von Phil (Gast)


Lesenswert?

@Peter:
>Falls es trotzdem nicht läuft, dann versuche es aber mal mit
>niderohmigeren Pullups auf beiden Seiten (z.B. 3.3k) dann werden auch
>die Flanken des SCL steiler!

Danke,das werde ich mal probieren.

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.