mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I2C-Bus Probleme


Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe Probleme mit meinem I2C-Bus. Von einem ATmege8 zum PCF8591 die 
Leitungen sind nur ca. 20cm aber bei mir macht der Problem und geht nur 
richtig wenn ich SCL anfasse oder in die nähe komme. Wie kann ich diesen 
Fehler beheben?

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber Pullups hast du schon dran, oder?

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt habe ich zwei 10K dran scheint zu gehen.

DANKE

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
10k ist zu viel, nimm 4k7 und Du bist auf der sicheren Seite.
Gruß, Ulrich

Autor: ARM-Fan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde sie noch kleiner machen.

Guckst du hier:
http://www.nxp.com/acrobat_download/literature/939...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ ARM-Fan (Gast)

>Ich würde sie noch kleiner machen.

Wozu? Das Diagramm sagt das jedenfalls nicht. 4k7 ist genauso OK wie 
10k.

MFG
Falk

Autor: Mike R. (thesealion)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner wrote:
>
> Wozu? Das Diagramm sagt das jedenfalls nicht. 4k7 ist genauso OK wie
> 10k.
>

Woher weißt du das? Das original Poster hat doch nciht geschrieben 
welche Kapazität sein Bus hat.

Ansonsten habe ich auch schon die Erfahrung gemacht, das 10k zu viel für 
einen I2C Bus sind.

Mike

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Mike S. (thesealion)

>Woher weißt du das? Das original Poster hat doch nciht geschrieben
>welche Kapazität sein Bus hat.

Doch.

"Leitungen sind nur ca. 20cm"

Uns selbst wenn man 100pF/m annehmen würde, wäre das OK.

>Ansonsten habe ich auch schon die Erfahrung gemacht, das 10k zu viel für
>einen I2C Bus sind.

Bei welcher Kabellänge? Timing WIRKLICH eingehalten? Anderes Ursachen 
WIRKLICH ausgeschlossen?
Man kann I2C auch mit 100k und mehr Pull-Up betreiben, man muss nur 
lagsamer takten.

MFG
Falk

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ja, man kann, man muss, man sollte. Man kann es für einen bestimmten 
Fall, der aber nur bei einem fixen Layout und in Abstimmung mit allen 
Datenblättern aller angeschlossenen Chips am Bus super hoch optimieren 
und dann auch den Fast Bus auf 700kHz übertakten...

In 80% aller Fälle sind 4k7 wunderbar und funktionieren perfekt bis 
400kHz egal ob 20cm Leiterbahn, SDA+SCL auf Litze oder Steckbrett. In 
einigen wenigen Fällen musste ich für ein überlanges Kabel mal 2k2 
verwenden. Aber ich kenne nur einen einzigen Fall mit max. 4cm 
Leiterbahnlänge, wo 10k eingesetzt wurden... Und da ging es ab 170kHz in 
die Hose.

Gruß, Ulrich

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also liegt es nur an den PullUps wenn mein Bus wieder Streikt sobald ich 
eine längere Leitung dranhänge. Ich will nämlich noch eine DS1620 oder 
LM75 an diesen Bus betreiben der dann an eine ca. 10m Leitung soll. Wo 
sind die Widerstände eigentlich am besten direkt am µC oder am 
entferntesten Busteilnehmer? Ich verwende Bascom und frage mich wie man 
da die Busfrequenz einstellen soll von der ihr hier redet, wenn einen 
niedrige Frequenz besser ist dann ist das auch nicht so schlimm da ich 
nichts Zeitkritisches mit dem Bus vorhabe.

PS.: Welchen Wert empfehlt ihr für die PullUps bei dieser Leitungslänge.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Christian (Gast)

>Also liegt es nur an den PullUps wenn mein Bus wieder Streikt sobald ich
>eine längere Leitung dranhänge.

Nicht unbedingt. Kann sein, muss nicht.

>Wo sind die Widerstände eigentlich am besten direkt am µC oder am
>entferntesten Busteilnehmer?

Das ist egal.

>PS.: Welchen Wert empfehlt ihr für die PullUps bei dieser Leitungslänge.

Nimm 1k, das sollte laufen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.