PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C EMV Problem?



Zeroeightfifteen
05.03.2006, 12:00
Hallo
ich habe gerade zwei DS1621 an meinen Atmega32 angeschlossen. ich verwende dafür ein geschirmtes Kabel. erst hatte ich nur einen Sensor dran. Ich hatte den Schirm jedoch nicht auf Masse gelegt. Also zeigte er mit nur komische Zahlen an. als ich den Schirm auf Masse gelegt hatte funktionierte der eine Sensor schon mal. als ich jedoch den zweiten angeschlossen habe, zeigte er mir wieder nur Müll an. woran könnte das legen? Ich hatte den Bus schon Sternförmig und nun Busförmig angeordnet. doch das Ergebnis ist das gleiche. könnte das am Kabel legen? die Kabellängen betragen jeweils 1,5 m.

Torsten_G
05.03.2006, 12:04
1,5m sind schon super!

Ich hab mal einen "Reichweitentest" am I2C-Bus gemacht, bei ca. 80cm Kabellänge (ungeschirmt) war Sense...

Terminiert war der Bus mit den üblichen 2x 10k gegen Vcc.

Bei Bascom in der Hilfe findet sich eine Schaltung für aktive Terminierung mit Transistoren, die soll besser sein, hab ich aber noch nicht getestet.

Von Philipps gibt´s auch ein Bustreiber-IC, das noch größere Kabellängen erlaubt, Nummer ist mir grad entfallen, da findest Du aber einen Artikel hier in der WiKi dazu.

Viele Grüße

Torsten

Edit:

Grade wiedergefunden: http://www.semiconductors.philips.com/pip/P82B715.html

Zeroeightfifteen
05.03.2006, 12:22
Danke für die schnelle Antwort.
Ich habs nun mit einem ungeschirmten Kabel getestet. hier funktioniert alles so weit. die kabellänge beträgt nun zum ersten Sensor 1,5m und zum zweiten nochmal 0,5m. Ich will dies alles ins Auto einbauen, also werde ich mindestens 2m brauchen. an was kann das legen, dass das geschirmte kabel nicht funktioniert?

skillii
05.03.2006, 12:48
Probier einmal aus mit der Frequenz runter zu gehen, vielleicht hilft das etwas...
Vielleicht hilft es auch etwas wenn du die Pull-Up Widerstände etwas kleiner machst.

Falls du ein OSZI in der nähe hast würde ich mir die Signale einmal genauer unter die Lupe nehmen.

mfg

Hellmut
05.03.2006, 23:53
Du bist weit über die spezifizierte Reichweite des I2C-Busses! Der I2C-Bus ist nicht zum überbrücken von größeren Entfernungengedacht, 80cm sollten immer funktionieren. Darüber, Glücksache! Da ich in meiner Anwendung ebenfalls Buslängen >80cm brauche baue ich die aktive Terminierung die Torsten anspricht. Ich baue diese auf eine kleine Lochrasterplatine die in den I2C-Wannenstecker tuhe.

Sollte das nicht reichen oder in der Praxis zu störanfällig seinmuß man auf die IC´s von Philips zurückgreifen. Da gibt es sowas wie einen Repeater und einen HUB. Beide Lösungen sind interessant.

Ratber
06.03.2006, 00:17
Yo,kann man machen aber Temperaturmessungen sind nicht Zeitkritisch also kann man die Kostenlose Lösung nehmen die Skillii schon angeboten hat.

Takt radikal runter.
Selbst mit 10 Khz und weniger ist das Auslesen der Sensoren nur eine Sache von Sekundenbruchteilen.
Damit ist die Leitungslänge nun kein Problem mehr.

PICture
06.03.2006, 04:22
Hallo!

Der Ratber hat schon das richtige vorgeschlagen. Ich möchte nur noch den Unterschied zwischen ungeschirmten und geschirmten Kabel kurz erklären. Es ist ganz einfach: der geschirmte Kabel hat grössere Kapazität (pF/m) und bei gleicher Länge muss die Frequenz runter, damit die Impulse am I²C Bus mehr rechteckig als sinusoidal sind.

MfG

Ratber
06.03.2006, 05:37
Yo,die Schirmung hat schon Sinn aber man sollte dann auch das richtige Kabel nehmen.

Ein gutes CAT5 Kabel mit 14pF/m würde bei Voller Geschwindigkeit und vorgegebenen maximalen 400pF immerhin für knapp 29m reichen (Parasitäre Kapazitäten nicht gerechnet).

Ein einfaches CAT5 wie man es häufig als Fertige Standard und Billigware bekommt hat dagegen so um die 55-105 pF/m und liegt bei ca. 4-8m

Ein Einfaches RG58U kommt da oft mit rund 100pF/m daher und ist ebenfalls bei 4m schon am Ende.

Die Werte für andere Kabel kann man sich aus dem entsprechenden Datenblatt ziehen.

Man muß also auch hier auf brauchbare Betriebsparameter achten.

Zeroeightfifteen
06.03.2006, 17:48
wenn ich ein geschirmtes Kabel verwende, hatte ich an ein Profibuskabel gedacht.

Ratber
06.03.2006, 18:39
Ja,kannste selbstverständlich auch nehmen.

Du kannst jegliches Kabel nehmen.
Mußt nur auf Kapazität,Schirmung und Widerstand achten.