I2C Kapazität

Gast #4801589
Hallo Forum,

ich setzte mich gerade mit dem Bus I2C auseinander. Dabei verstehe ich 
leider nicht wie man die Buskapazität ausrechnet.
Ich möchte gerne den Atmega328 nutzten. Ich hab schon irgendwo gelesen, 
das die Kapazität ungefähr pro cm 1pF beträgt.
Stimmt das soweit und könnte mir jemand sagen, auf welche Kapazität ich 
beim Atmega328 achten muss und wie ich das nachher verrechne. Auf eine 
Antwort würde ich mich freuen.

PS: Ich arbeite mit dem Arduino Uno
(Firma: Vescomp) #4801604
Alexander K. schrieb:
> Ich möchte gerne den Atmega328 nutzten. Ich hab schon irgendwo gelesen,
> das die Kapazität ungefähr pro cm 1pF beträgt.
> Stimmt das soweit und könnte mir jemand sagen, auf welche Kapazität ich
> beim Atmega328 achten muss und wie ich das nachher verrechne.

 Warum ?
 Falls die Leitungen nicht länger als 20cm sind, braucht dich das nicht
 zu interessieren.
#4801606
Hallo,

ist ja nicht schlecht sich mit den Grundlagen zu beschäftigen, aber an 
der Stelle machst du dir zu viele Gedanken.
So lange du dein I2C nicht über etliche Meter verkabeln willst, brauchst 
du nicht mit irgendwelchen Kapazitäten rumzurechnen.

Sascha
Gast #4801628
Mit 20cm klappt es bis jetzt auch wunderbar, jedoch würde ich im 
nachhinein eine längere Strecke überbrücken. Ich dachte da an so 50m. 
Dazu muss ich denke ich mal noch die Taktrate anpassen. Es geht mir ja 
nur darum das ich weiß wie man das ausrechet. Ich hab gerade noch etwas 
rumgelesen und bin drauf gestoßen, das der µC an der Spannungsversorgung 
parallel einen Kondensator geschaltet hat. Muss ich diesen dazu 
addieren?
#4801638
Alexander K. schrieb:
> Mit 20cm klappt es bis jetzt auch wunderbar, jedoch würde ich im
> nachhinein eine längere Strecke überbrücken. Ich dachte da an so 50m.
Wenn du Glück hast geht das vielleicht, aber dafür ist I2C nicht 
gemacht. Das war für Verbindung von Bausteinen innerhalb eines Gerätes.
> Dazu muss ich denke ich mal noch die Taktrate anpassen.
Mit Sicherheit
> Es geht mir ja
> nur darum das ich weiß wie man das ausrechnet
In den Daten deines verwendeten Kabels suchen wie viel pF pro Meter das 
hat
> Ich hab gerade noch etwas
> rumgelesen und bin drauf gestoßen, das der µC an der Spannungsversorgung
> parallel einen Kondensator geschaltet hat. Muss ich diesen dazu
> addieren?
Nein der hat mit dem Bus doch nichts zu tun.

Sascha
Gast #4801784
Alexander K. schrieb:
> In den Daten deines verwendeten Kabels suchen wie viel pF pro Meter das
> hat
>
> Danke schon mal für den Tipp. Muss ich nicht noch die Busteilnehmer
> dazurechnen und wenn ja wo finde ich die Angabe?

IMHO ist die zulässige Kapazität 400pf sowohl für SCL als SDA. Ich würd 
so als Daumenwert 50pF pro Meter für das Kabel, 10pF für jedes Device 
und 10pF für für jeden Stecker mit dazugehöriger Platinenanbindung 
ansetzen. Ich bin zwar kein Anhänger der Schule, die I2C nur für 
Verbindungen innerhalb einer Platine sieht, aber ohne zusätzliche 
Maßnahmen halte ich 50m für nicht erreichbar. Ein Master, ein Slave, 
gutes Layout, vernünftiges Kabel und richtige Belegung der Adern 
(Crosstalk ist da dein Feind, weniger die Kapazität) können 5m schaffen.

Die Erfahrung lehrt, daß die Geschwindigkeit keine wirkliche Rolle 
spielt. Wenn es bei 100k nicht geht, geht es auch bei 10k nicht. Es 
dauert nur 10 mal länger, bis man den Fehler bemerkt.

MfG Klaus
Gast #4801820
Im Datenblatt zu P82B715 I2C-Bustreibern hat es einiges an 
Berechnungskram drin, Kapazitäten, Pull-Ups etc., ich glaube das kann 
Dir weiterhelfen:

www.nxp.com/documents/data_sheet/P82B715.pdf

Gleichzeitig weißt Du jetzt auch, womit Du die Reichweite verlängern 
kannst, wenn das Ergebnis Deiner damit angestellten Berechnungen 
unbefriedigend ist. Was es sein wird, denn dieser Baustein kann gerade 
maximal 50 m/ 3000pf.

Eingesetzt gesehen habe ich die Chips in einem modularen 
Notbeleuchtungssystem. Die 6, 8 Platinen waren dabei gerade mal auf 
lächerlichen 1,50 m Gesamtbreite montiert, Buslänge allerschlimmstens 3 
m. Gut, bei so einem System will man auf Nummer sehr sicher gehen, aber 
sah weit von 50 m aus.
Gast #4801969
50 cm, das meinst du nicht ernst. Auf einer Platine, z.B. kann man ohne 
Probleme schon 1 m erreichen. Bei meinen Platinen ohne zusätzliche IC 
komme ich auf ca. 5 bis 10 m. Mit 2 zusätzlichen Platinen komme ich auf 
ca. 30 bis 50 m. Mit einem anderen IC geht es bis auf ca. 300 m. Dann 
gibt es noch kann. Auch eine Potentialtrennung, komplett mit SCL, SDA, 
GND, Rück und 5V geht ohne jede Probleme. Als Zeit sollte auf jeden Fall 
100kHz damit gehen.
MFG Kl
(Firma: Vescomp) #4801987
Klars schrieb:
> 50 cm, das meinst du nicht ernst. Auf einer Platine, z.B. kann man ohne
> Probleme schon 1 m erreichen.

 LOL.
 Sicher, wenn die Leitungen als Antenne geführt sind - rund um die
 Platine.

> Bei meinen Platinen ohne zusätzliche IC
> komme ich auf ca. 5 bis 10 m. Mit 2 zusätzlichen Platinen komme ich auf
> ca. 30 bis 50 m. Mit einem anderen IC geht es bis auf ca. 300 m.

 Alle Achtung, so einen Mist kann nicht jeder bauen. Dazu muss man
 schon begabt sein.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.