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
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.
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
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?
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
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?
Beitrag "Fragen zum I2C Bus"
"Hab ich hier im 2 Post gelesen"
> Bei 50m ist I2C definitiv die falsche Wahl...
Geht mit den passenden Leitungstreibern und passender Frequenz schon.
Würde dann aber eher auf RS485 oder so gehen.
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
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.
(Sollte mich doch mal anmelden, um editieren zu können.)
In dieser auch im Wiki erwähnten Appnote zu I2C findest Du mehr, als Du
jemals wissen wolltest:
http://www.horter.de/doku/AN255-02.pdf (oder dem Link im Wiki folgen,
bei Horter gibts ne Platine mit dem Bustreiber.)
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
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.
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