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.
Und wozu in die Ferne schweifen, wenns im Wiki liegt so nah: https://www.mikrocontroller.net/articles/I2C_als_Hausbus
(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.)
Bei 50m wuerde ich auf jedenfall mal ernsthaft ueber Potentialdifferenzen nachdenken! Alleine deshalb ist I2C schonmal ein Schmerz im Arsch. Olaf
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.
Jetzt hätte ich noch eine Frage, gilt das mit den 400pF jeweils für eine Leitung oder für beide zusammen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.