mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I²c mit Bascom und ATmega


Autor: wolf4124 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich suche einen kleine Erläuterung, wie ich 3 serielle EEProms an den
ATmega per I²c anschliesen kann.
Welche Abschlußswiederstänfe?
Vorwiderstände?

Gruß

Wolf

Autor: papa_of_t (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck mal da auf Seite 24, da hast Du ein gutes Beispiel.

http://c-control-support.de/downloads/BA004.pdf

Gruß Carsten

Autor: Ratber (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und nochen Text.

Autor: wolf4124 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten

Ich habe allerdings mal Schaltpläne gesehen, da waren in die beiden
Leitungen je ein Widerstand in Reihe geschaltet. Auch in der
Spezifikation.
Einen anderen habe ich mal gesehen, da war die beiden mit Widerständen
auf VCC gelegt.
Leider ist in der Spezifikation keine Widerstandswerte.
Hat jemand Standartwerte für diese Widerstände.



Gruß

Autor: Togger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Wolf,
die Widerstände sind abhängig von der Buskapazität und der
Taktfrequenz.
Guck mal beig. Datenblatt/Figure 3.
Sitzt alles auf einer Platine (kurze Wege), dürfte sie kleiner 100pF
sein, ergo: Rl > 3,8kOhm.
Ich verwende zur Zeit unter Bascom und einem Bustakt von 200kHz
(I2CDelay = 5) 3k9, läuft prima.
Es könnten auch 10k sein, also irgendwas im Bereich 3,..k .. 10k.
Hab auch schonmal 2k2 gesehen.
Die Werte sind nicht kritisch.
Je ein Rl wird mit Vcc SDA bzw. SCL verbunden.
Beim Bustakt bis an die Grenzen (400kHZ) zu gehen bringt m.E. nicht
viel, weil Fehler auftreten können und beim Schreiben nach jedem Byte
eh 5ms (lt. DB 10ms) gewartet werden muß - die fallen mehr ins
Gewicht.
Ok, es gibt Leute, die nur lesen wollen ;-)
Die können natürlich versuchen das Letzte rauszukitzeln, aber dann
müssen sie sich auch die Zeit nehmen optimale Rl Werte zu finden.
Der Chip Select Code wird bei jedem I2C Chip über die E0..E2 Pins
bestimmt - siehe Datenblatt.
Bei manchen stehen nur E0 und E1 zur Vefügung (E2 ist da aber "NC",
also erst ins Datenblatt schauen.
Wichtig: zur Verbindung mit dem AVR kannst du nur die "SDA" und
"SCL" Pins nehmen, andere funktionieren nicht!!!

Dann unter Bascom:
' EEProm Einstellungen **** für AT16
Config Scl = Portc.0
Config Sda = Portc.1
Config I2cdelay = 5

Hoffe, das hilft dir weiter.

lg Ralf

Autor: wolf4124 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Danke für die ausfürliche Antwort.
Du hast also in die SCL und SDA keine Widerstände vor die Bauteile
geschaltet.

GRuß


Bernhard

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach ich auch nicht.

Auf kleinen Längen wie Platinen und Steckbretter besteht der Bus bei
mir  nur aus den beiden Pullups (10K) und das wars.

Als Delay arbeite ich bei Bascom auf nem 16Mhz Controller mit 3 aber
solange man nicht geschwindigkeitsmäßig ans Limmit muß ist 5 kein akt.

Autor: wolf4124 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Wenn du weitere Stecken überbrücken möchteste, was nimmst du?
Ich wollte noch einen Temp-Fühler mit 5m Länge anschliesen.
Was macht er bei den Delay 3/5 anders.

Gruß

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Delay bestimmt im Grunde den Takt.

Je Höher der Takt desto höher die Anforderungen an die Leitung.

Tempfühler x-mal die Sekunde abzufragen macht keinen sinn denn dafür
sind se viel zu träge also kann der Takt niedriger und die Leitung
länger werden.
I2C ist ja glücklicherweise an keinerlei Timings gebunden so das man
beliebig weit runtergehen kann.(Notfalls einen Takt pro Monat)

Allerdings sollte bei 5m die Leitung genauer Terminiert werden.

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.