www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TWI - Pullup-Widerstände?


Autor: Thomas Klingbeil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wir haben hier eine Schaltung aufgebaut:

Der Master ist ein ATmega128
Slaves: ein Ultraschallmodul und ein Kompass (bei I²C)

Bustakt: 100kHz

Zwischen den beiden Leitungen und +5V befindet sich keine
Verbindung.
Das Problem ist jetzt, dass das ganze schon einmal funktioniert hat und
plötzlich geht's nichtmehr... Kann das evtl. daran liegen, dass keine
Widerstände da sind (hab gerad gesehen, dass in der Beschreibung zum
Atmel auch gesagt wird, dass man die benötigt)
Allerding bin ich der Meinung irgendwo gelesen zu haben, dass bis zu 4
Geräte ohne diese Widerstände funktionieren...

Schonmal im Vorraus vielen Dank,
Thomas

Autor: Eddi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zumindest an der SDA-Leitung sollte ein Pullup sein. Bei SCL ist's
nicht so wild, da immer nur Output.
Probier's mal mit 2k2 an SDA und dann sollte es laufen.

Gruss
Eddi

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

I2C braucht immer Pull-Ups da mit Open-Collector-Treibern gearbeitet
wird. Und SCL ist, ganau wie SDA, bidirektional (siehe
Clock-Stretching)

Matthias

Autor: Tobias Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
im Atmel-Datenblatt steht auch, das man die internen Pull-Ups
anschalten kann, wenn der Mega der einzige Master am Bus ist.

Gruß Tobias

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

wobei die etwas hochohmig sind. Bei 100kHz und nicht allzuvielen
Busteilnehmern sollte das aber noch gehen.

Matthias

Autor: Thomas Klingbeil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal für die Antworten.
Also die internen Pullups waren aktiviert.
Jetzt haben wir es probiert und haben 2,2KOhm-Widerstände als externe
Pullups benutzt. (allerdings die internen Pullups nicht
deaktiviert...)

Das ganze hat ja wie gesagt auch schonmal alles geklappt...
Kann es sein, dass nur der I²C-Bus den Abgang macht und der Rest des
Controllers normal weiterfunktioniert?

Oder hat vllt. noch jemand eine andere Idee, woran das liegen könnte?

Danke,
Thomas

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kann es sein, dass nur der I²C-Bus den Abgang macht und der Rest des
>Controllers normal weiterfunktioniert?

Man kann durchaus einzelne Pins oder Ports schmoren, ohne den ganzen
Chip ausser Gefecht zu sethen.

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yo,is aber auch leicht rauszufinden.

I2C Bus abklemmen,LED sammt Vorwiderstand dranklemmen,Testproggier
laden und sehen was passiert ;)

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.