i2c Pins setzen sich bei Start automatisch high

  • Wenn ich den Pi startet setzten sich die i2c pins des pcf8674 extension boards alle high. Und die Frage ist wie verhindere ich dass, das sie sich einschalten(high gesetzt werden)

  • Ich denke mal durch Pulldown-Widerstaende, die du fuer jeden Kanal bereitstellen musst. Sowas gibt es auch kompakt als Chip.

  • Na Chip muss es ja nicht sein, aber ohne zusätzliche Hardware? Nein.

  • RTFM: es geht hier um die Ausgaenge des Chips, nicht um den I2C-Bus.

  • Die Frage kam gerade in einem anderen Thread. Speziell Ports sind meist so ausgelegt, dass der "Ruhezustand" High ist (wie es auch bei den Steuerleitungen der Fall ist). In diese Richtung sind die Ports relativ hochohmig, während sie in Richtung Low meist niederohmiger sind. Wenn also mehrere Bausteine in verschiedenen Richtung ziehen wollen, "siegt" die Richtung Low, aber es geht nichts kaputt. Würde in jede Richtung mit Kraft gezogen, könnte das nicht gut gehen. Diese Art der Verschaltung (und der Stärkenaufteilung) ist unter dem Begriff "wired or" bekannt.

  • hyle

    Changed the title of the thread from “i2c P ins setzen sich bei Start automatisch high” to “i2c Pins setzen sich bei Start automatisch high”.
  • Moin!


    Wenn ich den Pi startet setzten sich die i2c pins des pcf8674 extension boards alle high.


    Hier mal einen Auszug aus dem Datenblatt des PCF8674:


    Quote

    SCL 15 2 2 14 I Serial clock line. Connect to VCC through a pullup resistor
    SDA 16 4 4 15 I/O Serial data line. Connect to VCC through a pullup resistor.


    Davon mal abgesehen, sind im RPI bei den I2C-Pins auch Pullup's verbaut.


    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • der PI hat doch serienmäßig 1,8k pullups nach 3,3V verbaut!

    pcf8674 extension boards

    das wird auch welche verbaut haben weil es ohne pullups nicht geht, nenne mal dein board oder suche den Schaltplan, es ist ja nicht nur ein nackter chip darauf!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Es geht um die Ausgabe Pins des expanders.... der TE wird daran etwas hängen haben, das bei high schaltet, und will das erst wenn sein programmm läuft, und nicht schon beim einschalten.

  • Es geht um die Ausgabe Pins des expanders....

    das hatte ich schon verstanden, ich erklärte das es mich nicht wundern würde wenn auf dem Board auch schon pullups verbaut sind, wie beim PI, weil es ohne nicht geht!

    Soweit ich weiss hat bis jetzt jedes Board pullups verbaut was manchmal unschön ist aber der Vergesslichkeit vieler User geschudet ist, Beispiel RTC DS1307, DS3231, PCF8574(a), die sind mir persönlich bekannt.

    Ein Board mit nur nacktem Chip darauf wäre ja nicht zielführend und nicht userfriendly.

    ... der TE wird daran etwas hängen haben, das bei high schaltet,

    und das wäre ein Designfehler by user, denn der inaktive I2C Bus ist lowaktiv.

    Ich dachte an einen I2C Bus Master-Slave, aber das schien falsch zu sein 1.)

    Ausserdem hatte der TO noch nicht seinen Schaltplan vorgestellt, nur kritisiert das der I2C Bus auf high liegt, was aber OK ist.

    Und die Frage ist wie verhindere ich dass, das sie sich einschalten(high gesetzt werden)

    Er erklärt auch nicht warum er ein völlig normales Verhalten anders haben will.

    pcf8674

    *1.) den gibt es nicht mal und wenn er doch PCF8574 meint, der steht ab Anfang auf Input per Stromquelle und kann nur auf low gesetzt werden!


    Die Inputstromquelle ist soweit ich mich erinnere 100µA, mit 1mA kann der also auf low gezogen werden, das wäre bei 3,3V VCC ein pulldown R von 3,3k denn high kann der 4mA schalten, aber beim nächsten Zugriff stehen alle wieder auf Input!

    Ich denke so wird das nichts!


    Bis jetzt habe ich diesen Port nur als In genutzt für Tasten! da es kein DDR Register gibt und auch nicht wahlweise von In auf Out umprogrammiert werden kann.


    Ich denke der TO sollte seine Ansteuerlogik mal vorstellen.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Der PDF8574 ist etwas trickreich aufgebaut. Die 100µA Stromquelle dient beim Lesen als PullUp-Widerstand und erzeugt - wenn ein high-Pegel ausgegeben wird - auch den Ausgangspegel. Nur wenn ein low-Pegel ausgegeben wird, wird diese Stromquelle nicht auf den Ausgang durchgeschaltet. Wenn während eines Schreibvorganges ein High ausgegeben werden soll, wird kurzfristig (intern gesteuert) ein Transistor nach +3,3 V geschaltet, damit an den Port angeschlossene kapazitive Lasten umgeladen werden können. Danach ist wieder nur die 100µA Stromquelle aktiv.


    Wird ein Low ausgegeben, kann der Port 3 mA ausgeben, wobei die Ausgangsspannung noch unter 0,4 V bleibt. Bei größeren Strömen steigt die Ausgangsspannung und liegt bei 10 mA etwa bei 1 V.


    Falsch verstanden wird oft die Datenblattangabe, dass der Ausgangsstrom 25 mA betragen kann. Diesen Strom kann der Baustein nicht ausgeben. Der Wert besagt nur, dass wenn z.B. ein Low ausgegeben wurde und der Port (durch einen Kurzschluss) mit Gewalt von außen nach der Plusversorgung gezogen wird, der Baustein beim Überschreiten dieses Wertes zerstört werden kann. (Bis 25 mA überlebt der Baustein diese Tortur.)

  • Der PDF8574 ist etwas trickreich aufgebaut

    ja, aber der TO lockt uns mit

    pcf8674

    auf eine falsche Fährte, kein Wunder das man kaum helfen kann!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)