PI als IC-Emulator - Was tun mit + und - ?

  • Hallo Zusammen,


    nachdem ich mein erstes GIPO-Projekt jetzt erfolgreich abgeschlossen habe, möchte ich das selbe Problem nochmal auf eine andere Weise lösen.


    Hierzu muss ich einen Chip (MOS) mit den GIPOs ersetzen.
    Dazu nehme ich einfach den Chip aus der entsprechenden Platine, verbinde die einzelnen Pins in dem, dann freien Sockel, mit den GPIOs, und emuliere dann das Verhalten des ICs.


    Ich verbinde also die GIPOs mit den funktionalen Pins des ICs.


    Was mir nicht ganz klar ist und das ist auch meine Frage:
    Was muss ich mit dem Plus und Gnd-Pin des Sockels machen.
    Muss ich die auch mit + und gnd vom Raspberry verbinden?


    Eigentlich sind die ja dazu das den IC mit Strom zu versorgen, aber das Rasperry hat ja schon Strom. Allerdings müssen ja die Ströme aus den GPIOs ja irgendwie wieder ins Pi zurückfließen.


    Wenn ich aber + und gnd anschließe, fliest ja am +-Pin des ICs Strom vom Raspberry in die Platine und nicht wie vorher aus der Platine (in den IC).


    Je mehr ich darüber nachdenke um so verwirrter macht mich das ganze. :s


    Wäre super, wenn mir da jemand weiter helfen könnte.
    Gerne auch mit nem Link wo das ganze vertiefend erklährt wird (hab selber nix im Netz gefunden, hatte aber vielleicht auch die falschen Suchbegriffe (MOS-Drop-In, MOS-Emulation, MOS-Simulation (ging alles total in die falsche Richtung)).



    P.S.: Die Spannungen, Frequenz und die GPIO-Anzahl sollten für mein Vorhaben passen.
    P.P.S.: Mir ist klar das ein Raspberry inzwischen ein ganzes MOS-System emulieren kann. Das ist aber nicht mein Ziel.
    P.P.P.S.: Die Lösung jeden IC-Pin über einen Transistor anzuschliesen und diese Transistoren dann über die GPIOs zu steuern, geht auch nicht, das mehrere GIPOs, bei der emulation zwischen in und output wechseln müssen.

  • Da Du keine weiteren Details geschrieben hast, es sollte funktionieren wenn Du nur die Masse des RPi mit der Masse deiner Schaltung verbindest. Allerdings solltest Du darauf achten, dass der Strom und die Spannung an den GPIO Ports, auf ein für den RPI entsprechendes Maß begrenzt wird.

  • Hi Fliegenhals,


    danke für die Antwort. Das hatte ich mir so auch schon überlegt. Was mich an der Lösung aber stutzen läst ist follgendes:


    Ich habe also meinen Sockel mit entfernten IC, der mit anderen ICs auf der Platine interagiert:


    Code
    Pi                                                   irgendein anderer IC auf der Platine
      -       -                                                  -       -
      -       -                                                  -       -
      -       -                                                  -       -
      -       -                                                  -       -
              |_________________________________| gnd für alle


    Und schalte jetzt ein GPIO auf output mit Wert 0:


    Code
    Pi                                                   irgendein anderer IC auf der Platine
      -       -                                                  -       -
      -       -                                                  -       -
      -       ----0----------------------------------- -       -
      -       -                                                  -       -
              |_________________________________| gnd für alle


    Dann passiert doch im Pi die verbindung des GPIOs mit gnd:


    Code
    Pi                                                   irgendein anderer IC auf der Platine
      -       -                                                  -       -
      -       -                                                  -       -
      -    |  ----0----------------------------------- -       -
      -    |  -                                                  -       -
              |_________________________________| gnd für alle


    Der andere IC sieht dann die 0 weil er erkennt, dass sein (in)-pin auf dem Potential seines GNDs liegt.


    Wenn ich das GPIO jetzt auf 1 schalte so erfolgt doch im PI die Verbindung mit dem eigenen Plus:


    Code
    Pi                                                   irgendein anderer IC auf der Platine
      -     | - +Pi                                             -       - +restliche Platine
      -     | -                                                  -       -
      -     | ----1----------------------------------- -       -
      -       -                                                   -       -
              |_________________________________| gnd für alle


    Können die anderen ICs das dann lesen? Denn um eine 1 zu erkennen müste der IC doch seinen in-Pin mit dem +Pi vergleichen.


    Wie gesagt, das ganze dreht sich irgendwie im Kreis.


    Code
    P.S.:
    -      -
    -      -
    -      -
    -      -  Das soll exemplarisch ein IC-Sockel mit 2x4 Pins darstellen.

    Edited once, last by Zaadii ().

  • Wenn die Massen verbunden sind, dann erkennt eine Schaltung logischerweise z.B. einen 3V3 Pegel als HIGH. Sonst würde ja keine Schaltung am RPi funktionieren ;)
    Du musst nur drauf achten, dass Du die verwendeten GPIO-Pins möglichst nicht mit mehr als 2-3 mA belastest - auch wenn sie als sink dienen.
    cu,
    -ds-

  • Vielleicht sollte man noch erwähnen, dass wenn beide Massen miteinander verbunden sind, diese damit zum Referenzpotential für beide Spannungen wird. Der RPi bzw. Logik IC's vergleichen i.d.R. die Spannung nicht direkt, sondern je nachdem in welchem Bereich sich eine Spannung an einem Eingang befindet, wird diese zuverlässig als H od. L erkannt, bzw. ist zufällig, wenn sich die Spannung in einem "verbotenen Bereich" befindet. Diese Spannungbereiche unterscheiden sich je nach Art und Typ der verwendeten Logikfamilie ( TTL, CMOS ... ). Ich würde so eine Aufgabe aber eher mit einem Portexpander IC umsetzen, um die GPIOs zu schonen. Aber dies ist halt immer von den geforderten bzw. vorhandenen Rahmenbedingungen, abhängig.

  • Hallo Dramshadder und Fliegenhals,


    vielen Dank für die Antworten. Ich seh jetzt etwas klarer.
    Ich werds mal mit einem Pin ausprobieren und das Ergebniss dann hier posten.
    Fürs erste setze ich die Frage aber mal auf beantwortet.


    Gruss,
    Zaadii.