- LiFePO4 Speicher Test         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 38

Thema: I²C mit Bitrate > 100 kHz - nur mit Treiber ?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.312
    Hab ich das richtig verstanden ?
    Eine Platine als Master, derzeit mit mega1284/20 MHz, I²C mit je 1x10kΩ, soll mehrere Slaves - weniger als zehn - treiben, die verschiedene Aufgaben erledigen.
    Am Master keine PullUps würde ich mal sagen und du kannst auf 2K runter gehn (ich schließe mich also meinen Vorrednern an ). Eine ähnliche konfiguration habe ich laufen mit 2.5m Kabel dazwischen und eben 2K PullUps.
    Ich programmiere mit AVRCo

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.707
    Hallo Kollegen,

    für die prompten Anworten danke ich euch. Ich hatte (vor dem ersten Posting natürlich, gestern fast Mitternacht) die I2C-Tutorials im Ro boterNETZ/RN-W issen , im mikrocontroller.net , dort auch ziemlich genau mein Thema - daher auch der Trick mit dem PCA9600, und die ausführliche Dokumentation bei i2c-bus.org gelesen. Bei allen steht ja etwa das Gleiche drin das ihr mir ratet - bei den letzteren Leuten auch sehr ausführlich und anschaulich mit Terminierungen und Entstörungen durch C´s und R´s. Aber was genau wie klappt - da wollt ich mal ausnahmsweise nicht so viel experimentieren.

    Zitat Zitat von Crazy Harry Beitrag anzeigen
    Hab ich das richtig verstanden ... ähnliche konfiguration ... 2.5m Kabel ... 2K PullUps ...
    Danke! Das lässt ja hoffen. Also werd ich mal DOCH experimentieren und die Bedrahtung der PullUpWiderstände am Master mal einfach aufknippsen. Auslöten und 2K PullUps krieg ich dann, wenn nötig, immer noch hin.

    Danke !
    Ciao sagt der JoeamBerg

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.707
    ... DOCH experimentieren und ... PullUpWiderstände am Master mal einfach aufknippsen ...
    Na ja, die Arbeit stand dafür. ABER ich hätte natürlich den Leuten von der i2c-bus.org glauben sollen - die haben sehr hübsch dargestellt, wieso das eine Ende des I²C-Bus ne andere Aufgabe hat als das andere Ende *ggg*.

    Kurz:
    o Beide 10k am Master aufgeknipps - also ohne PullUp.
    o Kommunikation schrittweise von 100k über 200k, 400 und 600 auf 800. Bis 600k läuft die Master-Slave-Übertragung, aber oberhalb von 200 läuft das Lesen des Masters (vermutlich wohl das Senden des Slave) nicht mehr, bei 200 bis 400 recht eingeschränkt.

    Nun könnt ich mir mal nen Speicheroskar besorgen und das Ganze ansehen, vermutlich werden die 2k von Cracy Harry ne Weile reichen. Ähhh - natürlich könnte ich auch einen zukünftigen Kabelbaum (annähernd) aufbauen, die Kapazitäten messen und nach den Ausführungen in der NXP-Dokumentation UM10204 Rev. 4 — 13 February 2012 die Widerstände berechnen. Aber ich werde wohl gleich die Lösung mit dem Bustreiber machen. Scheint mir weniger Aufwand zu sein. Den gibts beim grossen R, SO-8 oder TSSOP8 - den kriegt man vermutlich sogar ganz gut an der Steckbuchse unter . . .

    Fazit:
    Gleich richtig gemacht ist manchmal die halbe Arbeit.
    Ciao sagt der JoeamBerg

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170

  5. #5
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  6. #6
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    74
    Beiträge
    11.077
    Unsere Suche für "I2C Bitrate" bringt 59 Ergebnisse und vielleicht ist dort auch etwas nützliches dabei.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.707
    Zitat Zitat von Valen Beitrag anzeigen
    Etwas spät: ...
    Trotzdem danke. Das ist so ähnlich wie die Darstellungen hier, wobei hier auch der negative Einfluss des erhöhten Lowpegels diskutiert wird. Immerhin ist in den von Dir verlinkten Darstellungen sehr schön zu sehen, dass bei 100kbit und 10KΩ gerade noch eine Art 99%-Highpegel erreicht wird. Und knapp schneller ist dann eben unter der Spezifikation. Leider ist weder die Leitungskapazität noch der Leitungswiderstand der vermessenen Anordnung genannt - wenigstens eine etwas bessere Beschreibung des Aufbaus ("arduino" ist ja eher nicht sehr aussagefähig) wäre schon wünschenswert.

    Zitat Zitat von radbruch Beitrag anzeigen
    Kurze Begriffe Suche ich "extern" ...
    Danke, das mache ich ebenso - ist halt für mich irgendwie die "letzte Rettung". Aber wirksam.
    Ciao sagt der JoeamBerg

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Immerhin ist in den von Dir verlinkten Darstellungen sehr schön zu sehen, dass bei 100kbit und 10KΩ gerade noch eine Art 99%-Highpegel erreicht wird.
    Ich sehe gerade erst diesen Post.

    Das kann ich nicht sehen, da keine Scala zu sehen ist. High ist entweder 2/3 * Vcc oder TTL-maßig 2,4V. Wenn der Bus richtig implementiert ist, ist das kein Problem. Die Abläufe bei SCL sollten so sein:

    der Master legt Low auf SCL
    er wartet eine halbe Bitzeit
    er läßt SCL los
    er wartet bis er SCL High sieht
    er wartet eine halbe Bitzeit
    .... usw

    Warum wartet er, bis er SCL High sieht? Weil der Slave ja SCL noch auf Low halten könnte, das ist sein gutes Recht. Und eine ungetriebene Leitung mit einem Pullup ist am Ende immer High.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.707
    Zitat Zitat von Klebwax Beitrag anzeigen
    ... elektrisch gibt es keinen ...
    Hab ich missverständlich beschrieben (aber besser krieg ich es grad nicht hin). Jedenfalls hätte ich durch die Darstellung dort gleich merken müssen, dass meine Testlösung mit den abgeknippsten 10k`s auf nur einer Seite nicht befriedigend laufen wird.

    Zitat Zitat von Klebwax Beitrag anzeigen
    ... Ich würde es daher symmetrisch ...
    Deine Erklärungen sind ja prima verständlich. Das hilft mir dabei, die für mich als Nicht-Elektroniker schwer verständlichen Sachverhalte in der Dokumentation von NXP und in den Tutorials besser zu verstehen. Vor allem Deine Richtwerte "... 1 Meter Kabel hat typisch 50pF ..." und so helfen mir beim Begreifen der Sachverhalte. Danke. So halbwegs hatte ich die durch dieses Bild

    ......Bild hier  
    ......© by i2c-bus.org

    ja schon mitgekriegt. Danke, das war gute Gehirnnahrung! Und das mit den Buffern/Treibern und dem Übersprechen (sind ordentlich gesendete Elektronen zu unterscheiden von übergesprochen-/induzierten?) ist mir jetzt auch klarer. Danke!

    Ach so, "... sehen, dass ... eine Art 99%-Highpegel ..." mit den 99% meinte ich etwas leichtfertig "recht viel". Auch missverständlich.
    Ciao sagt der JoeamBerg

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo oberallgeier,

    die I2C-Spezifikation gibt auch eine dynamische Lösung für den Pull-Up-Widerstand an.
    Über http://www.i2c-bus.org/de/terminieru...-kapazitaeten/ findet man die dort verlinkte Spezifikation http://www.classic.nxp.com/acrobat_d...8/39340011.pdf

    Auf Seite 41 ist im Kapitel "17.2 Switched pull-up circuit for Fast-mode I2C-bus devices" mit Fig.43 so eine Schaltung aufgeführt.

    Ok, du benötigst hier auch noch ein zusätzliches Bauteil wie bei deinem Treiber-Chip. aber hier nur ein einfaches HCT4066 plus 2 weiterer Widerstände. (1/4 Chip + 1 R pro I2C-Leitung)

    Gruß Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. ADU und Treiber
    Von manhunt im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 15.06.2009, 18:27
  2. CAN-BUS: Wie könnte man die Bitrate messen?
    Von Kaiser-F im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 29.09.2006, 09:38
  3. Treiber IC
    Von jonas im Forum Elektronik
    Antworten: 10
    Letzter Beitrag: 27.04.2005, 16:58
  4. FET-Treiber
    Von FelixR im Forum Elektronik
    Antworten: 0
    Letzter Beitrag: 20.02.2005, 14:15
  5. Treiber Ic
    Von Robbigay im Forum Motoren
    Antworten: 10
    Letzter Beitrag: 05.05.2004, 20:00

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress